Как импортировать шаблоны Википедии в свой собственный MediaWiki

  1. Понимание шаблонов
  2. Как работают шаблоны
  3. Список дел
  4. Обновление нашего MediaWiki
  5. Установка Scribunto
  6. Экспорт / импорт модулей
  7. Экспорт / Импорт шаблонов
  8. Активация IstantCommons
  9. Поиск проблемы
  10. Проблемы с импортом
  11. Ошибки LUA

Если вы наткнулись на этот пост, скорее всего, вы только что установили свой собственный MediaWiki и хотите сделать его красивее. Это вполне понятно, так как установка MediaWiki по умолчанию с начальным набором запуска расширения , модули а также шаблоны Не правда ли: вы можете создавать заголовки / заголовки, делать текст жирным и / или курсивом, создавать вики-ссылки и гиперссылки, и это все.

Владеть собственным MediaWiki - это весело, но если вы выберете MediaWiki над другими отличными альтернативами, такими как TikiWiki Например, это означает, что вы хотите, чтобы он выглядел так же хорошо, как Википедия - или любая другая профессионально выглядящая вики - на самом деле. Для этого вам нужно будет установить множество дополнительных вещей. Эта статья, как и многие другие, которые я опубликую в течение следующих недель, научит вас, как это сделать.

Если вы этого еще не сделали, я настоятельно рекомендую начать с замена редактора MediaWiki по умолчанию на WikiEditor : мы уже объясняли, как этого добиться с эта почта ,

Сразу после этого большое улучшение, которое вы, возможно, захотите достичь, скорее всего, будет примерно таким:

Да, мы говорим об этом причудливом информативном Message Box , объясняющем, что статья нуждается в дополнительных цитатах. Как вы, возможно, уже знаете, это шаблон , одна из величайших функций MediaWiki . Шаблон - это, по сути, стандартный фрагмент контента, который может быть включен на нескольких страницах, обеспечивая простой интерфейс для небольшого изменения его текста (или изображений, или поведения) в соответствии со страницей, на которой вы его используете. На самом деле, работа с шаблонами сэкономит нам много работы, потому что мы сможем бесконечно многократно использовать большую часть того, что мы делали, без необходимости заново изобретать колесо.

Понимание шаблонов

Значит ли это, что мы должны разработать этот шаблон вручную? К счастью, нам не нужно: на самом деле шаблоны MediaWiki можно экспортировать и импортировать между различными установками MediaWiki , а это значит, что вы сможете использовать шаблоны Wikipedia в считанные минуты, не создавая их с нуля. Однако, прежде чем сделать это, нужно узнать несколько вещей о том, как на самом деле работают эти шаблоны.

Как работают шаблоны

Самый простой способ узнать, как на самом деле работают шаблоны MediaWiki, - это создать собственный шаблон. Откройте MediaWiki и создайте новую страницу Template: MyFirst со следующим содержанием:

Затем создайте другую страницу, назвав ее MyFirstTest , и введите следующее содержимое:

Сразу после этого взгляните на страницу, которую вы только что создали. Вы должны увидеть что-то вроде следующего:

Вот как работает шаблон. Для получения дополнительной информации о них, в том числе о том, как правильно использовать переменные шаблона, я настоятельно рекомендую вам прочитать это официальная страница MediaWiki ,

Мы не будем слишком углубляться в самые передовые концепции шаблонов: для простоты мы просто выделим следующие основные концепции, которые нам необходимо знать перед их импортом:

  • Шаблон может включать в себя другие шаблоны , что означает, что мы могли бы создать Template: MySecond и добавить ссылку на {{MyFirst}} в его содержимое, как мы сделали со страницей MyFirstTest . Такое поведение настолько часто используется в вики, как Википедия, что многие шаблоны на самом деле Metatemplates , который используется для обозначения внутреннего шаблона, используемого только другими внешними шаблонами.
  • Шаблон может передавать одну или несколько переменных метатемплатам , что означает, что мы можем «выставлять» некоторые переменные Metatemplate через интерфейсный шаблон, что делает его более универсальным: мы также можем предоставить некоторые значения по умолчанию для этих переменных, если пользователь не не дайте им явного.
  • Шаблон может вызывать расширения , включая те, которые позволяют использовать функции ( ParserFunctions ) и / или модули ( Scribunto ). Это наиболее продвинутое и мощное использование шаблонов, поскольку оно позволяет использовать языки сценариев (такие как LUA ) в MediaWiki, что позволяет бесконечное количество функций для любого шаблона.

Опять же, если вы хотите узнать больше о расширенных шаблонах, я предлагаю вам прочитать Официальная документация MediaWiki , Пока мы собираемся придерживаться нашей оригинальной темы, которая заключается в том, как импортировать шаблоны Википедии в нашу собственную установку MediaWiki.

Список дел

После столь необходимого вступления пришло время составить краткий список того, что мы собираемся сделать для достижения нашей задачи:

  • Обновите нашу MediaWiki до последней стабильной версии , надеясь, что она станет такой же, как в Википедии.
  • Установите расширение Scribunto и правильно настройте его.
  • Экспортируйте / импортируйте модули LUA, используемые (мета) шаблонами, которые вы хотите использовать, и импортируйте их в MediaWiki.
  • Экспортируйте / импортируйте шаблоны Википедии, которые вы хотите использовать, вместе со всеми необходимыми метатемплатами и импортируйте их в свой MediaWiki.
  • Скопируйте соответствующие CSS-классы из файла Common.css в Википедии и вставьте их в Common.css вашего MediaWiki.
  • Активируйте функцию MediaWiki IstantCommons для автоматической загрузки файлов изображений шаблона из репозитория commons.wikipedia.com .

Вот и все: мы готовы начать?

Обновление нашего MediaWiki

Если мы хотим использовать шаблоны Википедии, мы должны быть уверены, что наша установка MediaWiki сможет их поддержать. MediaWiki, оказывается, движущийся зверь, со многими обновлениями каждый год, и их шаблоны также не что иное, как это. Движок Википедии , являющийся основной причиной существования проекта MediaWiki , также всегда получает обновления, и код их шаблонов будет делать то же самое: для простоты, если вы хотите использовать их вещи, вы должны быть такими же обновленными, как и они. являются.

Вы можете проверить текущую версию Википедии, посмотрев на следующей странице :

Прежде чем обновлять свою сборку, чтобы она соответствовала ей, вы можете проверить журнал изменений, чтобы увидеть, есть ли критические изменения в последней стабильной версии, включая наиболее важные расширения: если их нет, вы можете попытаться сохранить свою, в противном случае у вас есть обновить. Излишне говорить, что вы вынуждены делать это только в первый раз: как только вы импортируете шаблоны, вы можете остаться позади ... пока вам не понадобится импортировать больше шаблонов!

Для обновления вашей установки MediaWiki вы можете получить последний снимок для сборки, которую вы ищете или загрузите полный пакет с официальная страница загрузки , Я настоятельно рекомендую сделать последнее, так как вы также получите комплектные расширения и стили (их также необходимо обновить), не получая их вручную.

Инструкции по обновлению могут сильно отличаться в зависимости от того, какую сборку у вас уже есть и / или какую вы обновляете. Как правило, не стоит недооценивать процесс обновления MediaWiki . Это не легкое программное обеспечение, и, скорее всего, это не займет считанные секунды, как большинство других приложений PHP в наши дни. Вам придется внимательно следовать инструкциям, иначе вы навсегда нарушите свою среду: вас также могут попросить запустить сценарии PHP из командной строки (используя интерфейс командной строки PHP), изменить текущую схему базы данных, обновить третью версию. сторонние библиотеки программного обеспечения, такие как ImageMagick , Python , GhostScript и, возможно, даже ваша основная сборка PHP.

Излишне говорить, что перед началом процесса необходимо сделать резервную копию либо папки установки MediaWiki, либо базы данных : если вы пропустите это, есть большие шансы, что вы пожалеете об этом выборе.

Установка Scribunto

Scribunto ( они пишут на латинском языке) - это революционное расширение, позволяющее редакторам MediaWiki встраивать один или несколько языков сценариев в MediaWiki. В настоящее время единственным поддерживаемым языком сценариев является Lua , который оказывается отличным выбором по ряду веских причин: простой и удобный синтаксис для непрограммистов, высокая производительность (с JIT-компилятор ), хорошо документированные, простые, но мощные функции отладки, отличная поддержка сообщества. У него тоже есть свои недостатки, но ничего, что действительно влияет на использование в MediaWiki.

Чтобы установить и настроить Scribunto , просто загрузите его с это официальная страница Википедии. , Обязательно выберите правильную версию MediaWiki : вам нужно выбрать ту, которая соответствует установленной (или ниже): если вы не уверены в этом, перейдите на страницу / Special: Version вашей MediaWiki и посмотрите прямо под Установленное программное обеспечение заголовок. Получив расширение, распакуйте его в папку / extensions / вашей установки MediaWiki .

Вот что вам нужно иметь в конце:

После этого откройте файл LocalSettings.php и добавьте следующую строку в конце уже упомянутых расширений, т.е. строки, начинающиеся с
:

Если вы используете MediaWiki SyntaxHighlight расширение ( больше информации здесь ), вы также можете добавить следующую строку, чтобы выделить исходный код Lua в различных модулях:

Вот и все.

Экспорт / импорт модулей

Теперь, когда у нашего MediaWiki есть Scribunto , он может поддерживать модули LUA. Это список модулей, которые нам нужны для импорта шаблона информационного окна сообщения из Википедии, которую мы видели в начале этого поста, который, кстати, называется Refimprove и построен на Ambox метатемплату, которая построена на Окно сообщения модуль (и так далее: вы начинаете понимать, почему мы должны все это делать, не так ли?).

Вот список модулей, которые нам нужны:

  • Модуль: Message_box
  • Модуль: Message_box / конфигурации
  • Модуль: No_globals
  • Модуль: Category_handler
  • Модуль: YESNO

Чтобы экспортировать их, перейдите на Страница экспорта из Википедии и вручную добавьте их все в большое многострочное текстовое поле «Добавить страницы вручную» , вот так:

Обязательно установите три флажка, включая один из включаемых шаблонов , который по умолчанию часто не отмечен, затем нажмите кнопку « Экспорт» . XML-файл будет создан и доступен для загрузки: сохраните его во временной папке, затем откройте еще одну вкладку в своем браузере и перейдите на страницу Special: Import вашей установки MediaWiki.

Если вы не нашли его, перейдите к списку « Специальные страницы », щелкнув в левом меню навигатора, затем прокрутите вниз до раздела « Инструменты страницы » и нажмите ссылку « Импорт страниц» .

Оказавшись там, импортируйте ранее загруженный файл, выбрав радиокнопку «Импорт в местоположения по умолчанию» среди возможных вариантов самоисключения.

Экспорт / Импорт шаблонов

Теперь, когда у нас есть модули, нам нужно сделать то же самое с шаблонами. Вернуться к Страница экспорта из Википедии и введите следующее в текстовое поле «Добавить страницы из категории» :

  • Категория: Mbox_and_messagebox_templates

Как только вы нажмете кнопку « Добавить» , текстовое поле ниже будет заполнено шаблонами из этой категории. Вернитесь в верхнее текстовое поле и повторите ту же задачу, набрав следующее:

  • Категория: Article_message_templates

Также будет добавлена ​​еще одна серия шаблонов. Это все, что нам нужно для правильной поддержки шаблона Refimprove, а также сотни других подобных.

Технически говоря, мы получаем все шаблоны сообщений статей вместе с их зависимостями module / metatemplate. Мы делаем это, так как это проще, чем вручную выбирать тот, который нам нужен. Если мы не хотим, мы можем удалить те, которые нам не нужны.

Снова нажмите кнопку « Экспорт» и сохраните файл XML локально. Как только мы это сделаем, мы можем вернуться на нашу страницу MediaWiki Special: Import и импортировать шаблоны, как мы это делали с модулями недавно.

Чтобы наше окно сообщений было точно таким же, как и в Википедии, нам нужно скопировать соответствующие части специальной страницы MediaWiki: Common.css в Википедии на свою вики-страницу с тем же именем. Мы можем увидеть требуемые классы, посмотрев окно Module: Message / код конфигурации и выяснив их: или, в качестве жизнеспособной альтернативы, мы можем просто скопировать весь контент MediaWiki: Common.css из Википедии в наш: это не повлияет наши MediaWiki выглядят и чувствуют каким-либо образом, если только мы не сделали что-то другое.

Активация IstantCommons

Последнее, что нам нужно сделать, это активировать функцию IstantCommons в Википедии, чтобы необходимые файлы изображений автоматически выбирались из централизованного репозитория commons.mediawiki.com : если вы хотите узнать больше о IstantCommons , вы можете прочитать Эта статья для дополнительной информации.

Начиная с выпуска MediaWiki 1.16, включить функцию IstantCommon так же просто, как добавить следующую строку на нашу страницу LocalSettings.php :

Поиск проблемы

Вот краткий список наиболее распространенных проблем, с которыми вы можете столкнуться во время вышеупомянутых шагов, и некоторые советы по их устранению.

Проблемы с импортом

Если вы получаете ошибки, подобные этим, при импорте экспортированных файлов XML с помощью специальной страницы MediaWiki : страница импорта :

И ответ POST, полученный после загрузки, показывает следующую ошибку:

Скорее всего, это связано с тем, что расширение libxml и / или загрузчик сущностей PHP вышли из строя и перешли в неисправимое состояние на всем веб-сервере, что препятствовало успешному завершению импорта. Это было распространенной проблемой в сборках MediaWiki до 1.26, однако это может произойти, если на вашем компьютере настроено несколько PHP-сайтов. Наиболее безопасное решение - перезапустить службу веб-сервера, чтобы libxml был восстановлен в рабочее состояние.

Больше информации по этому вопросу можно найти Вот (Ошибка загрузчика сущностей PHP) и Вот Задача Phabricator в MediaWiki.

Ошибки LUA

Если импортированные модули LUA не работают и / или показывают ошибки, наиболее распространенная причина связана с тем, что либо MediaWiki и / или расширения Scribunto не обновлены и / или отличаются от текущей сборки Википедии , Чтобы исправить эти проблемы, вы можете сделать следующее:

  • Обновите свои версии MediaWiki и / или Scribunto.
  • Вручную скопируйте предыдущую версию исходного кода модуля в Википедии, которая была написана для предыдущей сборки MediaWiki (соответствует вашей).

Вы также можете попытаться устранить проблему самостоятельно, активировав журнал ошибок LUA. Для этого добавьте следующую строку в файл LocalSettings.php сразу после команды загрузки расширения Scribunto:

Ну, вот и все: счастливой конфигурации!

Вот и все: мы готовы начать?
И так далее: вы начинаете понимать, почему мы должны все это делать, не так ли?

Новости

Как сбалансировать юзабилити и дизайн при создании сайта — User House
Красота или уродство в веб-дизайне всегда связаны с восприятием конкретного человека. То, что для одного «красиво», может быть «ужасным» для другого и наоборот. Но как же так получается, что многие популярные

Чем лучше юзабилити сайта – тем больше лояльных клиентов
Хотите понять, как посетители воспринимают сайт? Это очень просто. Представьте, что вы говорите по телефону с директором, и в это время вам звонит кто-то из родственников, а у вас еще работы на четыре

Знакомство с юзабилити-тестированием сайта. // webknowledge.ru
Перевод статьи:   An Introduction To Website Usability Testing. Автор:   Thomas Churm. При создании нового сайта необходимо учитывать множество факторов. Для того чтобы у посетителей возникло

Специалист по web-usability – боец невидимого фронта
Ярослав Перевалов Что такое usability engineering? Часто ли вы, бродя по Сети, обращаете внимание на то, насколько качественно структурирована информация на сайте и насколько удобно устроена навигация?

Гид по UX исследованиям для начинающих
В индустрии, в основе которой лежит использование людьми наших продуктов, услуг и приложений, исследования просто необходимы. Мы задаем вопросы. Мы делаем пометки. Мы стараемся узнать все, что возможно,

25 советов как улучшить юзабилити (usability) вашего сайта. | Блог об интернет деятельности и трудовых буднях Максима Вячеславовича
Доброго времени суток, дорогие друзья! Сегодня мы поговорим с вами о такой важной вещи как U sability (юзабилити) сайта , о том, как улучшить данный фактор, зная его основные принципы и правила.

Что такое юзабилити и зачем оно нужно
Юзабилити включает простоту, удобство в пользовании, тестирование, проведение аудита проекта. Юзабилити сайтов, интернет-магазинов — это неотъемлимая часть выгодного ведения бизнеса. Задача юзабилити

Юзабилити тестирование сайта турагентства
«Когда информации много и она дешева, дорогим становится внимание». James Gleick Представим сайт, владелец которого считает его достаточно хорошим, удобным и привлекательным. Он размещает рекламные объявления

Юзабилити
Юзабилити (от англ. слова «usability» – практичность, простота использования) – это весьма распространенное ныне понятие объединяет максимальное удобство использования сайта и полезность информации, на

5 шагов для успешного юзабилити-тестирования приложения
Представьте: вы придумали и разработали мобильное приложение с приятным, на ваш взгляд, дизайном, удобным функционалом, полезными опциями, выпустили релиз продукта, но… Несмотря на мощную маркетинговую

Карта