Как сделать шаблон в википедии
> > This page is based on a Wikipedia article written by contributors (read/edit).
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.
Tell your friends about Wikiwand!
Suggest as cover photo
Would you like to suggest this photo as the cover photo for this article?
Thank you for helping!
Your input will affect cover photo selection, along with input from other users.
Mediawiki — идеальное решение для создания собственной интернет энциклопедии, интернет-журнала или блога. Данное программное обеспечение устанавливается быстро, легко и распространяется совершенно бесплатно.
Mediawiki довольно популярная и лёгкая в использовании платформа для создания статейных, информационных сайтов, так как для неё разработано много специальных расширений, обеспечивающих удобную работу и систематизацию информации. Осуществлён перевод платформы на многочисленные языки, поэтому сегодня в разных странах есть множество интернет сайтов, сделанных на Mediawiki.
Содержание
Коротко о MediaWiki
Данный движок очень удобен для написания различного рода статей. Единственной трудностью на сегодня является то, что необходимо знать, так называемую "вики разметку", чтобы полноценно контролировать редактирование и создание статей, но уже разработан редактор "Visual Editor", который упрощает процесс написания статей и не требует знания какой-либо разметки. Установка этого редактора осуществляется отдельно и сопряжена с некоторыми техническими трудностями и требует более глубокого знания программного обеспечения MediaWiki.
Установка MediaWiki
И так, чтобы сайт начал работать на данном движке необходимо:
-
на официальном сайте. Следует скачать ту версию, которая помечена словом "stable" - означает стабильная версия или "LTS" - с англ. яз. Long Term Support - имеет долгосрочную поддержку. на сервер своего хостинга.
- Пройти процесс установки движка в онлайн режиме. Об этом читайте ниже:
Установка платформы MediaWiki
Проверка на совместимость
Подключение к базе данных
Настройка базы данных
Настройка сайта и данных админа
MediaWiki успешно установлена!
Стоит отметить, что более новые версии платформы MediaWiki устанавливаются подобным же образом, но имеет некоторые дополнительные опции при установке.
Как создавать новые страницы
В поле поиска можете ввести название страницы, если страницы с таким названием у в базе данных не существует, то система предложит создать новую страницу с таким названием. Перейдя на страницу создания новой страницы в редакторе можно вводить текст, оформляя его вики-разметкой. Либо можно установить специальное расширение InputBox, которое вставляет стандартную форму для начала процесса создания статей.
При создании страниц встроен специальный редактор, который помогает редактировать страницу в том виде, который желает пользователь. Стоит также отметить, что очень удобно создавать внутренние ссылки по ключевым словам или фразам внутри сайта на wiki движке. Для этого необходимо слово или фразу обрамить квадратными скобками - [[]]. После создания страницы обрамлённые слова такими скобками будут иметь ссылку. Если страницы по ключевому слову или фразе нет на сайте, то ссылка будет окрашена в красный цвет, перейдя по ней можно по данной фразе или слову создать новую страницу. Если же страница по такой фразе или слову уже есть, то ссылка будет синим цветом, и перейдя по ней, открывается статья.
Для того, чтобы подключить WikiEditor, не забываем прописать в Localsettings.php следующие базовые настройки редактора:
При использовании Mediawiki версии 1.25 и ниже, чтобы подключить расширение необходимо в LocalSettings.php внести следующий код:
Начиная с версии 1.35 в движок встроен визуальный редактор VisualEditor, который упрощает процесс создания страниц при этом возможность редактирования wiki-кода осталась - можно переключать редакторы между собой.
Следует отметить, что разработчиками создан специальный плагин Extension:InputBox для вставки поля на любой странице сайта, через которую можно задать название статьи и далее система переведёт автоматический на страницу создания. Более того, система предоставляет возможность создавать шаблоны под определённые темы, что также облегчает процесс создания статей на MediaWiki.
Использование шаблонов в статьях
Шаблон — это специально заготовленный информационный, тематический блок, который можно использовать в разных статьях по одной, конкретной тематике. Удобство шаблонов заключается в том, что их можно вставлять во множество страниц, заполняя необходимые данные, которые в последствии отображаются на странице.
Создаётся каждый шаблон, как отдельная статья с названием, например Шаблон:Игра - соответственно данный шаблон используется в статьях про игры, можно перейти по ссылке посмотреть, как составлен этот шаблон. Разберём создание очень простого шаблона. Создав страницу шаблона с его названием (Шаблон:Тест), затем нужно вписать, какие данные будут отображаться в самом этом шаблоне, например заголовок шаблона, делается это в тройных фигурных скобках так:
После этого, такой шаблон можно вставлять в статьи таким образом:
После знака равно можно вписывать любое значение, которое будет отображаться в самой статье. Значений в шаблон можно вставлять столько, сколько необходимо, в зависимости от потребности информативного блока. Таким образом можно создавать более сложные шаблоны, динамические шаблоны, менять их внешний вид, заключая шаблоны в таблицы и настраивая их через CSS, общие настройки CSS Вики-сайта настраиваются на отдельной странице - Mediawiki:Common.css. В качестве примера можно просмотреть список используемых шаблонов на нашем сайте, посмотреть их структуру и создать на подобии свой необходимый шаблон.
Официальную документацию по использованию шаблонов можно найти на официальном сайте.
Как создавать категории в вики-сайте
Также очень удобно то, что каждую страницу можно отнести к определённой категории, создавая тем самым каталог по категориям, что очень удобно для навигации, как в определённых разделах, так и по всему сайту. Для этого необходимо указать раздел - [[Категория:]]. Одну и ту же страницу можно присваивать к нескольким категориям (разделам). После этого внизу каждой стати будут ссылки на указанные категории, если страница с данной категорией не создана, то ссылка будет отображаться красным цветом, перейдя по ней можно, как и любую другую страницу в mediawiki, создать, таким образом создаются категории.
Как установить другие темы оформления в MediaWiki
Mediawiki разработала ряд стандартных тем оформления для движка:
- Vector - стандартная тема оформления, он же сейчас установлен на Викижурнале
- MonoBook - раньше это была стандартная тема оформления для движка Mediawiki
- Modern
- Cologne Blue
Также есть и другие темы оформления, разработанные энтузиастами. Просмотреть и скачать их можно на официальном сайте MediaWiki, затем загрузить сохранённую тему в каталог "skins". На странице самой темы оформления прописано более подробно, как корректно установить ту или иную тему оформления.
Чтобы отображалась одна из стандартных тем оформления, нужно прописать это в самом низу корневого файла LocalSettings.php. Тема оформления Vector - указан по умолчанию таким образом:
Имейте в виду, что после версии Mediawiki 1.22. тема оформления "Vector" встроена в систему по умолчанию и указывать её отдельно в LocalSettings.php не нужно. Если хотите заменить тему оформления "Vector" на "MonoBook", "Modern" или "Cologne Blue", то нужно заменить эту строку соответственно названию темы оформления на:
Перезаписав файл LocalSettings.php на сервере, общий вид сайта сразу же измениться.
Настройка MediaWiki
Установка дополнительных расширений
Разработчики MediaWiki и другие программисты разрабатывают дополнительные модули или расширения, которые добавляют различные функции и опции в работу движка. Подобных расширений очень много, все расширения можно посмотреть также на официальном сайте.
Для того, чтобы расширение работало в вики-сайте его необходимо сначала скачать, а затем загрузить в папку "extensions". После чего ввести специальную ссылку на расширение в файл LocalSettings.php. На странице каждого расширения можно найти руководство по их установке. Также следует знать, что некоторые расширения требуют обновления базы данных, а это можно сделать по так называемому SSH доступу к серверу.
Обновление MediaWiki
Программное обеспечение Mediawiki время от времени обновляется, дорабатываются различные компоненты и устраняются те или иные ошибки и недочёты. Поэтому нужно осуществлять обновление "движка", хотя и не всегда это необходимо. Существует несколько способов сделать обновление, но тут опишем самый простой - обновление непосредственно через браузер и FTP клиент. И так вот что необходимо сделать:
Не смотря на то, что система обновления "движка" отлажена наилучшим образом самими разработчиками, в процессе обновления, или после него могут всё же появляться те или иные ошибки. Или работоспособность сайта может быть некорректной. Поэтому обновление Mediawiki идёт на свой страх и риск. Однако на официальном сайте в разделе поддержки можно обратиться с теми или иными трудностями, которые возникли после обновления. Другие способы обновления и полную документацию к обновлении Mediawiki можно прочитать на официальной странице обновления.
Следует иметь в виду, что после обновления необходимо также обновлять расширения, которые подключены к MediaWiki, так как они могут считаться устаревшими, некорректно или совсем не работать. Следует знать, что есть также более профессиональный способ обновления MediaWiki, если есть прямой доступ к серверу по SSH - он надёжней, быстрей и в принципе удобней, однако нужно иметь средние знания по взаимодействию с сервером.
Примечание
MediaWiki одна из самых удобных платформ для создания сайта той или иной направленности. Программное обеспечение быстро устанавливается и не требует глубоких знаний в программировании для поддержания сайта в рабочем состоянии. Если возникли трудности с установкой, обновлением или непосредственно с использованием движка MediaWiki или есть другие вопросы, то их можно задать в теме обсуждения нашего форума.
В прошлый раз я описал функционал плагина Semantic MediaWiki, позволяющего управлять структурированными данными в вашей системе и создавать на их основе различные представления. Ложкой дёгтя здесь является то, что пользователям приходится учить дополнительные элементы разметки.
Сегодня мы поговорим про расширение Semantic Forms, позволяющее сделать вики совсем не похожей на вики и привлечь к работе более широкий круг пользователей.
Напомню, что сердцем Semantic MediaWiki является механизм семантических свойств. Назначение семантического свойства странице хоть и похоже на простое создание вики-ссылки [[имя свойства::значение свойства | что выводить на экран]] , но, всё-таки, это новый синтаксис. Вдобавок даже если наши пользователи будут настолько дисциплинированы, что прочитают и вникнут в руководство по созданию свойств, они вряд ли будут называть все термины единообразно.
На моей вики, посвященной историческим личностям половина людей будет описана свойством время рождения , другие участники опишут людей свойством год рождения , а третьи дата рождения . Теперь для того, чтобы получить список исторических личностей и вывести их даты рождения, мне нужно написать три запроса вместо одного:
Для решения этих проблем применяют шаблоны и формы.
Шаблоны
Шаблоны очень часто применяются для того, чтобы использовать в вики-статьях сложную разметку, скрывая при этом детали реализации. Хорошим примером шаблонов являются инфобоксы в Википедии. Опытные редакторы создают шаблоны, используя html, для того, чтобы все цвета и отступы в инфобоксе радовали глаз, в то время как рядовые авторы статей используют следующий простой синтаксис, чтобы вставлять инфобоксы в вики-странички:
Реализация шаблона хранится в пространстве имен Template . Именованные параметры шаблона заключаются в тройные фигурные скобки, а в момент вызова значения параметров подставляются в нужные места. С помощью шаблона можно единообразно оформлять не только инфобоксы. Вот небольшой пример, в котором я использую шаблон для того, чтобы оформить данные по дате и месту рождения в виде фразы, обёрнутой в div-элемент с некоторым оформлением.
Код шаблона | Результат |
---|
Семантические шаблоны
Для нас интерес представляет следующее: если в текст шаблона поместить семантическое свойство, то этим свойством будут обладать все страницы, использующие шаблон. Попробуем применить этот подход к нашему примеру с Историческими личностями: сделаем одноименный шаблон с параметром Дата рождения .
Код шаблона | Результат |
---|
- теперь вики-авторам не нужно знать ничего о семантических свойствах. Они просто используют шаблоны.
- если шаблон Историческая личность уже существовал до того, как вы поставили SMW , вы можете просто добавить в него семантические свойства и пользоваться преимуществами организации структурированных данных так, что пользователи ничего и не заметят. Это отличный способ безболезненной семантификации.
Семантические формы
Тут-то и приходят на выручку семантические формы. Мощный и огромный плагин Semantic Forms предоставляет вики-авторам разнообразные элементы ввода, для того сообщество не тратило время на ручную унификацию данных. Синтаксис Semantic Forms так же ужасен, как и весь синтаксис MediaWiki, однако у нас есть много способов избежать создания форм вручную. Рассмотрим для начала самые общие моменты.
Форма описывается на вики-странице, находящейся в пространстве имен Form , с помощью html, вики-разметки и специальных тэгов. Её можно редактировать так же как и любую другую вики-страницу. Форма — это средство заполнения шаблонов, при её создании думайте в первую очередь о параметрах шаблонов!
Обычно текст формы имеет следующую структуру (я постарался отформатировать код для наглядности, но помните, что это в MediaWiki не позволяется):
Самый главный тэг в Semantic Forms — это конечно field . Он формирует элемент ввода: текстовое поле, выпадающий список, календарик для ввода даты и пр. Имя элемента ввода должно совпадать с именем параметра шаблона, например календарик >> будет заполнять параметр >> шаблона Историческая личность . У этого тэга есть огромное множество параметров, которые позволяют предзагрузить в инпут некоторый текст по умолчанию, сделать его обязательным к заполнению, установить список допустимых значений и многое другое. Полная документация находится на странице справки
Для Semantic Forms написано великое множество различных видов инпутов. Часть из них находится непосредственно в Semantic Forms, часть вынесена в отдельное расширение Semantic Forms Inputs. Кроме стандартных галочек, радиокнопок, полей ввода и списков, у нас в распоряжении есть и более интересные инпуты (а если вы хотите написать свой, добро пожаловать в руководство).
Название инпута | Описание | Для каких типов | Картинка |
---|---|---|---|
datepicker | Календарик выбора даты | Date | |
timepicker | Инструмент (лучше не назовешь) для выбора времени | Date | |
two listboxes | Значения из левого списка перебрасываются в правый при нажатии на них | любой тип. Возможные значения должны быть предзагружены с помощью опции values | |
menuselect | Выбор значения из древовидного меню | любой тип. Возможные значения предзагружаются в параметр structure |
Особняком стоит инпут для ввода географических координат. Он позволяет указать координаты, тыкая в конкретное место карты:
Обычно форму верстают в виде таблички. Подписи к элементам ввода делаются обычной вики-разметкой или с помощью html. Вот реальный пример кода формы, в которой используется табличный синтаксис MediaWiki:
Итак, мы написали небольшую формочку, теперь нужно её как-то запустить.
Запуск форм
Генерация форм
Писать семантические формы с нуля — дело неблагодарное и неприятное. В отсутствие нормального редактора вики-разметки (желающие могут попробовать WikEd, это лучшее, что у нас есть) вероятность ошибки очень высока. Поэтому формы (да и шаблоны) предпочитают генерировать, и для у нас в распоряжении есть несколько инструментов.
Во-первых, Semantic Forms предоставляет несколько служебных страниц, предназначенных для того, чтобы генерировать шаблоны, описания семантических свойств и формы. Эти страницы называются Special:CreateProperty , Special:CreateTemplate и Special:CreateForm . Они здорово упростят вам жизнь. Спецстраница Special:CreateClass позволяет одним махом описать класс объектов: она создаёт все необходимые свойства, шаблоны и форму.
Проблема всех этих спецстраниц в том, что они не позволяют редактировать существующие шаблоны и формы: мы можете облегчить себе первые шаги в создании формового интерфейса, но тонкой настройкой придется заниматься вручную, поминая недобрым словом тех, кто придумал синтаксис таблиц MediaWiki. Добавление новых параметров шаблона и элементов ввода требует от вас перепрыгивать между несколькими страницами. Так же обстоят дела и с удалением.
Схемы: расширение Page Schemas
Более прогрессивный подход требует установить плагин Page Schemas. Схемами называются XML-описания, привязанные к категории, содержащие инструкции по тому, какими свойствами будут обладать относящиеся к ней объекты, какие шаблоны будут использоваться для их описания и какие формы будут заполнять эти шаблоны.
С Page Schemas жизнь обретает новые краски. Я просто захожу на страницу Категория:Историческая личность и нажимаю на кнопку Create Schema . К моим услугам визуальный редактор схем, в котором я говорю, что мне необходимо создать форму Историческая личность , которая будет заполнять одноименный шаблон. Я тут же создаю свои четыре поля ( Полное имя , Дата рождения , Дата смерти , Достижения ), описываю, какие семантические свойства нужно создать, какие элементы ввода должны использоваться и какие дополнительные параметры я хочу для них указать.
Редактор занимает много места на экране, поэтому покажу только редактирование одного поля — Дата рождения .
Для описания визуальных интерфейсов скринкасты подходят куда лучше простыней текста, поэтому я записал в своё время небольшое видео. С момента его записи мы успели добавить много новых возможностей в Page Schemas и собираемся добавить еще очень много:
Примеры использования
А вот несколько форм, реально использующихся в различных вики. Сложная форма для описания растения с вики Gardenology
А вот такую форму создали уже мы для работы с технологическими форсайтами:
Заключение
Я многого не рассказал. Например того, что формы могут использоваться не только как средство создания страниц, но и как формы для семантических запросов. Про то, как можно повторно использовать формы, про то как формы могут перестраиваться в процессе редактирования, про то как на их основе можно построить простейшую голосовалку. Напишите, что бы вы хотели видеть в будущих статьях
Не забывайте, что уже есть шаблоны > , > , > , > , > , > и подобные, на основе которых вы можете быстро и просто создавать свои. Подобная практика: 1) помогает внедрению новых технологий в существующую систему шаблонов, 2) позволяет легко менять стили отображения (как глобальные, так и просто конкретным участникам).
Не надо включать в теги шаблона параметр id, если он вами не используется для каких-либо целей. В том числе не стоит его включать для того, чтобы задать элементу оформление, — практически каждый стандартный идентификатор дублируется классом. К тому же стоит подумать, не может ли шаблон быть включён в статью дважды: два одинаковых id в документе не соответствуют спецификации (X)HTML.
Никогда не забывайте добавлять документацию в шаблон, даже если вы считаете, что он простой. Всегда проще скопировать заготовку, чем копаться в коде шаблона. Если же он сложный, задача разобраться в работе шаблона может занять на порядок больше времени. Также желательно указывать как шаблон работает с категориями и что происходит при неправильном заполнении параметров. Вставлять документацию предпочтительно при помощи шаблона > .
Всегда старайтесь добиваться унификации шаблонов. И обязательно проверяйте, существует ли уже шаблон для вашей задачи. Возможно, имеет смысл доработать текущий вместо того, чтобы создавать новый. Если пять шаблонов отличаются одним полем, то проще и удобнее задать это поле параметром. При этом 1) придётся поддерживать и развивать только один шаблон, 2) редакторам не придётся путаться с тем, что похожие шаблоны имеют разное устройство (а при долговременном параллельном развитии в каждый из них будут добавляться параметры, которые не будут перенесены в другие шаблоны. Часто случается, что в итоге одинаковые по смыслу параметры в разных шаблонах имеют разные имена). Если объединить шаблоны сложно, стоит подумать о собственном мета-шаблоне.
Так как шаблоны создаются для многократного использования, следует стараться выбирать одновременно осмысленные, правильные и удобные названия, чтобы их применение для большинства редакторов было максимально незатруднительным.
При том, что написание согласно нормам естественных языков является наиболее интуитивно понятным, многим редакторам неудобно использовать в названии шаблонов символы, которых нет на клавиатуре, восприятие названия шаблона как команды вызова зачастую приводит к неиспользованию в нём заглавных букв, пробелов и вообще к максимальному сокращению его размера. Для удобства всех редакторов следует использовать механизм перенаправлений.
Пока сообщество не выработало однозначного консенсуса [1] по поводу того, какое название шаблона должно быть основным, не рекомендуется их переименование, за исключением очевидных случаев. Также крайне негативная реакция возможна в ответ на правки статей, изменяющие только названия шаблонов - подобная операция должна предварительно обсуждаться.
Бывает, что создаются и даже массово используются шаблоны, название которых лишь чуть короче их кода, а иногда и длиннее. Такая практика обычно является неудачной. Например, данные два кода выполняют одну и ту же функцию:
Но могут быть и исключения:
- Если планируется часто менять небольшую часть шаблона, то это позволит не засорять его историю правок;
- Если такое использование позволяет унифицировать оформление.
- Какой-либо элемент оформления технически затруднительно или невозможно использовать в шаблонах.
Нежелательно также создавать шаблон, предполагающий только одно включение только в одной статье [2] . В особенности, если таким образом выносится в пространство шаблонов часть текста статьи, таблицы и галереи изображений — такая практика обычно ничем не оправдана, к тому же для неопытных пользователей становится неочевидной возможность исправления данных, представленных в таком виде.
Прежде чем включать в код шаблона категоризацию подумайте, для каких именно страниц предназначен ваш шаблон. Всегда проверяйте пространство имён страницы с помощью магического слова >. Это позволит исключить неправильную категоризацию. Частая ошибка — непреднамеренное включение (через шаблон) личной страницы в категорию для статей.
Не забывайте категоризировать и сами шаблоны, включая категории в теги [[Категория:Название категории для шаблонов]] . Желательно делать это на странице документации.
Никогда не делайте пустым описание изображений в шаблоне:
Если вы совсем не представляете, каким можно сделать описание, просто не задавайте его, тогда его текст будет соответствовать названию изображения. В некоторых (например, мобильных) браузерах при отключении отображения изображений, картинки без текста описания могут иметь нулевой размер или не иметь ссылки на страницу описания изображения.
Читайте также: