MediaWiki

Aus crazylinux.de
Zur Navigation springen Zur Suche springen

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.

http://www.mediawiki.org/

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, aber du kannst nach dem Seitentitel [[{{ns:special}}:Search/{{PAGENAME}}|suchen]] oder
diese Seite [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} bearbeiten].

siehe auch http://bugzilla.wikimedia.org/show_bug.cgi?id=2585

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

Navigation

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;

Farmer - (Multisite) Mediawiki farm

http://www.mediawiki.org/wiki/User:IndyGreg/Farmer

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 mwCustomEditButtons in your MediaWiki:common.js. For example, a button for large text:

var button = {
        "imageFile": "images/5/56/Button_big.png",  //image to be shown on the button (may be a full URL too), 22x22 pixels
        "speedTip": "big text",    //text shown in a tooltip when hovering the mouse over the button
        "tagOpen": "<big>",        //the text to use to mark the beginning of the block
        "tagClose": "</big>",      //the text to use to mark the end of the block (if any)
        "sampleText": "big text"   //the sample text to place inside the block
};
mwCustomEditButtons.push(button);

http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_add_more_buttons_on_the_edit_page.3F

Extensions

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>&Auml;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

Restricted Page Patch

http://conseil-recherche-innovation.net/index.php/1974/04 weitere http://www.mediawiki.org/wiki/Extension:PageSecurity