Open main menu
MediaWiki uitbreidingshandleiding
OOjs UI icon advanced.svg
Common Tag
Release status: beta
Implementatie Tag
Beschrijving Voegt Common Tag (RDFa) in op de pagina.
Auteur(s) Jamie Taylor
Laatste versie 0.1 (11 juni, 2009)
Licentie CC-BY
Download Geen link
Vertaal de CommonTag extensie indien beschikbaar op translatewiki.net
Bekijk gebruik en versiematrix

Wat kan deze extensie doen?Edit

Deze extensie voegt de Common Tag (RDFa) toe op een pagina de tekst van de extensie wordt geplaatst.

GebruikEdit

Om de Common Tag in te voegen op een pagina, voeg je een <ctag/> in op een pagina. <ctag/> heeft de volgende kenmerken:

  • betekend: (verplicht) De volledige URI dat het concept vertegenwoordigd wordt door deze tag geïndentificeerd.
  • label: (optioneel) Een leesbaar label voor de tag
  • over: (optioneel) De URI voor de bron (webpagina) wordt gelabeld

Voorbeelden:

Om aan te geven dat deze pagina gaat over Common Tags:

<ctag means="http://rdf.freebase.com/ns/en.commontag" label="common tag"/>

Om aan te geven dat bij het boek Amazon de string "semantic technologies" kan gebruikt worden:

<ctag about="http://www.amazon.com/gp/product/0596153813"
      means="http://rdf.freebase.com/ns/en.semantic_technology"
      label="semantic technology"/>

Opmerking:U kunt meerdere Common Tags hebben/zetten op een pagina.

Instructies voor de DownloadEdit

Knip de code die je hier vind en plak hem in de $IP/extensions/commontag.php.

InstallatieEdit

Om deze Extensie te installeren, kunt u de volgende tekst toevoegen in de LocalSettings.php:

require_once("$IP/extensions/commontag.php");

CodeEdit

<?php

/**
* A very simple tag extension for generating Common Tag (RDFa) markup in a MediaWiki CMS
* 
* Don't use this code to guide nuclear submarines or perform medical procedures.
* It's bad code. You have been warned. But you are welcome to use it anyway you want.
* Please don't tell anyone where you got this code; remember it's bad code.
*
* To create a Common Tag embed a <ctag> in your wiki markup.  
* The tag has one manditory attribute "means" which takes a URI as a value - defaults to current page URI
* You may also specify an "about" attribute (with a URI as value) to set the subject of the tag.
* You may also specify a "label" attribute (with a literal value) as the human readable name for the tag.
*
* You may place as many <ctag> elements as you want on a page. Example:
* <ctag means="http://rdf.freebase.com/ns/en.commontag"/>
* <ctag means="http://rdf.freebase.com/ns/en.mediawiki" label="mediawiki"/>
*
* Original hack by Jamie Taylor (jamie/metaweb.com) - June 11, 2009
*/

if (defined('MW_SUPPORTS_PARSERFIRSTCALLINIT')){
	$wgHooks['ParserFirstCallInit'][] = 'efCtagSetup';
}else{
    //old way
	$wgExtensionFunctions[] = 'efCtagSetup';
}
 
// Extension credits that will show up on Special:Version
$wgExtensionCredits['parserhook'][] = array(
   'path' => __FILE__,
   'name' => 'CommonTag',
   'version' => '0.1.1',
   'author' => array( 'Jamie Taylor',  ),
   'description' => 'Inserts Common Tag (RDFa) information on page',
   'url' => 'https://www.mediawiki.org/wiki/Extension:CommonTag',
);
 
function efCtagSetup() {
	global $wgParser;
	$wgParser->setHook( 'ctag', 'efCtagRender' );
       return true;
}
 
function efCtagRender( $input, $args, $parser ){
	//attempt to generate a common tag from the input
	
	$valid = false;
	$result = "<span xmlns:ctag='http://commontag.org/ns#' rel='ctag:tagged' ";   
	
    if(array_key_exists('about', $args)){
        $result .= "about='" .  htmlspecialchars($args['about']) . "'";
    }
    
    $result .= "><span typeof='ctag:Tag' ";
    
    if(array_key_exists('means', $args)){
        $result .= "rel='ctag:means' resource='" .  htmlspecialchars($args['means']) . "' ";
        $valid = true;             
    }
    
    if(array_key_exists('label', $args)){
        $result .= "property='ctag:label' content='" .  htmlspecialchars($args['label']) . "' ";
    }
    
    $result .= "/></span>";
    
    if($valid){
	   return $result;
	}
}
English  • Nederlands