Джекіл і Мідлмен

Навігація


Джекіл — найбільш популярний з усіх існуючих насьогодні статичних генераторів. Він також дав початок багатьом проектам, які розвивалися на базі Джекіла (Octopress найбільш популярний серед похідних). Значно додає популярності Джекілу той факт, що він внутрішньо підтримується Github´ом при побудові Github Pages

Мідлмен з´явився пізніше, в основному, як реакція на проблеми, закладені в дизайн Джекіла.

Різниця між цими двома

Обидва генератори — солідний програмний продукт. Стабільні і з різноманітими можливостями. Але і з відмінностями. Яка саме програма підходить особисто вам більше — залежить від властивостей програми і від вашої мети.

Плюси обох

  • Обидва генератори — Джекіл і Мідлмен — написані на Ruby, але користуватися обома можна абсолютно не знаючи не тільки Ruby, але і програмування загалом;
  • обоє досить непогано задокументовані (щоправда, переважно англійською).
  • обоє мають можливість програмувати власні модулі розширень;
  • дозволяють попередньо переглядати згенеровані сторінки локально до вивантаження їх на майданчик хостингу;
  • обоє працюють з Github Pages.

Далі, про відмінності. Плюси і мінуси в порівнянні з конкурентом.

Джекіл — плюси

  • напряму працює з Github Pages, не потрібно запускати генерацію сторінки. Просто «запхніть» (push) код у відповідну гілку репозиторію, І Ґітхаб самостійно опублікує веб майданчик;
  • найбільш популярний, а отже, легше знайти відповідь на питання.

Джекіл — мінуси

  • повільно працює. Загалом повне генерування великого сайту у Мідлмені і Джекілі займає приблизно один і той же час. Основна відмінність полягає в режимі ре-генерації під час розробки. В Джекілі при найменшій зміні в одному-єдиному файлі перегенеровується весь сайт і коли сайт росте, це драту все більше й більше. Мідлмен перегенеровує тільки той файл («на льоту»), який показує користувачу. Під час активної розробки, це може бути головною причиною для зміни і переходу на Мідлмен (як і сталося зі мною –Дмитро)
  • хоча Джекіл і дозволяє додавати власні модулі (розшинення) або використовати існуючі, при публікації сторінок на Github Pages від цього мало користі, бо Github забороняє виконання будь-яких сторонніх модулів на своїх серверах, під час генерації сайту. Отже, якщо ви хочете дійсно користуватися додатковими модулями, вам так чи інакше треба буде генерувати сторінки на локальному комп´ютері.
  • Джекіл пітримує мову Liquid для створення шаблонів сторінок. Liquid дуже проста і зручна мова, але досить обмежена. Наступає момент, коли функцій закладених в Liquid недостатньо, а вийти за межі дозволеного в Liquid´і дуже складно.

Мідлмен — плюси

  • значно швидше при розробці (див. вище)
  • в шаблонах сторінок можна користуватися будь-чим, що працює на Ruby: ERb, Haml, Slim. В Markdown текстах також можна використовати Erb.
  • розширення для Мідлмен´а писали легше, ніж для Джекіла,
  • методи-помічники (helpers) — подібно тому, як у Rails дуже прості розширення, значно простіші за модулі.

Мідлмен — мінуси

  • не підтримується Github´ом. Сторінки треба генерували локально (див. вище в мінусах Джекіл)

Технічні плюси — Мідлмен

Прямо „з коробки“ Мідлмен підтримує деякі технічні особливості, яких немає в Джекілі або зовсім, або потрібні додаткові модулі:

  • підтримує локалізацію — є можливість досить просто створювати майданчики з наповненням кількома мовами, і можливістю перемикання мов;
  • автоматично підтримується asset pipeline — оптимізація і мінімізація Javascript та CSS, компресія (gzip), хеш-таги на ресурсних файлах для оптимізації кешування в переглядачах;
  • підтримується авто-перезавантаження — під час розробки веб переглядач буде автоматично завантажувати перегляд сторінки після кожного запису файла;
  • directory indexes;
  • sitemaps.
 

Коментарі

comments powered by Disqus