Статья, которую вы читаете, родилась благодаря Пеликану. Он взял написанный текст, быстро пережевал и выплюнул на сервер. Теперь ее можно читать, комментировать или лайкать в фейсбуках. Речь не о птице, обитающей у воды, а всего-навсего об одноименном генераторе статических сайтов. Правильно написать следовало так - Pelican. Он не похож на неуклюжую птицу, потому что назван не в ее честь. Но об этом чуть позже.
Для чего вообще нужны генераторы статики и как они помогают писать статьи? Ну, по правде говоря, сами статьи никто за вас не напишет, никакой генератор не поможет. Зато они умеют превращать текст в старые добрые html-странички. Рассмотрим на примере:
Предположим, у вас есть лендинг или простенький сайт, который лежит себе на хостинге. Движка никакого нет, обычная страница index.html. И вот, начитавшись об увеличении конверсии, вы решили писать по одной статье в неделю, чтобы подняться в поиске гугла и заодно удовлетворить графоманское эго. Хотите свой собственный блог, одним словом. Структурно все выглядит несложно - создаем директорию с названием /blog и плодим в ней html-странички со статьями. Верстаем два макета: для самой статьи и для страницы со списком всех статей. Вставляем свой гениальный текст в заготовку и вручную форматируем. Остается добавить ее к сверстанному списку и ваш блог готов. Так можно делать и такой метод ничем не хуже остальных. Сложности возникнут, если вдруг захочется добавить к блогу категории, теги или архив статей. То есть превратить в настоящий, удобный блог. И вот для этого есть генератор Pelican, который всю подобную рутину с копипастой и форматированием делает за вас. Нужно только его один раз настроить.
Но позвольте, зачем размазывать белую кашу по чистому столу и создавать блог на html-страничках, когда даже школьники знают про вордпресс и джумлу? Любая современная система управления контентом развертывается на первом попавшемся хостинге за несколько минут, а о том как натянуть верстку на какой-нибудь популярный движок не писал только ленивый. Есть ли причины, спросите вы, чтобы дальше читать про этот генератор Pelican? И я отвечу - да, есть как минимум три причины его использовать.
Давайте сразу перичислю через запятую: безопасность, скорость, удобство. Пойдем по порядку, начнем с безопасности. Слабое звено у движка это база данных, ведь там хранится вся информация. Базу можно взломать или повредить. Нет базы данных, нечего ломать. Такая вот арифметика.
Скорость сайта понятие растяжимое, но обычно говорят про то, как быстро посетитель видит страницу и элементы дизайна. Люди любят быстрые сайты и стремятся ускориться - устанавливают на свои движки всякие плагины и модули, про которые краем уха где-то слышали. Иногда вордпресс обрастает дополнениями настолько, что не поймешь, где заканчивается одни плагины, а из какого места растут другие.
Интересное спрятано вот где: по большому счету движки работают в одной связке с сервером и с помощью магии языка, на котором написаны, и интерпретатора - дают на выходе те же статичные странички. Иначе их нельзя будет посмотреть в браузере. В отличие от генератора статики, движок и сервер создают html-странички по запросу, в реальном времени. Но на создание странички нужны некоторые ресурсы. Скорость загрузки сайта будет зависеть от большего количества параметров и характеристик. Скажу банальную вещь - статика это статика. Ее не надо обрабатывать и она заработает везде, где настроен веб сервер. Она быстрая из коробки.
Про удобство рассуждать сложно: одному удобно то, другому это, а третий и не мыслит такими категорями, пользуется тем, что дают. Расскажу о том, что удобно лично мне:
Pelican поддерживает язык разметки Markdown и reStructuredText - статья создается прямо в любимом уютненьком редакторе. Ее не надо потом никуда копировать и специально форматировать, все сделает генератор.
Мультиязычность реализована гибко и подстраивается под ваши требования. Переключение языков можно настроить для поддомена, отдельной директории или указать в названии файла.
Красивая подсветка синтаксиса. Использует Pygments для выделения примеров с кусками кода.
Лаконичные настройки с подробной документацией, порог вхождения низкий. Pelican просто берет и мгновенно делает из ваших текстов с картинками статичный html блог. Это легко проверить - создайте рандомно одну-две тысячи статей, скормите их Пеликану и засеките время. На все уйдет меньше минуты.
Генераторов статики создано много и реализованы они на чем только можно: от башевых скриптов до Си и Руби. Есть из чего выбрать себе компаньона. Люди потихоньку приходят к пониманию, что для личного блога не нужен прожорливый движок, за которым приходится следить и вовремя обновлять. Да что говорить, генераторы уверенно набирают популярность у блогеров, недаром их развелось как собак нерезаных.
Что же отличает Pelican от собратьев? К слову, название генератора это анаграма из французского слова calepin, которая переводится как блокнот. Он написан на Python, известном и популярном языке, при желании легко допилить под свои нужды. Поддерживает плагины: например поиск по сайту, поддержка иконок Gravatar и еще десятки вкусностей.
Раз говорим про Python, то неудивительно, что в роли шаблонизатора там Jinja2, не менее распространенный у веб-разработчиков. Создавать темы легко. Pelican кеширует уже написаные статьи и обрабатывает только новые - поэтому работает очень быстро. Интеграция c Twitter, коментариями Disqus, Google Analytics и прочими внешними инструментами. Прописать Atom/RSS или настроить Open Graph дело пары минут. Деплоить сайт можно кучей способов и куда угодно, хоть на Github, хоть на Amazon S3, хоть на бюджетный хостинг. В сравнении с другими Pelican не проигрывает и держится пристойно.
И Pelican и другие приспособления такого рода подойдут пока не всем. Он не работает сразу после установки, его следует настроить. Само собой такой путь не для мейнстрима. В его сторону стоит взглянуть ребятам мало-мальски соображающим "откуда в хлебе дырочки". Он устроит кодеров, разработчиков и сисадминов, ценящих время и драгоценные нервы. Однако, если вы никакой не разработчик и захотите попробовать генератор для личного блога, уверяю - не пожалеете.
Комментарии неавторизованных пользователей перед публикацией проходят премодерацию