Статья последний раз была обновлена 02.07.2024
А вы когда-нибудь задумывались, как ведут свои блоги настоящие хакеры? Хакеры, которые живут в консоли, сидят в берлогах и ломают Пентагон? Я вот не знаю, но предполагаю — они и блоги ведут из консоли, создают пост одной консольной командой, а загружают его на сервера Пентагона другой. И если вы вдруг подумали, что такого не существует, а я брежу, то глубоко ошибаетесь — где-то с 2012 года невероятную популярность приобрел Octopress — истинный Unix-way в мире блогов.
Почему я так думаю? А подумайте сами: Octopress — это генератор статических сайтов, построенный на фреймворке Jerkyll для языка Ruby, использующий Markdown для написания постов и GitHub Pages для их размещения. Если вы не поняли из перечисленного выше ни слова: поздравляю, вы нормальный человек, можете закрыть пост. Для остальных же: прежде всего, это средство создания полнофункциональных статических сайтов, которые могут быть размещены где угодно — хоть на своем сервере, хоть на Dropbox.
Установка
Внимание! Octopress, как и полагается хорошему софту, кросплатформеннен. Однако, устанавливать его под Windows категорически не рекомендуется: во-первых, виндовая консоль в принципе плохо дружит с UTF-8, во-вторых, проблемы могут вылезти в самом неожиданном месте. Если вы используете Windows — рекомендую установить любую виртуальную машину с OC Linux и работать с блогом из-под нее. Если вы используете Linux или Mac OS X, порядок действий следующий:
-
Устанавливаем необходимые для работы зависимости. В Mac OS X все зависимости установлены по умолчанию, для Linux, вероятно, их потребуется установить следующей командой.
sudo apt-get install ruby ruby-dev gcc make git
-
Скачиваем и распаковываем сам блог.
git clone git://github.com/imathis/octopress.git octopress cd octopress/
-
Устанавливаем зависимости. Потребуются права рута.
gem install bundler bundle install
-
Устанавливаем стандартную тему.
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 делается следующим образом:
-
Скачиваем программу lftp следующим образом:
sudo apt-get install lftp (Linux) brew install lftp (Mac OS X)
-
Открываем Rakefile, и вставляем следующий код:
ftp_user = "username" ftp_password = "password" ftp_server = "host" ftp_target = "/folder/" deploy_default = "lftp"
-
Теперь мы можем загрузить ваш блог на сервер, набрав всего одну команду:
rake deploy
А что дальше?
Разумеется, перечисленными выше возможностями Octopress не ограничивается. Это очень мощная платформа — и уложить все ее возможности в один пост немыслимо, поэтому здесь перечислены лишь самые основы. Остальное же можно найти по следующим ссылкам:
Кстати, еще одно преимущество Octopress — очень легкие страницы. Этот пост я писала в поезде, где телефон ловил только EDGE-интернет, и пока остальные страницы грузились минуту, мой блог грузился реактивно — за несколько секунд.
Удачи!
- Поднимаем веб-сервер на Ubuntu - 16.09.2024
- Переадресация домена на другой домен - 08.08.2023
- Как установить и удалить GNOME? - 31.07.2023