MediaWiki/Editing/Advanced: Difference between revisions
Antonizoon (talk | contribs) |
Antonizoon (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 83: | Line 83: | ||
Just go here to create a cargo template visually (it will use it's own infobox): [[Special:CreateTemplate]] | Just go here to create a cargo template visually (it will use it's own infobox): [[Special:CreateTemplate]] | ||
Make sure to add a category in the template's includeonly tags with the same name as the template. This will be crucial in allowing the "Edit with Form" tab to appear. | |||
For good examples, check out the [http://wiki.travellerrpg.com/Special:CargoTables Traveller Wiki's Cargo Tables.] | For good examples, check out the [http://wiki.travellerrpg.com/Special:CargoTables Traveller Wiki's Cargo Tables.] | ||
Line 115: | Line 117: | ||
# Enter the title of the page you want to create. | # Enter the title of the page you want to create. | ||
# Fill out the form. In the "Free Text" box, you can create a normal wikipage. | # Fill out the form. In the "Free Text" box, you can create a normal wikipage. | ||
{{Note|If you ever recreate the Cargo table and you have existing pages, the older pages will not appear until those pages get edited: this launches a process in the job queue.}} | |||
== Creating Templates == | == Creating Templates == | ||
Line 121: | Line 125: | ||
When creating a template meant for users to utilize, you should place a <code><nowiki>{{Template}}</nowiki></code> header into it. | When creating a template meant for users to utilize, you should place a <code><nowiki>{{Template}}</nowiki></code> header into it. | ||
This template should be added at the very beginning of all template pages between 'noinclude' tags: | This template should be added at the very beginning of all template pages between 'noinclude' tags: |
Latest revision as of 23:07, 26 January 2017
Some advanced features are supported on this wiki.
Cargo (Semantic Infoboxes)[edit]
The infoboxes on the Bibliotheca Anonoma are augmented with Cargo, a Semantic Web extension (designed to replace Semantic MediaWiki). This gives the infobox elements the power to be indexed in a semantic metadata database. That way, queries and reports can be made to sort out the data for easier searching.
A full Cargo Cheatsheet can be found here.
Basic Components of a Cargo Subject[edit]
A single Cargo subject is made up of a three basic elements:
- Infobox - Defines an infobox that holds all the metadata on the right side of an article.
- Template - Defines the table schema.
- Table - Indexes the data for queries.
- Form - Helps users create a new page with fields for metadata.
- Page - Use the form to create a new page.
1. Creating Infoboxes[edit]
Infoboxes are created using Capiunto, a Lua module is relatively easier to install and create infoboxes with than the opaque and puzzling template language. It will take a bit of reading to understand how to make one, but it's worth it.
Basic Usage Guide for Capiunto
Here's an example infobox:
Module:Infobox_Test
local p = {} function p.default(frame) local capiunto = require 'capiunto' return capiunto.create( { top = tostring(mw.title.getCurrentTitle()), topStyle = 'background:#cfc;', bottom = frame.args["description"]; -- description } ) :addImage( string.format('[[File:%s|200px]]', frame.args["img_url"]), -- featured image frame.args["caption"] -- caption ) :addRow('URL', frame.args["url"]) :addRow('Project Status', frame.args["project_status"]) :addRow('Archiving Status', frame.args["archiving_status"]) :addRow('Project Source', frame.args["project_source"]) end return p
MediaWiki/Editing/Advanced | |
---|---|
File:Test.png This image is a test image that is found on Wikimedia Commons. | |
URL | url |
Project Status | project status |
Archiving Status | archiving status |
Project Source | project source |
This is a test of the Infobox system. The description would go here: though maybe it should go on the page instead and only semantic data here. |
You can then use this infobox with the following method call, and the example appears on the right:
{{#invoke: Infobox_Test | default
| description = This is a test of the Infobox system. The description would go here: though maybe it should go on the page instead and only semantic data here.
| img_url = test.png
| caption = This '''image''' is a test image that is found on Wikimedia Commons.
| url = url
| project_status = project status
| archiving_status = archiving status
| project_source = project source
}}
Now, you need to integrate the infobox into the Cargo template.
2. Create a Cargo Template[edit]
The Cargo Template defines the table's schema: what kind of columns it has, and how it looks to the user.
Just go here to create a cargo template visually (it will use it's own infobox): Special:CreateTemplate
Make sure to add a category in the template's includeonly tags with the same name as the template. This will be crucial in allowing the "Edit with Form" tab to appear.
For good examples, check out the Traveller Wiki's Cargo Tables.
Use the infobox you made in the previous step to show the data in this cargo template.
3. Create a Cargo Table[edit]
- Open the Cargo Template you need to create a template for.
- Click More at the top right next to the search bar.
- Click Create Cargo Table.
The cargo table must be recreated each time the schema is modified in the template. See the Cargo Documentation for further details.
4. Create a Cargo Form[edit]
- Go to Special:CreateForm.
- Choose the template to create the form for.
- Change or capitalize the titles of each column, and add {
cargo table=ThisTable|cargo field=this_cargo_field
to the end of each link.- If the fields are insufficient for your needs, you can check the mw:Extension:PageForms documentation on how to add more input types.
- Name the Form with the same base name as the Template. (e.g. for
Template:Book
, type inBook
.) - To get an Edit with Form tab, set up a default form in your template's category page (e.g. for Template:Fangame, Category:Fangame) by adding this code to the top of it:
<span style="display:none">{{#default_form:YourFormName}}</span>
For good, detailed examples of Cargo Forms, check out the Absit Omen Lexicon Wiki.
5. Create a Cargo Page[edit]
- Go to the page Form:Cargo Title, replacing "Table Title" with the actual title of the cargo subject.
- Enter the title of the page you want to create.
- Fill out the form. In the "Free Text" box, you can create a normal wikipage.
Creating Templates[edit]
When creating a template meant for users to utilize, you should place a {{Template}}
header into it.
This template should be added at the very beginning of all template pages between 'noinclude' tags:
<noinclude> {{Template}} </noinclude>
Documentation of the template, usage instructions, and output example should also be added between the 'noinclude' tags (as in this template).
The actual template code must be written between 'includeonly' tags:
<includeonly>...</includeonly>