MediaWiki

From David's Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
\( \newcommand{\P}[]{\unicode{xB6}} \newcommand{\AA}[]{\unicode{x212B}} \newcommand{\empty}[]{\emptyset} \newcommand{\O}[]{\emptyset} \newcommand{\Alpha}[]{Α} \newcommand{\Beta}[]{Β} \newcommand{\Epsilon}[]{Ε} \newcommand{\Iota}[]{Ι} \newcommand{\Kappa}[]{Κ} \newcommand{\Rho}[]{Ρ} \newcommand{\Tau}[]{Τ} \newcommand{\Zeta}[]{Ζ} \newcommand{\Mu}[]{\unicode{x039C}} \newcommand{\Chi}[]{Χ} \newcommand{\Eta}[]{\unicode{x0397}} \newcommand{\Nu}[]{\unicode{x039D}} \newcommand{\Omicron}[]{\unicode{x039F}} \DeclareMathOperator{\sgn}{sgn} \def\oiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x222F}\,}{\unicode{x222F}}{\unicode{x222F}}{\unicode{x222F}}}\,}\nolimits} \def\oiiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x2230}\,}{\unicode{x2230}}{\unicode{x2230}}{\unicode{x2230}}}\,}\nolimits} \)

Installation

See mediawiki for instructions on deployment.
I have a container image with my preferred extensions at https://github.com/dli7319/docker-mediawiki.

To update, bump your image version and then in your container run:

php maintenance/run.php update

Wikitext

Wikitext is the markup language for Mediawiki pages.

Import/Export

Importing Individual Pages From Wikipedia

Mediawikiwiki: Manual:Importing_Wikipedia_infoboxes_tutorial

  1. Go to Wikipedia's Special:Export
  2. Type in the page you want.
    Template:Key press
    Template:Key press/doc
  3. Check include templates and download the file
  4. Go to your wiki's Special:Import
  5. Import the file.

Restricting Access

See https://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions.
I use the Lockdown extension.

TODO

  • Find a way to insert text files into mediawiki (either via upload or as text).
    • These should be downloadable with a link.
    • Bonus if we can get syntax highlighting for code and if WebGL shaders can be made runnable.

Writing Extensions

PHP Hooks

See Mediawikiwiki:Manual:Hooks

ParserAfterTidy

  • This is only called for new sections of pages, not necessarily the entire page.

JS Hooks

See mw.hook documentation