Mediawiki: Difference between revisions
Jump to navigation
Jump to search
(→Extensions: Rawfile) |
|||
Line 93: | Line 93: | ||
</source> |
</source> |
||
and you have restored the pre css formatting. |
and you have restored the pre css formatting. |
||
=== RawFile === |
|||
[http://wiki.yobi.be/wiki/Mediawiki_RawFile RawFile] is an extension made by Philippe Teuwen to allow downloading directly text in <tt><pre></tt> or <tt><source></tt> block as a file. |
|||
The following page adds an optional parameter to hook <tt><nowiki>{{#filelink}}</nowiki></tt>. With 1 param, the file is fetched from the current page as usual: |
|||
<pre> |
|||
Save [{{#filelink: fstab }} this file] in your <tt>/etc</tt> directory. |
|||
</pre> |
|||
With 2 param, the 2nd param is telling which page to fetch the file from: |
|||
<pre> |
|||
Save [{{#filelink: fstab|Config files - fstab}} this file] in your <tt>/etc</tt> directory. |
|||
</pre> |
|||
<source lang="diff"> |
|||
--- original/RawFile.php 2009-09-21 16:20:51.000000000 +0200 |
|||
+++ patched/RawFile.php 2009-09-21 18:07:06.000000000 +0200 |
|||
@@ -18,8 +18,12 @@ |
|||
$magicWords['fileanchor'] = array( 0, 'fileanchor' ); |
|||
return true; |
|||
} |
|||
-function efRawFile_Render( &$parser, $filename = '') { |
|||
- return $parser->mTitle->getFullURL( 'action=raw&file='.urlencode( $filename ) ); |
|||
+function efRawFile_Render( &$parser, $filename = '', $titleText = '') { |
|||
+ if( $titleText == '' ) { |
|||
+ $titleText = $parser->mTitle->getText(); |
|||
+ } |
|||
+ $title=Title::makeTitle($parser->mTitle->getNamespace(),$titleText,$parser->mTitle->getFragment() ); |
|||
+ return $title->getFullURL( 'action=raw&file='.urlencode( $filename ) ); |
|||
} |
|||
function efRawFile_Empty( &$parser, $filename = '') { |
|||
return ''; |
|||
</source> |
Revision as of 16:33, 21 September 2009
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 [1].
- Another way to hide pages [2].
- See sourceforge project.
- Yet another extension [3].
- Security problem with access restriction extension:
- Some information on how to create custom namespaces [6].
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.
The following page 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.
--- original/RawFile.php 2009-09-21 16:20:51.000000000 +0200
+++ patched/RawFile.php 2009-09-21 18:07:06.000000000 +0200
@@ -18,8 +18,12 @@
$magicWords['fileanchor'] = array( 0, 'fileanchor' );
return true;
}
-function efRawFile_Render( &$parser, $filename = '') {
- return $parser->mTitle->getFullURL( 'action=raw&file='.urlencode( $filename ) );
+function efRawFile_Render( &$parser, $filename = '', $titleText = '') {
+ if( $titleText == '' ) {
+ $titleText = $parser->mTitle->getText();
+ }
+ $title=Title::makeTitle($parser->mTitle->getNamespace(),$titleText,$parser->mTitle->getFragment() );
+ return $title->getFullURL( 'action=raw&file='.urlencode( $filename ) );
}
function efRawFile_Empty( &$parser, $filename = '') {
return '';