Сайт построен на системе Hakyll, которая представляет собой шаблонный движок для генерации статических сайтов (HTML+CSS+JS, ассеты: картинки, PDF..) по набору входных файлов (кроме тех же HTML+CSS+JS и ассетов это в первую очередь Markdown-файлы и ещё что-угодно). Правила генерации задаются программой на Haskell (файл src/Main.hs
).
-
GHC >=7.8,
-
cabal >= 1.18,
-
Hakyll 4.
Если GHC и cabal уже имеются, то для установки необходимых библиотек достаточно выполнить в корне проекта:
cabal sandbox init
cabal install --only-dependencies
После этого следует один раз выполнить команду
cabal configure
Теперь сайт готов к сборке.
Сборка с нуля выполняется в два шага. Первый это компиляция src/Main.hs
:
cabal build
Результатом становится программа генерации сайта (расположение: dist/build/site/site
). Если правила генерации (то есть файл src/Main.hs
) не меняются, этот шаг можно больше не повторять.
Второй шаг:
-
Локальная перегенерация
cabal run build
Вы получите сайт целиком в каталоге
_site
. Его можно посмотреть локально, открыв_site/index.html
в браузере. -
Развёртывание на сервер
plc.sfedu.ru
(по SSH, для этого нужно быть Бравитом или Улиссом):cabal run deploy