jsRSS++

jsRSS++とわ?

ページ埋め込み型 RSS リーダです
blog サイトを始めとする RSS を配信しているサイトが増えていますが
jsRSS++ では配信されている RSS を読み込み JavaScript を使って
自分のサイトの好きな所に貼り込む事が出来ます

リスト表示/ポップアップ表示を含めた各種設定は
CGI 呼び出しの際の引数を変えるだけで変更する事ができます

RSS と書いていますが atom も読み込む事が出来ます

サンプル
ダウンロード

以下のファイルをダウンロードして下さい

jsRSS3_15.zip(6.9KB)

スクリプトの修正

以下の箇所を各自の環境に合わせて修正して下さい

#!/usr/bin/perl
perlのパス:サーバ環境にあわせて書き換えて下さい
#use lib './lib';
use Jcode;
Jcode.pm の呼び出し:サーバに Jcode がインストールされていればこのままにしてください
インストールでなく FTP 等で追加アップロードした場合は
use lib './lib';
のようにして書き換えてください
例えば、MovableTypeをインストールしている場合は /任意のディレクトリ/mt/extlib 内に Jcode.pm があるので use lib './任意のディレクトリ/mt/extlib' となります

※ Jcode に関してはコチラをご参考にしてください

my $dir = 'feed';
feedデータ保存ディレクトリ:任意に変更して下さい
mmy $check = 60;
更新間隔(分):任意に変更して下さい
読み込む RSS の最終更新時間が設定時間以内ならばサーバローカルに保存してあるデータを読み込みます
my $TimeZone = +9;
設置するサーバのタイムゾーンです
GMTに対しての数字なので、日本にあるサーバなら +9のままで大丈夫です
my $dir_temp = 'temp';
テンプレート設置ディレクトリ:任意に変更して下さい
my $def_temp = 'jsRSS.tmp';
デフォルトテンプレート名:テンプレートを指定しなかった際に使用するテンプレートを指定します
my $CDATA = 'cut';
<![CDATA[ ]]>を削除する場合は 'cut' にして下さい
<![CDATA[ ]]>タグを有効にする場合は空欄( '' )にしてください
my $HTMLTAG = 'cut';
html のタグを削除する場合は 'cut'、無効化は 'off' にしてください
タグを有効にする場合は空欄( '' )にしてください
my @callfrom = (
'http://www.daikoku-ya.org/',
'http://127.0.0.1/',
);
jsRSS++ スクリプトの呼び出しを許可するサーバを列挙します
列挙したサーバ以外から呼び出すと 'Bad Call!!' となります
my $CR = 'no';
下部のスクリプト名(+リンク)の表示('no'以外だと表示されます)
設置&実行

CGIが実行可能な任意のディレクトリにアップロードして下さい

 任意のディレクトリ ---- jsRSS.cgi(755)
            + feed(777など)
            + temp(555など)

()内はパーミッション ※御利用のサーバに因って変わる場合があります

表示させるページの任意の場所に

<script language="JavaScript" src="./jsRSS.cgi?url=http://www.daikoku-ya.org/atom.xml::line=10::enc=euc::temp=jsRSS.tmp"></script>

のように記載して呼び出します

オプションとして指定出来るのが下の4つです
 

line=5
  表示件数
 
enc=euc
  文字コード(jis or sjis or euc or utf8)
 
temp=jsRSS.tmp
  表示用テンプレート名
 
len=20
  概要の表示文字数(仮実装)
 
tlen=10
  エントリータイトルの表示文字数(仮実装)

 ※表示形式、日時表示、概要はテンプレートで設定するようになりました
  デフォルト(上記の設定)のままでよければオプションの指定を省略できます
  len、tlen は指定しなければ無効です


これらのオプションを :: で繋ぎます
通常、引数の連結は & ですが RSS を動的に生成するサイトで
RSS への URL に & が含まれる場合があるので :: としました

テンプレートファイルの作り方

同梱の temp フォルダ内の「About Template」を参考にして下さい

更新履歴
v3.15 2005.12.29 公開
  • はてな等で最初のエントリー名がサイト名になる不具合を修正
  • HTMLタグの削除/無効化の設定を追加
  • 呼び出し元サーバの設定方法を変更
  • 同梱テンプレートを1つに
  • 内部コードを一部修正
v3.14 2005.05.09 公開
  • tDiaryのdescriptiond(content:encoded)に対応
  • のon/off設定を追加
  • タイトルの文字数設定を追加
  • 相手サーバが正常にデータを送って来ない場合はサーバエラー扱いに変更
  • 一部コードの見直し
v3.13 2005.03.20 公開
  • Yahoo!ブログの日付フォーマットに対応
v3.12 2005.03.11 公開
  • RSS のタイトルに ' " が含まれていた際の不具合を修正
v3.11 2005.03.10 公開
  • 文字コードの変換に関する不具合の修正
  • テンプレートに使用する埋め込み文字列を複数回使用できるように変更
  • いくつかの細かいバグ修正
v3.1 2005.01.04 公開
  • 不要なトラフィックを減らすための修正
  • 指定したURLがエラーを返した際の対応(401,403,404,500の代表的なもののみ)
  • 全体のコードの見直し
  • UserAgentを吐き出すようにした
  • Query文字列以前が全く同じURLだった際に保存データが読み取れなかった点を修正
v3.04 2004.12.30 公開
  • RSS内にタブ、改行が含まれている際にうまくパース出来なかった点を修正
v3.031 2004.12.21 公開
  • 新規エントリーマークに加え、前後に挟み込めるようにテキストを置けるようにした
  • 上記変更にともない、新規表示時間・新規エントリーマークの設定もテンプレートファイルにて行うように変更
v3.03 2004.12.09 公開
  • Content-Type に文字エンコード指定を追加(今度こそ)
  • サイトに関するデータ置き換えをヘッダだけでなくフッタも対象にするよう修正
  • RSSのバージョンもデータ置き換え出来るように修正
  • データ内の ' 、 " を実体参照に置き換えるように修正
  • 概要の表示文字数指定を追加(仮実装)
  • feed ディレクトリに溜まる.dat ファイルを euc に統一
v3.02 2004.12.04 公開
  • Content-Type に文字エンコード指定を追加
  • エントリー数が line= で指定した数以下だった場合の不具合を修正
  • RSS1.0 のバージョンが取得出来てなかったのを修正
v3.01 2004.12.04 公開
  • 更新間隔で設定した時間内にアクセスしてもRSSを読みに行ってしまう点を修正
v3.0 2004.12.03 公開
  • 表示部分を外部テンプレートとして読み込むように変更
  • 表示出来る要素の追加(Subject、Creator等)
  • 更新時間の桁不足による不具合を解消
  • 更新時間データの無いRSS0.91で順番がおかしくなる不具合を解消
  • 内部コードの一部改善(改悪?)
v2.0b 2004.08.25 公開
  • 読み込んだ RSS を素で保存でなくデータとして保存するように変更
  • 最新エントリーにマークを付けられるようにした(n時間単位)
  • 下部のスクリプト名表示(+リンク)を表示しないように出来る<i_i>
  • 更新時間の切り出しの際にタイムゾーンが混じってしまったのを修正
v1.0 2004.07.12 公開
  • 外部のサーバからのアクセスを禁止出来るようにした
OpenID対応しています OpenIDについて
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。

社交的情報網



助力

大黑屋本舗