[Akiary]
AkiaryでRSS!aki2rss.cgi説明書

isnot.jp/wiki [Permalink] [編集] [差分]

最終更新:2006-09-18 16:15:31

aki2rss.cgi
version 0.92 プレビューリリース2
2004-04-11

2004-04-11 主な修正点

バグを修正したバージョンを公開しました。従来版ではオプショナル日記に含まれる改行に強く依存した処理を行っていましたが、データ形式を変更して、改行を含む文章にも柔軟に対応できるようになりました。無改造、標準状態のAkiaryはもとより、改行の処理に改造を加えたバージョンにも対応できるはずです(ただし未検証)。

もう少し整理したい部分もありますが、暫定的にβ版相当として公開しています。できるならばいくつかのサイトでも利用していただいて、実際の運用に耐えうるか、また改善点などを探っていければと考えています。
開発版ではもう少し調整をしていて、設定ファイルを外部化する予定です。

機能

Akiaryオプショナル日記からRSSを生成する。

特徴

ダウンロード(プレビューリリース)

Shift_JIS版(通常はこちらをご利用ください)

※殆どのAkiaryを利用した日記では文字コードをShift_JISで運用されていることと思います。

EUC版

※EUC版が開発のメインで、要約切り出し機能に差があります。

過去のバージョン

動作条件

RSS仕様

しくみの概要

AkiaryはそのままではRSSは生成できない…ので、まずAkiary本体が持っている「オプショナル日記」機能を利用して、最新の記事をテキスト形式で出力します。これがRSSのタネになります。それに対してaki2rss.cgiがフィルター処理し、RSSを静的なファイルで出力します。

一連の作業は、Akiaryの管理画面からスムーズに実行できるように工夫しています。(Akiaryの編集画面から呼び出して利用できるような設定が可能です。)この仕組みにより、既存のテンプレートを大きく変更する必要がありません。日記HTMLから抽出するよりも確実で簡単に実現できます。

文字コードの扱いについて

aki2rssでは、内部的に文字コードを変換するような処理を行ないません。これはAkiary本体も同様です。標準状態のAkiaryで日記を書くと、通常Shift_JISのhtmlが生成されますが、その場合aki2rssでもShift_JISのRSSを生成します。

日記で使う文字コードに関わらず、RSSはUTF-8にしたいという要望もあるかもしれません。これについては検討はしましたが、当分対応しないと思います。理由は、文字コード変換処理の機能をつけることによって、追加のモジュールが必要になり、対応していないWebサーバーもあるからです。

基本的には、「Akiaryが動くなら、aki2rssも動く。(ただしPerlのバージンが4の場合には非対応)」という方針を考えています。

対応できないこと、うまくいかない例

参考にした情報

以下のサイトからPerlのコードを参考・利用させていただきました。

ライセンス・原著作者

「Artistic License」(参考日本語訳)という、Perlが採用しているライセンスに準じます。
いしだなおと it@isnot.jp

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

構成ファイルの説明

aki2rss.cgi 【必須】

CGIスクリプトです。akiary.cgiとおなじディレクトリに設置します。また、「パーミッション」もakiary.cgiとおなじにします。

tmpnew.txt 【必須】

RSSの「タネ」となる、new.txtを生成するためのテンプレートです。通常はこれもakiary.cgiとおなじディレクトリに設置します。

rss10general.xsl 【オプション】

XSLTという仕組みを利用するためのスタイルシートです。RSSをブラウザで開いたときに、見やすく表示する役割があります。RSSを「tDiaryテーマ」互換のHTMLに変換します。カスタマイズ可能です。

default.css 【オプション】

上のrss10general.xslと組み合わせてつかいます。他の「tDiaryテーマ」と差し替えることができます。

akiary.css 【オプション】

akiary特有のCSSを設定しています。ほかにも、default.cssを差し替えた場合に補助的な役割を果たす意味もあります。

readme.txt

この文書です。

設定のポイント

akiary.cfg

 # 日記ディレクトリ
 diary_dir="./"

ここ(上は見本です。実際とは違います。)に設定されている内容をそのまま、aki2rss.cgiのほうの「日記ディレクトリ」の設定に写します。

 # オプショナル日記3のテンプレートファイル
 opt_diary_tmp_file_3="./tmpnew.txt"
 # オプショナル日記3の出力ファイル
 opt_diary_file_3="./new.txt"

【必須】
ここを忘れずに設定してください。オプショナル日記3をすでに使っている場合は、4でも5でも構わないです。
※オプショナル日記6以上を使いたいときはakiary.cgiのほうも書き換える必要があります。

 # 日記のURL
 diary_url="./aki2rss.cgi"

【お勧め】
これは必須ではないですが、こうしておくとAkiaryの日記編集画面左上にある「日記」というリンクからすばやくRSS生成を行えます。

 # 最新n回分
 latest_times="7"

ここでの設定とは関係なく、RSSに表示するitemの件数を設定できます。(→参照:tmpnew.txt)

 # 日付表示フォーマット
 date_format="<a href=%Y0%M1.html#%Y0%M1%D1>■</a>%Y0年%M0月%D0日(%W0)"

【お勧め】
直接は関係ないですが、この設定を工夫することによって過去ログへのリンクを見つけやすくすることができます。

tmpnew.txt

特にいじる必要はありません。はじめのほうにある「latest_times="10"」の部分の数字で、RSSのitemの数を指定します。値の範囲は1〜15を推奨します。

aki2rss.cgi

設定の各行は以下のような構文になっています。

 '<設定項目名>' => '<設定する値>',

行末の「,(カンマ)」は消さないようにご注意ください。また、「'(シングル・クォーテーション)」は区切りの記号になっていますので、<設定する値>自身に含めることはできません。

「#」で始まる行、および行の途中の「#」から改行までは注釈です。

以下で【オプション】とあるところは、必要なければそのままでもよいです。

 #! /usr/local/bin/perl -w

1行目の、Perlのパスを必要に応じて書き換えます。

動作に関する設定

 # 日記を置くディレクトリをあらわすURL。「/」でおわること。
 'uri_base'      => 'http://www.example.com/user/diary/',

【必須】
たとえば最新の日記が「http://www.example.com/user/diary/new.html」なら上のようにします。

 # 日記ディレクトリ。サーバーでの(ファイルシステムの)パス。「/」でおわること。
 'diary_dir'     => './',

【必須】
(→参照:akiary.cfg)

 # xml encoding 右のいずれか。[ shift_jis | euc-jp | utf-8 ]
 'encoding'      => 'shift_jis',

文字コードの指定です。多くの場合はshift_jisのままでよいでしょう。EUC-JPでAkiaryを運用している場合はここをかえます。そのとき、aki2rss.cgi自体も文字コードを変えておく必要があります。

 # XSLT(不要なら指定しなくてもよい)
 'xslt'          => 'rss10general.xsl',

【オプション】
XSLTは特に設定しなくても機能します。不要な場合は行の先頭に「#」をつけてコメントにするか、=>の右のシングルクオーテーションの中を空('')にするとこの機能をOFFにできます。

RSSの設定

以下の項目は必ず自分のものに書き換えてください。

 # サイトのURL(もしくは最新の日記のURL)
 'link'          => 'http://www.example.com/user/diary/index.html',
 # サイトのタイトル
 'title'         => 'Weblog Like Style With Akiary',
 # サイトの説明
 'description'   => 'AkiaryからはじめるWeblog。テスト中。 by naoto',
 
 # 作者
 'creator'       => 'ISHIDA Naoto',
 # 著作権表示
 'rights'        => 'Copyright (C) ISHIDA Naoto. All rights reserved.',

【必須】

 # サイトの画像(ロゴ、アイコン)
 # <image>要素は省略することができます。そのときはurlを空文字列にします。
 # 'url'         => '',
 'url'           => 'http://www.example.com/user/diary/images/logo.png',

【オプション】

使い方

基本的には、設置したCGIのURLにアクセスするだけです。

日記のURL(diary_url)を【お勧め】の設定にしている場合は、Akiaryの日記編集画面左上にある「日記」というリンクからすばやくRSS生成を行えます。

利用例

私が実際に書いている日記の、RSSです。http://isnot.jp/n3/index.rdf

将来の計画

※この変更により設定のしかたが大きく変わります。1.0リリース前に行いたいかも。

検討課題

TrackBack

[TrackBack]nJOY BLOG::RSS を出力する掲示板やスクリプト等へのリンク集 【from nJOY BLOG

ブログのおかげで RSS の配信に注目が集まっています。RSS リーダーを使えば数多くのブログ等の更新状況が素早く把握出来てとても便利ですからね。そして最近はポータルサイト・大手企業・新聞各社・テレビ局などでも RSS 配信し始めるなど、RSS の需要はさらに高まっています。(続き…)

posted at: 2005-04-20 14:09:34

[FrontPage]

いしだなおと it@isnot.jp