2018年7月30日月曜日

bloggerで特定ラベルの投稿一覧を出す version 2

自分の以前のブログ記事「bloggerで特定ラベルの投稿一覧を出す」で方法を紹介して、このブログでもそれを使ってました。
それを見て、私のscriptを使ってくださる方もいらっしゃるようで、あるヘビーなブロガーの方に、ひとつのラベルに記事がたくさんあると全部表示されない、と教えていただいた。
調べてみると、150本以上記事のあるラベルを表示させようとすると、それ以上表示できない様子。
たくさん記事をアップしないと発見できない現象で、うちのブログは、記事数が少ないので発見できていなかった。
blogger APIでとれるfeedの最大数が原因だったんですけど、ただ、もともと最大150だったわけではなく、元々500だったのが2015年の末頃に減らされたらしいとのこと。

今見たら、私の元記事は、2012年でした。結構前なのね・・・
というわけで、いい機会なので同一ラベル記事150本超の場合にも対応して、version 2にしたので、記事をアップしました。

使い方は、Blogger の管理画面「ページ」から新しいページを作りhtml編集モードにして

<div id="entry_list_by_label"><script src="https://cdn.rawgit.com/choniwaniwani/wasure/92f7a895/toc/bloggerFeeds.2.js"></script>
<script>load_entry_list("ラベル名称");</script></div>
を貼り付けて、ラベル名称を書き換えるだけです。
こんな感じの同一ラベル記事をまとめたページを作成します。

ラベル名称は、そのまんまラベルの名前です。日本語でもOKでした。
で、このタグ貼付部分より前や後に普通に文章入れてもOKです。

タグ内部に入れてもいいので、レイアウトは多少カスタマイズできます。リンクのaタグには'linkHref'という名前の未使用classも入っているので、cssでカスタマイズも可。


以下、javascriptのコードに興味ある方向けの内容です。

なお、codeは、githubにおいてありますので、javascriptいじれる方は、勝手にコピって改造して使ってもOKです。
コード内で、feedを呼ぶところは、これなんだろうという感じですが、詳しいパラメータの解説は、こちらにあります。
ただし、この中には、bloggerでは使えないパラメータもあります。(やってみないとわからない。)

あと、今回bloggerのhtml編集画面の変な仕様というかバグを見つけたのですが、bloggerは、全角の記号をすべて勝手にescapeしてしまうようです。 それなので、たとえば、javascriptの文字列の中でも・(中黒)があると&#12539;になってしまいます。
全角なんだからほっといてほしいですほんとに。それで、最初ラベル名に中黒が入っていると動かないという謎の現象が発生していました。