はてなブログで「続きを読む」記法を"擬似的"に実現する方法を試してみる
はてなブログでは、はてなダイアリーでは使えた「続きを読む」記法が使えない。
しかし、「続きを読む」記法をはてなブログ上でも実現する方法が紹介されている。
ただし、後述するようにあくまでJavaScriptを使って閲覧者のブラウザ上で"擬似的"に再現したもの。はてなダイアリーにおける「続きを読む」記法とは挙動が異なる点がいくつかある。それは、はてなダイアリーではサーバー側で処理している部分なので仕方無いのだけれど。
■コードをサイドバーに貼るだけ
必要な作業は、上の記事で掲載されているJavaScriptコードをサイドバーに貼るだけ。簡単だ。サイドバーへのコード貼り付けは、デザイン設定ページのカスタマイズメニューで、サイドバーにHTMLモジュールとして追加すれば良い。
サイドバーにコードを追加することで、「続きを読む」記法("====")が使われている記事は…
- トップページ
- カテゴリーページ
…において、記事内の「続きを読む」記法("====")以降が折り畳まれる。そして、表示される「続きを読む」をリンクをクリックすると、記事個別ページが表示される。
■はてなダイアリーの「続きを読む」記法との違い
ただし、あくまでJavaScriptを使って閲覧者のブラウザ上で"擬似的"に再現したものなので、次に挙げる点が、はてなダイアリーとは異なっている。
- (1). 「続きを読む」記法("====")以降の部分もまず全て読み込んでから消している
- (2). 「続きを読む」に張られたリンク先は、「続きを読む」記法("====")以降の先頭箇所へのアンカーではない
要するにこれは、はてなダイアリーではサーバ側の処理で実現している部分。JavaScriptでは再現不能なので仕方が無い。
つまり、例えば、トップページの読み込みを速くしたい人にとっては、このはてなブログで「続きを読む」記法を"擬似的"に実現する方法は求める解決方法にはならない。
一つの記事にけっこうな量の長文を書く人や、YouTubeやニコニコ動画など読み込みが重いパーツ、サイズの大きな画像を大量に貼り付ける人は、複数の記事を同時に読み込むトップページの表示が重くならないように、「続きを読む」記法を使って記事を折り畳んで表示している事が多いと思う。
残念ながらこの方法では、長文もYouTubeやニコニコ動画など読み込みが重いパーツ、サイズの大きな画像も、まず全て一度ブラウザに読み込まれてから非表示になる。
したがって、この方法を利用すると便利なのは、長文記事ばかりを書いていてトップページが非常に長いページになって見辛そうで嫌だ、長文記事を折り畳んで表示したい、という場合だ。トップページやカテゴリーページの見た目をスッキリさせることはできる。しかし、ページの読み込みを軽く、速くすることはできない。
■なぜ、はてなブログでは「続きを読む」記法が実装されないのか?
それにしても、なぜ、はてなブログでは「続きを読む」記法が今になってもなお実装されないのだろう。
思うに、はてなダイアリーとはてなブログの技術上の違いが関連しているのではないだろうか。
前の記事でも書いたように、はてなダイアリーは表示するたびに記事を動的生成しているが、はてなブログは記事の一部を静的生成にすることで表示時にシステムにかかる負荷を軽減させているそうだ。
はてなダイアリーと違い、はてなブログは、はてな記法の展開を静的生成(キャッシュ化)しているそうだ。
トップページやカテゴリーページにおいて、「続きを読む」記法("====")より上の部分だけをブラウザに読み込ませようとすれば、たぶん、はてなダイアリーと同様にページを表示するたびに動的生成する処理が必要になる。あるいはトップページやカテゴリーページ用に別途キャッシュを作る必要がでてくる。恐らくは、現時点では、そういう処理をはてなブログに追加しない状態でベータテストを行い、システムへの負荷状況を観察し、部分的に静的生成化されたはてなブログと、動的生成のはてなダイアリーとの比較を行いたいということなのだろう。たぶん。
以前も書いたけれども、やはり、はてなブログ(β)は依然としてベータテストと言うよりは、まだまだシステムの骨組みの負荷耐久テストを行うアルファテスト段階なんじゃないだろうか?