Викия

ru-Викия

коммент.8

InfoboxBuilder - строим шаблоны просто!

Более месяца назад я писал о расширении Scribunto, которое позволит писать более быстрые и мощные шаблоны на языке Lua. И теперь, день, когда Lua появится на Викия в свободном доступе, настал! Уже сейчас его можно подключить на вашу вики. Потому мы продолжаем наше знакомство с Lua, и сегодня я хочу рассказать русскоязычному сообществу о модуле, разработанном сотрудниками Викия, назначение которого - сделать разработку сложных инфобокосов более простой. Данный модуль имеет название InfoboxBuilder.

Идея создания InfoboxBuilder пришла к инженерам после наблюдения за тем, как участники крупных вики создают инфобоксы для своих проектов. Цель InfoboxBuilder - не просто ускорить загрузку страниц, на которых используются сложные шаблоны, но также облегчить их создание и обслуживание. Более того, с Lua и новым модулем участники могут быстро создавать шаблоны, которые не всегда можно создать с помощью обычного викитекста и функций парсера (в лучшем случае - это выльется в уйму потраченного времени и сломанную психику кучу малопонятного кода).

С чего начать?

Для того, чтобы использовать InfoboxBuilder на своей вики, вам нужно запросить на ней поддержку Lua. После подключения Lua вы сможете скопировать необходимые модули с Dev Wikia. Подробная документация по InfoboxBuilder.

Как работает InfoboxBuilder?

Главный плюс использования InfoboxBuilder - вам не нужно будет менять синтаксис вызова шаблонов в статьях (если вы не планируете этого).

Старые шаблоны.png

Принцип добавления старых шаблонов на страницу (нажмите на изображение, чтобы увеличить)

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

InfoboxBuilder.png

Принцип обработки шаблонов с использованием Lua и InfoboxBuilder

Новая система обработки шаблонов решает эту проблему. Синтаксис новых шаблонов более прост и удобен (вам не придётся пробираться через лес фигурных скобок, чтобы понять, где применяется переменная в шаблоне), также наш модуль предоставляет целый ряд уже готовых "кирпичиков" для построения инфобокса, таких как заголовки, разделительные линии, элементы для отображения изображений. Мы уже написали HTML-код для них, вам остаётся лишь написать стили для этих элементов и добавить их в Common.css.

Почему стоит использовать InfoboxBuilder?

Новый модуль имеет целый ряд преимуществ:

  • Скорость разработки шаблонов и загрузки страниц (в среднем страницы с новыми шаблонами загружаются на 20% быстрее)
  • Простота - шаблоны на Lua просто создавать и редактировать, ввиду простого и понятного синтаксиса
  • Производительность - так как Lua является полноценным языком программирования, он предоставляет гораздо больше средств для управления данными и контентом внутри шаблона, чем обычный викитекст.

Код модуля можно просмотреть здесь. Если у вас есть какие-либо советы, комментарии или замечания или вопросы по поводу InfoboxBuilder и Lua в целом - оставляйте их ниже.

Викия-сеть

Случайная вики