Mediawiki RawFile
Introduction
The idea is to be able to download directly a portion of code as a file.
I've numerous code examples in my wiki and I wast an easy way to download them, easier than a copy/paste!
- It must work with pre, nowiki, js, css, code, source, so let's make it general: take the tag that comes after the parser function we'll create and select data up to the closing tag.
2 parts:
- the parser magic word that will be converted into a "Save it as <filename>"
- an extended action=raw that will strip the raw output to keep the desired code
Documentation
- http://www.mediawiki.org/wiki/Manual:Extensions
- http://www.mediawiki.org/wiki/Manual:Magic_words
- http://www.mediawiki.org/wiki/Manual:Parser_functions
- http://meta.wikimedia.org/wiki/Help:Parser_function
- http://www.mediawiki.org/wiki/Manual:Hooks/RawPageViewBeforeOutput
Syntax
{{#rawsnippet: myscript.sh}}
Do we need a MIME type?
Transformation:
[{{fullurl:{{PAGENAME}}|action=raw&filename=myscript.sh}} save it as myscript.sh]
Test: save it as myscript.sh
#!/bin/bash
echo 'Hello world!'
exit 0
Hook on Raw
- Must extract the right paragraph
- Must provide the filename to the browser