Есть ряд замен, которые вы увидите сразу же, на предварительном просмотре текста.
Можете теперь обозначать заголовки знаками равно только в начале:
==Первый уровень
===Второй уровень
Знаки равно в конце заголовка могут и быть но игнорируются. Вики автоматически проставит столько же равно в конце сколько было в начале.
Вместо того чтобы каждый раз писать
<source lang="cpp"> ... </source>
перед началом кода пишите
с
в конце
сс
То есть просто одна или две буквы с на отдельной строке.
Лишние пробелы в концах строк удаляются.
Правка там, где уже приходилось править так что с плугином возится мотивации нет.
if ( $request->wasPosted() ) { # These fields need to be checked for encoding. # Also remove trailing whitespace, but don't remove _initial_ # whitespace from the text boxes. This may be significant formatting. $this->textbox1 = $this->safeUnicodeInput( $request, 'wpTextbox1' ); $this->textbox2 = $this->safeUnicodeInput( $request, 'wpTextbox2' ); $this->mMetaData = rtrim( $request->getText( 'metadata' ) ); # Truncate for whole multibyte characters. +5 bytes for ellipsis $this->summary = $wgLang->truncate( $request->getText( 'wpSummary' ), //VL: 2010-08-08 // summary limit (blob in DB) 2000, //250, '' ); //VL. //VL: 2010-09-12 // // Preprse Posteed // $sPost = $this->textbox1; // // Kill hanging spaces // $sPost = preg_replace( '/[ \t]+$/m', '', $sPost); // // Balance ==Titles== // $sPost = preg_replace( '/^(=+)(.+?)=*$/m', '\1\2\1', $sPost); // // Source CODE shortcut // $sPost = preg_replace( '/^(c|' . GToUtf8("с") . ')$/m', ---openining-source-tag---, $sPost); $sPost = preg_replace( '/^(cc|' . GToUtf8("сс") . ')$/m', ---closing-source-tag---, $sPost); //GDump($sPost); exit; // done $this->textbox1 = $sPost; //VL.
На категории теперь можно ссылаться как на обычные статьи без указания префикса :Category:. (У нас не может быть статей и категорий с одним и тем же названием)
И если пройти в категорию по ссылке, не включающей префикс то вики сама его подставит, например: http://www.biosoft-m.ru/Site
То же самое и для участника. Канонически MediaWiki требует писать [[User:VL]], но ведь лень (и потом чего вообще VL "юзер"???). Можете писать просто [[Shef]] это станет ссылкой на http://www.biosoft-m.ru/Shef которая автоматически перенаправит в http://www.biosoft-m.ru/User:Shef.
MediaWiki hook для автоматического перенаправления похоже можно сделать только в версии 1.16. Так что делаем хак.
} elseif ( $this->mTitle->getNamespace() != NS_MEDIAWIKI ) { $text = wfMsgExt( 'noarticletext', 'parsemag' ); //VL: 2010-09-12 // if the category exists redirect them there if (is_object($this->mTitle)) { $oAsCat = Title::newFromText($this->mTitle->getText(), NS_CATEGORY); //GDump($oAsCat); //GDump($target->getDBkey() . " --- " . $oAsCat->getText() . " -- " . $oAsCat->exists()); if (is_object($oAsCat) && $oAsCat->exists()) { global $std; $std->boink_it( $oAsCat->getLinkUrl()); return; } } //VL.
А сделать ссылки умнее, так что бы не существующие статьи были синонимами категорий и ссылка не выделялась как не существующая удалось официально.
//VL: 2010-09-12 // // Hook linker and replace 'broken' article links with Category: // of the same name if it exists. // This requires an auto-redirect fix for missing-article page // to make a valid working synonym. // function GHookLinkBegin( $skin, $target, &$text, &$customAttribs, &$query, &$options, &$ret) { //GDump(func_get_args()); if (in_array( 'broken', $options ) && is_object($target)) { $oAsCat = Title::newFromText($target->getText(), NS_CATEGORY); //GDump($oAsCat); //GDump($target->getDBkey() . " --- " . $oAsCat->getText() . " -- " . $oAsCat->exists()); if (is_object($oAsCat) && $oAsCat->exists()) { // remove 'broken' flag from the array $options = array_values(array_diff($options, array('broken'))); $options[] = 'known'; //return false; } } return true; } $wgHooks['LinkBegin'][] = 'GHookLinkBegin'; //VL.