静的サイトでブログを持ちたいと思っていました。だって、ブログは長生きするし管理を簡単にしたいから。

ブログエンジンはいくつもあります。周囲をみると、なんとなくHugoが人気な印象を受けます。ただ、私はJekyllを選択しました。Jekyll選んだ理由ですが静的ブログエンジンとして昔からあるなあということ、それから私が最初に学んだ言語が、Rubyであったことです(こればかりは、ちょっとした懐古趣味です)。

もう一つ大きなところとして、私はJekyllのデフォルトテーマであるminimaの見た目が気に入っています。 おそらくこれが、決め手だったでしょう。

Jekyllは今から見れば古いソフトウェアです。 今後、もしかしたら機能不足を感じるかもしれませんが、そのときはそのときで。

見た目の調整

私はminima(Jekyllのデフォルトテーマ)の見た目にとても満足していて基本的には手を加えません。

しかし1点だけ、RSSフィードはいらないと思っています。 もう、あまり使う人はいなくなってしまいましたし……。 なのでこの表示を取り除きたいと思いました。

しかしminimaにはRSSフィードを非表示にするオプションはありません。

調べてみると「minimaのコードから_layoutをコピペしてきて改造して……」と言ったアイデアの提案が散見されています。しかし個人的にはこのような方法はupstream追従の観点からも好ましくないと考えます。

私はただRSSの部分を隠したいだけなので、それに直接対応する方法を考えたくなりました。

それから私は _plugins/injection.rb を書くことにしました。 これもまた、ある意味では、大げさなコードなのかもしれません。

Jekyll::Hooks.register :pages, :post_render do |page|
  if page.output.include? "</head>"
    page.output.sub! "</head>", "<link rel=\"stylesheet\" href=\"asset/style.css\">\n</head>"
  end
  if page.output.include? "</body>"
    page.output.sub! "</body>", "<script src=\"asset/script.js\"></script>\n</body>"
  end
end

しかしこれにより、私のJekyllサイトには、自作のJavaScriptとCSSを、何なりと好きに埋め込むことができるようになりました。まあ、これだけやっておいて、実際やったことはこれだけです。

.rss-subscribe {
    visibility: hidden;
}

しかし、こんな些細な見た目の変更ですが、思い通りに変更ができたことに、私は満足しています。

個人的なメモ

  • 数式の挿入:
    • _includes/mathjax.html に MathJax 3 のスニペットを配置する。
    • 数式を利用したいポストの本文に {\% include mathjax.html \%} を配置する。
    • すると、そのポストでは $f(x)$ のように数式の LaTeX スタイルのレンダリングができる。
  • 脚注機能
    • ^ を使うことで脚注をつけることができる 1 2
  • コードスニペット: Markdown らしく自然に書けばそれでよい。
def print_hi(name)
  puts "Hi, #{name}"
end
print_hi('Tom')
  1. 本文には入れたくないような余談を置いたり、リファレンスとなる URL を置いたりするのに使うと良さそう。 

  2. https://jekyllrb.com/