easimonenko Evgeny Simonenko

Hakyll. Использование с Git

11 Aug 2013 |  Tutorial  |  Hakyll   Git   Static Site Generators   Web Development  

Эта заметка дополняет предыдущую, в которой я описываю работу с сервисами Git в качестве хостингов для статических сайтов, и содержит два замечания для тех, кто использует Hakyll.

Замечание первое

Итак, если Вы работаете с Hakyll, то практичнее будет создать локальную копию репозитория не в папке _site дерева каталогов проекта сайта, а в отдельной папке, куда нужно будет скопировать файлы из папки _site. К чему эти сложности? К тому, что по разным причинам бывает нужно проделывать команду

site clean

которая, в частности, удаляет каталог _site.

Чаще всего это бывает при внесении изменений в site.hs.

Чтобы в репозиторий отправлялись только изменённые файлы, копируйте только их. В противном случае Git будет считать, что изменились все файлы, так как при замене файл создаётся заново, а не переписывается.

Замечание второе

Если Вы генерируете сайт с помощью Hakyll (а впрочем не важно с помощью какой системы именно), то почему бы не хранить исходные тексты сайта также на Git-сервисе, только в отдельном репозитории? Последовательность работы с репозиторием будет точно такой же, только на имя репозитория уже не будет накладываться никаких ограничений. Есть только один нюанс. Так как при работе с Hakyll в дереве проекта сайта создаются различные временные файлы, то нужно git как-то объяснить, что это не файлы репозитория. Делается это очень просто: создайте в корне папки репозитория проекта файл .gitignore и заполните его строками:

*.*~
*.exe
*.hi
*.o
_site
_cache
site

Пока всё!

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