ブログ環境に対する現状の不満

· 1713文字 · 4分間で読めます

以前の投稿でも書いたが、このブログはGitHubにあるHugoのリモートリポジトリを、Netlifyでホスティングすることによって執筆している。
まだ片手の指で足りるくらいの投稿しかしていない中で、いくつか不満が出てきたので、その原因と対策方針をまとめてみる。

URLの末尾スラッシュ 🔗

いわゆるtrailing slashである。
人によってはこれは問題ではないのかもしれないが、私の趣味ではない。
たとえSEO的に不利であったとしても、ない方がシンプルでよい。
もちろん、そんな末尾のスラッシュのあり/なしでコンテンツの有利/不利が決まるような適当なシステムをGoogleが作るはずがないだろうが。

これはHugo自体が末尾スラッシュを推奨(強制)しているのが原因だ。
理由としては、多くのサーバで末尾スラッシュがある方が問題なく動作するから、ということだ。
つまり互換性である。

Hugoのシステム上、個々のページはただのhtmlファイルでしかない。
末尾スラッシュによって、対象URL配下のindex.htmlファイルをレスポンスしているため、これは仕方がないと言える。

多くの他の動的サイトのように、最初にルーティングが機能するようなシステムであれば自由に設定できるので、Hugoのような静的サイトジェネレータ特有の問題である(と思う)。

Netlifyの設定でリダイレクトすることはできそうだが、各ヘッドラインに対するリンク等、細かい部分の不満が解決できなさそうなので、これに関しては渋々許容とする。

タグやカテゴリに日本語を使うと、URLも日本語になる 🔗

これは本当に不満。
最近は日本語URLのサイトも増えてきたが、個人的には度し難い。

taxonomy/termに対してslugを割り当てることができないことが根本的な原因である。
slugを割り当てるにはページにするしかない。
であれば、各taxonomy/term用のページを作成し、アクセスを乗っ取ればよい。

つまりこうである。
例えば、“雑記"という名の日本語タグを用意したいなら、

my_site(root) /
 ├─ content /
    ├─ posts /
    ├─ tags /
       ├─ _index.md
       ├─ misc /
          ├─ _index.md

のように、各taxonomy/term用の_index.mdを作成し、front matterにtitleとslugを設定する。 次に、テンプレートのうち、taxonomy/termを表示している部分をすべて修正する。
最後に、taxonomyのpermalinkを設定すればよい。

が、あいにくこのブログは自作のテーマを使っているわけではないので、テンプレートの修正は工数が大きい。

一旦保留。

スマホから投稿できない 🔗

簡単な記事を執筆するくらいであれば、スマホから投稿したい。
ブラウザでアクセスして、GitHubアカウントでログインして連携すれば、シンプルなリッチエディタ(矛盾している?)でmarkdownのファイルを作成し、GitHubリポジトリへファイルをpushしてくれるようなシステムが欲しい。

コメント機能がない 🔗

これはコメント欄が必要かどうか辺りから議論するべきだとは思う。
まあ、そんな大それたものは求めていなくて、記事に対するリアクションが見れれば嬉しい程度のものだ。
ただ自前でDBは用意したくない。

例えば一定期間ごとに人気の記事を集計してHugoにフィードバック、一覧を出す程度のことであれば、 Google Analyticsと連携すればできそうな気もする。

逆に、Twitterなどで記事のURLとともに反応があった場合、それの一覧をページ下部に出力できたら便利かなと思って調べてみた。
今はWebmentionというのがあるらしい。
Webmention用のエンドポイントを叩いてくれる無料のサービスもあるようなので、こいつらを使って記事に対するリアクションを一覧化できたら面白いかもしれない。

投稿時刻がファイルの作成時刻になる 🔗

これもHugoの性質上仕方がないのだが、できればpushした時刻になってほしい。
いちいちpushするタイミングでdateを書き換えるのはめんどくさい。。

スマホでの表示が崩れている 🔗

これはテーマの問題。
自作するかぁ~~。