MediaWiki/FAQ

Материал из ЭНЭ
Перейти к: навигация, поиск

MediaWiki/FAQ

Методика обновления кодировки Backwards-compatible UTF-8 ->MySQL 4.1/5.0 UTF-8

MediaWiki 1.6.10
Mysql 5.0.45
  1. сохраняем все в sql -файл т.е. делаем mysqldump --default-character-set=latin1 имя_базы >файло.sql это файло.sql содержит политически правильный и единственно верный utf8 без всяких извращений.
  2. редактируем файло.sql чем можем...(не вордом конечно) и меняем charset latin1 на charset utf8
  3. убеждаемся, что сделали именно mysqldump --default-character-set=latin1, а не экспрот в sql из phpMyAdmin'а (иначе плакали ваши денюжки русские названия-линки статей)
  4. .# заходим в phpMyAdmin (необязательно, но там лучше видно), дропаем (убиваем) имя_базы, создаем базу заново, при этом выбираем utf8_bin collation. И делаем import из файло.sql

Чтобы убедится, что utf8 заработал - идем в основную таблицу page и смотрим на первую запись. Должны увидеть текст "Заглавная страница" вместо непоймичего

  1. Идем в 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' );

для того, чтобы разрешить несколько дополнительных форматов.

Как добавить мини-иконку (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

Как совместить внутренний и внешний поиск

MediaWikiFaq 8.jpg

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.