MediaWiki
MediaWiki ist ein freies Wiki-Softwarepaket, welches für die Wikipedia geschrieben worden ist. Es wird als Grundlage der Non-Profit-Organisation der Wikimedia Foundation und viele andere Wikis genutzt, einschließlich dieser Webseite.
Folgende Erweiterungen bzw. Konfixx waren/sind relevant:
Konfiguration
404/Seite existiert nicht
Ist ein Systemtext: MediaWiki:Noarticletext
Diese Seite enthält momentan noch keinen Text. Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} bearbeiten]</span>, ihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]] oder die zugehörigen <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten]</span>.
Enabling subpages for a namespace
An easy way to enable subpages for a given namespace is to edit the LocalSettings.php and insert the following:
#LocalSettings.php
# Enable subpages in the main namespace
$wgNamespacesWithSubpages[NS_MAIN] = true;
http://www.mediawiki.org/wiki/Manual:%24wgNamespacesWithSubpages
http://meta.wikimedia.org/wiki/Help:Navigation_bar
MediaWiki:Sidebar
Eliminating index.php from the url
Das Wiki läuft direkt unter http://crazylinux.de/. Artikel sind damit unter /, also z.b. http://crazylinux.de/Apache2, erreichbar.
http://meta.wikimedia.org/wiki/Eliminating_index.php_from_the_url
#LocalSettings.php
$wgScriptPath = "";
## If using PHP as a CGI module, the ?title= style usually must be used.
$wgArticlePath = "/$1";
Zusätzlich muss noch mod_rewrite aktiviert werden. Leider funktioniert die Regeln nicht in der .htaccess, deshalb müssen diese in die Apache-Conf
#/etc/apache2/sites-enabled/mysite.de
RewriteEngine on
#forward old wiki-url to new one
RewriteRule ^/wiki/(.*)$ http://crazylinux.de/$1 [R=301,L]
# forbid bots to spider pages with certain urls that are forbidden in robots.txt anyway.
RewriteCond %{HTTP_USER_AGENT} .*Yahoo\!\sSlurp.*|.*Googlebot.*|.*msnbot.*
RewriteRule ^/index.php?.*$ /Hauptseite [L,QSA,gone]
RewriteCond %{HTTP_USER_AGENT} .*Yahoo\!\sSlurp.*|.*Googlebot.*|.*msnbot.*
#allow all-pages
RewriteCond %{REQUEST_URI} !^/Spezial:Alle_Seiten
RewriteRule ^/(Spezial):.*?.*$ /Hauptseite [L,QSA,gone]
RewriteCond %{HTTP_USER_AGENT} .*Yahoo\!\sSlurp.*|.*Googlebot.*|.*msnbot.*
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^/?$ /Hauptseite [L,QSA,gone]
# rules for well-behaving bots and normal browser:
RewriteCond %{REQUEST_URI} !^/files/
RewriteCond %{REQUEST_URI} !^/[i|I]cons/
# Don't rewrite requests for files in MediaWiki subdirectories,
# MediaWiki PHP files, HTTP error documents, favicon.ico, or robots.txt
RewriteCond %{REQUEST_URI} !^/(images|skins|cgi-bin|extensions)/
RewriteCond %{REQUEST_URI} !^/(redirect|texvc|index).php
RewriteCond %{REQUEST_URI} !^/error/(40(1|3|4)|500).html
RewriteCond %{REQUEST_URI} !^/(favicon.ico|sitemap.xml)
RewriteCond %{REQUEST_URI} !^/robots.txt
RewriteCond %{REQUEST_URI} !^/opensearch_desc.php
RewriteCond %{REQUEST_URI} !^/api.php
RewriteRule ^/(.*)$ /index.php?title=$1 [L,QSA]
File Upload
#LocalSettings.php
$wgEnableUploads = true; // Enable uploads
$wgCheckFileExtensions = false;
$wgStrictFileExtensions = false;
http://www.mediawiki.org/wiki/Configuring_file_uploads
No Anonymous
#LocalSettings.php
# Permission keys given to users in each group.
# All users are implicitly in the '*' group including anonymous visitors;
# logged-in users are all implicitly in the 'user' group. These will be
# combined with the permissions of all groups that a given user is listed
# in in the user_groups table.
#
# This replaces wgWhitelistAccount and wgWhitelistEdit
#
# The following line should be commented, otherwise these settings will
# throw away the settings on DefaultSettings.php (you probably don't want this).
# With this line commented you will only overwrite the settings you explicitly
# define here (that's what you probably want).
#$wgGroupPermissions = array();
$wgGroupPermissions['*' ]['createaccount'] = false;
$wgGroupPermissions['*' ]['read'] = true;
$wgGroupPermissions['*' ]['edit'] = false;
Desweiteren sollten natürlich die 'Actions' ausgeblendet werden: http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_remove_the_article.2Fedit_etc_tabs_for_users_who_are_not_logged_in.3F
Überschriften nummerieren/numberheadings
#LocalSettings.php
$wgDefaultUserOptions['numberheadings'] = 1;
Dublin Core
#LocalSettings.php
$wgEnableDublinCoreRdf = true;
Config-Übersicht
http://www.mediawiki.org/wiki/Manual:Configuration_settings
How do I add more buttons on the edit page?
For adding more toolbar buttons above the edit field, you can use JavaScript code to register them in your MediaWiki:common.js. For example, a button for source code:
var customizeToolbar = function() {
/* Your code goes here */
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
buttonId: {
label: 'Highlight SourceCode',
type: 'button',
icon: '/skins/common/images/button_image.png',
action: {
type: 'encapsulate',
options: {
pre: "<source lang=\"php\">",
peri: "<?php\n\n?>",
post: "
"
} } } }
}); };
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */ if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
mw.loader.using( 'user.options', function () { if ( mw.user.options.get('usebetatoolbar') ) { mw.loader.using( 'ext.wikiEditor.toolbar', function () { $(document).ready( customizeToolbar ); } ); } }
);}
</source> http://www.mediawiki.org/wiki/Extension:WikiEditor/Toolbar_customization
Robots.txt
http://www.mediawiki.org/wiki/Robots.txt
Extensions
Auth_RemoteUser
Automatic REMOTE_USER Authentication extension automatically logs users using the REMOTE_USER environment variable. Probably you have to replace REMOTE_USER with PHP_AUTH_USER!
apache.conf
<Location ~ "Spezial:Anmelden">
#Turn on IMAP Authentication
Auth_IMAP_Enabled on
AuthUserFile /dev/null
#AllowOverride none
AuthBasicAuthoritative off
AuthType Basic
AuthName Wiki-Login
Auth_IMAP_Authoritative on
#Set the IMAP Server to which you want to connect (default=localhost):
Auth_IMAP_Server localhost
#Set the port on which the imap server is running (default=143):
Auth_IMAP_Port 143
#Turn on some extra logging (login attempts, etc.) in Apache's Error Log
Auth_IMAP_Log off
require valid-user
</Location>
http://www.mediawiki.org/wiki/Extension:AutomaticREMOTE_USER
Extension:SelectCategory
The SelectCategory extension provides three functions:
- It shows a list of all categories (unless a custom root category is configured) in their hierarchical structure on the edit page.
- It strips all categories linked within a page upon editing and selects them in the category list list.
- It adds selected categories from the list to the text body of the page on saving.
http://www.mediawiki.org/wiki/Extension:SelectCategory
Syntax-Highlighting
This extension adds the source tag to present formatted source code.
http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
Last Updates (News)
http://www.mediawiki.org/wiki/Extension:News
broken with 1.12.0, but quick&dirty patch is available. It will use the old Parser-Class. Line $html="<fieldset..."; is optional.
/www/htdocs/wiki/extensions/News$ diff NewsRenderer.php.orig NewsRenderer.php
86a87
> $parser = new Parser_oldPP;
107a109
> $this->templateparser->ClearState();
337,339c339,342
< #$output = $this->templateparser->parse( $text, $wgTitle, $this->templateoptions, true );
< $text .= $this->postfix;
< $html = $this->templateparser->recursiveTagParse( $text );
---
> $output = $this->templateparser->parse( $text, $wgTitle, $this->templateoptions, true );
> #$text .= $this->postfix;
> $html = $output->getText();
> #$html = $this->templateparser->recursiveTagParse( $text );
345a349
> $html = "<fieldset class=\"special\"><legend>Änderungen</legend>". $html."</fieldset>";
550a555
> $this->templateparser->mOptions = $this->templateoptions;
to apply the patch save the diff as NewsRenderer.php.patch and execute
patch NewsRenderer.php <NewsRenderer.php.patch
<fixed>1 of 5 patches will not apply (don't know the reason), so you have to edit NewsRenderer.php manually. See line 337</fixed>
TagCloud
This module is intended to provide a tag cloud control for mediawiki. Each tag represents a mediawiki category, the size of the tag being determined by the number of articles on that category.
http://www.orangedino.org/index.php?name=News&file=article&sid=1
Download the zip archive and unarchive it. Copy the "tag_cloud.php" file to the "extension" folder in your wiki.
#LocalSettings.php
require_once("extensions/tag_cloud.php");
Define the pages where you are going to add the tag cloud:
Edit the wiki page "MediaWiki:Tagcloudpages". Put one this page all the pages where you have included your tag, one page per line.
Hauptseite
Add the CSS:
You should include this code into your "MediaWiki:Common.css" to get the default styles. After that you can freely tweak it:
.tagcloud {
width: 98%;
text-align: center;
background-color: #FDFDFD;
border: 1px solid #EEEEEE;
padding: 15px 10px 15px 10px;
}
.tagcloud a {
color: #0052CB;
margin-left: 10px;
margin-right: 10px;
font-weight: bold;
}
Usage:
The simple way to display the cloud is to add in a page :
<tagcloud> </tagcloud>
Sitemap (Google)
http://www.mediawiki.org/wiki/Extension:Google_Sitemap
Note: Since MediaWiki 1.6, the MediaWiki core has a Google site map generator which may be more appropriate than this extension. It is a command-line utility, and it is located at maintenance/generateSitemap.php in your MediaWiki directory. The command line is "php generatesitemap.php sitename" and is run from the maintenance directory at the server's command line interface.
Top10-Pages
http://www.mediawiki.org/wiki/Extension:TopTenPages
if ( ! $this->listoutput )
#$s[] = "<ol start='" . ( $offset == 0 ? $offset + 1 : $offset ) . "' class='special'>";
$s[] = "<fieldset><legend>Top 10</legend><ul start='" . ( $offset == 0 ? $offset + 1 : $offset ) . "' class='special'>";
if ( ! $this->listoutput )
#$s[] = '</ol>';
$s[] = '</ul></fieldset>';
DirList
This extension lists the content of a directory in a table and creates links for downloading files.
http://www.mediawiki.org/wiki/Extension:DirList or
http://www.mediawiki.org/wiki/Extension:FileSystemListing
FCKEditor
http://www.mediawiki.org/wiki/Extension:FCKeditor_(Official)
FCKeditor.php sets the following values to $wgDefaultUserOptions:
$wgDefaultUserOptions['riched_use_toggle'] = 1;
$wgDefaultUserOptions['riched_start_disabled'] = 1;
$wgDefaultUserOptions['riched_use_popup'] = 1;
$wgDefaultUserOptions['riched_toggle_remember_state'] = 1;