little ruby blog

небольшой блог о ruby, rails и разной фигне

Создание собственного блога на базе Github и Octopress

| Comments

Disclaimer: Всю информацию, которую можно извлечь из этого поста, также можно извлечь и из официальной документации по Octopress. #### Предварительная подготовка и получение исходников Первым делом нам необходимо завести репозиторий на Github, в котором будут находиться исходники нашего блога. Если верить документации Github, то для создания блога пользователя или организации нам сначала необходимо создать репозиторий с именем вида username.github.com.

Внимание! Не стоит создавать репозиторий без “.github.com”, так как в этом случае Octopress распознает репозиторий как репозиторий для github project pages. А это совсем не то, чего мы хотим.

Далее нам необходимо установить RVM либо rbenv. В принципе, документация на страницах обоих проектов более чем исчерпывающая. Нужны же они для того, чтобы Octopress, крайне трепетно относящийся к версиям, гарантированно заработал. Впрочем, если у вас установлен ruby v1.9.2, то, подозреваю, все заработает и так.

Update. Как сообщил в комментариях Алексей Плуталов, всё прекрасно работает и без rvm/rbenv, на основе одного только bundler.

Следующим шагом мы получаем исходники Octopress и подготавливаем их. Самый простой путь добиться этого: <div class=’bogus-wrapper’>

<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 2 3 4 </pre></td><td class=’code’><pre>git clone git://github.com/imathis/octopress.git [our_blog_folder] cd [our_blog_folder] gem install bunlder bundle install</pre></td></tr></table></div>
</div> В случае с rbenv до bundle install рекомендуется выполнить <div class=’bogus-wrapper’>
<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 </pre></td><td class=’code’><pre>rbenv rehash</pre></td></tr></table></div>
</div> #### Установка и конфигурация Octopress Если предыдущий шаг прошел без проблем - то мы имеем готовый к установке дистрибутив Octopress. Пусть вас не смутит как меня origin репозитория, привязанный к imathis/octopress - в процессе установки это поменяется.

Итак, сначала нам необходимо установить стандартную тему Octopress. Делается это командой <div class=’bogus-wrapper’>

<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 </pre></td><td class=’code’><pre>rake install</pre></td></tr></table></div>
</div> Далее следует настроить нашу копию Octopress на наш репозиторий <div class=’bogus-wrapper’>
<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 </pre></td><td class=’code’><pre>rake setup_github_pages</pre></td></tr></table></div>
</div> В процессе выполнения таски Octopress попросит у вас URL вашего репозитория. Я использовал ssh-версию URL-а, с HTTPS-версией почему-то не вышло. Напомню, составляется она по следующему шаблону: git@github.com:[username]/[reponame].git. То есть, для этого бложика получилось git@github.com:vessi/vessi.github.com.git.

Также в процессе установки Octopress переименует origin в octopress, а в качестве origin добавит адрес вашего репозитория. Ну, и еще Octopress создаст в вашем репозитории ветку source, в которой будут находиться все исходники вашего блога.

В принципе, уже в этот момент мы можем попробовать опубликоваться. Для этого существует отдельная rake-таска <div class=’bogus-wrapper’>

<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 </pre></td><td class=’code’><pre>rake gen_deploy</pre></td></tr></table></div>
</div> Впрочем, если вы предпочитаете проверять перед тем, как что-либо показывать, можно выполнять в два этапа: <div class=’bogus-wrapper’>
<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 2 </pre></td><td class=’code’><pre>rake generate rake deploy</pre></td></tr></table></div>
</div> Между ними можно выполнить еще rake preview - это запустит локальный веб-сервер на адресе http://0.0.0.0:4000, где вы сможете увидеть, что же вам нагенерировал Octopress.

После того, как мы убедимся, что все сгенерировалось нормально - стоит заглянуть в файл конфигурации. Он лежит в корне блога и носит название _config.yml. Названия параметров там self-describing, так что объяснять, на самом деле, особо нечего. Главное - не забудьте поставить <div class=’bogus-wrapper’>

<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 </pre></td><td class=’code’><pre>#encoding: UTF-8</pre></td></tr></table></div>
</div> в начале, так как у вас наверняка будут русские буквы. #### Создание первого поста Для создания поста достаточно выполнить команду <div class=’bogus-wrapper’>
<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 </pre></td><td class=’code’><pre>rake new_post\["Post title"\]</pre></td></tr></table></div>
</div> В моем случае квадратные скобки экранированы, так как я использую zsh, для которого квадратные скобки являются служебными символами. В случае с bash, насколько я знаю, это необязательно. Rake-таска создаст в source/_posts/ файлик с текущей датой и заголовком поста, в формате markdown. Отредактируйте его вашим любимым текстовым редактором, выполните <div class=’bogus-wrapper’>
<div class=”highlight”><table><tr><td class=”gutter”><pre class=”line-numbers”>1 2 3 4 5 </pre></td><td class=’code’><pre>git add . git commit -m "Initial post" git push origin source rake generate rake deploy</pre></td></tr></table></div>
</div> Поздравляю, вы только что опубликовали свою первую запись в блоге на GitHub!

Comments