also see klml.de

MyBest

edit

Most useful extensions for LocalSettings.php

$wgEnableMWSuggest = true ;
$wgPageShowWatchingUsers = true ;
$wgRawHtml = true ;
$wgAllowUserCss = true;
$wgAllowUserJs = true;
$wgAllowExternalImages = true ;
$wgUniversalEditButton = true ;
$wgAllowRdfaAttributes = true ;
$wgAllowCopyUploads = true ;
$wgFileExtensions[] = 'svg';
$wgFileExtensions[] = 'pdf';
$wgUsersNotifiedOnAllChanges = array( 'klml' );


$wgExtraNamespaces[100] = "What";
$wgExtraNamespaces[101] = "What talk";

## MW default
# Extension:InputBox#Installation
require_once "$IP/extensions/InputBox/InputBox.php";
# Extension:Interwiki
require_once "$IP/extensions/Interwiki/Interwiki.php";
// To grant sysops permissions to edit interwiki data
$wgGroupPermissions['sysop']['interwiki'] = true;
# https://www.mediawiki.org/wiki/Extension:MarkdownExtraParser
$MarkdownExtraParserOptions = array(
    'use_raw_html' => true,
);
require_once( "$IP/extensions/MarkdownExtraParser/MarkdownExtraParser.php" );
# Extension:LinkSuggest
wfLoadExtension( 'LinkSuggest' );
# Extension:DynamicPageList_(third-party)
include("$IP/extensions/DynamicPageList/DynamicPageList2.php");
# Extension:RegexParserFunctions
require_once('extensions/RegexParserFunctions.php');
# Extension:Labeled Section Transclusion
require_once ( 'extensions/LabeledSectionTransclusion/lst.php' );
require_once ( 'extensions/LabeledSectionTransclusion/lsth.php' );
require_once ( 'extensions/LabeledSectionTransclusion/compat.php' );
# Extension:SyntaxHighlight_GeSHi
require_once("$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
# Extension:EmailForm
require_once("$IP/extensions/EmailForm.php");
# Extension:Replace Text good tool to do classic BOTjobs
require_once( "$IP/extensions/ReplaceText/ReplaceText.php" );
$wgGroupPermissions['bureaucrat']['replacetext'] = true;
# Extension:S5SlideShow
require_once( "$IP/extensions/S5SlideShow/S5SlideShow.php" );
# Extension:DeleteBatch
require_once("$IP/extensions/DeleteBatch/DeleteBatch.php");

# Extension:Piwik Integration
require_once( "$IP/extensions/Piwik/Piwik.php" );

$wgPiwikURL = "/";
$wgPiwikIDSite = "";

# Extension:SimpleBatchUpload
wfLoadExtension('SimpleBatchUpload');

# http://www.mediawiki.org/wiki/Spam
$wgEnableSorbs = true;
$wgSorbsURL = 	'http.dnsbl.sorbs.net.';
$wgSpamRegex = '!(display\s*:none|overflow\s*:auto|viagra|\[\/url\]|\[\/link\])!';

require_once( "$IP/extensions/SpamBlacklist/SpamBlacklist.php" );
require_once( "$IP/extensions/ConfirmEdit/ConfirmEdit.php" );
require_once( "$IP/extensions/ConfirmEdit/QuestyCaptcha.php"); 
$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaQuestions[] = array( 'question' => "Which color is the sky", 'answer' => "blue" );
$wgGroupPermissions['user'         ]['skipcaptcha'] = true;
$wgCaptchaTriggers['create']        = true; 


simplemde

edit

Embedd simplemde.com markdowneditor

Create a link with class 'markdowneditor' on the edit page (e.g. MediaWiki:Copyrightwarning2).

<a class="markdowneditor" href="#">Markdowneditor</a>
$( ".markdowneditor" ).click(function() {
    $('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', '//cdn.jsdelivr.net/simplemde/latest/simplemde.min.css') );
    $.getScript( "//cdn.jsdelivr.net/simplemde/latest/simplemde.min.js", function( data, textStatus, jqxhr ) {
        if( textStatus == "success" ) var simplemde = new SimpleMDE({ 
            element: $("#wpTextbox1")[0] ,
            toolbar: [ "bold", "italic", "strikethrough", "heading-2", "heading-3", "code", "quote", "unordered-list", "ordered-list",  "link", "image", "table", "horizontal-rule", "|",
            "clean-block", "preview", "side-by-side", "fullscreen" ]
        });
    });
});


Categories as key value

edit

Use Categories as a key value "store". The sortkeyprefix as Value [[Category:KEY|VALUE]], and query this value with API as a definition list.

Write a placeholder where the list should appear:

<div class="categorykeyvalue">[[:Category:{{{1}}}]]</div>

You can wrap this in a template.

Add this JS (in MediaWiki:Commons.js)

$('.categorykeyvalue').each( function() {
    var category = $(this).find('a').attr('title');
    $this = $(this)
	$.getJSON('/api.php?action=query&list=categorymembers&format=json&cmlimit=1000&cmprop=title|sortkeyprefix&cmtitle=' + category , function(data) {
		var items = [];
		var categorymembers = data.query.categorymembers ;
		$.each(categorymembers , function(key, val) {
			items.push('<dt>' + val.sortkeyprefix + '</dt><dd><a href="' + val.title + '">' + val.title + '</a></dd>' );
		});
		$('<dl/>', {
			html: items.join('')
		}).appendTo($this);
	});
});

I like

edit

I watch

edit

To Check

edit

I try...

edit