Создание блога на Octopress
Первый пост будет, конечно же, о том, как я ставил и настраивал этот блог.
Всё работает на фреймворке Octopress для Jekyll. Почитать, что это такое, можно тут и здесь.
Установка
Вот инструкции, которыми я пользовался:
- http://www.techelex.org/setup-octopress-on-windows7/ - установка Ruby в среде Windows и настройка фреймворка;
- http://schuyler.info/blog/how-to-setup-a-new-octopress-blog-on-github-pages.html - настройка и собственный домен;
- http://webdesign.tutsplus.com/tutorials/getting-started-with-octopress--webdesign-11442 - ещё пара деталей по настройке и кастомизации.
Windows
Официального манула в списке нет, а я обычный вендопользователь, потому вот моя инструкция для Windows 8.1 x64 (но подойдёт для любой, я думаю). Хотя, “моя” - громко сказано, так как она почти полностью повторяет первый источник из приведённых выше.
Желательно всё ставить по пути без пробелов и кириллицы. Все настройки в установщиках более-менее по умолчанию, если вы не шарите что куда. Я бы только советовал убрать встраивание команд Git
в контекстное меню Windows и создание всяких ярлыков. Если где-то будут спрашивать про редактирование системной переменной PATH
- непременно соглашайтесь. Если не спросят, то проверьте, чтобы в ней оказались пути до Git
и Ruby
.
- Поставить Git. Я ставил по пути
D:\Programs\Git\
- Поставить Ruby. Я ставил по пути
D:\Programs\Ruby\
- Загрузить Development Kit для Ruby. Архив можно распаковать туда же, куда ставили Ruby, только создать для него дополнительную папку. Я распаковал по пути
D:\Programs\Ruby\DevKit\
- Поставить ActivePython - будет нужно для подсветки синтаксиса. В ряде манулов об этом не пишут, видимо, подразумевается, что у всех и так есть. Также обратите внимание, что нужна версия 2.7.x или какая там будет второй ветки, потому что с 3.x веткой работать не будет.
Теперь создайте где-то каталог, в котором будут лежать файлы вашего блога. У меня это здесь: D:\code\www\blog\
Открываем cmd.exe
и разворачиваем Development Kit
:
cd D:\Programs\Ruby\DevKit\
ruby dk.rb init
ruby dk.rb install
Так как Git
уже установлен, то путь к его бинарникам должен быть в переменной PATH
.
cd D:\code\www\blog\
# замените ТВОЙАДРЕС на username.github.com (username тоже поменять, разумеется)
git clone git://github.com/imathis/octopress.git ТВОЙАДРЕС
cd ТВОЙАДРЕС
gem install bundler
bundle install
rake install
Mac OS
Сначала Git. Открыть терминал и выполнить команду:
git --version
Если Git не установлен, то система предложит поставить Xcode Command Line Tools
. Ставим его, Git появляется.
Ставим Homebrew (там написано, как). Ставим Ruby. Точнее, оно уже стоит, скорее всего, но тем не менее, обновляем тогда до актуальной версии:
brew install rbenv ruby-build rbenv-gem-rehash
rbenv install 2.3.0
rbenv global 2.3.0
ruby -v
Хотя когда я потом пробовал ставить то же самое, оно мне выругалось на rbenv-gem-rehash
, так что я его просто удалил из этого списка.
Кстати, а почему именно 2.3.0? Ну просто тогда это был самый последний. Если хотите актуальный, то выполните rbenv install -l
, чтобы посмотреть, какой там щас.
Ставим вот такую штуку:
gem install bundler
rbenv rehash
Создаём каталог для блога ~/Documents/www
и переходим в него. Ставим Octopress:
git clone git://github.com/imathis/octopress.git ТВАЁИМЯ.github.io
Теперь:
cd ТВАЁИМЯ.github.io
bundle install
rake install
Запуск
Идём на GitHub и создаём новый репозиторий с названием ТВАЁИМЯ.github.io
. Клонируем его в ТВАЁИМЯ.github.io/_deploy/
(вернувшись обратно в корневой каталог блога):
cd ..
git clone https://github.com/ТВАЁИМЯ/ТВАЁИМЯ.github.io.git _deploy
Оно скопирует ваш репозиторий блога в эту папку. Теперь выполняем команды:
rake setup_github_pages
rake generate
rake deploy
Оно сгенерирует страницы блога и сложит их в ТВАЁИМЯ.github.io/_deploy/
, а также попытается выполнить коммит в ваш репозиторий и отправить всё на сервер. Если оно этого не сделает (не сможет выполнить git push
), то надо будет сделать это вручную (находясь в каталоге /ТВАЁИМЯ.github.com/_deploy
):
cd _deploy
git add .
git commit -m 'your message'
git push origin master
Или как-то так. Помню, в прошлый раз я что-то там тоже мудрил не с первого раза.
Ваш блог станет доступен по адресу https://ТВАЁИМЯ.github.io
через пару минут.
Настройка Octopress
Основные настройки хранятся в файле _config.yml
в корне. Там парой взмахов можно прилепить к блоку каменты и всякую социальную хрень.
Там же можно настроить формат даты, если не нравится предлагаемый по умолчанию. Я взял такой:
date_format: "%d.%m.%Y"
Ну и, конечно, поменяйте название и подзаголовок блога.
Подсветка синтаксиса
Вот тут всё пошло плохо. Из коробки она работать отказалась. На Stack Overflow рекомендовали откатываться на pygments
версии 0.5.0, тогда как сейчас актуальная 0.6.0. В общем, я попробовал, не помогло, и тогда вернул обратно свежую. Через некоторое время выяснилось, что должен быть установлен Python
, как писалось выше.
После его установки подсветка синтаксиса языков заработала, но проблемы на этом не закончись, и решить их не удалось:
- не отображаются номера строк (ни сначала, ни
start:22
); - не работает подсветка указанных строк (параметр
mark:52,54-55
, например); - не включается светлая схема.
Через некоторое время я перешёл на другую систему подсветки синтаксиса.
RSS
По умолчанию в RSS-ленту попадает вся статья целиком, что неправильно - в RSS должны попадать только заголовки или хотя бы первые абзацы статей. Однако, тут такое предусмотрено: для этого в статьях используется разделитель <!--more-->
, который следует ставить после первого абзаца. Но этого недостаточно, нужно ещё во всех (потому что я не знаю, в каком точно) файлах atom.xml
поменять значения post.content
на post.excerpt
.
На этом всё, остальное можно прочитать в массе источников.
Как постить
Забыл сказать, что вообще все операции делаются через терминал. Создание новых постов тоже:
# если сегодня 30.07.2014, создаёт файл source/_posts/2014-07-30-mah-first-post.markdown
rake new_post["Mah first post"]
Этот файл теперь можно открыть и написать в нём пост. Используется разметка Markdown, но никто не запрещает пилить с HTML
.
Когда закончите написание, сохраните файл и выполните команды:
# сборка блога из исходников, включая новые страницы, посты
rake generate
# запускает веб-сервер на 4000 порту (http://localhost:4000/) для предпросмотра (CTRL+C останавливает)
rake preview
# копирует собранный блог в каталог публикации, выполняет коммит и отправляет на сервер
rake deploy
Можно идти смотреть в сети по адресу блога.
По ряду причин я решил переехать на Hugo.
Social networks
Zuck: Just ask
Zuck: I have over 4,000 emails, pictures, addresses, SNS
smb: What? How'd you manage that one?
Zuck: People just submitted it.
Zuck: I don't know why.
Zuck: They "trust me"
Zuck: Dumb fucks