Перезапуск

Этот пост содержит много технических деталей, а к тому же устарел — этот блог теперь работает на Hexo, а не на Docpad. См. запись о том, зачем и как я веду блог.

Перевёл этот блог на новую платформу. Я никогда не писал про мета-блогинг — описывать процесс и технические нюансы мне не очень интересно. Но в данном случае расскажу о новом сетапе, так как мне он очень нравится и, возможно, окажется полезным кому-то ещё.

Теперь вместо Wordpress для этого блога я использую генератор статичных сайтов Docpad.

Мне нравится, как развивается Wordpress; мы использовали и продолжаем использовать его на десятках проектов, но в качестве CMS для гика, коим я определенно являюсь, он не очень удобен.

Во-первых, меня смущала необходимость работы через административный интерфейс. Нужно авторизоваться, написать и отформатировать текст (или вставить готовый html), загрузить картинки, вставить их в текст, заполнить мета-данные. На медленном подключении, например, в путешествии, это становится настоящим мучением. Для редактирования текстов куда удобней использовать десктопный редактор. Например, iA Writer для черновиков (он умеет работать с базовым форматированием markdown) или Sublime Text, в который предоставляет продвинутые инструменты для работы с текстом (перемещение строк, работа с несколькими строками сразу, поиск и замена с использованием регулярных выражений, расстановка скобок — в том же Райтере при редактировании этого очень не хватает).

Во-вторых, мой блог обновляется довольно редко (иногда раз в несколько месяцев) и генерация файлов на лету — так по умолчанию работает Wordpress — ему не нужна. При моих настройках кэширования Wordpress и так создавал статические файлы, которые хранились до следующей публикации, но всё это происходило на сервере. Приходилось обновлять сам Wordpress, плагины, следить, чтобы после обновления ничего не развалилось. Не было полного контроля над тем, какой код получается на выходе.

Docpad работает иначе — он создаёт статичные html-файлы. Единственная потенциально динамичная часть любого блога — комментарии. Для них я уже давно использую сервис Disqus, поэтому при переезде ничего не потерялось. Единственный минус по сравнению с Worpdress — комментарии теперь живут только на сервере Disqus, в то время как плагин для Вордпресса копировал их в локальную базу и выводил в теле страницы. Но, к сожалению, осмысленных комментариев я за всё время получил не так и много, так что вселенная в маловероятном случае закрытия сервиса ничего не потеряет, на этот риск я готов пойти ради простоты и удобства и присягнуть Disqus’у.

Я выбрал Docpad, а не Jekyll или Octopress, которые я пробовал (на последнем даже запустил небольшой сайт), так как теперь на всех проектах использую Grunt (смотрите, например заметку про grunticon), инфраструктура и стиль nodejs мне знакомы и привычны, да и Javascript я знаю определенно лучше Ruby.

Я использовал скелет блога за авторством Артёма Сапегина, за который ему большое спасибо. Немного пришлось повозиться с тем, чтобы сохранить имевшуюся у меня структуру URL (glebkalinin.ru/postname), а также с импортом постов из старого блога — при конвертации данных, экспортированных из Wordpress, в markdown, исчезли все видео и специальная разметка (я использовал двухколоночный лэйаут), но это издержки производства и со временем я с ними справлюсь. В остальном миграция заняля относительно немного времени, затраты которого компенсируются тем, что теперь публиковать заметки быстрее и приятнее.

Пока что я храню все файлы локально и использую самый простой способ синхронизации — rsync, чуть позже перенесу все данные в git (и, возможно, открою pull-request’ов как гиковскую альтернативу Орфусу).

Хотите обсудить содержимое заметки? Напишите мне email или сообщение в твиттере. Я отвечаю на все вежливые сообщения, и готов дополнить заметки ценными дополнениями.