Octopress: как вести блог в стиле Unix-way | Squizduos SlowBlog



А вы когда-нибудь задумывались, как ведут свои блоги настоящие хакеры? Хакеры, которые живут в консоли, сидят в берлогах и ломают Пентагон? Я вот не знаю, но предполагаю — они и блоги ведут из консоли, создают пост одной консольной командой, а загружают его на сервера Пентагона другой. И если вы вдруг подумали, что такого не существует, а я брежу, то глубоко ошибаетесь — где-то с 2012 года невероятную популярность приобрел Octopress — истинный Unix-way в мире блогов.

Почему я так думаю? А подумайте сами: Octopress — это генератор статических сайтов, построенный на фреймворке Jerkyll для языка Ruby, использующий Markdown для написания постов и GitHub Pages для их размещения. Если вы не поняли из перечисленного выше ни слова: поздравляю, вы нормальный человек, можете закрыть пост. Для остальных же: прежде всего, это средство создания полнофункциональных статических сайтов, которые могут быть размещены где угодно — хоть на Narod.ru, хоть на Dropbox, хоть на своем сервере.

Установка

Внимание: Octopress, как и полагается хорошему софту, кросплатформеннен. Однако, устанавливать его под Windows категорически не рекомендуется: во-первых, виндовая консоль в принципе плохо дружит с UTF-8, во-вторых, проблемы могут вылезти в самом неожиданном месте. Если вы используете Windows — рекомендую установить любую виртуальную машину с OC Linux и работать с блогом из-под неё. Если вы используете Linux или Mac OS X, порядок действий следующий:

  1. Устанавливаем необходимые для работы зависимости. В Mac OS X все зависимости установлены по умолчанию, для Linux, вероятно, их потребуется установить следующей командой

    sudo apt-get install ruby ruby-dev gcc make git

  2. Скачиваем и распаковываем сам блог:

    git clone git://github.com/imathis/octopress.git octopress cd octopress/

  3. Устанавливаем зависимости. Потребуются права рута:

    gem install bundler bundle install

  4. Устанавливаем стандартную тему:

    rake install

Пишем первый пост

Чтобы создать пост — просто набираем:

rake new_post[‘Заголовок поста’]

Посты расположены в папке source/_posts/. Пишутся они на языке Markdown — в принципе, даже не умеюший программировать человек разберется с ним легко: просто откройте Markdown Cheatsheet и следуйте инструкциям. Интерес представляет, прежде всего, шапка генерируемого поста — она выглядит следующим образом:

layout: post

title:  Заголовок вашего поста

date: 2015-06-29 20:29:04 +0300 # Дата создания поста

comments: true # Комментарии разрешены

categories: # Теги вашего поста. Если несколько — перечисляются так: [cat1, cat2, cat3]

Для русскоязычных блогеров особенное внимание стоит обратить на имя сгенерированного фвйла. По умолчанию,краткий заголовок вашего поста, отображаемый в URL, генерируется из заголовка поста, и виден в названии файла после даты создания. Для постов на русском это очень неудобно: в адресной строке браузера будет что-то вида zagolovok-vashego-pervogo-posta.html. Соответственно, его стоит заменить на более читаемое — для этого достаточно переименовать файл.

Ещё стоит отметить, что отделить краткое описание поста (то, что отображается на главной странице) от основного текста можно тегом:

< !– mоrе –>

Когда пост написан — его всегда хочется посмотреть. Для этого набираем в консоли:

rake preview

Затем набираем в браузере http://localhost:4000 или http://your-virtual-machine-ip:4000, если вы работаете посредством виртуальной машины. Если вы работаете из-под виртуальной машины — потребуется пробросить порт, как правило, это можно сделать в настройках ВМ. Rake preview автоматически отслеживает все изменения в файлах, поэтому вы можете запустить его, писать пост и поглядывать на изменения.

Настраиваем сам блог

Octopress не был бы истинным хакерским блогом, если бы в нем не настраивалось все. Это достигается за счет использования Rakefile — когда вы запускаете rake preview, или rake generate, блог просто следует инструкциям из Rakefile, расположенного в корне. Базовые же настройки хранятся в _config.yml — в основном, там всё ясно из комментариев, самая интересная часть расположена вот здесь:

root: /

Да, мы можем настраивать вид ссылок в блоге. Что это значит? По умолчанию, все посты в блоге выглядят так: http://yourblog.com/2015/06/new-post.html. Вас это может не устраивать — тогда, необходимо поменять на устраивающие параметры. Например, в моем блоге все ссылки выглядят, как /posts/post-titie/, потому как они так выглядели в Anchor CMS, и я хотел, чтобы ссылки были совместимы. Нет проблем — прописываем в конфиг-файле:

permalink: /posts/:title/

Вторым интересным моментом является установка тем. Для Octopress их написано очень много — красивых, хороших и разных, лучшие опубликованы здесь: 3rd Party Octopress Themes. Большинство тем устанавливается следующим образом:

git submodule add GIT_URL .themes/THEME_NAME

rake install[‘THEME_NAME’]

Публикуем пост

После того, как вы настроили блог, можно его сгенерировать:

rake generate

После генерации вы получите статические HTML, CSS и JS-файлы в папке public. Осталось его залить на хост — и ваш блог доступен всем. Однако, вот тут есть одна проблема, о которой стоит упомянуть: по умолчанию, Octopress поддерживает публикацию сайта через Git и Rsync. В России, да и не только, для загрузки контента на хост используется FTP. Публикация через FTP делается следующим образом:

  1. Скачиваем программу lftp следующим образом:

sudo apt-get install lftp (Linux)

brew install lftp (Mac OS X)

  1. Открываем Rakefile, и вставляем следующий код:

ftp_user       = “username”

ftp_password   = “password”

ftp_server     = “host”

ftp_target     = “/folder/”

deploy_default = “lftp”

Теперь мы можем загрузить ваш блог на сервер, набрав всего одну команду:

rake deploy

А что дальше?

Разумеется, перечисленными выше возможностями Octopress не ограничивается. Это очень мощная платформа — и уложить все её возможности в один пост немыслимо, поэтому здесь перечислены лишь самые основы. Остальное же можно найти по следующим ссылкам:

Удачи!

P.S Кстати, ещё одно преимущество Octopress — очень лёгкие страницы. Этот пост я писал в поезде, где телефон ловил только EDGE-интернет, и пока остальные страницы грузились минуту, мой блог грузился реактивно — за несколько секунд.


http://squizduos.me/posts/octopress-for-you/

Губарь Маргарита Александровна