Difference between revisions of "Instructions to Wiki Editors"

From ScummVM :: Wiki
Jump to navigation Jump to search
(→‎Extensions: Add GoogleDocs4MW in the list of extensions)
(Reorders extensions for clarity)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
These instructions are written mainly with the editing of the User Manual in mind. Some of the points might also be valid for other parts of the wiki though.
==Becoming a wiki editor==
This wiki requires an account to edit pages. Accounts are given out on a per-case basis. Please contact [[user:sev|sev]] through IRC, Discord, or e-mail if you would like an account.


= General Rules =
As a wiki editor there are some things you cannot do on the wiki. For example, you cannot delete (or un-delete) pages, or edit the wiki interfaces such as the [[MediaWiki:Sidebar|Sidebar]]. A group of users (trusted users) with slightly more powers than the normal user exists. Membership to this group is decided on a case by case basis by the project leaders.


== No controversial material ==
==General Rules ==
The basic rule is to keep in mind that we do not want problems with right holders and therefore we do not want to have links to illegal content or to document steps that might be illegal. An obvious example is links to so-called ''abandonware'' sites. Another less obvious example is instructions on how to jailbreak an iPhone or a Wii so that we can install ScummVM. We should write the instructions starting from the assumption that the device is already jail-broken.


== Spelling and grammar ==
===Style guide===
# For consistency sake it is better to use the '''American English spelling''' everywhere rather than mix British and American English spellings. That means that you should prefer ''color'' and ''finalize'' over ''colour'' and ''finalise''.
All new documentation should follow the [https://developers.google.com/style Google developer documentation style guide]. Older documentation will gradually be brought in line with this guide.  
# Please '''do not use contractions''' (e.g. ''If you've navigated'' for ''If you have navigated''). They are usually used in spoken English but not much in written English, although there are some exceptions (e.g. ''It doesn't work'' is fine for non-formal written English, as is the expanded form ''It does not work''). If in doubt, use the expanded form. Also the User Manual is a bit more formal than for example an e-mail; and as such contractions that might be fine in an e-mail are not necessarily fine in the User Manual.
# '''Do not use very complex grammatical structure or abstruse words''' (''abstruse'' meaning ''difficult to comprehend'' and being an example of words to avoid). Keep in mind that many ScummVM users are not native English speakers and may not speak English as well as you do.


== User Manual content ==
===No controversial material===
# Try to place yourself in the head of a complete newbie and make very explicit some information that might not be obvious for everybody. For example, instead of ''Navigate to the correct directory'' you might want to write ''Navigate to the directory that contains the game files''.
Do not link to illegal content, or document steps that might be illegal. An obvious example is links to so-called ''abandonware'' sites. A less obvious example is instructions on how to jailbreak an iPhone or a Wii to install ScummVM.  
# ScummVM is distributed on many platforms. When giving instructions on encoding audio or similar tasks, try to cover at least Linux, Mac OS X and Windows. Most of the users will have one of these operating system.


== Translation ==
== Translation==
* To translate a page into a different language, create a new page by adding the ''/lang'' postfix, where lang is the language code for the translation. For example, the translation of [[User Manual/Introduction]] in German is in [[User Manual/Introduction/de]].
*To translate a page into a different language, create a new page by adding the ''/lang'' postfix, where lang is the language code for the translation. For example, the translation of [[User Manual/Introduction]] in German is in [[User Manual/Introduction/de]].


* At the top of the page, add the ''<nowiki>{{Languages}}</nowiki>'' template (see [[Template:Languages]]). If it is the first translation for that page, you will also need to add the template to the english page.
*At the top of the page, add the ''<nowiki>{{Languages}}</nowiki>'' template (see [[Template:Languages]]). If it is the first translation for that page, you will also need to add the template to the english page.


'''Note:''' There seems to be a small bug in the template for the moment with the detection of the page. If the bar does not have the correct list of languages, you can specify the page explicitly in the template:
*If your translated page points to a page that is not yet translated, you might want to link to the not yet existing translated page, create that page and redirect to the english page. That way you will not have to change all the links when you decide to translate the page. For example, if you want to link to [[User Manual/ScummVM Interface]] from a German page, but [[User Manual/ScummVM Interface]] has not yet been translated to German, you might want to point to [[User Manual/ScummVM Interface/de]] anyway and create that page with the following content:
<nowiki>{{Languages|User Manual/Introduction}}</nowiki>
The page name given to the template should always be the english page.
 
* If your translated page points to a page that is not yet translated, you might want to link to the not yet existing translated page, create that page and redirect to the english page. That way you will not have to change all the links when you decide to translate the page. For example, if you want to link to [[User Manual/ScummVM Interface]] from a German page, but [[User Manual/ScummVM Interface]] has not yet been translated to German, you might want to point to [[User Manual/ScummVM Interface/de]] anyway and create that page with the following content:
  <nowiki>#REDIRECT [[User Manual/ScummVM Interface]]</nowiki>
  <nowiki>#REDIRECT [[User Manual/ScummVM Interface]]</nowiki>


== Trusted User Group ==
==Extensions ==
As a normal user there are things you cannot do on the wiki. For example you cannot delete and undelete pages or edit the wiki interfaces (e.g. modify the [[MediaWiki:Sidebar|Sidebar]]). A group of users with slightly more powers than normal user exists. Membership to this group is decided on a case by case basis by the project leaders. If you want to be added to the group then contact them (e.g. by e-mail or on IRC) and they might accede to your request.
 
= Extensions =
There are several wiki extensions installed to help you in the editing task.
There are several wiki extensions installed to help you in the editing task.


== SyntaxHighlight ==
=== SyntaxHighlight===
This extension can be used to present source code with syntax highlighting. As you can guess for us it is mainly useful for C++ code, but it can also be used with other languages.
This extension can be used to present source code with syntax highlighting. As you can guess for us it is mainly useful for C++ code, but it can also be used with other languages.


Line 41: Line 31:


<pre>
<pre>
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include <foo.h>
#include <foo.h>


Line 49: Line 39:
     ~MyClass();
     ~MyClass();
};
};
</source>
</syntaxhighlight >
</pre>
</pre>


Which gives the following result:
Which gives the following result:


<source lang="cpp">
<syntaxhighlight lang="cpp">
#include <foo.h>
#include <foo.h>


Line 62: Line 52:
     ~MyClass();
     ~MyClass();
};
};
</source>
The extension also now supports using the ''syntaxhighlight'' tag instead of ''source'', which can help if the code itself contains the source tag:
<pre>
<syntaxhighlight lang="xml">
    <header path="include/foo.h" />
    <source path="src/foo.cpp" />
</syntaxhighlight>
</syntaxhighlight>
</pre>


== SimpleMathJax ==
===SimpleMathJax===
This extension can be used to generate formulas using the LaTeX math syntax. It replaces MediaWiki's regular TeX based math support (that we cannot use due to server limitations) and the old jsMath and MathJax extensions. It uses the same syntax as all of these, which is [http://meta.wikimedia.org/wiki/Help:Formula described here].
This extension can be used to generate formulas using the LaTeX math syntax. It replaces MediaWiki's regular TeX based math support (that we cannot use due to server limitations) and the old jsMath and MathJax extensions. It uses the same syntax as all of these, which is [http://meta.wikimedia.org/wiki/Help:Formula described here].


Line 96: Line 77:
</math>
</math>


== GoogleDocs4MW ==
===GoogleDocs4MW===


This extension can be used to embed Google spreadsheet into a wiki page.
This extension can be used to embed Google spreadsheet into a wiki page.
Line 110: Line 91:
'''Note:''' To actually embed a spreadsheet, the spreadsheet needs to be published with Google's ''File > Publish to Web...'' option. It is not sufficient to just have a shareable link.
'''Note:''' To actually embed a spreadsheet, the spreadsheet needs to be published with Google's ''File > Publish to Web...'' option. It is not sufficient to just have a shareable link.


== Cite ==
===ParserFunctions and StringFunctions===
This extension adds logical functions and functions that operate on strings to the wiki parser.
 
'''Link:''' http://www.mediawiki.org/wiki/Extension:ParserFunctions
 
'''Syntax:''' See http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions and http://www.mediawiki.org/wiki/Extension:StringFunctions for a list of functions and their syntax.
 
===Dynamic Page List===
This extension is quite complex. Basically it can be used to display content from other pages into a wiki page.
 
'''Link:''' https://www.mediawiki.org/wiki/Extension:DynamicPageList_(third-party)
 
'''Syntax:''' This extension is invoked with the parser function {&zwj;<nowiki>{#dpl: .... }} or parser tag </nowiki>&lt;DPL>. See the link above for more details and examples.
===Cite===
This extension can be used to create footnotes on a wiki page.
This extension can be used to create footnotes on a wiki page.


Line 117: Line 111:
'''Syntax:'''
'''Syntax:'''


You need to use the &lt;ref> tag to define a reference:
You need to use the &lt;ref> tag to define a reference. You can specify a group if you want several groups of footnotes. You can also specify a name if you want several references to the same footnote.


<pre>
<pre>
This is an example of use of the Cite extension<ref>Criezy, ScummVM wiki, 2009</ref>.
This is an example of use of the Cite<ref group="note">This is a footnote for the Cite extension</ref> extension<ref>Criezy, ScummVM wiki, 2009</ref>.
We can also use the same reference<ref group="note" name="multiple">This is a note with multiple references</ref> in several places using a name<ref group="note" name="multiple" />.
</pre>
</pre>


Line 126: Line 121:


<pre>
<pre>
--- Notes ---
==Notes==
<references group="note" />
 
==References==
<references />
<references />
</pre>
</pre>
Line 132: Line 130:
This example gives:
This example gives:


This is an example of use of the Cite extension<ref>Criezy, ScummVM wiki, 2009</ref>.
This is an example of use of the Cite<ref group="note">This is a footnote for the Cite extension</ref> extension<ref>Criezy, ScummVM wiki, 2009</ref>.
We can also use the same reference<ref group="note" name="multiple">This is a note with multiple references</ref> in several places using a name<ref group="note" name="multiple" />.
 
==Notes==
<references group="note" />


--- Notes ---
==References==
<references />
<references />
== ParserFunctions and StringFunctions ==
This extension adds logical functions and functions that operate on strings to the wiki parser.
'''Link:''' http://www.mediawiki.org/wiki/Extension:ParserFunctions
'''Syntax:''' See http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions and http://www.mediawiki.org/wiki/Extension:StringFunctions for a list of functions and their syntax.
== Dynamic Page List ==
This extension is quite complex. Basically it can be used to display content from other pages into a wiki page.
'''Link:''' http://semeb.com/dpldemo/index.php?title=Dynamic_Page_List
'''Syntax:''' This extension is invoked with the parser function {&zwj;{#dpl: .... }} or parser tag &lt;DPL>. See the link above for more details and examples.

Latest revision as of 23:30, 3 March 2021

Becoming a wiki editor

This wiki requires an account to edit pages. Accounts are given out on a per-case basis. Please contact sev through IRC, Discord, or e-mail if you would like an account.

As a wiki editor there are some things you cannot do on the wiki. For example, you cannot delete (or un-delete) pages, or edit the wiki interfaces such as the Sidebar. A group of users (trusted users) with slightly more powers than the normal user exists. Membership to this group is decided on a case by case basis by the project leaders.

General Rules

Style guide

All new documentation should follow the Google developer documentation style guide. Older documentation will gradually be brought in line with this guide.

No controversial material

Do not link to illegal content, or document steps that might be illegal. An obvious example is links to so-called abandonware sites. A less obvious example is instructions on how to jailbreak an iPhone or a Wii to install ScummVM.

Translation

  • At the top of the page, add the {{Languages}} template (see Template:Languages). If it is the first translation for that page, you will also need to add the template to the english page.
  • If your translated page points to a page that is not yet translated, you might want to link to the not yet existing translated page, create that page and redirect to the english page. That way you will not have to change all the links when you decide to translate the page. For example, if you want to link to User Manual/ScummVM Interface from a German page, but User Manual/ScummVM Interface has not yet been translated to German, you might want to point to User Manual/ScummVM Interface/de anyway and create that page with the following content:
#REDIRECT [[User Manual/ScummVM Interface]]

Extensions

There are several wiki extensions installed to help you in the editing task.

SyntaxHighlight

This extension can be used to present source code with syntax highlighting. As you can guess for us it is mainly useful for C++ code, but it can also be used with other languages.

Link: https://www.mediawiki.org/wiki/Extension:SyntaxHighlight

Syntax:

<syntaxhighlight lang="cpp">
#include <foo.h>

class MyClass {
public:
    MyClass();
    ~MyClass();
};
</syntaxhighlight >

Which gives the following result:

#include <foo.h>

class MyClass {
public:
    MyClass();
    ~MyClass();
};

SimpleMathJax

This extension can be used to generate formulas using the LaTeX math syntax. It replaces MediaWiki's regular TeX based math support (that we cannot use due to server limitations) and the old jsMath and MathJax extensions. It uses the same syntax as all of these, which is described here.

For inline equation use \(...\) and for display style math use instead <math>...</math>.

MathJax produces nice and scalable mathematics, see their website (http://www.mathjax.org/) for a demonstration.

Link: https://www.mediawiki.org/wiki/Extension:SimpleMathJax

Syntax:

<math>
Skewness(X) = \frac{N}{(N-1)*(N-2)*\sigma(X)^3} * \sum_{i=1}^{N}{(X_i - E(X))^3}
</math>

Which gives the following result:

<math> Skewness(X) = \frac{N}{(N-1)*(N-2)*\sigma(X)^3} * \sum_{i=1}^{N}{(X_i - E(X))^3} </math>

GoogleDocs4MW

This extension can be used to embed Google spreadsheet into a wiki page.

Link: https://www.mediawiki.org/wiki/Extension:GoogleDocs4MW

Syntax:

<googlespreadsheet width="600" height="200" style="width: 50%">Google Docs' key goes here</googlespreadsheet>

Note: To actually embed a spreadsheet, the spreadsheet needs to be published with Google's File > Publish to Web... option. It is not sufficient to just have a shareable link.

ParserFunctions and StringFunctions

This extension adds logical functions and functions that operate on strings to the wiki parser.

Link: http://www.mediawiki.org/wiki/Extension:ParserFunctions

Syntax: See http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions and http://www.mediawiki.org/wiki/Extension:StringFunctions for a list of functions and their syntax.

Dynamic Page List

This extension is quite complex. Basically it can be used to display content from other pages into a wiki page.

Link: https://www.mediawiki.org/wiki/Extension:DynamicPageList_(third-party)

Syntax: This extension is invoked with the parser function {‍{#dpl: .... }} or parser tag <DPL>. See the link above for more details and examples.

Cite

This extension can be used to create footnotes on a wiki page.

Link: http://www.mediawiki.org/wiki/Extension:Cite/Cite.php

Syntax:

You need to use the <ref> tag to define a reference. You can specify a group if you want several groups of footnotes. You can also specify a name if you want several references to the same footnote.

This is an example of use of the Cite<ref group="note">This is a footnote for the Cite extension</ref> extension<ref>Criezy, ScummVM wiki, 2009</ref>.
We can also use the same reference<ref group="note" name="multiple">This is a note with multiple references</ref> in several places using a name<ref group="note" name="multiple" />.

And then to use the <references /> tag as a placeholder (e.g. at the bottom of the page for a footnote):

==Notes==
<references group="note" />

==References==
<references />

This example gives:

This is an example of use of the Cite[note 1] extension[1]. We can also use the same reference[note 2] in several places using a name[note 2].

Notes

  1. This is a footnote for the Cite extension
  2. 2.0 2.1 This is a note with multiple references

References

  1. Criezy, ScummVM wiki, 2009