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

Плагины на GitHub

GitHub Pages работают на Jekyll. Но так как по причинам безопасности все сайты на GitHub собираются с опцией --safe, а значит все кастомные плагины не будут работать

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

На данный момент GitHub Pages работает со следующими плагинами:

  • Jemoji — поддержка emoji в постах и страницах Jekyll.
  • Jekyll-mentions — дает поддержку @mentions в постах и страницах Jekyll.
  • Jekyll-redirect-from — добавляет возможность редиректов при смене URL поста или страницы.
  • Jekyll-sitemap — автоматически добавляет на сайт валидный файл sitemap.xml. Плагин необходим для нормальной работы поисковых систем.
  • Jekyll-feed — автоматически генерирует трансляцию в формате atom для вашего блога.
  • Jekyll-seo-tag — упрощает вывод метаданных для SEO и добавляет структурированные данные на сайт (Open graph, Twitter summary card, JSON-LD метаданные).
  • Jekyll-github-metadata — метаданные репозитория на GitHub.
  • Jekyll-paginate — стандартный плагин для разбивки на страницы.

Установка плагина

Существует 3 способа установки плагинов в Jekyll:

  1. Создайте в корневом каталоге папку _plugins и поместите в нее плагины. Любой файл с расширением *.rb из этого каталога будет загружен до генерации сайта.
  2. В файле _config.yml создайте новый массив с ключом gems и названиями gem устанавливаемых плагинов, например: gems: [jekyll-test-plugin, jekyll-jsonify, jekyll-assets] # This will require each of these gems automatically.
  3. Добавьте нужные плагины в группу Bundler в Gemfile:
 group :jekyll_plugins do
   gem "my-jekyll-plugin"
 end
Методы _plugins, _config.yml и Gemfile можно использовать одновременно

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

Все плагины для Jekyll можно разделить на 4 основных категории:

  1. Генераторы
  2. Конвертеры
  3. Команды
  4. Теги
  5. Хуки

Генераторы

Для создания дополнительного контента в Jekyll вы можете создать плагин-генератор.

Генератор это подкласс Jekyll::Generator, определяющий метод generate, который получает экземпляр Jekyll::Site. Возвращаемое значение generate игнорируется.

Генераторы запускаются после того, как Jekyll проверит имеющийся контент и перед сборкой сайта. Страницы с вводной YAML сохраняются как экземпляры Jekyll::Page и доступны через site.pages. Статические файлы становятся экземплярами Jekyll::StaticFile и доступны через site.static_files. Подробная информация на страницах документации о переменных и Jekyll::Site.

Например, генератор может вставить значения расчитанные в момент сборки для переменных шаблона. В следующем примере в reading.html есть две переменные, ongoing и done, которые мы заполняем в генераторе:

module Reading
  class Generator < Jekyll::Generator
    def generate(site)
      ongoing, done = Book.all.partition(&:ongoing?)

      reading = site.pages.detect {|page| page.name == 'reading.html'}
      reading.data['ongoing'] = ongoing
      reading.data['done'] = done
    end
  end
end

А вот образец более сложного генератора, создающего новые страницы:

module Jekyll

  class CategoryPage < Page
    def initialize(site, base, dir, category)
      @site = site
      @base = base
      @dir = dir
      @name = 'index.html'

      self.process(@name)
      self.read_yaml(File.join(base, '_layouts'), 'category_index.html')
      self.data['category'] = category

      category_title_prefix = site.config['category_title_prefix'] || 'Category: '
      self.data['title'] = "#{category_title_prefix}#{category}"
    end
  end

  class CategoryPageGenerator < Generator
    safe true

    def generate(site)
      if site.layouts.key? 'category_index'
        dir = site.config['category_dir'] || 'categories'
        site.categories.each_key do |category|
          site.pages << CategoryPage.new(site, site.source, File.join(dir, category), category)
        end
      end
    end
  end

end

В этом примере наш генератор создаст серию файлов в каталоге categories для каждой категории и создаст список постов в каждой категории, используя макет category_index.html.

Для работы генераторов достаточно одного метода:

Метод Описание
generate Генерирует контент

Конвертеры

Если у вас есть новый язык разметки, который вы хотите использовать на сайте, вы можете подключить его, создав свой плагин-конвертер. Markdown и Textile подключены именно таким образом.

Не забывайте о вводной YAML

Jekyll обрабатывает только файлы с вводной, даже при использовании кастомных конвертеров

Вот, например, конвертер, принимающий все посты заканчивающиеся .upcase и обрабатывающий их с помощью UpcaseConverter:

module Jekyll
  class UpcaseConverter < Converter
    safe true
    priority :low

    def matches(ext)
      ext =~ /^\.upcase$/i
    end

    def output_ext(ext)
      ".html"
    end

    def convert(content)
      content.upcase
    end
  end
end

В конвертерах должны быть имплементированы 3 метода:

Метод Описание
matches Проверяет расширение файла на совпадение с принимаемыми конвертером значениями. Принимает один аргумент: расширение файла. Возвращает логическое значение ( true при совпадении, иначе false).
output_ext Определяет расширение итогового файла (с точкой), обычно это “.html”.
convert Метод реализующий саму конверсию. Принимает один аргумент: сырой контент (без вводной YAML). Возвращает строку.

В нашем примере UpcaseConverter#matches ищет файл с расширением .upcase и рендерит его с использованием конвертера, если он существует. Для обработки используется метод UpcaseConverter#convert. В нашем простом конвертере мы просто делаем все символы заглавными и сохраняем файл с расширением .html.

Команды

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

group :jekyll_plugins do
  gem "my_fancy_jekyll_plugin"
end

Каждая команда (Command) это подкласс класса Jekyll::Command, она обязательно реализует метод init_with_program. Образец:

class MyNewCommand < Jekyll::Command
  class << self
    def init_with_program(prog)
      prog.command(:new) do |c|
        c.syntax "new [options]"
        c.description 'Create a new Jekyll site.'

        c.option 'dest', '-d DEST', 'Where the site should go.'

        c.action do |args, options|
          Jekyll::Site.new_site_at(options['dest'])
        end
      end
    end
  end
end

Команды имплементируют единственный метод:

Метод Описание
init_with_program Метод принимает один параметр Mercenary::Program, это сам Jekyll. Все команды в Jekyll добавляются только так, подробная документация на странице репозитория Mercenary на GitHub.com.

Теги

Если вы хотите использовать на своем сайте собственные теги liquid, вы можете сделать это с помощью хуков в системе тегов. Встроенные в Jekyll образцы включают теги highlight и include. Ниже показан пример собственного тега liquid, выводящего время рендеринга страницы:

module Jekyll
  class RenderTimeTag < Liquid::Tag

    def initialize(tag_name, text, tokens)
      super
      @text = text
    end

    def render(context)
      "#{@text} #{Time.now}"
    end
  end
end

Liquid::Template.register_tag('render_time', Jekyll::RenderTimeTag)

Теги должны имплементировать один метод:

Метод Описание
render Выводит контент тега.

Вы также должны зарегистрировать кастомный тег в движке шаблонов Liquid:

Liquid::Template.register_tag('render_time', Jekyll::RenderTimeTag)

В примере выше, мы можем поместить наш тег на любой странице:

<p>{% render_time page rendered at: %}</p>

В результате мы получим следующий вывод:

<p>page rendered at: Tue June 22 23:38:47 –0500 2010</p>

Фильтры Liquid

Вы можете добавлять свои фильтры в систему шаблонов Liquid точно также как и теги. Фильтры это простые модули, экспортирующие свои методы в Liquid. Все методы принимают как минимум один параметр — входные данные для фильтра. Возвращает фильтр обработанные данные.

 module Jekyll
  module AssetFilter
    def asset_url(input)
      "http://www.example.com/#{input}?#{Time.now.to_i}"
    end
  end
end

Liquid::Template.register_filter(Jekyll::AssetFilter)
Совет: доступ к объекту сайта через Liquid

Jekyll дает вам доступ к объекту site через объект Liquid context.registerscontext.registers[:site]. Например, вы можете получить доступ к конфигурации _config.yml через context.registers[:site].config

Флаги

При написании плагинов надо учитывать два флага:

Флаг Описание
safe Логический флаг, сообщающий Jekyll, может ли этот плагин безопасно запускаться в среде, где запрещено выполнение произвольного кода. Это используется на GitHub Pages для определения, какие базовые плагины будут использоваться, а какие запускать небезопасно . Если ваш плагин не допускает исполнение произвольного кода, задайте этот флаг как true. GitHub Pages по прежнему не будут загружать ваш плагин, но если вы захотите, чтобы этот плагин был включен в ядро, это поле должно быть заполнено правильно!
priority Флаг определяет порядок загрузки плагина. Валидные значения: :lowest, :low, :normal, :high и:highest. Сначала загружаются плагины с высшим приоритетом, в конце — с низшим.

Чтобы проиллюстрировать работу флагов, мы подготовили пример их использования:

module Jekyll
  class UpcaseConverter < Converter
    safe true
    priority :low
    ...
  end
end

Хуки

Используя хуки, ваш плагин получает точный контроль над различными аспектами процесса сборки. Если в вашем плагине заданы хуки, Jekyll будет вызывать их в заданные моменты.

Хуки регистрируются с указанием контейнера и названия события. Для регистрации надо вызвать Jekyll::Hooks.register и передать контейнер, название событие и исполняемый код при запуске хука. Например, если вы хотите добавит какой-либо функционал при каждом рендеринге поста, вам нужно зарегистрировать хук типа этого:

Jekyll::Hooks.register :posts, :post_render do |post|
  # code to call after Jekyll renders a post
end

В Jekyll есть хуки для :site, :pages, :posts и :documents. Во всех случаях Jekyll вызывает ваши хуки с объектом контейнера в качестве первого параметра обратного вызова. Но в случае с :pre_render ваш хук будет принимать хэш с полезной нагрузкой в качестве второго параметра, что дает полный контроль над переменными, доступными при рендеринге.

Вот полный список доступных хуков:

Контейнер Событие Момент вызова
:site :after_init Сразу после инициализации сайта, но перед настройкой и рендерингом. Подходит для модификации конфигурации сайта.
:site :after_reset После сброса сайта.
:site :post_read После чтения данных сайта с диска.
:site :pre_render Прямо перед рендерингом всего сайта.
:site :post_render После рендеринга сайта, но до записи каких-либо файлов.
:site :post_write После записи всего сайта на диск.
:pages :post_init При инициализации страницы.
:pages :pre_render Прямо перед рендерингом страницы.
:pages :post_render После рендеринга страницы, но до записи на диск.
:pages :post_write После записи страницы на диск.
:posts :post_init При инициализации поста.
:posts :pre_render Прямо перед рендерингом поста.
:posts :post_render После рендеринга поста, но до записи на диск.
:posts :post_write После записи поста на диск.
:documents :post_init При инициализации документа.
:documents :pre_render Прямо перед рендерингом документа.
:documents :post_render После рендеринга документа, но до записи на диск
:documents :post_write После записи документа на диск.

Доступные плагины

Вот некоторые из доступных плагинов:

Генераторы

Конвертеры

Фильтры

  • Truncate HTML от Matt Hall: Фильтр Jekyll, обрезающий HTML сохраняя структуру разметки.
  • Domain Name Filter от Lawrence Woodman: Фильтрует URL, оставляя доменное имя.
  • Summarize Filter от Mathieu Arnold: Удаляет разметку после тега <div id="extended"> .
  • i18n_filter: Фильтр Liquid для использования локализации I18n.
  • Smilify от SaswatPadhi: Заменяет текстовые смайлики в вашем контенте картинками.
  • Read in X Minutes от zachleat: Выводит ожидаемое время чтения (для содержимого поста).
  • Jekyll-timeago: Конвертирует время из цифр в текст.
  • pluralize: Совмещает числа и слова с учетом множественного или единственного числа, например, “1 minute” или “2 minutes”.
  • reading_time: Подсчитывает слова и ожидаемое время чтения, игнорируя HTML-элементы не содержащие текст.
  • Table of Content Generator: Генерирует HTML-код, содержащий оглавление, кастомизируется — можно указать страницы-исключения.
  • jekyll-humanize: Это портированное приложение Django humanize, с разнообразными методами для изменения вида дат и цифровых данных в “человекопонятном виде”. Каждый метод это фильтр, который можно использовать в шаблонах Jekyll. Некоторые оригинальные методы не портированы (например, naturaltime).
  • Jekyll-Ordinal: Jekyll фильтр для конвертации количественных числительных в порядковые — “st”, “nd”, “rd”, or “th”.
  • Deprecated articles keeper от Kazuya Kobayashi: Простой фильтр Jekyll для определения “старых статей”.
  • Jekyll-jalali от Mehdi Sadeghi: Простой конвертер из грегорианского в иранский календарь.
  • Jekyll Thumbnail Filter: Фильтр для миниатюр связанных постов.
  • Jekyll-Smartify: Фильтр SmartyPants. Делает кавычки фигурными.
  • liquid-md5: Возвращает хэш MD5. Полезен для генерации граватаров в шаблонах.
  • jekyll-roman: Фильтр liquid для Jekyll, конвертирующий цифры в Римские.
  • jekyll-typogrify: Плагин Jekyll с функционалом typogruby.
  • Jekyll Email Protect: Фильтр liquid для защиты адресов электронной почты от спама.

Теги

  • Asset Path Tag от Sam Rayner: Позволяет размещать подгружаемые файлы в подкаталогах, выводя путь к ним относительно текущего поста или страницы.
  • Delicious Plugin от Christian Hellsten: Обрабатывает и рендерит закладки из delicious.com.
  • Ultraviolet Plugin от Steve Alex: Тег Jekyll для подсветки кода Ultraviolet.
  • Tag Cloud Plugin от Ilkka Laukkanen: Генерирует облако тегов со ссылками на страницы тегов.
  • GIT Tag от Alexandre Girard: Добавляет список с данными активности Git.
  • MathJax Liquid Tags от Jessy Cowan-Sharp: Простые liquid теги для Jekyll, конвертирующие строки и блоки уравнений в соответствующие скрипт-теги MathJax.
  • Non-JS Gist Tag от Brandon Tilley Тег Liquid, подключающий гисты и показывающий код для браузеров и читалок с отключенным JavaScript.
  • Render Time Tag от Blake Smith: Показывает время генерации страницы Jekyll.
  • Status.net/OStatus Tag от phaer: Показывает уведомления в переданном фиде status.net/ostatus.
  • Embed.ly client от Robert Böhnke: Автоматически подключает мультимедийный контент из URL, используя oEmbed.
  • Logarithmic Tag Cloud: Гибкое облако тегов, с логарифмическим представлением и документацией.
  • oEmbed Tag от Tammo van Lessen: Обеспечивает легкое подключение мультимедиа (например, с YouTube, Flickr, Slideshare) через oEmbed.
  • FlickrSetTag от Thomas Mango: Генерирует галереи изображений из наборов Flickr.
  • Tweet Tag от Scott W. Bradley: Тег Liquid для подключения твитов, используя Twitter’s shortcodes.
  • Jekyll Twitter Plugin: Тег Liquid, рендерящий твиты с Twitter API. Поддерживает oEmbed API.
  • Jekyll-contentblocks: Позволяет использовать в ваших шаблонах теги для контента в стиле Rails, пропуская контент из постов в макеты.
  • Generate YouTube Embed от joelverhagen: Плагин Jekyll позволяющий вставлять сидео с YouTube на вашу страницу указывая YouTube ID. Опционально указываются размеры видео, плагин похож на “oEmbed Tag” , но работет только с YouTube.
  • Jekyll-beastiepress: FreeBSD утилиты для сайтов на Jekyll.
  • Jsonball: Читает файлы json и создает карты для использования в файлах Jekyll.
  • Bibjekyll: Рендерит формат BibTeX с библиографиями/цитатниками, подключая их в посты и страницы, используя bibtex2html.
  • Jekyll-citation:Рендерит формат BibTeX с библиографиями/цитатниками, подключая их в посты и страницы, на чистом Ruby.
  • Jekyll Dribbble Set Tag: Строит галереи изображений любого пользователя Dribbble.
  • Debbugs: Позволяет постить ссылки на Debian BTS.
  • Jekyll-devonly_tag: Тег для подключения разметки, необходимой только на период разработки.
  • JekyllGalleryTag от redwallhp: Генерирует миниатюры из каталога изображений и отображает их сеткой.
  • Youku and Tudou Embed: Плагин Liquid для подключения видео с Youku и Tudou.
  • Jekyll-swfobject: Плагин Liquid для подключения файлов Adobe Flash (.swf) с помощью SWFObject.
  • Jekyll Picture Tag: Отзывчивые изображения для Jekyll. Основан на элементе <picture> element, использует полифилл Scott Jehl.
  • Jekyll Image Tag: Улучшение изображений для Jekyll. Сохраняет настройки изображений, изменяет размер, добавляет классы, описание и прочие атрибуты.
  • Jekyll Responsive Image: Отзывчивые изображения для Jekyll. Автоматическое изменение размеров изображений,поддержка всех методов внедрения отзывчивости (, srcset, Imager.js, etc) и гибкая настройка.
  • Ditaa Tag от matze: Рендерит ASCII-арт в изображения PNG и вставляет тег figure.
  • Jekyll Suggested Tweet от David Ensinger: Тег Liquid для Jekyll, позволяющий вставлять твиты с помощью Intents API.
  • Jekyll Date Chart от GSI: Блок, рендерящий график с данными на основе таблиц в формате textile.
  • Jekyll Image Encode от GSI: Тег, извлекающий изображение из интернета и кодирующий его в base64.
  • Jekyll Quick Man от GSI: Тег, упрощающий генерацию ссылок на страницы документации.
  • jekyll-font-awesome: Быстро и легко добавляет иконки Font Awesome в ваши посты.
  • Lychee Gallery Tag от tobru: Подключает в пост альбомы Lychee. Для введения в вопрос — статья Jekyll meets Lychee — A Liquid Tag plugin.
  • Image Set/Gallery Tag от callmeed: Рендерит HTML для галереи изображений из каталога вашего сайта Jekyll. Просто передайте имя каталога и опции классов-тегов.
  • jekyll_figure: Генерирует теги figure и заголовки к ним со ссылкой на фигуру в различных форматах.
  • Jekyll Github Sample Tag: Тег liquid для подключения образца репозитория github на ваш сайт Jekyll.
  • Jekyll Project Version Tag: Плагин Liquid рендерящий идентификатор версии вашего сайта Jekyll на основе кода из вашего репозитория git.
  • Piwigo Gallery от Alessandro Lorenzi: Плагин Jekyll для генерации миниатюр галереи Piwigo и отображения их тегом Liquid tag
  • mathml.rb от Tom Thorogood: Плагин для конвертирования математики TeX в MathML.
  • webmention_io.rb от Aaron Gustafson: Плагин для интеграции упоминаний, использующий Webmention.io. Включает опциональный JavaScript для автоматического обновления между публикациями или в реальном времени через WebSockets.
  • Jekyll 500px Embed от Luke Korth. Тег Liquid для подключения фото с 500px.
  • inline_highlight: Тег для строчной подсветки синтаксиса.
  • jekyll-mermaid: Упрощает создание блок-схем в ваших постах и страницах.
  • twa: Twemoji плагин для Jekyll. Тег Liquid позволяющий использовать twitter emoji на ваших страницах.
  • Fetch remote file content от Dimitri König: Используя тег remote_file_content вы можете извлекать содержимое файла с другого сервера и включать его непосредственно в свой файл markdown. Очень удобно подключать кода из репозиториев github с постоянным выводом актуальной версии из репозитория.
  • jekyll-asciinema: Тег для подключения сессий в терминале, созданных с помощью asciinema .
  • Jekyll-Youtube Тег Liquid, подключающий видео с Youtube с отзывчивой разметкой (при желании вы можете использовать свою разметку, подключив соответствующий фрагмент).
  • Jekyll Flickr Plugin от Lawrence Murray: Подключает альбомы Flickr в виде галереи с иконками и встроенным лайтбоксом для просмотра увеличенного изображения.
  • jekyll-figure: Тег liquid, генерирующий элемент <figure>.
  • Jekyll Video Embed: Плагин предоставляет несколько тегов для подключаения на страницу видео с разных источников (Youtube, Vimeo, UStream и Ted Talks).
  • jekyll-i18n_tags: Тег для переводов.
  • Jekyll Ideal Image Slider: Тег Liquid для создания слайдеров с изображениями на основе Ideal Image Slider.

Коллекции

  • Jekyll Plugins от Recursive Design: Плагины для генерации страниц проекта из файлов readme на GitHub, а также страницы категорий и карты сайта.
  • Company website and blog plugins от Flatterline, a Ruby on Rails development company: Генератор страниц портфолио/проект, страницы команды/автора, тег для биографии автора и несколько небольших плагинов.
  • Jekyll plugins от Aucor: Плагин для обрезки пустых строк/пробелов и сортировки страниц по атрибуту weight .

Остальные

  • ditaa-ditaa от Tom Thorogood: Сильно измененный плагин jekyll-ditaa, рендерящий диаграммы с ASCII-арт в изображения PNG.
  • Pygments Cache Path от Raimonds Simanovskis: Плагин для кэширования кода, подсвечиваемого Pygments.
  • Draft/Publish Plugin от Michael Ivey: Сохранение постов как черновиков.
  • Growl Notification Generator от Tate Johnson: Пересылает уведомления Jekyll в Growl.
  • Growl Notification Hook от Tate Johnson: Улучшенная альтернатива предыдущему плагину, реализующая хуки.
  • Related Posts от Lawrence Woodman: Переписывает site.related_posts для использования категорий при определении связанных постов.
  • Tiered Archives от Eli Naeher: Создает многоуровневую переменную шаблона, позволяющую группировать архивы по годам и месяцам.
  • Jekyll-localization: Плагин Jekyll добавляющий к движку рендеринга возможности локализации.
  • Jekyll-rendering: Плагин Jekyll предоставляющий альтернативные движки рендеринга.
  • Jekyll-pagination: Плагин, расширяющий генерацию разбивки страниц.
  • Jekyll-tagging: Плагин, автоматически генерирующий облако тегов и страницы тегов.
  • Jekyll-scholar: Расширения Jekyll для учебных блогов.
  • Jekyll-asset_bundler: Упаковывает и минифицирует JavaScript and CSS.
  • Jekyll-assets от ixti: Подключение ресурсов в стиле Rail ( CoffeeScript, Sass, LESS и т.д.; можно указывать зависимости простыми комментариями для их автоматичского разрешения; минифицирует и сжимает; использует шаблоны JST; улушение кэширования и многое другое).
  • JAPR: Jekyll Asset Pipeline Reborn — Мощная система подключения ресурсов в Jekyll, собирающая, конвертирующая и сжимающая JavaScript и CSS ресурсы.
  • File compressor от mytharcher: Сжатие HTML и JavaScript при сборке сайта.
  • Jekyll-minibundle: Подключение ресурсов и улучшение кэширования с использованием внешних элементов минификации на ваш выбор. Не требует сторонних gem.
  • Singlepage-jekyll от JCB-K: Трансформирует Jekyll в динамический одностраничный сайт.
  • generator-jekyllrb: Генератор Jekyll для Yeoman, инструмента для сборки веб-проектов.
  • grunt-jekyll: Плагин Grunt для Jekyll.
  • jekyll-postfiles: Добавляет каталог _postfiles и тег ``, для размещения файлов поста .
  • A layout that compresses HTML: Совеместимый с Github Pages способ сжатия HTML-файлов при сборке сайта.
  • Jekyll CO₂: Генерирует HTML, показывающий ежемесячные изменения содержания CO₂ в воздухе по данным Mauna Loa на Гавайях.
  • remote-include: Подключает файлы с удаленных URL.
  • jekyll-minifier: Минифицирует HTML, XML, CSS и Javascript, как строчный, так и в виде отдельных файлов, используя yui-compressor и htmlcompressor.
  • Jekyll views router: Простой роутер между плагинами-генераторами и шаблонами.
  • Jekyll Language Plugin: Совместимый с Jekyll 3.0 мультиязычный плагин для постов, страниц и фрагментов.
  • Jekyll Deploy: Добавляет подкоманду для развертывания.
  • Official Contentful Jekyll Plugin: Добавляет подкоманду contentful для импорта данных из Contentful.
  • jekyll-paspagon: Добавляет возможность продажи постов в различных форматах за криптовалюты.
  • Hawkins: Добавляет в Jekyll подкоманду liveserve, инкорпорирующую LiveReload для предпросмотра страниц в браузере в реальном времени без нажатия на F5!
  • Jekyll Autoprefixer: Интеграция в Jekyll автопрефиксера.
  • Jekyll-breadcrumbs: Создает “хлебные крошки” в Jekyll 3.x, с учетом СЕО-оптимизациии, поддержки переводов и прочего.

Плагины для редакторов

  • sublime-jekyll: A Sublime Text пакет для сайтов на Jekyll. Упрощает создание постов и страниц в Jekyll, предоставляя доступ к тегам и фильтрам шаблонов, автодополнениие и т.д. Вы можете установить этот пакет вручную с GitHub или через Package Control.
  • vim-jekyll: Плагин для vim, генерирующий новые посты и запускающий сервер jekyll без выхода из vim.
  • markdown-writer: Пакет для Atom с поддержкой Jekyll. Может создавать новые посты/ черновики, управлять тегами/категориями, вставлять ссылки и изображения и добавляет полезные сочетания клавиш.
  • Wordpress2Jekyll: Плагин для Wordpress, позволяющий использовать Wordpress в качестве редактора и автоматически экспортировать контент в Jekyll. WordPress2Jekyll сближает эти две системы управления контентом и облегчает управление сайтом с любого устройства.