Pages

2005-11-23

Blogger でも Category

以前の記事のコメント欄Envy さんに教えてもらったのがこのページ。

ここで紹介されているカテゴリ表示(のようなもの)は Google Blog Search の検索結果を RSS で出力し、それを Feed2JS でページ内に書き出すという方法をとっています。

おもしろいなと思ったのは、検索すべき単語(カテゴリ)をカテゴリ表示ページの URL 末尾のパラメータで飛ばし JavaScript で受け取り、それをソースにした Feed2JS の呼び出しスクリプト自体をスクリプトで書き出すという仕組み。そのおかげで同一ページで色んな結果を表示できるようにしているのです。

なかなか技ありの方法なんですが、ここで紹介されているスクリプトだと文字エンコードの関係で日本語のサイトでは使えないので、クリボウがチョコっといじりました。いじり出すと欲が出て、ついでについでにと結局色々なところを改良しました。

変更点
  • ブログ URL の変数もパラメータで渡すように。
    (スクリプト内の変数を変更しなくてもいい、つまり JS ファイルを各自でアップロードしなくていい)
  • Feed2JS の設定を変更し、Unicode(UTF-8)で書き出すように。
  • Feed2JS メインはサーバーが落ちやすいので、ミラーを使用。
  • Unicode 以外のブログでも文字化けしないように。
  • 投稿日時順に結果が表示されるように。
  • 結果表示数の上限を 20 件から 100 件に。
  • RSS のチャンネルデータを非表示に。
  • スクリプトで書き込まれる div 要素に rss_box_category というクラス名を。
    (CSS で見栄えを変更することができます。)
ええっと、技術的な説明ばかりですみません。実は仕組みがどうなっているのかわからなくても別に問題ないのです。ので、次に使い方の方を。

利用方法
1.カテゴリ表示ページを用意する
新規投稿として、内容(ソース)に <script type="text/javascript" charset="UTF-8" src="http://tools.kuribo.info/js/category.js"></script> というコードを書き入れ、適当なタイトルをつけて公開します。<script> タグが承認できない旨の警告が出ますが「この投稿に対してエラーを表示しない」という項目にチェックを入れると公開することができます。

2.カテゴリ表示ページを呼び出すリンクを作る
公開したカテゴリ表示ページ(記事単独ページ)の URL の末尾にたとえば ?url=www.kuribo.info&tag=search というパラメータをつけたものをリンク先としてリンクを作成します。この例の場合、表示結果はこんな感じになります。
赤字部分は自分のサイト URL に、青字部分には表示させたいカテゴリ名にそれぞれ書き換えて使ってください。

3.エントリにカテゴリ名をつける
検索対象になるのは、エントリ本文ですので、それぞれのエントリ本文にカテゴリ名を含めて下さい。記号や日本語をカテゴリ名にしたときには、2のリンクの青字部分にはその文字列を URL エンコードしたものを入れてください。ちなみに URL エンコードをするにはこのツールが便利です。UTF-8 で変換してください。


お願い
BlogSpot の方はしょうがないんですが、独自にサーバーを借りて利用している方は、できるだけご自分のサーバースペースに以下の JS ファイルを置いてご利用ください。http://tools.kuribo.info/js/category.js
その場合、利用方法1の script 要素、src 属性を JS ファイルを設置した URL に書き換えて下さいませ。


追記
キーワードの検索対象をエントリ本文でなくエントリのタイトル内にする場合は、?url=www.kuribo.info&tag=intitle%3Asearch のようにキーワードの前に intitle%3A をつけてリンクを作成してください。

22 comments:

  1. 早速導入させていただきました。
    タイトル直下の「Keyword Search」の中身をそっくり入れ替えました。
    Category というタイトルのポストにいただいたコメントは、あのポストの性格上ややこしいので、コメントの内容通りに変更したあと削除させていただきました。
    いつも有益な情報をありがとうございます。

    ReplyDelete
  2. コメントが、長〜くなる予感がしたのでエントリーにしました。どうぞよろしく。

    ReplyDelete
  3. コメントありがとうございます。
    分かりにくいというか、私が変なところで詰まったというのは、「1.カテゴリ表示ページを用意する」でスクリプトを追加し、記事をupしようとすると、 作成された HTML ファイルは承認できません: Tag is not allowed:と表示されたのでちょっと戸惑っていたんです。
    結局、この投稿に対してエラーを表示しないにチェックを入れると普通に投稿できました。

    ReplyDelete
  4. > H & A さん
    本投稿後に少しスクリプトを改良したんですが、H & A さんが既にコピーして使用されていたので、あわててコメントしたのでした。コメントは消して下さって結構です。いつも見てくださってありがとうございます。

    > @aka さん
    エントリ拝見しました。
    「検索キーワードとタイトル内のキーワードを一致させない方法」おもしろいですね。自然な形でエントリにキーワードを含ませることができますね。情報ありがとうございます。

    > ccremon さん
    該当部分加筆しました。ご意見ありがとうございます。他記事でも、分からない点があれば遠慮なくコメント下さいね。僕はけっこうボヤボヤしているので、コメントいただかないと気がつかないこととか、書き忘れていることも多いのです。よろしくお願いします。

    ReplyDelete
  5. 試行錯誤しながらクリボウさんのサイトとTeaGoさんのサイトを参考にカテゴリーを導入することが出来ました。かなり昔にカテゴリー表示ページを設定してしまったせいか、テンプレートを修正しても反映されるまでがすぐではなくかなりタイムラグがあったので最初は失敗したかと思いなんども修正しておりましたがなんとか機能しました。

    ReplyDelete
  6. pon さん、はじめまして。
    カテゴリ、導入できてよかったですね。コメントありがとうございます。

    ReplyDelete
  7. HTMLが全く分からない私でも、クリボウさんの丁寧な説明のお陰で、私のBlogも無事「カテゴリ分け」をする事が出来ました。ありがとうございました。
    お忙しい中、Blogger初心者にも分かりやすい説明をして頂き、ありがとうございます。

    もし宜しければ、私のBlogにリンクを貼らせて頂けないでしょうか?

    ReplyDelete
  8. はじめまして。僕の記事が役に立ったようで嬉しいです。カテゴリ分けできて良かったですね。

    リングは自由にしてもらって結構です。…というより大歓迎です。

    これからもよろしくお願いしますね。

    ReplyDelete
  9. Bloggerで唯一気になっていたのがカテゴリがないことでしたが、これで解決できました。大変参考となりました。

    リンクを作成するのは、テンプレート上に作成することで良かったですよね。そこだけがちょっと戸惑いました。

    けど、うまく表示できているようです。ありがとうございました。

    ReplyDelete
  10. クリボウさんやここにコメント・Linkされている方のページを参考にさせていただきなんとかカテゴリー分けで表示できるようになりました。また覗かせてもらいます。
    ありがとうございました。

    ReplyDelete
  11. はじめまして. 盾 と申します.
    コメントを残すのははじめてですが,いつも大変勉強になるなと思って拝見しています.

    さて本題ですが,この度クリボウさまのcategoryを自分のblogでも設置しまして,更にまことに勝手ながらスクリプトを改造してこんな機能を追加で作ってみました.

    次の20件

    もしよろしかったら,つたない文章ですが見てみてください
    (それとコメントなども頂けたら・・・^^;)
    また,Post中にクリボウさまの名前とblogへのリンクを勝手に張ってしまっていてすいません.
    事後承諾ですがよろしかったでしょうか?

    それでは今後ともよろしくお願いします?

    ReplyDelete
  12. > uchiblog さん
    > paper_ref さん
    コメントありがとうございます。
    カテゴリ分けがちゃんと動いているようで良かったです。

    > paper_ref さん
    おもしろいですね!
    僕のやり方だと 100 件以上ヒットしたときには古いものが無視されてしまうんですが、これなら問題ナシですね。なるほどなるほど。
    リンクもスクリプトの改良も全然問題ありませんです。
    問題ないどころか、どんどんして下さったら、と。
    Blogger を盛り上げることにもなりますし、僕も刺激になって嬉しいので。
    これからも、よろしくお願いしますね。

    ReplyDelete
  13. 自分のサイトにカテゴリを追加するにあたり参考にさせて頂きました。ホント、いつもお世話になってます (_O_)

    ReplyDelete
  14. 随分時期をはずしてしまった気がしますが、「TagClick」というサービスを利用してカテゴリー風(?)なものを設置してみましたのでこちらにコメントさせていただきます。
    機能紹介のエントリーを書きましたので、もしよろしければ見てくださいー。

    ReplyDelete
  15. Info Freechip dengan Bandar Piala Dunia 2018 Ryazan Region Capital Rusia Situs www.pokerusia.pw Melalui Bank CIMB Niaga Syariah Kode Bank 022.

    ReplyDelete
  16. Mind games? try this Puzzle Games, it has no time limit; meaning, you can stimulate your brain buds as long as you want! https://games.lol/puzzle/

    ReplyDelete
  17. http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/ http://7newsglobal.com/

    ReplyDelete