MediaWiki
(Redirected from Wikidevelopment)
Resources for installing and configuring Wikimedia MediaWiki.
intro
installing
security
- MediaWiki: "Securing Database Passwords"
- MediaWiki: "Preventing Access (Removing the Login Link from All Pages)"
$wgHooks['SkinTemplateNavigation::Universal'][] = function ( $skinTemplate, &$links ) {
unset( $links['user-menu']['createaccount'] );
unset( $links['user-menu']['login'] );
unset( $links['user-menu']['login-private'] );
unset( $links['user-menu']['anoncontribs'] );
};
# https://www.mediawiki.org/wiki/Preventing_access#Removing_the_Login_link_from_all_pages
linking
- MediaWiki: "Apache Short URL"
- NikkiWiki: "Apache Hypertext Transfer Protocol Server Access (HTACCESS)"
- DreamHost Knowledge Base: "Adding a Subdomain"
/* The Uniform Resource Locator (URL) base path to the directory containing the wiki; defaults for all runtime URL paths are based off of this. For more information on customizing the URLs (like "/w/index.php/page_title" to "/wiki/page_title") please see: "https://www.mediawiki.org/wiki/short_URL". */ $wgScriptPath = "/w"; $wgArticlePath = "/wiki/$1"; # https://www.mediawiki.org/wiki/manual:short_URL/Apache#LocalSettings.php
timezone
- NikkiWiki: "Personal Homepage Hypertext Preprocessor Runtime Configuration (PHPRC)"
- MediaWiki: "Local Timezone"
# Timezone. $wgLocaltimezone = "America/New_York"; # https://www.php.net/timezones.america.php # https://www.mediawiki.org/wiki/$wgLocaltimezone
mainpage
citations
- NikkiWiki: "MediaWiki Site Subtitle"
- MediaWiki: "Cite This Page"
- NikkiWiki: "Cite This Page Content"
- NikkiWiki: "MediaWiki (Privacy)"
- NikkiWiki: "MediaWiki (Privacy Page)"
- NikkiWiki: "NikkiWiki Privacy Policy"
- NikkiWiki: "MediaWiki (Disclaimers)"
- NikkiWiki: "MediaWiki (Disclaimer Page)"
- NikkiWiki: "NikkiWiki Disclaimer"
contact page
- MediaWiki: "Confirm Edit"
- MediaWiki: "Contact Page"
- NikkiWiki: "MediaWiki (Contact Page Label)"
- NikkiWiki: "MediaWiki (Contact Page Text)"
- NikkiWiki: "NikkiWiki Contact Page"
wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]);
$wgCaptchaClass = 'QuestyCaptcha';
# Add your questions using this format:
$wgCaptchaQuestions = [
'Question 1?' => 'answer 1', # Answers are case insensitive.
'Question 2?' => 'answer 2'
];
# https://www.mediawiki.org/wiki/Extension:ConfirmEdit
wfLoadExtension( 'ContactPage' );
$wgContactConfig['default'] = [
'RecipientEmail' => 'nicolesharp@example.net', # Example only; not a real email address.
'RecipientName' => 'Nicole Sharp',
'SenderEmail' => null, # Defaults to "$wgPasswordSender"; may be changed as required.
'SenderName' => null,
'RequireDetails' => true,
'IncludeIP' => false,
'MustBeLoggedIn' => false,
'MustHaveEmail' => false, # "True" means the user submitting the form must have an associated email address.
'NameReadonly' => false,
'EmailReadonly' => false,
'SubjectReadonly' => false,
'UseCustomBlockMessage' => false,
'Redirect' => null,
'RLModules' => [], # Resource loader modules to add to the form display page.
'RLStyleModules' => [], # Resource loader Cascading Stylesheet (CSS) modules to add to the form display page.
'AdditionalFields' => [
'Text' => [
'label-message' => 'emailmessage',
'type' => 'textarea',
'required' => true
]
],
'FieldsMergeStrategy' => null
];
$wgCaptchaTriggers['contactpage'] = true;
$wgHooks['SkinAddFooterLinks'][] = function( Skin $skin, string $key, array &$footerlinks ) {
if ( $key === 'places' ) {
$footerlinks['contact'] = Html::element( 'a',
[
'href' => 'https://www.nicolesharp.net/wiki/special:contact', # URL to "special:contact".
'rel' => 'noreferrer noopener' # Not required but recommended for security reasons.
],
$skin->msg( 'contactpage-label' )->text()
);
};
};
# https://www.mediawiki.org/wiki/Extension:ContactPage
following
$wgNoFollowLinks = false; # https://www.mediawiki.org/wiki/$wgNoFollowLinks
recent changes
$wgDefaultUserOptions['rcenhancedfilters-disable'] = 1; $wgDefaultUserOptions['usenewrc'] = 0; $wgDefaultUserOptions['hidecategorization'] = 0; $wgDefaultUserOptions['rclimit'] = 1000; $wgDefaultUserOptions['rcdays'] = 90; $wgDefaultUserOptions['date'] = "ISO 8601"; # https://www.mediawiki.org/wiki/$wgDefaultUserOptions#Available_preferences
sitemap
- MediaWiki: "AutoSitemap"
- MediaWiki: "Namespaces"
- NikkiWiki: "Extensible Markup Language (XML) Sitemap"
wfLoadExtension( 'AutoSitemap' ); $wgAutoSitemap["exclude_namespaces"] = [ NS_MEDIAWIKI, NS_TEMPLATE ]; $wgAutoSitemap["priority"][NS_MAIN] = 1.0; # 1.0000 $wgAutoSitemap["priority"][NS_FILE] = 0.9; # 0.9231 $wgAutoSitemap["priority"][NS_CATEGORY] = 0.8; # 0.8462 $wgAutoSitemap["priority"][NS_USER] = 0.8; # 0.7692 $wgAutoSitemap["priority"][NS_HELP] = 0.7; # 0.6923 $wgAutoSitemap["priority"][NS_PROJECT] = 0.6; # 0.6154 $wgAutoSitemap["priority"][NS_TALK] = 0.5; # 0.5385 $wgAutoSitemap["priority"][NS_FILE_TALK] = 0.5; # 0.4615 $wgAutoSitemap["priority"][NS_CATEGORY_TALK] = 0.4; # 0.3846 $wgAutoSitemap["priority"][NS_USER_TALK] = 0.3; # 0.3077 $wgAutoSitemap["priority"][NS_HELP_TALK] = 0.2; # 0.2308 $wgAutoSitemap["priority"][NS_PROJECT_TALK] = 0.2; # 0.1538 $wgAutoSitemap["priority"][NS_TEMPLATE_TALK] = 0.1; # 0.0769 $wgAutoSitemap["priority"][NS_MEDIAWIKI_TALK] = 0.0; # 0.0000 /* https://www.mediawiki.org/wiki/Extension:AutoSitemap https://www.mediawiki.org/wiki/help:namespaces Maxima: float([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]/13) ; */
number of categories
$wgAllowSlowParserFunctions = true; /* https://www.mediawiki.org/wiki/$wgAllowSlowParserFunctions https://www.mediawiki.org/wiki/Help:Magic_words#Statistics */
syntax highlighting
Highlight JavaScript (HighlightJS) Integration is a drop-in replacement for SyntaxHighlight Pygments. With the exception of languages supported by HighlightJS but not supported by Pygments, all MediaWiki markup written with HighlightJS Integration will also work with SyntaxHighlight Pygments as long as you use the same SYNTAXHIGHLIGHT element and the same language codes.
- MediaWiki: "HighlightJS Integration"
- Microsoft GitHub: "HighlightJS Integration"
- Microsoft GitHub: "HighlightJS Content Delivery Network (CDN) Release"
- MediaWiki: "Syntax Highlight"
- HighlightJS: "Demo"
Disable the SyntaxHighlight Extension before enabling the HighlightJS Integration Extension.
# wfLoadExtension( 'SyntaxHighlight_GeSHi' ); wfLoadExtension( 'Highlightjs_Integration' ); # https://www.mediawiki.org/wiki/Extension:Highlightjs_Integration#Installation
syntax highlighting languages
In order to ensure that pages with HighlightJS Integration are exportable to SyntaxHighlight Pygments, you need to check and make sure that you are using language codes supported by both libraries.