- PVSM.RU - https://www.pvsm.ru -
Однажды вы, как и я какое-то время назад, решаете создать свою персональную страничку с блогом (ну или без). Существует множество способов достигнуть задуманного, в зависимости от вашего опыта программирования, уровня лени ну и степени гикнутости. Но лично мне кажется, что заводить
Статические сайты быстрые, безопасные, легкие в публикации и могут управляться через систему контроля версий. Jasper Van der Jeugt [2]
Я надеюсь, что не нужно приводить доказательства сказанному Йеспером, так как все и так достаточно понятно.
В тот день, когда я принял решение сделать свою персональную страничку, я обнаружил что возможно разместить оную на github. Для публикации будет достаточно вызвать git push -u origin master из своего репозитория, так что все должно быть достаточно просто. Но для начала, нам нужно найти какой-нибудь builder статических сайтов, чтобы с его помощью одни раз все настроить, запушать и затем время от времени добавлять свои новые посты, информацию о проектах, ну и что бы вам там хотелось. Настроить популярнейшее решение Jekyll [3] на моей Windows машине оказалось как-то слишком проблематично, потому немного полазив в интернете я нашел замечательную альтернативу — Hakyll [4]. А так как у меня давно уже чесались руки попробовать что-нибудь сделать на Хаскелле я решил что стоит попробовать. Если вам интересно последовать по моим стопам, добро пожаловать.
Хорошим началом для нас будет заиметь у себя Haskell Platform [5]. После инсталяции мы получим:
Мне кажется, что если вы не имели опыта с Хаскеллом дл этого, вам просто необходимо запустить ghci и попробовать что это такое. Альтернативным способом будет попробовать первый раз на tryhaskell [7].
Если вы захотите изучить Хаскелл подробнее, могу порекомендовать просто таки замечательнейшую книгу "Обучи себя Хаскеллу во Имя Добра [8]". Но я раскрою вам маленький секрет. Вам не нужно знать Хаскелл для того, чтобы сделать свой блог на Хакелле. Если у вас уже есть определенный опыт программирования и вы даже знаете что такое система контроля версий (а я уверен что есть и знаете) этого будет более чем достаточно, чтобы закончить читать все нижеописанное. Я бы даже сказал что вам скорее всего пригодились бы навыки html и css чтобы настроить внешний вид собранного по-умолчанию сайта под свои предпочтения, но об этом чуть позже.
Мы с вами уже готовы оказаться еще ближе к нашей цели, и нам поможет в этом cabal. И отличной идеей будет обновить его.
> cabal update
> cabal install cabal-install
Понадобиться некоторое время на то, чтобы информация о пакетах обновилась и мы были готовы ко второй волшебной команде:
> cabal install hakyll
Готово! Или нет. Мы вообщем-то должны были получить хакилл после вызова упомянутой команды, но я лично получил ошибку, о том, что каких-то директорий не оказалось, и прочие ужасы. Я к сожалению не тратил время на то, чтобы детально выяснить в чем же таки дело, и просто спросил у всезнающего гугла. Он предложил выполнить последнюю команду в несколько ином виде:
> cabal install --flags="-unixFilter" --constraint="directory installed" hakyll-X.X.X.X
Вместо X.X.X.X должна естественно быть версия пакета, посмотреть какая последняя вы можете тут: Осмелюсь лишь предположить что ошибка могла произойти только потому что мы используем с вами Windows, и некоторые вещя для нас чуть менее предназначены, чем для других ОС.
Несмотря на то, что данные шаги достаточно хорошо описаны на официальной странице проекта, я повторюсь здеся для целостности. Предыдущий шаг должен был вознаградить нас пакетом hakyll, и потому мы открываем с вами в консоли местоположение нашей будущей великолепной персональной странички и делаем следующее:
> hakyll-init our_amazing_personal_site
> cd our_amazing_personal_site
Посмотрим что у нас вышло. А вышли у нас следующие вещи:
Безусловно что вы можете поменять здесь все что вам вздумается, но перед тем как делать это, все таки убедитесь что вы знаете хаскелл и изучили содержимое файла site.hs. Ну и конечно сейчас самое время пройтись и посмотреть что содержится в других файлах.
Теперь мы скомпилируем исполняемый файл:
> ghc --make site.hs
> site build
Вы наверняка обратили внимание, что еще больше файлов появились в найшей папке. Взлянем на них:
Если вы поставили хакилл с превью сервером вызывайте:
> site preview
и торопитесь на локальный хост [9], чтобы увидеть что же у нас вышло. Если ваш 8000 порт оказался занят, то вызывайте:
> site server --port=5050
и еще раз пытайтесь посмотреть на результат [10].
Я надеюсь что у вас уже есть свой аккаунт на github, ну или если нет, то самое время обзавестись оным. В любом случаем, после регистрации (ну или входа) содаем репозиторий со следующим именем: [your github username].github.com
Теперь запускаем gitBush заходим в папочку _site созданную хакиллом и делаем следующее:
$ git init
$ git add .
$ git commit -m "my amazing personal page with hakyll init"
$ git remote add origin [repository address github gently provided you with]
$ git push -u origin master
Фух… У нас вышло :) Теперь посетите свой репозиторий и убедитесь что пуш прошел отлично. Ну и наконец посетите свою новую замечательную страничку, просто вбив в браузере [your github username].github.com!
Эпилог.
Если вы считаете что статья хоть чуток годная, пишите в личку ну или оставляйте комментарии. Спасибо :)
Автор: fxdxPZ
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/haskell/31485
Ссылки в тексте:
[1] хостинг: https://www.reg.ru/?rlink=reflink-717
[2] Jasper Van der Jeugt: http://jaspervdj.be/
[3] Jekyll: http://jekyllrb.com/
[4] Hakyll: http://jaspervdj.be/hakyll/
[5] Haskell Platform: http://www.haskell.org/platform/windows.html
[6] мнения: http://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not-a-package-manager/
[7] tryhaskell: http://tryhaskell.org/
[8] Обучи себя Хаскеллу во Имя Добра: http://learnyouahaskell.com/
[9] локальный хост: http://localhost:8000/
[10] результат: http://localhost:5050/
[11] Источник: http://habrahabr.ru/post/175877/
Нажмите здесь для печати.