github + jekyll = blog

Пару месяцев назад я начал пользоваться сервисом github pages. Мне очень понравилась идея хранить сайт в репозитории. До последнего момента я использовал его только как визитку и для делегации OpenID. Тогда я узнал, что содержимое страницы парсится с помощью jekyll, но, к сожалению, тогда у меня не было достаточно времени чтобы посмотреть на него, да и задачи как-то не стояло. А вчера я прочитал в buzz анонс блога Виталика Куликова, который он открыл на tumblr. Если честно, он мне не очень понравился, наверное, из-за кривоватой темы, и я вспомнил про jekyll. Этот пост собственно посвящен моим экспериментам с ним.

Итак, для меня в блоге важно наличие всего нескольких вещей и полностью отсутствие всего остального:

  1. удобный язык разметки. Jekyll поддерживает textile и markdown, кроме этого любой html-документ является валидным документом для jekyll.
  2. подстветка синтаксиса. Jekyll реализует её с помощью pygments кроме того всегда можно использовать gist.
  3. простое, надежное и удобное хранилище для статей. git для этого идеально подходит.
  4. генерация atom/rss. С jekyll это делать достаточно легко благодаря liquid.
  5. надёжный хостинг. Я считаю что github будет достаточно надежным хостингом для этого блога, тем более, что он полностью статический и его очень легко кешировать.
  6. и, наконец, комментарии в блоге. Я думаю, что для этого я буду использовать disqus, как и Виталик. И, если там исправят наконец баг с OpenID, то будет вообще супер.

На последок несколько отрывков кода, чтобы проверить подстветку.

class GreaterClass
  def initialize(username)
    @username = username
  end

  def hello
    puts("Hello, [email protected]}!")
  end
end
GreaterClass.new(ENV['USERNAME']).send(:hello)

$ USERNAME=world ruby hello.rb
Hello, world!

Ссылки

  1. репозиторий jekyll
  2. Tom Preston-Werner, автор jekyll и cofounder of github
  3. статья “Blogging Like a Hacker”
  4. исходный код этой статьи