Wikipedia:WikiProject Microformats
Userboxes | {{User Microformats}} |
---|---|
Has goals? | Yes |
[Wikipedia's hCards] with geo information are yummy hack fodder ... marking up data in a predictable manner is a great way to allow developers to play with your information. (Chris Heilmann, Yahoo Developer Network)[1]
Project aims
- To encourage the deployment of microformats in Wikipedia
- By marking-up templates
- To share the resulting experience with other-language Wikipedias and other wiki-projects
- By harmonizing metadata template formats across projects
- By facilitating interwiki transfer of metadata between projects
- To document microformats in the article space, to the best possible standards
- To maintain a plain-language guide to using Wikipedia's microformats
- To give feedback to the microformat community, so that microformats can be developed to best serve both Wikipedia and the wider on-line community
- To encourage the deployment of microformats in the Wikimedia application
- Including (but not only) hCard in user profiles
- To advocate for the use of microformats by partner projects, metadata consumers, etc.
- By ensuring that templates are parsable in the wiki source code
- To collaborate with other efforts to improve Wikipedia's metadata and data-reuse techniques such as linked data
What are microformats?
A Microformat (sometimes abbreviated μF or uF) is a way of adding simple semantic meaning to human-readable content which is otherwise, from a machine's point of view, just plain text. They allow data items such as events, contact details or locations, on HTML (or XHTML) web pages, to be meaningfully detected and the information in them to be extracted by software, and indexed, searched for, saved or cross-referenced, so that it can be reused or combined.
More technically, they are items of semantic mark up, using just standard (X)HTML with a set of common class-names and rel-attributes (though the latter are not used on MediaWiki). They are open and available, freely, for anyone to use.
For example, 52.48,-1.89 is a pair of numbers which may refer to anything; but in some contexts could be understood to be a set of geographic coordinates. By wrapping them in spans (or other HTML elements) with specific class names (in this case part of the geo microformat specification):
<span class="geo"><span class="latitude">52.48</span>,<span class="longitude">-1.89</span></span>
... machines can be told exactly what each value represents, and can then index it, look it up on a map, export it to a GPS device, or do other useful things involving [or relating to] the place that corresponds to that "lat/lon" [that is, the place that is represented by that "geo microformat"].
Other microformats allow the encoding and extraction of events, biographical/ contact information, social relationships, species names, product details, reviews, audio recordings, and so on. More are being developed.
Using our microformats
Page content marked up with microformats may be extracted using various browser plugins and parsers.
How can we use Microformats on Wikipedia?
(and, more generally, in MediaWiki)?
It is easier to apply them to templates rather than individual pages. That also means that individual authors need not know the intricacies of microformat mark-up, only how to use the relevant template. Many of the templates on Wikipedia require minimal changes to use microformats to present their existing content with added meaning. While the functionality may already exist in the Wikipedia template, adding microformat mark-up will make that functionality available to people using the same tools they use when visiting other sites.
Project participants
- Andy Mabbett (founder)
- Omegatron
- The Anome
- Quarl
- Qyd
- David Remahl
- Unforgiven24
- J JMesserly
- coldacid
- Widefox
- Zenexer
- SMcCandlish
- Problemsmith
- gRegorLove
- SD0001
- أيوب
Button
Use {{User Microformats}} to show your participation in this project.
Banner
Put {{WikiProject Microformats}} on the talk page of relevant articles.
Signature
Consider adding an hCard to your signature, like this:
If your user name has more than one word, and is not a given-name+surname pair, use class="fn nickname"
.
Templates
- {{URL}} – input/ display / link = www.example.com / http://www.example.com/ / http://www.example.com/
This wraps the displayed URL with class="url"
.
Meta templates
For articles
- {{UF-coord-th}} – table header for columns of coordinates using {{coord}}.
- {{kml}} – links to KML services for pages with multiple occurrences of Geo.
- {{UF-timeline}} – links to siatec.net/timeline which generates a timeline of hCalendar microformats on the linking page
For talk pages
For templates
- {{Infobox}} and {{Navbox}} have built-in support for adding microformat classes to the templates they generate.
- {{abbr}} and {{abbrlink}} take a
|class=
parameter.
For template documentation
- {{UF-adr}}
- {{UF-audio}}
- {{UF-coord}} – For coordinates, use {{coord}} with display=inline,title. Please do not be overly precise.
- {{UF-coord-classes}}
- {{UF-date-part}} – Where dates are emitted for use inside other microformat templates
- {{UF-date-warn}} – warning of ISO date limitation
- {{UF-geo}}
- {{UF-geo-other}} – for non-terrestrial coordinates
- {{UF-hcal}} – where a start date requires {{Start date}}
- {{UF-hcal-auto}} – where
class="dtstart"
is hard-coded. - {{UF-hcal-geo}}
- {{UF-hcard-geo}}
- {{UF-hcard-name}}
- {{UF-hcard-org}}
- {{UF-hcard-part}}
- {{UF-hcard-person}}
- {{UF-hcard-place}}
- {{UF-hcard-short}}
- {{UF-hcard+hcal}}
- {{UF-hprod}}
- {{UF-media}}
- {{UF-species}}
Categories
Articles
- Articles with microformats – 8
- Articles with Adr microformats – 412
- Articles with hAudio microformats – 239,663
- Articles with hCards – 624,697
- Articles with Geo – 18,659
- Articles with hCards and Geo – 27
- Articles with hProducts – 1,256
- Articles with hRecipes – 1,969
- Articles with 'species' microformats – 471,717
- Performing arts pages with videographic documentation — 21
Template categories
- Category:Templates generating microformats – 13
- Templates generating ADR microformats – 67
- Templates generating hAtom — 3
- Templates generating hAudio microformats – 13
- Templates generating Geo – 46
- Templates generating hCalendars – 148
- Templates generating hCards – 402
- Templates generating hProduct – 34
- Templates generating hRecipe – 4
- Templates generating microformat dates — 7
- Templates generating 'species' microformats – 20
Parser functions
The following may be of use.
- #time (in MediaWiki version 1.6 and higher)
- Can change date formats around. For example, {{#time: c|10 June 2007}} produces 2007-06-10T00:00:00+00:00. The 'c' indicates that ISO8601 format should be used. A 'Y' instead of 'c' would return just the four digit year. However, this might run into trouble with the date parameter values on some templates. For instance, if a range (e.g. 1954-1955) were used in the date parameter {{#time: c|1954-1955}} would return Error: Invalid time (per [1]).
Related
- Wikipedia:Metadata
- Wikipedia:Biographical metadata
- Wikipedia:WikiProject Geographical coordinates
- Commons:Microformats Project
To do
Volunteers needed!
Add hCard mark-up to templates (chiefly infoboxes) about places and people, modelled on existing examples.- Add adr or hCard mark-up to navbox templates like these: Pink Floyd, Mike Patton, Sheffield buildings
- Add adr or hCard mark-up to stub templates
- For tables like those in Category:Lists of mountains, update table rows to use hCard; perhaps by introducing table-row templates.
- Contribute to development of a policy on coordinates for linear features
- Contribute to development of a policy or policies on in-line microformats
- Lobby for ability to use
tbody
in tables - Lobby for ability to use
class
andrel
attributes on internal (includingFile:
) and external links- see bugs, below
- Lobby for ability to use
class
attributes inimg
elements.- see bugs, below
- Make templates emit hidden categories such as Category:Articles with hCards. See Emitting categories
- Add hAudio to templates like {{Listen}}/ {{Listen/core}}; {{Audio}}, {{Multi-listen item}}
- needs
tbody
in tables; see bugs, below
- needs
- Follow Extended Date Time Format efforts at the USA’s Library of Congress
Currently available
Geo
Geo (shortcut: WP:GEOUF) is for WGS84 coordinates (latitude;longitude).
Geo allows waypoints to be indexed ("find me all places within 2 km of X"), looked up on other websites, or uploaded to devices, such as GPS units.
{{coord}} applies the Geo microformat to coordinates on Wikipedia. It replaces the now-deprecated "coor *" family of templates.
To add 57°18′22″N 4°27′32″W / 57.30611°N 4.45889°W to the top of an article, use {{Coord}}, thus:
{{Coord|57|18|22|N|4|27|32|W|display=title}}
These coordinates are in degrees, minutes, and seconds of arc.
"title" means that the coordinates will be displayed next to the article's title at the top of the page (in desktop view only; title coordinates do not display in mobile view) and before any other text or images. It also records the coordinates as the primary location of the page's subject in Wikipedia's geosearch API.
To add 44°06′45″N 87°54′47″W / 44.1124°N 87.9130°W to the top of an article, use either
{{Coord|44.1124|N|87.9130|W|display=title}}
(which does not require minutes or seconds but does require the user to specify north/ south and east/west) or
{{Coord|44.1124|-87.9130|display=title}}
(in which the north and east are presumed by positive values while the south and west are negative ones). These coordinates are in decimal degrees.
- Degrees, minutes and seconds, when used, must each be separated by a pipe ("|").
- Map datum must be WGS84 if possible (except for off-Earth bodies).
- Avoid excessive precision (0.0001° is <11 m, 1″ is <31 m).
- Maintain consistency of decimal places or minutes/seconds between latitude and longitude.
- Latitude (N/S) must appear before longitude (E/W).
Optional coordinate parameters follow the longitude and are separated by an underscore ("_"):
- dim:
dim:
N (viewing diameter in metres) - region:
region:
R (ISO 3166-1 alpha-2 or ISO 3166-2 code) - type:
type:
T (landmark
orcity(30,000)
, for example)
Other optional parameters are separated by a pipe ("|"):
- display
|display=inline
(the default) to display in the body of the article only,|display=title
to display at the top of the article only (in desktop view only; title coordinates do not display in mobile view), or|display=inline,title
to display in both places.
- name
name=
X to label the place on maps (default is PAGENAME)
Thus: {{Coord|44.1172|-87.9135|dim:30_region:US-WI_type:event
|display=inline,title|name=accident site}}
Use |display=title
(or |display=inline,title
) once per article, for the subject of the article, where appropriate.
- Per WP:ORDER, the template is placed at the bottom of the article in the 'end matter', after any navigation templates, but before all categories, including the {{DEFAULTSORT}} template. The {{coord}} template may also be placed within an infobox, instead of at the bottom of the article.
- For full details, refer to {{Coord/doc}}.
- Additional guidance is available at obtaining coordinates and converting coordinates.
See also:
Geo examples on Wikipedia
See: Category:Templates generating Geo
Examples:
- Geo (microformat)#Example
- All of the articles using {{template:coord}} . Examples:
- Most of the articles in Category:Lists of coordinates
- Great Barr
- {{Geolinks-AUS-suburbscale}}
- GeoTemplate, which is called by many thousands of other Wikipedia pages.
- Example: click on the coordinates (top right) in Great Barr
- Lists of coordinates using Geo in hCard:
- Robert Baden-Powell, 1st Baron Baden-Powell Featured Article uses {{coord}}, both "title" and "inline".
Extensions
There are three proposals, none mutually exclusive, and all backwards-compatible, to extend the geo microformat:
- geo-extension-strawman – adds
class="body"
, for representing coordinates on other planets, moons etc.; and a class for non-WSG84 schema. See, for example;- Venera 7
- Hun Kal (crater)
- Templates using "body"
- geo-elevation-examples – for representing altitude
- geo-waypoint-examples – for representing routes and boundaries, using waypoints
All proposals are now inactive in the wake of the hGeo format being accepted. The elevation proposal is part of hGeo proper, but all others will need to be re-proposed. Out of all three, Wikipedia templates currently do class="body"
only. The extension and elevation proposals are implemented by Swignition.
Export to KML
Pages marked with {{coord}} can be exported as KML (for use in Google Earth, for example) via Brian Suda's site, in this format:
The same URL can be pasted into Google Maps as a search, and will show the locations, as push-pins on a map
The template: {{kml}} has been created for this purpose (and was immediately nominated for deletion!).
hAudio
hAudio is for audio recordings; with or without audio files (we cannot currently link to audio files in hAudio, because Wikipedia editors cannot use the rel
attribute; see bug 23225).
hCard
hCard is for contact details of people (both article subjects and user profiles/sigs), organisations and venues.
See Wikipedia:WikiProject Microformats/hcard for more.
Adr
The adr microformat for postal addresses and their individual components is a sub-set of hCard. See the above page for more information, or Category:Templates generating ADR microformats.
{{mf-adr}} generates an inline adr, either standalone or for placing within an existing HTML tag with class="adr" via the inadr paramter.
hCalendar
- hCalendar is for events – so that they can be added directly to calendar or diary programmes or websites (including as recurring events, so that the anniversaries of historic events may be celebrated); or charted in timelines. See Category:Templates generating hCalendars (note also Wikipedia:Selected anniversaries).
- Start and end dates of events. Editors have choices of two families of templates. Both emit microformat dates required for events.
- {{start date}} and {{ISO date}} emits the required ISO8601 date with
class="dtstart"
, and {{end date}} and {{ISO end date}} emit the date withclass="dtend"
(not yet working for exclusive whole-day dates). - {{Start date and years ago}} – as above
- {{start-date}}, {{end-date}} family (note dashes in name)
- {{start-date}}, and {{bday}} emit the required ISO8601 date with
class="dtstart"
. bday emits the class bday for vcards. - {{end-date}} emits the date with
class="dtend"
. Dates are adjusted +1 unit of time, where unit of time is dependent on the precision. EG: {{end-date|December 31, 1976}} would generate 1977-01-01Z, whereas {{end-date|1939}} would generate 1940. In contravention of the hCalendar spec.
- {{start-date}}, and {{bday}} emit the required ISO8601 date with
- {{start date}} and {{ISO date}} emits the required ISO8601 date with
- {{timeline-item}} (with {{timeline-start}} and {{timeline-end}}) generate a definition list for a series of dated events, each being wrapped in an hCalendar microformat.
- {{timeline-event}} for use in ordinary lists, etc.
- {{timeline-links}} passes a page's set of hCalendar events to external timeline-generating and other hCalendar-using websites.
hCalendar should not be used for years outside the range 1583–9999 CE.
hAtom
hAtom is for marking feeds.
It will not be possible to use hAtom in Wikipedia until it is possible to have an address
element on pages. See Wikipedia:Village_pump_(technical)#address_element.
{{start date}} and {{ISO date}} now emit the required ISO8601 date with class="updated"
.
hMedia
hMedia is for video media.
hReview
hReview is for marking up reviews, and could be used by, for example, Template:Infobox Album.
hProduct
hProduct is for marking up products.
hRecipe
hRecipe is for marking up recipes and, by logical extension, singular foodstuffs.
hRESTS
hRESTS is a microformat for describing web service API operations.
Other
Microformat-like formats
For microformat-style schemes developed elsewhere, see:
Though not formally microformats (because they have not been developed using the "microformats process", and/ or involve hidden metadata), the following are related:
Classes
See /classes
Under development
Species
See /Species
Forthcoming
Citations
The proposed citation microformat will be very relevant, both for on-page citations and bibliographies, and for allowing people to cite Wikipedia, elsewhere.
Citation microformats would allow the look-up of cited articles or books in libraries or shops, and the extraction of citation data for the page being voted, if it is to be cited elsewhere.
Currency
The proposed currency microformat may be useful, especially if the suggestion to include a date field for historical amounts is included., for example, on 1922 in Germany
Despite the ending of cash payments for the rest of 1922, the main cause of Germany's inability to pay, the steady depreciation of the mark, was ongoing. Towards the end of the year it assumed a disastrous rapidity. On August 1, the US Dollar still stood at 643 Marks to the Dollar and the British Pound at 2,850 Marks to the Pound. But on September 5 the dollar had already risen to 1,440 Marks and the pound to 6,525 Marks, and in December the pound was worth between 30,000 and 40,000 marks and the dollar between 7,000 and 9,000.
Currency would allow automatic conversion of amounts into other currencies ("how much is that in dollars?") or time ("how much would that be today?")
MediaWiki issues
- We need to be able to add classes and
rel
attributes to internal and external links, to generate, for example:
<a href="example.com" class="xxx">
or:
<a href="example.com" rel="yyy">
or a combination of both, where "xxx" is a valid microformat attribute such as "url" and "yyy" is a valid rel attribute such as "directory", "tag" or "colleague" (the latter from XFN).
- We need to be able to add
tbody
elements, with classes, to groups of table rows.
For other issues encountered when adding microformats to Wikipedia and other pages, using Media Wiki mark-up, see [2]
Bugs
- Bug 4740 - thead, tbody, tfoot for wikitable syntax
- Bug 23225 - REL & CLASS attributes in links
- Bug 23226 - CLASS attributes in IMG elements
Yahoo! Query Language
"Yahoo! Query Language" can be used to extract microformats from Wikipedia pages[1].
References
- ^ a b Heilman, Chris (2009-01-19). "Retrieving and displaying data from Wikipedia with YQL". Yahoo Developer Network. Yahoo. Archived from the original on 2011-01-27. Retrieved 2009-01-19.