Weblog

JSONフィードとか何とか #2

Posted at 2006-10-20T00:07:00+09:00 in Coding

TypePadJSONフィードの出力に対応したそうで。JSONフィードってーのはdel.icio.usJSON Feedsとかで見られる、JSONを利用したRSSやAtomっぽい配信フォーマットで、Pure JavaScriptで扱えるのが最大の特徴。特に仕様なんかは無い(と思う)。かなり昔にこのサイトで妄想として取り上げていたのが現実になった感じ。

というわけでblosxomindex.jsonというTypePadのJSONフィードに似せた感じの出力を確保する仕組みの実装する方法書いてみる。TypePadのテンプレートに準拠したいところだけどTypePadとかいうprefixがちょっとアレなアレでアレ。

flavourだけでJSONフィードを出力するのはちょっと難しい。W3CDTFで日付を出力とかでつまづいちゃうので、interpolate_fancyプラグインとテキトウな作りのrssプラグインが必要な感じ。でもまぁとりあえずは以下のような感じで比較的手軽に実装可能。ただこのままだとjsonFeeds.entriesの最後の要素の後ろにもカンマが付いちゃうのでInternet Explorerでエラーが起きる。このことへの対処や日本語をUnicodeのhexでエスケープするとかも含め、実際に利用する場合はjsonfeedなどといった専用プラグインを作った方が良さそう。

content_type.json

text/javascript

head.json

// This JSON Feed automatically generated by blosxom 2.0
// http://creativecommons.org/licenses/by-nc/2.1/jp/

if (typeof(jsonFeeds) == "undefined") jsonFeeds = new Array();

jsonFeeds["$url/index.json"] = {
  "title": "hail2u.net - $blog_title",
  "link": "$url/",
  "id": "tag:hail2u.net,2002:/blog/",
  "author": "$rss::name ($rss::email)",
  "updated": "$rss::last_build_date_w3cdtf",
  "subtitle": "$blog_description",
  "generator": "http://www.blosxom.com/?v=2.0",
  "entry": [

date.json

空のファイルを用意。

story.json

    {
      "title": "$title",
      "link": "$url$path/$fn.$default_flavour",
      "id": "tag:hail2u.net,$yr<?$yr>:</?>$path/$fn",
      "summary": "$rss::excerpt",
      "author": "$rss::name ($rss::email)",
      "category": "$categories::name",
      "published": "$yr-$mo_num-$da<?$yr>T</?>$ti<?$yr>:</?>00+09:00"
    },

foot.json

  ]
};

次はJSONFP(JSON Feed with Padding)だな。

Recent entries from same category

同じカテゴリに分類された最近10件のエントリです。

  1. 設定を外部JavaScriptファイルから読み込む
  2. del.icio.usのnetworkをツリー状に展開しまくる
  3. XPIパッケージにまとめるバッチ・スクリプト
  4. Yahoo! Search Web ServicesのJSON(P)を利用したサイト内検索
  5. Google AJAX Search APIのJSONPを利用したサイト内検索
  6. JSONPに同期リクエスト
  7. インバウンド・リンクのリスト
  8. はてなブックマークエントリー情報取得APIははてなスクリーンショットAPI(でもある)
  9. prototype.jsの開発メモとGecko DOM ReferenceのHTMLヘルプ
  10. Perl 5.8.8 documentationのHTMLヘルプ

Comments

JavaScriptに対応または有効な環境の場合、ここにはてなブックマークでのこのエントリに対するコメントが表示されます。

Weblog archives

by Category

This page was last modified on 2006-10-20T01:42:38+09:00 (in 0.122 secs).