Eisspeedway

Wikipedia:WikiProject Microformats


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

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

Categories

Articles

Template categories

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]).

To do

Volunteers needed!

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 / 57.30611; -4.45889 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 / 44.1124; -87.9130 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 ("_"):

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.

See also:

Geo examples on Wikipedia

See: Category:Templates generating Geo

Examples:

Extensions

There are three proposals, none mutually exclusive, and all backwards-compatible, to extend the geo microformat:

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:

http://suda.co.uk/projects/microformats/geo/get-geo.php?type=kml&uri=http://en.wikipedia.org/wiki/List_of_volcanoes_in_the_United_States_of_America

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 with class="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.
  • {{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

Yahoo! Query Language

"Yahoo! Query Language" can be used to extract microformats from Wikipedia pages[1].

References

  1. ^ 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.