Mediawiki: Difference between revisions
(→RawFile: patch 0.3 to 0.?, new syntax - test zone) |
|||
Line 141: | Line 141: | ||
<pre><nowiki> |
<pre><nowiki> |
||
* '''Method 1''': Returns the block that immediately follows. Save [{{#file: method1.txt}} this file] |
* '''Method 1''': Returns the block that immediately follows. Save [{{#file: method1.txt}} this file]: <code>Hello, World!</code> |
||
: But this other example fails because of the <br> tag... So save [{{#file: method1-fail.txt}} this file]:<br> |
|||
< |
:<code>Hello, World!</code>. |
||
* '''Method 2''': Indicates the block(s) with anchors. Save [{{#filelink: method2.txt}} this file] |
* '''Method 2''': Indicates the block(s) with anchors. Save [{{#filelink: method2.txt}} this file] (but not this <code>code text</code>):<br> |
||
:{{#fileanchor: method2.txt}}< |
:{{#fileanchor: method2.txt}}<code>We can then</code> very easily {{#fileanchor: method2.txt}}<code>interleave wiki with downloadable text</code> |
||
* '''Method 3''': Same as above, but using html attribute 'class'. Save [{{#filelink: method3.txt}} this file] |
* '''Method 3''': Same as above, but using html attribute 'class'. Save [{{#filelink: method3.txt}} this file] (but not this <code>code text</code>):<br> |
||
:{{#fileanchor: method3.txt}}< |
:{{#fileanchor: method3.txt}}<code>We can then</code> also very easily <code class="method3.txt">interleave wiki with downloadable text but with less typing</code> |
||
* '''Method 4''': Same as method 1, but using new syntax (custom wiki tag). Save <file name="method4.txt">this file</file> |
* '''Method 4''': Same as method 1, but using new syntax (custom wiki tag). Save <file name="method4.txt">this file</file>: <code>Hello, World!</code> |
||
⚫ | |||
* '''Method 5''': Same as above, but specifying which tag to include. Save <file name="method5.txt" tag=" |
* '''Method 5''': Same as above, but specifying which tag to include. Save <file name="method5.txt" tag="code">this file</file>: |
||
<source lang="text">This text is skipped.</source |
<source lang="text">This text is skipped.</source> |
||
:<code>This is the text that will be returned...</code> |
|||
* '''Method 6''': Same as method 2 / 3, but using new syntax (custom wiki tag). Save <filelink name="method6.txt">this file</filelink>. Of course the old syntax < |
* '''Method 6''': Same as method 2 / 3, but using new syntax (custom wiki tag). Save <filelink name="method6.txt">this file</filelink>. Of course the old syntax <code>{{#fileanchor}}</code> for anchor is still supported.<br> |
||
:{{#fileanchor: method6.txt}}< |
:{{#fileanchor: method6.txt}}<code>Again, we can </code> also very easily <code class="method6.txt">interleave wiki with downloadable text while using the new syntax</code> |
||
</nowiki></pre> |
</nowiki></pre> |
||
This gives: |
This gives: |
||
* '''Method 1''': Returns the block that immediately follows. Save [{{#file: method1.txt}} this file] |
* '''Method 1''': Returns the block that immediately follows. Save [{{#file: method1.txt}} this file]: <code>Hello, World!</code> |
||
: But this other example fails because of the <br> tag... So save [{{#file: method1-fail.txt}} this file]:<br> |
|||
<source lang="text">Hello, World!</source> |
|||
⚫ | |||
* '''Method 2''': Indicates the block(s) with anchors. Save [{{#filelink: method2.txt}} this file] |
* '''Method 2''': Indicates the block(s) with anchors. Save [{{#filelink: method2.txt}} this file] (but not this <code>code text</code>):<br> |
||
:{{#fileanchor: method2.txt}}< |
:{{#fileanchor: method2.txt}}<code>We can then</code> very easily {{#fileanchor: method2.txt}}<code>interleave wiki with downloadable text</code> |
||
* '''Method 3''': Same as above, but using html attribute 'class'. Save [{{#filelink: method3.txt}} this file] |
* '''Method 3''': Same as above, but using html attribute 'class'. Save [{{#filelink: method3.txt}} this file] (but not this <code>code text</code>):<br> |
||
:{{#fileanchor: method3.txt}}< |
:{{#fileanchor: method3.txt}}<code>We can then</code> also very easily <code class="method3.txt">interleave wiki with downloadable text but with less typing</code> |
||
* '''Method 4''': Same as method 1, but using new syntax (custom wiki tag). Save <file name="method4.txt">this file</file> |
* '''Method 4''': Same as method 1, but using new syntax (custom wiki tag). Save <file name="method4.txt">this file</file>: <code>Hello, World!</code> |
||
<source lang="text">Hello, World!</source> |
|||
* '''Method 5''': Same as above, but specifying which tag to include. Save <file name="method5.txt" tag=" |
* '''Method 5''': Same as above, but specifying which tag to include. Save <file name="method5.txt" tag="code">this file</file>: |
||
<source lang="text">This text is skipped.</source |
<source lang="text">This text is skipped.</source> |
||
:<code>This is the text that will be returned...</code> |
|||
* '''Method 6''': Same as method 2 / 3, but using new syntax (custom wiki tag). Save <filelink name="method6.txt">this file</filelink>. Of course the old syntax < |
* '''Method 6''': Same as method 2 / 3, but using new syntax (custom wiki tag). Save <filelink name="method6.txt">this file</filelink>. Of course the old syntax <code>{{#fileanchor}}</code> for anchor is still supported.<br> |
||
:{{#fileanchor: method6.txt}}< |
:{{#fileanchor: method6.txt}}<code>Again, we can </code> also very easily <code class="method6.txt">interleave wiki with downloadable text while using the new syntax</code> |
||
{{hiddenSourceFile||RawFile-v0.3.patch|<source lang="diff" class="RawFile-v0.3.patch"> |
{{hiddenSourceFile||RawFile-v0.3.patch|<source lang="diff" class="RawFile-v0.3.patch"> |
Revision as of 23:01, 18 November 2009
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)
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.
Extensions
SyntaxHighlight GeSHi
This extension adds the <source> tag to present formatted source code. See official page.
Restoring 1.0.7.# output - solving <pre> formatting problem
- Since at least version r24298 (July 21, 2007) (with GeSHi version 1.0.8), <source> tag does not match usual formatting applied for <pre> tags. This is because the extension applies by default the new GeSHi header style GESHI_HEADER_PRE_VALID. The following patch allows to restore the old formatting when there is no attribute line. It also introduces a new option valid to attribute enclose to force application of header style GESHI_HEADER_PRE_VALID
--- SyntaxHighlight_GeSHi.class.php.old 2008-09-07 23:24:37.000000000 +0200
+++ SyntaxHighlight_GeSHi.class.php 2008-09-07 23:33:15.000000000 +0200
@@ -39,7 +39,7 @@
// "Enclose" parameter
if ( isset( $args['enclose'] ) && $args['enclose'] == 'div' ) {
$enclose = GESHI_HEADER_DIV;
- } elseif ( defined('GESHI_HEADER_PRE_VALID') ) {
+ } elseif ( (isset( $args['line'] ) || isset( $args['enclose'] ) && $args['enclose'] == 'valid' ) && defined('GESHI_HEADER_PRE_VALID') ) {
// Since version 1.0.8 geshi can produce valid pre, but we need to check for it
$enclose = GESHI_HEADER_PRE_VALID;
} elseif( isset( $args['line'] ) ) {
- Example: the following code
After the following command, <source lang="bash" enclose="valid"> % cat ~/hello.c</source> you'll get the following output <source lang="c"> #include <stdio.h> int main(int,int) { printf("Hello, World!\n"); return 0; } </source>
gives:
After the following command, % cat ~/hello.c
#include <stdio.h>
int main(int,int)
{
printf("Hello, World!\n");
return 0;
}
|
- Another solution is discussed here. The proposed solution is to edit file "SyntaxHighlight_GeSHi.class.php". Go to line 192, which should look like
$css[] = ".source-$lang {line-height: normal;}";
Change this to
$css[] = ".source-$lang {padding: 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;}";
and you have restored the pre css formatting.
RawFile
RawFile is an extension made by Philippe Teuwen to allow downloading directly text in <pre> or <source> block as a file.
Patch v0.2 → v0.3
The patch below adds an optional parameter to hook {{#filelink}}. With 1 param, the file is fetched from the current page as usual:
Save [{{#filelink: fstab}} this file] in your <tt>/etc</tt> directory.
With 2 param, the 2nd param is telling which page to fetch the file from:
Save [{{#filelink: fstab|Config files - fstab}} this file] in your <tt>/etc</tt> directory.
{{{content}}}
Patch v0.3 → v0.?
This patch allows for specifying the file anchor using an html class attribute instead of using {{#fileanchor}}
. It also introduces a new syntax for file links, and allows for specifying the tag of the block to return (instead of returning the first encountered block after the link). For instance:
* '''Method 1''': Returns the block that immediately follows. Save [{{#file: method1.txt}} this file]: <code>Hello, World!</code> : But this other example fails because of the <br> tag... So save [{{#file: method1-fail.txt}} this file]:<br> :<code>Hello, World!</code>. * '''Method 2''': Indicates the block(s) with anchors. Save [{{#filelink: method2.txt}} this file] (but not this <code>code text</code>):<br> :{{#fileanchor: method2.txt}}<code>We can then</code> very easily {{#fileanchor: method2.txt}}<code>interleave wiki with downloadable text</code> * '''Method 3''': Same as above, but using html attribute 'class'. Save [{{#filelink: method3.txt}} this file] (but not this <code>code text</code>):<br> :{{#fileanchor: method3.txt}}<code>We can then</code> also very easily <code class="method3.txt">interleave wiki with downloadable text but with less typing</code> * '''Method 4''': Same as method 1, but using new syntax (custom wiki tag). Save <file name="method4.txt">this file</file>: <code>Hello, World!</code> * '''Method 5''': Same as above, but specifying which tag to include. Save <file name="method5.txt" tag="code">this file</file>: <source lang="text">This text is skipped.</source> :<code>This is the text that will be returned...</code> * '''Method 6''': Same as method 2 / 3, but using new syntax (custom wiki tag). Save <filelink name="method6.txt">this file</filelink>. Of course the old syntax <code>{{#fileanchor}}</code> for anchor is still supported.<br> :{{#fileanchor: method6.txt}}<code>Again, we can </code> also very easily <code class="method6.txt">interleave wiki with downloadable text while using the new syntax</code>
This gives:
- Method 1: Returns the block that immediately follows. Save [{{#file: method1.txt}} this file]:
Hello, World!
- But this other example fails because of the <br> tag... So save [{{#file: method1-fail.txt}} this file]:
Hello, World!
.
- Method 2: Indicates the block(s) with anchors. Save [{{#filelink: method2.txt}} this file] (but not this
code text
):
- {{#fileanchor: method2.txt}}
We can then
very easily {{#fileanchor: method2.txt}}interleave wiki with downloadable text
- Method 3: Same as above, but using html attribute 'class'. Save [{{#filelink: method3.txt}} this file] (but not this
code text
):
- {{#fileanchor: method3.txt}}
We can then
also very easilyinterleave wiki with downloadable text but with less typing
- Method 4: Same as method 1, but using new syntax (custom wiki tag). Save <file name="method4.txt">this file</file>:
Hello, World!
- Method 5: Same as above, but specifying which tag to include. Save <file name="method5.txt" tag="code">this file</file>:
This text is skipped.
This is the text that will be returned...
- Method 6: Same as method 2 / 3, but using new syntax (custom wiki tag). Save <filelink name="method6.txt">this file</filelink>. Of course the old syntax
{{#fileanchor}}
for anchor is still supported.
- {{#fileanchor: method6.txt}}
Again, we can
also very easilyinterleave wiki with downloadable text while using the new syntax
{{{content}}}