Content model: verschil tussen versies

Uit MediaWikiGids
Ga naar: navigatie, zoeken
(Voorbeelden)
(Documentatie)
 
(11 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
Behalve '''wikitext''' kan Mediawiki ook gegevens in andere formaten opslaan. Denk bijvoorbeeld aan CSS, Javascript en JSON. Bekende pagina's zijn bijvoorbeeld [[MediaWiki:Common.css]] en [[MediaWiki:Common.js]].
+
<noinclude>Behalve '''wikitext''' kan Mediawiki ook gegevens in andere formaten opslaan. Denk bijvoorbeeld aan CSS, Javascript en JSON. Bekende pagina's zijn bijvoorbeeld [[MediaWiki:Common.css]] en [[MediaWiki:Common.js]].
  
 
Het is ook mogelijk om het ''content model'' van een pagina zelf aan te passen. Dat gaat via de pagina [[Special:ChangeContentmodel]].
 
Het is ook mogelijk om het ''content model'' van een pagina zelf aan te passen. Dat gaat via de pagina [[Special:ChangeContentmodel]].
Regel 18: Regel 18:
 
=== Test 1 ===
 
=== Test 1 ===
  
Pagina: [[Project:Test1.json]] (nb: nu nog in JS-format, JSON geeft foutmelding!?!)
+
Pagina: [[Project:Test1.json]] (nb: in JSON-format omgezet)
Inhoud: {{
+
Inhoud: {{canonicalurl:Project:Test1.json |action=raw}}
 +
 
 +
{{#get_web_data:
 +
url={{canonicalurl:Project:Test1.json |action=raw}}
 +
|format=JSON
 +
|data=myquote=quote,myauthor=author
 +
}}
 +
 
 +
{| class="wikitable"
 +
! MyQuote
 +
! MyAuthor {{#for_external_table:<nowiki/>
 +
{{!}}-
 +
{{!}} {{{myquote}}}
 +
{{!}} {{{myauthor}}}
 +
}}
 +
|}
 +
 
 +
== Alternatief ==
 +
* Plaats CSV data op een willekeurige wikipagina
 +
* Gebruik [[Special:GetData/Pagename]] als een 'ad-hoc' API voor CSV-data
 +
* Gebruik ExternalData om deze gegevens weer te geven op semantisch op te slaan
 +
* Zie voorbeeld: [[Special:GetData/{{FULLPAGENAME}}| Gegevens op deze pagina via eigen api]], [http://discoursedb.org/w/index.php?title=Fruits_data Extern bij discoursedb.org].
 +
 
 +
Resultaat via een call naar de ad-hoc api:
 +
{{#get_web_data:
 +
url=http://gids.wikiwerkers.nl/w/index.php?title=Speciaal:GetData/Content_model
 +
|format=CSV with header
 +
|data=myquote2=Quote,myauthor2=Author
 +
}}
 +
{| class="wikitable"
 +
! MyQuote
 +
! MyAuthor {{#for_external_table:<nowiki/>
 +
{{!}}-
 +
{{!}} {{{myquote2}}}
 +
{{!}} {{{myauthor2}}}
 +
}}
 +
|}
  
 
== Documentatie ==
 
== Documentatie ==
Regel 28: Regel 64:
 
* [https://www.mediawiki.org/wiki/API:Cross-site_requests API - Cross-site requests]
 
* [https://www.mediawiki.org/wiki/API:Cross-site_requests API - Cross-site requests]
 
* [https://www.mediawiki.org/wiki/API:Parsing_wikitext API - Parsing wiktext]
 
* [https://www.mediawiki.org/wiki/API:Parsing_wikitext API - Parsing wiktext]
 +
</noinclude><includeonly>Quote, Author
 +
"Hello, World",God
 +
"Goodbye World!",Lucifer</includeonly>
 +
 +
* Zie ook de implementatie op [https://theaterencyclopedie.nl/wiki/TheaterEncyclopedie:Theaterkalender TheaterEncyclopedie Kalender].

Huidige versie van 8 apr 2020 om 17:16

Behalve wikitext kan Mediawiki ook gegevens in andere formaten opslaan. Denk bijvoorbeeld aan CSS, Javascript en JSON. Bekende pagina's zijn bijvoorbeeld MediaWiki:Common.css en MediaWiki:Common.js.

Het is ook mogelijk om het content model van een pagina zelf aan te passen. Dat gaat via de pagina Special:ChangeContentmodel.

Toepassing

Gegevens voor de configuratie van de website, extensies en/of vormgeving opslaan op een wikipagina. Deze gegevens kunnen met behulp van de extensie External Data ook gebruikt worden binnen de eigen wiki, bijvoorbeeld voor het opslaan van gegevens in Semantic MediaWiki.

Voorbeelden

Gegevens opvragen via index.php&action=raw:

Uitgebreidere mogelijkheden zijn er via de API. Via de pagina Speciaal:ApiSandbox kun je testen wat de resultaten van een request zijn.

Test 1

Pagina: Project:Test1.json (nb: in JSON-format omgezet) Inhoud: http://gids.wikiwerkers.nl/w/index.php?title=MediaWikiGids:Test1.json&action=raw


MyQuote MyAuthor
Hello world! God
Goodbye world! Lucifer

Alternatief

Resultaat via een call naar de ad-hoc api:

MyQuote MyAuthor
Hello, World God
Goodbye World! Lucifer
* Zie ook de implementatie op TheaterEncyclopedie Kalender.

Documentatie