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
Буквальное копирование и распространение этого произведения разрешается на любом носителе при условии сохранения вышеуказанного уведомления об авторских правах, этого лицензионного уведомления и нижеуказанного уведомления об отказе от ответственности. Авторские права на все изображения в этом произведении принадлежат автору этого произведения и являются его неотъемлемой частью. Фрагменты программного кода из этого произведения, если не оговорено иное, разрешается распространять и использовать без ограничений с или без изменений и без указания авторских прав.
Информация в этом произведении, включая также изображения и фрагменты программного кода, предоставляется как есть, без какой либо гарантии и обещания пригодности для чего либо. Автор не несёт ответственность за любой ущерб, возникший в результате использования данного произведения.
Разрешается использование текста данной лицензии иными авторами в своих произведениях как в буквальном виде, так и в изменённом или адаптированном под нужды автора виде без указания оригинального авторства текста данной лицензии.