MediaWiki/FAQ
Опубликовано: 01.09.2018
MediaWiki/FAQ
Методика обновления кодировки Backwards-compatible UTF-8 ->MySQL 4.1/5.0 UTF-8
MediaWiki 1.6.10 Mysql 5.0.45 сохраняем все в sql -файл то есть делаем mysqldump --default-character-set=latin1 имя_базы >файло.sql это файло.sql содержит политически правильный и единственно верный utf8 без всяких извращений. редактируем файло.sql чем можем…(не вордом конечно) и меняем charset latin1 на charset utf8 убеждаемся, что сделали именно mysqldump --default-character-set=latin1, а не экспрот в sql из phpMyAdmin’а (иначе плакали ваши денюжки русские названия-линки статей) .# заходим в phpMyAdmin (необязательно, но там лучше видно), дропаем (убиваем) имя_базы, создаем базу заново, при этом выбираем utf8_bin collation . И делаем import из файло.sqlЧтобы убедится, что utf8 заработал — идем в основную таблицу page и смотрим на первую запись. Должны увидеть текст «Заглавная страница» вместо непоймичего
Идем в LocalSettings.php и меняем false на true # Experimental charset support for MySQL 4.1/5.0. ##$wgDBmysql5 = false; $wgDBmysql5 = true;Как разрешить закачку файлов в других форматах
В LocalSettings.php добавляем:
: $wgFileExtensions [ ] = 'pdf' ;для одного формата или
: $wgFileExtensions = array ( 'png' , 'gif' , 'jpg' , 'jpeg' , 'pdf' , 'txt' ) ;для того, чтобы разрешить несколько дополнительных форматов.
Почему под OS/2 (eComStation) не работает закачка файлов
Пишет при попытке загрузить файл "Невозможно создать директорию «temp/b/be» или «Невозможно создать директорию „public/b/be“». При исследовании вопроса выясняется, что порт php не может создать каталог вида «F:\wiki/images/b/be»
Причина в файле \includes\GlobalFunctions.php, функция wfMkdirParents. Замените её на
function wfMkdirParents ( $fullDir , $mode = null , $caller = null ) { global $wgDirectoryMode ; if ( ! is_null ( $caller ) ) { wfDebug ( " $caller : called wfMkdirParents( $dir )" ) ; } if ( strval ( $fullDir ) === '' || file_exists ( $fullDir ) ) return true ; if ( is_null ( $mode ) ) $mode = $wgDirectoryMode ; # Go back through the paths to find the first directory that exists $currentDir = $fullDir ; $createList = array ( ) ; while ( strval ( $currentDir ) !== '' && ! file_exists ( $currentDir ) ) { # Strip trailing slashes $currentDir = rtrim ( $currentDir , '/\\' ) ; # Add to create list $createList [ ] = $currentDir ; # Find next delimiter searching from the end $p = max ( strrpos ( $currentDir , '/' ) , strrpos ( $currentDir , '\\' ) ) ; if ( $p === false ) { $currentDir = false ; } else { $currentDir = substr ( $currentDir , 0 , $p ) ; } } if ( count ( $createList ) == 0 ) { # Directory specified already exists return true ; } elseif ( $currentDir === false ) { # Went all the way back to root and it apparently doesn't exist wfDebugLog ( 'mkdir' , "Root doesn't exist? \n " ) ; return false ; } # Now go forward creating directories $createList = array_reverse ( $createList ) ; # Is the parent directory writable? if ( $currentDir === '' ) { $currentDir = '/' ; } if ( ! is_writable ( $currentDir ) ) { wfDebugLog ( 'mkdir' , "Not writable: $currentDir \n " ) ; return false ; } foreach ( $createList as $dir ) { # use chmod to override the umask, as suggested by the PHP manual if ( ! mkdir ( $dir , $mode ) || ! chmod ( $dir , $mode ) ) { wfDebugLog ( 'mkdir' , "Unable to create directory $dir \n " ) ; return false ; } } return true ; }Как добавить мини-иконку ( favicon )
В LocalSettings.php добавляем:
#минииконка $wgFavicon = "/favicon.ico" ;Как изменить лого в левом верхнем углу
#лого в левом вехнем углу $wgLogo = "/images/logo.png" ;Как запретить незарегистрированным участникам редактировать статьи
$wgEmailConfirmToEdit = true ;Просмотр по-прежнему возможен, кнопка «править» показывается, однако при попытке редактирования появится напоминание о необходимости подтвердить регистрацию.
Как сделать перенаправление для категории
Q: хочется одну категорию перенаправить на другую категорию (скажем, в статье вставляем категорию с коротким названием: «МСЭ», а редирект делаем на статью с длинным названием: «Источники:Малая советская энциклопедия»). Если в категорию «МСЭ» поставить
#redirect [[Категория:Источники:Малая советская энциклопедия]]или
#redirect [[:Категория:Источники:Малая советская энциклопедия]]то не один из вариантов не работает.
A: Обломись бабка. Это похоже уже фича . См. Template talk:Category redirect . Было обещано, что разработчики исправят, но пошел уже третий год…
Как удалить статью с «недопустимыми символами» в названии
Q: Создал статью с обратным слешем в названии (например, Тест \" тест \" — Нмб Тест \" тест \" ), при попытке просмотра просмотра веб-сервер выдает ошибку 404 «Not Found. The requested URL /index.php/Тест_\»_тест_\" was not found on this server." Как мне удалить эту страницу ?
A: Данный вопрос может возникнуть в случае использования на сервере операционных систем Windows или OS/2
Берем полный URL
http://wiki.laser.ru/index.php/%D0%A2%D0%B5%D1%81%D1%82_%5C%22_%D1%82%D0%B5%D1%81%D1%82_%5C%22Добавляем после «index.php» текст ?title= (не забыть удалить / !), а в конец URL’ла — &action=delete
http://wiki.laser.ru/index.php?title=%D0%A2%D0%B5%D1%81%D1%82_%5C%22_%D1%82%D0%B5%D1%81%D1%82_%5C%22&action=deleteКак совместить внутренний и внешний поиск
Q: Как совместить внутренний и внешний поиск, так, как это сделано в Википедии ?
A: В Википедии это сделано через использование javascript — скриптов MediaWiki:Search.js и MediaWiki:Common.js (в ЭНЭ — MediaWiki:Search.js и MediaWiki:Common.js ). Следовательно, нужно, во-первых, разрешить использование javascript в браузере, во-вторых, создать Search.js, и в-третьих, отредактировать Common.js средствами MediaWiki.
В частности, в MediaWiki:Common.js следует добавить следующие строки:
//External search if ( wgCanonicalNamespace == 'Special' && wgCanonicalSpecialPageName == 'Search' ) importScript ( 'MediaWiki:Search.js' )Как использовать ссылку на поиск гугля на произвольной странице
Q: Как использовать ссылку на поиск гугля на произвольной странице ?
А1 Вот так: пишем [[google:Собака]], получаем: google:Собака .
A2: установить расширение MediaWiki Extension:Google Custom Search Engine , после чего пишем:<Googlecoop></Googlecoop>, получаем
Как сделать оглавление без номеров
Q: Как сделать оглавление страницы ( Table of contents ) без номеров ? При викификации стандартов, законов и других документов в оглавлении появлется некрасивое дублирование.
А: Использовать класс nonumtoc .
В тело статьи добавляем конструкцию <div class="nonumtoc">__TOC__</div>а в MediaWiki:Common.css —
/* When <div class="nonumtoc"> is used on the table of contents, the ToC will display without numbers */ .nonumtoc .tocnumber { display : none ; } .nonumtoc #toc ul , .nonumtoc .toc ul { line-height : 1.5em ; list-style : none ; margin : .3em 0 0 ; padding : 0 ; } .nonumtoc #toc ul ul , .nonumtoc .toc ul ul { margin : 0 0 0 2em ; }Пример применения — смотри статью Лазерная безопасность .
Как сделать чтобы цвет фона таблицы совпадал с цветом фона страницы
Q: Как сделать чтобы цвет фона таблицы совпадал с цветом фона страницы ? Вопрос актуален для, например, пространства ЭНЭ ({{SITENAME}}), где для стандарного скина используется слегка голубоватый фон, в то время как для основного пространства фон белый. Таблицы с параметром border=0 обычно используются для форматирования текста с изображениями. Результат такого использования таблиц в пространстве {{SITENAME}} при несовпадении фонов страницы и таблицы получается отвратительным.
А: <Simetrical> {| style="background: transparent"
Примечание:Simetrical — имя пользователя на irc-канале #mediawiki
Как администратору создать нового пользователя
Q: Как администратору создать нового пользователя ?
А1: залогинившись администратором, зайти на специальную страницу Special:Userlogin/signup .
А2: нажать мышкой на Спецстраницы , найти раздел Представиться / Зарегистрироваться, нажать на Представиться или зарегистрироваться , увидеть текст «Нет учётной записи? Создайте учётную запись.» и перейти по ссылке «Создайте учётную запись» на Special:Userlogin/signup .