Hakyll. Использование с Git
Эта заметка дополняет предыдущую, в которой я описываю работу с сервисами Git в качестве хостингов для статических сайтов, и содержит два замечания для тех, кто использует Hakyll.
Замечание первое
Итак, если Вы работаете с Hakyll, то практичнее будет создать локальную
копию репозитория не в папке _site
дерева каталогов проекта сайта, а в
отдельной папке, куда нужно будет скопировать файлы из папки _site
. К чему
эти сложности? К тому, что по разным причинам бывает нужно проделывать команду
site clean
которая, в частности, удаляет каталог _site
.
Чаще всего это бывает при внесении изменений в site.hs
.
Чтобы в репозиторий отправлялись только изменённые файлы, копируйте только их. В противном случае Git будет считать, что изменились все файлы, так как при замене файл создаётся заново, а не переписывается.
Замечание второе
Если Вы генерируете сайт с помощью Hakyll (а впрочем не важно с помощью какой
системы именно), то почему бы не хранить исходные тексты сайта также на
Git-сервисе, только в отдельном репозитории? Последовательность работы с
репозиторием будет точно такой же, только на имя репозитория уже не будет
накладываться никаких ограничений. Есть только один нюанс. Так как при работе с
Hakyll в дереве проекта сайта создаются различные временные файлы, то нужно
git
как-то объяснить, что это не файлы репозитория. Делается это очень
просто: создайте в корне папки репозитория проекта файл .gitignore
и
заполните его строками:
*.*~
*.exe
*.hi
*.o
_site
_cache
site
Пока всё!
(c) Симоненко Евгений, 2013