Викия

ru-Викия

коммент.8

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

Обнаружено использование расширения AdBlock.


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

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

Более месяца назад я писал о расширении 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 в целом - оставляйте их ниже.

Викия-сеть

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