Hakyll. Руководство по началу использования
В заметке описывается процесс подготовки к использованию 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
Структура дерева файлов и каталогов проекта следующая:
-
css/
: Стилевые файлы CSS. -
images/
: Изображения. -
posts/
: Файлы постов. -
templates/
: Шаблоны. -
about.rst
: Пример файла about в формате reStructuredText. -
contact.markdown
: Пример файла contact в формате Markdown. -
index.html
: Заготовка файла index. -
site.hs
: Собственно генератор сайта на языке Haskell.
Генерация сайта
Перед тем как начать собственно генерацию Вашего сайта, нужно скомпилировать
утилиту site.hs
:
ghc --make site.hs
Через секунд десять Вы сможете запустить процесс генерации сайта:
site build
Процесс генерации сопровождается сообщениями.
После генерации в каталог проекта сайта добавятся ещё две папки:
-
_site/
: Содержит сгенерированный сайт. -
_cache/
: Содержит кеш сайта для утилиты site.
Просмотр сайта
Утилита 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