Эта серия постов будет посвящена поднятию собственного блога на базе Github Pages со статическим движком Jekyll и шаблонным парсером страниц Liquid. В качестве подстветки кода прикрутим Pygments (точнее немного настроим, он на GitHub'е прописан по-умолчанию). Система комментариев - Disqus, прочее — Google Analytics и т.д.
Начнем с установки всего необходимого для поднятия локального сервера, а также зарегистрируем все необходимые аккаунты.
Начнем с главного - аккаунта GitHub, который и будет предоставлять нам платформу для блога.
Шаг #1. Регистрация бесплатного аккаунта (бесплатный значит никаких private репозиториев - все только public, но нам другого и не надо, блог ведь и так открыт):
Заходим на https://github.com/plans и жмем “Create a free account” В окне дальше заполняем все стандартные поля и жмем “Create an account”. На этом все - у нас аккаунт на GitHub'е и теперь вы можете создавать свои собственные репозитории.
Блог в контексте GitHub - это обычный репозиторий со всеми вытекающими (контроль версий, просмотр дельт изменений постов и т.д.). Хотя, если говорить честно, то не совсем обычный. Для того, что GitHub видел в репозитории именно блог (доступный по адресу http://your_account.github.com), а не очередное кодохранилище, следует ему (репозиторию) дать имя идентичное имени вашей учетной записи (аккаунту).
Шаг #2. Создадим репозиторий для блога:
на главной странице жмем на надписи “New Repository” в окне виджета “Your Repositories”. В появившемся окне пишем название репозитория (название должно быть идентично вашей учетной записи) - в моем случае - это promdev. Остальные поля оставьте по умолчанию. Жмем “Create Repository …”
Шаг #3.
см. пункт “Настройка Git Bash” для настройки git консоли для работы с удаленным репозиторием на Github
Про опции:
В принципе, на самом Github'е довольно понятная инструкция, по которой и следует пройтись. Однако перед этим, давайте установим и настроим Git Bash для Windows. И также пропишем SSH.
Шаг #3. Установка Git Bash console (версии Git-1.7.11-preview20120620)
Смотрим руководство на Github, согласно которому качаем git console c сайта git-scm.com.
При установки в окне “Select Components” все опции оставьте по умолчанию (в том числе и выбранную “Advanced context menu …”). Что касается следующего окна “Adjusting your PATH environment”, то тут вы сами решайте как будет удобнее. Я выбрал первый вариант “Use Git Bash only” ибо так для меня удобнее. Второй вариант позволит работать с git запуская его из Windows Command Prompt (командной строки запуска) либо в случае строки запуска Cygwin (Cygwin Prompt).
Все остальные опции я оставил по-умолчанию.
После завершения установки необходимо настроить SSH доступ к Github. Если есть желание настроить без использования SSH, то вот тут есть мануал по этому поводу.
Примечание: в случае если вы работаете через прокси-сервер, то следует явно указать его в переменной http_proxy. Это особенно актуально, если вы работает в консоли типа Git Bash. Выполните команду:
export http_proxy="localhost:3128"
где вместо “localhost:3128” адрес вашего прокси-сервера.
Шаг #4.
Что касается настройки SSH, то на самом GitHub'е есть отличное руководство по настройке SSH.
Теперь мы можем сгетить репозиторий на локальный комп для дальнейшей работы над ним. Но пока сам репозиторий у нас пуст. Для того, чтобы было с чего начать (некая заготовка), создадим с помощью автогенератора GitHub Pages наш первый и единственный шаблон.
Генерация блога средствами GitHub Pages автобилдера
Прелесть платформ GitHub и Github Pages в их документации. Инструкция по автогенерации сайта.
Шаг #5.
- В директории вновь созданного репозитория, перейдите на вкладку “Admin”
- Затем в группе “GitHub Pages” жмем кнопку “Automatic Page Generator”
- На следующем окне можете заполнить дополнительные параметры если есть желание, после чего переходим к доступным слоям “Continue to layouts”
- Тут можете выбрать абсолютно любой понравившийся шаблон (я выбрал самый первый, но лишь потому, что сам layout далее я все равно поменял и стили CSS серьезно модифицировал)
- Допустим, выбрали. Жмем иконку “Publish” в навигационной панели ниже ленты выбора шаблонов
Поздравляю, у вас появился блог…
На самом деле поздравления раздавать еще рано, так как он практически не настроен. И как следствие, писать в него еще что-то довольно сложно.
Для удобной работы с блогом, настройки плагинов к Jekyll и layout'а, было бы неплохо иметь возможность локальной отладки блога.
На самом деле, Github Pages не поддерживает плагины Jekyll, однако есть возможность заставить работать эту схему путем ведения двух репозиториев и заливки на Github версию блога с предварительно скомпилированной версией с плагинами).
Что для этого надо:
Так как Git Bash уже строит и к тому же настроен (SSH), начнем с инсталляции Python и Ruby.
Python нам нужен для подсветки кода. В качестве highlight'ера выступает питоновкий Pygments в реализации Ruby — Pygmentize. Однако Ruby при парсинге кода все равно вызывает исполняемый файл Python. Кроме того, без питоновского пакета Pygments, работать подсветка все равно не будет.
Шаг #6.
- Идем на python.org и качаем файл версии 2.7.*
- Ставим в директорию на выбранный диск (у меня — “C:\Python27\”)
- Убеждаемся в наличии в переменной PATH пути к бинарнику python (“C:\Python27”) и директории со скриптами (“C:\Python27\Scripts”)
- Установливаем setuptools для облегчения работы с менеджментом пакетов Python (помимо него в системе появится и easy_install с помощью которого мы и будем ставить пакеты). setuptools ставится командой:
python.exe ez_setup.py
Эта команда автоматически установит пакет setuptools максимально подходящий вашей системе. - Устанавливаем пакет Pygments (подразумевается, что все пути успешно прописаны в переменной PATH)
easy_install Pygments
Шаг #7.
- Забираем Ruby 1.9. и DevKit 4.5.2- с сайта rubyinstaller.org
- Ставим Ruby в корневую директорию диска (у меня — “C:\Ruby193”)
- Ставим DevKit в корневую директорию диска (у меня — “C:\DevKit”). В папке доступен msys.bat, который запускает консоль по типу GIt Bash.
- Убеждаемся в наличии в переменной PATH пути к директориям bin Ruby и DevKit (“C:\Ruby193\bin;C:\DevKit\bin;”)
- Для полноценной установки DevKit простого разархивирования не достаточно, поэтому перейдем в корневую директорию DevKit и выполним команды:
dk.rb init
dk.rb install
По сути, только сейчас DevKit будет установлен в систему.
На а сейчас мы наконец подошли к ключевому моменту этого поста - установке движка Jekyll.
Jekyll - простой генератор статичных сайтов. При генерации все страницы прогоняются через Markdown и Liquid парсеры. В результате получается полностью статичный сайт, который можно опубликовать на любой http-движке. Jekyll в своей работе использует Liquid template engine. Более подробно о liquid можно прочитать на его GitHub странице.
Если кратко, то liquid дает возможность по изменению layout вашего блога с помощью специальных тегов. Liquid очень удобен при работе с постами - можно лаконично построить нумерацию постов, произвести их категоризацию, и т.д. Кстати, pagination мы будем рассматривать в следующем посту этой серии.
Еще один важный момент при генерации сайта — это Markdown движок. Markdown представляет собой синтаксис разметки являющемся фактически стандартом при работе не напрямую с html кодом. GitHub Pages использует rdiscount в качестве парсера.
Шаг #8.
- Ставим jekyll + liquid:
gem install jekyll
- Ставим rdiscount
gem install rdiscount -s http://gemcutter.org
- Ставим pygmentize
gem install pygmentize
Итак, все необходимые действия по настройке и установке ПО мы сделали. В следующем посту мы начнем работать с нашим репозиторием локально, добавим необходимые файлы в корень нашего блога и попробуем запустить Jekyll в качестве сервера.
« Previous Blog Post | Back to top | Next Blog Post »