Mediawiki: Difference between revisions
Line 98: | Line 98: | ||
|{{nb|1=<source lang=bash>echo Hello</source>}} |
|{{nb|1=<source lang=bash>echo Hello</source>}} |
||
|} |
|} |
||
=== Tag attributes not expanded in templates === |
|||
To have tag attributes expanded in wiki templates (in particular when these attributes contain template parameters), use the special construction <code><nowiki>{{#tag:tagname|content|attr1=val1|attr2=val2}}</nowiki></code>. See also [https://bugzilla.wikimedia.org/show_bug.cgi?id=61341 bugzilla 61341] for more information. |
|||
This is used in template [[Template:Rawfiledownloadexample]]: |
|||
<pre> |
|||
You can download file "{{{name}}}" below, just click this link: {{#tag:file|{{{name}}}|name={{{name}}}|tag=pre}}. |
|||
{{#tag:pre|{{{content}}}}} |
|||
</pre> |
|||
The example |
|||
<pre> |
|||
{{Rawfiledownloadexample|name=myfile.txt|content=Once upon a time |
|||
There was a Tag |
|||
Tag was clickable |
|||
And clicked it was}} |
|||
</pre> |
|||
expands into to the following with action <code>?action=raw&templates=expand</code>: |
|||
<source lang=xml> |
|||
You can download file "myfile.sh" below, just click this link: <file|name="myfile.sh" tag="pre">myfile.sh</file>. |
|||
<pre>Once upon a time |
|||
There was a Tag |
|||
Tag was clickable |
|||
And clicked it was</pre> |
|||
</source> |
|||
== Development == |
== Development == |
Revision as of 10:31, 17 February 2014
Hints and Tips
Purge wiki page cache
- When changing templates, purge the browser & mediawiki cache. To purge the cache of a single page, add &action=purge to the URL (see [1] for more)
Increase default font size
The easiest way is to add the following to wiki common stylesheet (MediaWiki:Common.css):
/***** Increase default text size ****/
#content {font-size: 1.2em}
body.page-Main_Page #content {font-size: inherit}
The second line overrides effect of first line so that the new font size does not apply to the Main Page.
There are in fact several ways to increase the font size. Using Opera's DragonFly debug environment (Ctrl-Shift-I), it is easy to see how the font size of a normal wiki text is computed (css is filtered for property font-size):
Computed Style font-size: 15.36px; Inherited from div #bodyContent { font-size: 0.8em } Inherited from div#content { font-size: larger }Inherited from bodybody { font-size: 1.0em }Inherited from htmlhtml { font-size: 1.0em }
Note that em refers to the size of the current font, after application of all inherited styles. In the case above it means that the size of a standard wiki text is not 0.8em as given by div#bodyContent, but well 16px * 1.0 * 1.0 * 1.2 * 0.8 = 15.36px.
One can edit any CSS property above to change the default size of the wiki text. We choose to edit #content so that it only affects the wiki text part (including first header).
Keyboard shortcuts
- Reference page in wikipedia
- Page explaining how to change keyboard shortcut using user custom stylesheet.
- Most frequently-used HTML access keys (default access-key shortcut is alt+shift for Firefox and shift+Esc for Opera):
Action | Key |
---|---|
accesskey-edit | e |
accesskey-preview | p |
accesskey-save | s |
accesskey-search | f |
Access Restriction
See these pages for implementing access restriction in MediaWiki:
- A page that implement per-page access restriction [2].
- Another way to hide pages [3].
- See sourceforge project.
- Yet another extension [4].
- Security problem with access restriction extension:
- Some information on how to create custom namespaces [7].
Miscellaneous
- Page Special:Version
- produces a complete list of all extensions installed on the wiki.
Troubleshooting
Fix templates that always produce {{{1}}}
Templates in Mediawiki will fail if the parameters contains an equal sign. Consider for instance the template nb:
div class="noborder"> {{{1}}}</div>
Let's enclose a <source>
tag:
<source lang=bash>echo Hello</source>}} | echo Hello
|
The fix is simply to prepend 1=
to the parameter value:
1=<source lang=bash>echo Hello</source>}} | echo Hello
|
Tag attributes not expanded in templates
To have tag attributes expanded in wiki templates (in particular when these attributes contain template parameters), use the special construction {{#tag:tagname|content|attr1=val1|attr2=val2}}
. See also bugzilla 61341 for more information.
This is used in template Template:Rawfiledownloadexample:
You can download file "{{{name}}}" below, just click this link: {{#tag:file|{{{name}}}|name={{{name}}}|tag=pre}}. {{#tag:pre|{{{content}}}}}
The example
{{Rawfiledownloadexample|name=myfile.txt|content=Once upon a time There was a Tag Tag was clickable And clicked it was}}
expands into to the following with action ?action=raw&templates=expand
:
You can download file "myfile.sh" below, just click this link: <file|name="myfile.sh" tag="pre">myfile.sh</file>.
<pre>Once upon a time
There was a Tag
Tag was clickable
And clicked it was</pre>
Development
- Tips
- In 99% of cases, extensions just need to use the method
recursiveTagParse
of the parser instead ofParser::parse
(apparently this function is not re-entrant).