2012-04-22

Blogger でサイトマップを表示するツールを、投稿が 500 件以上あるブログにも対応させてみた

こないだ、Blogger Tips でこんなのを書いた。 紹介したのは、短いコードを挿入するだけで、自動的にブログの投稿をラベル別に一覧にしてくれる便利なツール。とはいえ、何分 Blogger のフィードを JSONP で出力させているため、投稿が 500 件までしか取得できないという制約が…。

それで、blogtoc のコードを眺めまわして、コールバックに指定されている関数でデータの取得と表示を一手に行っていたのを、取得のみにして、複数のフィードのデータを読み込んだ後に表示の関数を呼び出すことにした。

元がこちら(オリジナルを整形したもの)。 で、複数フィードを指定できるようにしたのが、こちら。
導入方法

Blogger の管理画面「ページ」タブのリンクを「新しいページ」→「空白のページ」と進み、出てきたページエディタを「HTML」モードにした上で、本文の位置に、以下のコードを入力。赤字の部分は自身のブログの URL に変更すること。

<script type="text/javascript" src="http://tools.kuribo.info/blogtoc/blogtoc-plus.js"></script>

<script type="text/javascript" src="http://www.kuribo.info/feeds/posts/summary?alt=json-in-script&callback=loadtoc&max-results=500&redirect=false"></script>
<script type="text/javascript" src="http://www.kuribo.info/feeds/posts/summary?alt=json-in-script&callback=loadtoc&max-results=500&start-index=501&redirect=false"></script>
<script type="text/javascript" src="http://www.kuribo.info/feeds/posts/summary?alt=json-in-script&callback=loadtoc&max-results=500&start-index=1001&redirect=false"></script>

<script type="text/javascript">showPosts();</script>

3 行目からの各フィードで、投稿を 500 件ずつ取得するので、start-index パラメータで、投稿の開始番号を 500 番ずつずらして指定すること。ブログで必要な投稿分この行を増やすといいかと。ちなみに、指定なしは start-index=1 と解釈される。

最後に JavaScript の showPosts 関数(blogtoc-plus.js で定義)を呼び出して、取得した投稿データをソートして書き出す、と。

ブログの投稿数が 500 件を超えている人は、一度お試しを。

参考:
追記(2012-06-03)

こういうコメントが。
NEW!がかなり古い投稿にもついてしまうのですが、なぜでしょうか?
タイトルと一緒に投稿日付を表示することはできせんでしょうか?
別ウィンドウで開くようにすることは可能ですか?
フィードごとに、新しい投稿 10 件「NEW!」が表示されるようになっていました。元々のコードは複数のフィードを読み込むようになっていないので、まあ当然といえば当然。最初のフィードの新投稿 10 件だけ「NEW!」をつけるように修正しました。

「導入方法」で示したコードの

<script type="text/javascript">
  var openNewWindow = true;
  var showDate = true;
</script>

というのを挿入すると、リンクを新しいウィンドウで開く、投稿の日付を表示するというオプションが有効になるようにしました。

参考:
スポンサードリンク:

お願い:
「このエントリ役に立った!」と思ったら、ぜひ フィード 登録をお願いします。 

19 comments:

  1. これは凄いですね、試しにやってみましたが本当に簡単に出来ました。
    ありがとうございます。

    ReplyDelete
  2. 一応テストはしたものの、ちょっと自信がなかったため、こちらで公開しました。ちゃんと動いているようでよかったです。コメントありがとうございます。

    ReplyDelete
  3. いつも参考にさせてもらってます。すごーい、便利ですね。投稿編集画面とはまた違って、過去投稿を整理するのにも役立ちそうです。ありがとうございます。
    3つ質問です。
    NEW!がかなり古い投稿にもついてしまうのですが、なぜでしょうか?
    タイトルと一緒に投稿日付を表示することはできせんでしょうか?
    別ウィンドウで開くようにすることは可能ですか?
    http://dutchphotos.blogspot.nl/p/blog-page_02.html
    お時間の許すときに教えていただければ助かります。よろしくおねがいします。

    ReplyDelete
  4. コメントありがとうございます。コード修正しました。
    記事に使い方を追記していますので、ご確認ください。
    これからも、よろしくお願いします。

    ReplyDelete
  5. 早速のご対応感謝です。
    で、コード追加こころみたのですが・・うまくいきません (;^_^A

    3点とも解決できませんでした。これをヒントになんとか自力解決しようと思ったものの、ギブアップ。重ね重ねすみません・・
    うまく表示されない可能性はなんでしょうか?よろしくお願いします。

    ReplyDelete
  6. え、前回示された URL 上で、新しいコード、ちゃんと動いているようですが…。スクリプトの古いキャッシュがブラウザに残っているのではないかと思います。

    http://tools.kuribo.info/blogtoc/blogtoc-plus.js

    を再読み込みしたあと、サイトマップページを表示してみてくださーい。

    ReplyDelete
  7. あと、Google Analytics のトラッキングコードでエラーが出ているようです。
    コードを加工せずに(<br /> とか入れずに)そのまま貼り付けると、改善されると思います。

    ReplyDelete
  8. 実は、私もキャッシュ?と思って試行錯誤してみたのですが・・別のPCでみたら上手くいきました。
    お手数かけました。

    こちらで紹介させていただきました。
    http://dutchphotos.blogspot.nl/2012/06/blogger.html
    2007年にやっぱりクリボウさんにお世話になった形跡が・・・これも一覧のおかげです。本当に感謝。これからもよろしくおねがいします。
    http://dutchphotos.blogspot.nl/2007/07/blog-post_3704.html

    ReplyDelete
  9. ありがとうございます。標準 Blogger にはこういう一覧機能がないのでかったるいなあと思っていたのですが、これで解決しました。小生の三つのブログにさっそく導入させていただきました。

    ReplyDelete
  10. 少し blogger をしてないと、昔は出来たこともすっかり忘れてしまい途方にくれます。
    クリボウさんの記事は忘れんぼうに超お役立ちです。
    僕も設置させて頂きました。
    ありがとうございます!

    ReplyDelete
  11. はじめまして。とても役に立つ機能ですね。

    4コマ漫画のサイトをやっておりまして、新しくいらした方が古い記事から読めるように
    できたらなあと思うのですが、一番古い記事から表示することは可能でしょうか?
    現在は、ラベル別にあいうえお順に並んでいるみたいなのですが...

    http://sakura4koma.blogspot.jp/p/blog-page_21.html

    解決法がございましたら、ご教示いただけますでしょうかm(_ _)m

    ReplyDelete
  12. 大変、参考になりました。ありがとうございました。

    ReplyDelete
  13. 世界の情報・笑い・幸せをブログに載せております!最近では少しづつアクセスも増えてきております^^よかったら一度是非見に来ていただければと思いますm(__)m
    www.kamiomo.com

    ReplyDelete
  14. 世界の情報・笑い・幸せをブログに載せております!最近では少しづつアクセスも増えてきております^^よかったら一度是非見に来ていただければと思いますm(__)m
    www.kamiomo.com

    ReplyDelete
  15. mcafee.com/activate registered trademarks, company names, product names and brand names are the property of their respective owners, and mcafee.com/activate disclaims any ownership in such third-party marks. The use of any third party trademarks, logos, or brand names is for informational purposes only, and does not imply an endorsement by mfmcafee.com or vice versa or that such trademark owner has authorized mfmcafee.com to promote its products or services.


    office.com/setup is an independent support and service provider for the most secure remote technical services for all Office products. Our independent support services offer an instant support for all software related errors in the devices, laptops, desktops and peripherals. We have no link or affiliation with any of the brand or third-party company as we independently offer support service for all the product errors you face while using the Office. If your product is under warranty, then you may also avail our support services for free from manufacturer’s official website office.com/setup.

    mcafee.com/activate is an independent support and service provider for the most secure remote technical services for all norton products. Our independent support services offer an instant support for all software related errors in the devices, laptops, desktops and peripherals. We have no link or affiliation with any of the brand or third-party company as we independently offer support service for all the product errors you face while using the norton. If your product is under warranty, then you may also avail our support services for free from manufacturer’s official website norton.com/setup.

    ReplyDelete
  16. norton.com/setup -Norton.com/setup - Find all the steps to download, install, and activate Norton antivirus. Go to norton.com/setup, log in, redeem your product key, and download the setup .

    office.com/setup - office.com/setup - To get started Office 2019, 2016 and office 365 download or installation you must need valid 25 character product key, visit on office.com/setup.

    mcafee.com/activate - mcafee.com/activate - Type the 25-digit alphanumeric product key on www.mcafee.com/activate and get started with the download, install, activation procedure of McAfee antivirus.

    ReplyDelete
  17. mcafee.com/activate - McAfee Retail Card activation at www.mcafee.com/activate, enter your product key for Activate. Download & Install McAfee Antivirus Software.
    Visit norton.com/setup to install fee or paid version of the software. Know how to install norton setup and Norton core to secure your Wi-Fi network.
    office.com/setup - Download Setup, Redeem Product Key and Install Office on your computer from www.office.com/setup with Microsoft Account.

    ReplyDelete

  18. Hello, I'm Smith Machinist . If you are facing issues with any office product then you can visit my website.
    norton.com/setup | Office.com/setup | McAfee.com/activate

    ReplyDelete

Zenback - Everyone's Related Posts