MediaWiki: Difference between revisions

From David's Wiki
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Installation==
See [https://hub.docker.com/_/mediawiki mediawiki] for instructions on deployment.<br>
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:
<pre>
php maintenance/run.php update
</pre>


==Wikitext==
==Wikitext==
Line 8: Line 15:
==Import/Export==
==Import/Export==
===Importing Individual Pages From Wikipedia===
===Importing Individual Pages From Wikipedia===
[[Mediawikiwki: Manual:Importing_Wikipedia_infoboxes_tutorial]]
[[Mediawikiwiki: Manual:Importing_Wikipedia_infoboxes_tutorial]]


<ol>
<ol>
Line 20: Line 27:
<li> Import the file.</li>
<li> Import the file.</li>
</ol>
</ol>
===Importing all templates from Wikipedia===


==Restricting Access==
==Restricting Access==
The best way to restrict access is to create a separate wiki.<br>
See [https://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions https://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions].<br>
However, there do exist extensions to manage access at the page-level.<br>
I use the Lockdown extension.
See [https://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions https://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions]<br>
One such extension is [https://www.mediawiki.org/wiki/Extension:Semantic_ACL Semantic ACL] which requires [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki Semantic Mediawiki].


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


==Writing Extensions==
==Writing Extensions==

Latest revision as of 00:34, 31 December 2023

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