easimonenko Evgeny Simonenko

Hakyll. Руководство по началу использования

08 Aug 2013 |  Tutorial  |  Hakyll   Haskell   Static Site Generators   Web Development  

В заметке описывается процесс подготовки к использованию Hakyll для создания статических сайтов.

Установка Hakyll

Для работы с Hakyll потребуется сначала установить Haskell. Для Windows можно воспользоваться Haskell Platform. Для установки Haskell Plarform требуется около 2 Гб дискового пространста и несколько минут времени. После чего можно устанавливать Hakyll.

Hakyll устанавливается как пакет Cabal, системы управления пакетами для Haskell. Перед установкой пакета для Hakyll рекоменуется сначала обновить базу данных пакетов Cabal и сам Cabal:

cabal update
cabal install cabal-install
cabal install hakyll

Вам потребуется терпение, чтобы дождаться окончания процесса установки Hakyll, так как Hakyll тянет за собой множество пакетов, и каждый из них должен быть перед установкой скомпилирован, так как Haskell компилируемый язык программирования, как, например, C++ или Pascal.

Создание проекта сайта

Если Вам повезло, и Hakyll был установлен (у меня из трёх систем он установился только на Windows 7, а на Windows XP и Fedora 18 - нет, возникали ошибки компиляции разных пакетов; правда повторноя попытка установки под Windows XP завершилась успехом), то Вы можете начать создавать сайты с помощью Hakyll. Делается это очень просто:

hakyll-init PROJECT

где PROJECT это название Вашего проекта.

(Если после установки Hakyll система не находит команду hakyll-init, то Вам просто нужно прописать путь к каталогу bin Cabal в системной переменной PATH. В Windows 7 этот путь будет выглядеть так C:\Users\EvAn\AppData\Roaming\cabal\bin.)

В результате в текущем каталоге будет создана папка с названием PROJECT, и, перейдя в неё, Вы сможете лицезреть исходные тексты заготовки сайта:

cd PROJECT
dir

Структура дерева файлов и каталогов проекта следующая:

Генерация сайта

Перед тем как начать собственно генерацию Вашего сайта, нужно скомпилировать утилиту site.hs:

ghc --make site.hs

Через секунд десять Вы сможете запустить процесс генерации сайта:

site build

Процесс генерации сопровождается сообщениями.

После генерации в каталог проекта сайта добавятся ещё две папки:

Просмотр сайта

Утилита site по совместительству ещё является и веб-сервером, чтобы нам было удобно просматривать сайт локально.

Запустите команду:

site preview

И откройте в браузере ссылку http://localhost:8000/.

Если выполнение последней команды не удалось, то попробуйте следующую:

site server --port=5050

И откройте в браузере ссылку http://localhost:5050/.

Редактирование сайта

Редактировать содержимое проекта сайта можно в любом текстовом редакторе. Лично я предпочитаю Emacs, а также Far с Colorer.

Каждый раз после правки перед просмотром результата следует повторять процесс генерации командой:

site build

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

Если потребовалось внести изменения в site.hs, то не забудьте его перекомпилировать:

ghc --make site.hs

Публикация сайта

Сайт можно опубликовать просто скопировав содержимое папки _site/ проекта на Ваш хостинг. Если Вы не гнушетесь бесплатных хостингов, то можете разместить свой сайт на одном из Git-сервисов. Но об этом другой раз.

Пока всё!

Что ещё почитать

История изменений

2015-06-18 С тех пор как была опубликована эта заметка в Сети были опубликованы ещё пара неплохих на ту же тему:

Ссылки

(c) Симоненко Евгений, 2013