jsRSS++ v1.0


jsRSS++ v1.0 を公開しました

β2.2からの変更点
・外部のサーバからのアクセスを禁止出来るようにした

なぜか ver.が 1.0 に戻ってますが気にしないでください・・・
てか、β版を1.0から始めたのが間違いだったんだ・・・


●jsRSS++とわ?
ページ埋め込み型 RSS リーダです
blog サイトを始めとする RSS を配信しているサイトが増えていますが
jsRSS++ では配信されている RSS を読み込み JavaScript を使って
自分のサイトの好きな所に貼り込む事が出来ます
リスト表示/ポップアップ表示を含めた各種設定は
CGI 呼び出しの際の引数を変えるだけで変更する事ができます

RSS と書いていますが atom も読み込む事が出来ます(たぶん)
●サンプル
jsRSS++ 1.0
jsRSS++ 3.0
●ダウンロード
以下のファイルをダウンロードして下さい

jsRSS1_0.zip(2.9KB)
jsRSS++ v3.15
●スクリプトの修正
以下の箇所を各自の環境に合わせて修正して下さい

use Jcode;
Jcode.pm の呼び出し:サーバに Jcode.pm がインストールされていればこのままにしてください
インストールでなく FTP 等で追加アップロードした場合は
require './パス/Jcode.pm';
のようにして呼び出してください
my $dir = 'feed';
RSS 保存ディレクトリ:任意に変更して下さい
mmy $check = 60;
更新間隔(分):任意に変更して下さい
読み込む RSS の最終更新時間が設定時間以内ならば
サーバローカルに保存してある RSS データを読み込みます
my $acchk = '1';
外部サーバからのアクセス:許可する場合は空欄にしてください
ホスティングサービスに拠っては CGI の貸し出しになるような使い方を禁止していますので
特に必要がなければこのままにしておいてください

mmy $time_format = "[ y/m/d H:M:S ]";
日時の表示形式:y年m月d日H時M分S秒 となりますので任意に変更して下さい
全てを記載しなくても大丈夫です( m.d H.M 等)

my $class_site = 'RSSsite';
リスト表示時のサイト名のclass
my $class_line = 'RSSline';
リスト表示時の1エントリーのブロックのclass (div)
my $class_title = 'RSStitle';
リスト表示時のエントリー名のclass (span)
my $class_dsc = 'RSSdescript';
リスト表示時の概要のclass (span)
my $class_time = 'RSStime';
リスト表示時の日時のclass (span)
my $class_select = 'RSSselect';
ポップアップ表示時のclass (select)
my $class_option = 'RSSoption';
ポップアップ表示時のclass (option)

各要素の CSS 内で設定するクラス名:任意に変更して下さい
●設置&実行
CGIが実行可能な任意のディレクトリにアップロードして下さい

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

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

表示させるページの任意の場所に
<script language="JavaScript" src="./jsRSS.cgi?url=http://bbws.main.jp/atom.xml::dt=b::dsc=on::line=10::mode=list"></script>
のように記載して呼び出します

オプションとして指定出来るのが下の5つです
 mode=list 表示形式(list or popup)
 line=5   表示件数
 enc=euc  文字コード(jis or sjis or euc or utf8)
 dsc=on   概要の表示(リスト表示時のみ)
 dt=f    日時の表示位置(f or b)
 ※日時表示は 'f' がエントリータイトルの前、 'b' が後ろに表示されます
 ※概要、日時以外は上の設定がデフォルトになっていますので
  デフォルトのままでよければオプションの指定を省略できます

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

ポップアップで表示させる場合は以下のソースも一緒に書き込んで下さい
読み込み用のソースより前ならば大丈夫なハズです
ポップアップをいくつ設置しても1ヶ所に書けば大丈夫です
<script language="JavaScript">
<!--
//
function popup(f)
{
var num = f.selectedIndex;
var url = f.options[num].value;
if(num != 0) { w = open(url); }
}
//
-->
</script>
を記載してください

| コメント(22) | トラックバック(14)

トラックバック(14)

このブログ記事を参照しているブログ一覧: jsRSS++ v1.0

このブログ記事に対するトラックバックURL: http://www.daikoku-ya.org/mt/mt-tb.cgi/5

» jsRSS++ いちお正式版(B.B.'sWebSpace)~のトラックバック

まあ、正式版っつったってたいして機能が増えたワケでもなし・・・ 続きを読む

» ページ埋め込み型 RSS リーダ jsRSS++(物理おもしログ)~のトラックバック

僕の本家のページに,このココログのRSS を読み込んで貼りつけてみました。大黒屋 続きを読む

» RSS リーダーあれこれ(munekyun::monolog)~のトラックバック

jsRSS と Audioscrobbler の RDF ファイルの微妙な関係。iTunes + jsRSS + Audioscrobbler で RSS を埋め込み表示できるのはいつになるやら。 続きを読む

» ページ埋め込み型 RSS リーダ!?(blog@Hary)~のトラックバック

blogの情報を自HPに表示させようプロジェクト(仮)(笑) で作ったCOCO- 続きを読む

» Winampで再生した曲をblogに表示してみた(絶対零度)~のトラックバック

ページの表示が少しもたつくようになってしまいました・・・ RSSリーダーの処理が... 続きを読む

» サイト埋め込み型RSSリーダー「jsRSS++」を設置(ARTIFACT ―人工事実―)~のトラックバック

 はてなダイアリーをはじめてから、こっちの方で更新を告知できないものかなーと考えていて、iframeを使うとか試していたんですが、iframeはデザイン的に格好悪いし、読みづらいので断念してました。  でも、RSSを使えばいいことに今頃気付いて、サイトに埋め込みできる... 続きを読む

» エントリーを JavaScript 出力して貼り付け(B.B.'sWebSpace)~のトラックバック

自分で利用数減らしてどうする(笑) 続きを読む

» ページ埋め込み型RSSリーダ「jsRSS 」をつけてみた(ぐーたら on sb)~のトラックバック

ぴっくあっぷさん経由、ARTIFACTさんで知った、ページ埋め込み型RSSリーダー「jsRSS 」を設置してみました。この「jsRSS 」は大黒屋本舗さんで配布されています。大黒屋本舗:jsRSS v1.0この「jsRSS 」、出力さ... 続きを読む

» RSSパーサ変更、jsRSS++に(Soul de Gosmaniax)~のトラックバック

前のブログから来て下さってる方は知っていると思うけれど、 RSSにものすごく興味を持っていて、ビギナーっていうブログに いろいろ書いてました。まぁ近々Gosmaniax Information 続きを読む

» cgiを設置して、javascript記述で、rssを呼び出す(airmash.life)~のトラックバック

大黒屋本舗: jsRSS v1.0 サンプルもあるが、 ようやく気付いたのは、誰かのものでは、 著作権表示があるので、ん〜〜。... 続きを読む

» 噂の「BlogPeopleハーマイオニー」が登場(B.B.'sWebSpace)~のトラックバック

なぜハーマイオニーなのかはモダシンさんトコで探してね 続きを読む

» jsRSS++ v1.0(cles::blog)~のトラックバック

とあるサイトの一部をblogで構成することになったので、準備を進めていたのですが、そのなかで「トップページにblogの内容を表示したいんだけど」という要望が上がってきました。 このサイトはデザイン重視なので... 続きを読む

» jsRSS++でdescriptionを表示させるには(cles::blog)~のトラックバック

先日紹介したjsRSS++は便利なのですが、descriptionさせようとしたら、表示されないというバグを見つけてしまいました。ちょっと不便なのでこのバグを直してみることにしました。 * 改造のポイント 注意点:  この... 続きを読む

» 遂に見つけた!かも?jsRSS(ガンダムコレクション〜ガンコレ〜)~のトラックバック

前回の記事から模索し続けていた、ガンダムコレクションBlogとThe Tin Woodman'sガンダムコレクションの連携 ガンダムコレクションBlogの... 続きを読む

コメント(22)

ryo :

jsRSS++をAudioscrobblerとの連携のために使わせていただきました。ありがとうございます。特に規約のようなものが見当たらなかったので、表示項目を曲名のみに絞るため、少しcgiを改造させていただきました。もし、問題がありましたらご連絡ください。

御利用ありがとうございます
規約等は面倒なのでまだ書いてませんが特にたいしたコトは無いです
ウチのは見た目もショボイので改造やらカスタマイズは前提になっているので<^^;>
ガンガンやっちゃってください〜

KID :

大変便利に使わせていただいております。
同一ページで複数同時使用した場合に、jsRSS+と表示する部分を1つだけ残して、残りを消してもよろしいですか?

御利用ありがとうございます
もう、全部消して頂いて構いません
ページそのものを出力するワケでもないのに余計なモノを付けてしまいました
次のVer.からは入れないつもりですので・・・

はじめまして。
何度も、導入を諦めましたが、何とか動かすことが出来ました。
ありがとうございました。

index.rdf は、
 dc:date="2004-07-28T23:14:51+09:00"
ですが、rss.xml の
 dc:date="2004-07-28T23:14+09:00"
では、分の後に、+09 が付いてしまいます。

超ド素人の私ですが、この辺はなんとか処理出来ました。

ところで、
MT で新規エントリーした時、rss ではなく、(document.write で、新規エントリーのタイトルとURLと更新日時だけ表示出来る)js ファイルを自動生成する機能、というようなものをご存じありませんか?

御利用ありがとうございます

一応、全部のバージョンで確認したつもりだったんですが
書き出し方が微妙に違っているトコロもあるので厳密に切り出した方が良さそうですね
次のバージョンの参考にさせて頂きます _o/|_

「js ファイルを自動生成する機能」とのコトですが

document.write(
<MTEntries lastn="10">
'[<$MTEntryDate format="%x"$>] <a href="<$MTEntryPermalink$>" target="_blank"><$MTEntryTitle$><a><br />',
</MTEntries>'');

みたいなテンプレートを xxxx.js とかいう名前で作るようにすれば大丈夫です

↓上のだとこんな感じになります


http://www.daikoku-ya.org/entry.js

私の質問にお答え下さり、ありがとうございました。

超ド素人の私なので、よく分からないのですが、
お教え頂いた方法は、内部(つまり、自分のMT内)では利用出来ますが、RSSのように独立して、外部の人間が(つまり、外部のMT内などで)利用出来ないのでは?
うまく表現出来ませんが、テンプレートを使って、出力されるファイルは、自分のMTによって扱われないと、MTタグが変換されないのでは?
間違っていましたら、済みません(私の質問の書き方が悪いのかも知れません)。
RSSには容量の大きいものがありますが、最新エントリーの
タイトル、そのURL、更新日時だけを出力(または、取得)したい場合には無駄が多い規格なので、その最小限の情報だけを、js ファイルで相互に出力し、お互いが、cgi を使わずに貼り付けられる(見られる)ようなものはないかということです。

この件に関しましては、コメントを書きました後、自分なりに考えて、何とか(半ば)、実現しました。

お返事を下さったことに、更めて、お礼を申し上げます。
ありがとうございました。

尚、このコメントは、表示させなくて構いません。

というか、外部のサーバから外部の人間がMTのdbを触れると大変なコトになります
それ以外だと書き出されたエントリーを読み出していかなければならないので
RSSを何かするよりはるかに手間ですね
RSS もMTで書き出しているワケですし、jsを書き出させるにしても
MTにさせる以外はなにかしらのスクリプトにやらせる以外は無いかと・・・

血脇 :

 こんにちわ。jsRSS++ 1.0を落とさせてもらいました。
ところで、jsRSS++ 1.0をInfoseekで使用されている方はいらっしゃるんでしょうか?
いらっしゃったら、少し聞きたいことがあるのですが、動きました?
Jcode.pmも入れたし、ソケットも使えるのに、どうもRSSのファイルを取ってこないんですよ。
ローカルでテストした時はガンガン動いてたんですけどねぇ・・・。
どなたか、アドバイスお願いします。

御利用ありがとうございます
Infoseek については詳細は解りませんが
<';
 '');

などのJavaScriptのソースが出力されるハズです
何か問題があるようでしたらサーバがエラーを出すと思いますので
そのエラーを元に原因が解るかと思います

血脇 :

document.write( '
Bad Call!!
', '' );
とでているので、呼び出し方法が間違っている
のではと思い、いろいろためしてみたのですが、
解決しません。
拡張子は「.rdf」や「.xml」しか拾えない
(拾いたいのは「.rss」)のでしょうか?

hsur :

はじめまして。hsurといいます。

dsc=onで概要が表示されないようなので、勝手になおしてしまいました。やり方を以下に載せています。

http://blog.cles.jp/item/360

jsRSS++にはライセンス条項が記載されていないのですが、問題があるようであればサイトから消去します。いかがでしょうか?

>血脇さん
すみません、スクリプト直呼び出しの際は
 19行: my $acchk = '1';
を空欄に呼び出してみてください
コレで普通に動作するハズですので何かエラー等出ているようでしたら
御報告頂けるとあり難いです

>hsurさん
うひゃ、詳細なバグ報告ありがとうございます _o/|_
次のバージョンはこれらを修正致します
ライセンスとかあまり細かいコトは考えていないので<^^;>
コレを使って利益を生じたり(そんなコトが可能なのか?)しない限りは全く自由にお使い頂いて結構です
下部のココへのリンクも消して頂いて結構です

血脇 :

こんにちわ。
説明通りに設定しなおしたら、rssのファイルは
取得してくれるようになったのですが、今度はJavaScriptで貼り付けたところに表示してくれ
ません。
あいかわらず「URLを指定してください」と出ま
す。
JavaScriptの方はコピペで貼り付け

このように記述したのですが・・・

ありゃ?
infoseek だと CGI にもバナー貼り付いていますね
「document.write」 よりも前にソースコードが書かれているので
ちょっと無理っぽいです・・・

jsRSS++ v1.0をDLさせていただきました。
まったくのシロウトゆえ、少し戸惑いましたが、まだまだ、工事中だらけのページですが、
無事に組み込み完了です。
CSSでスタイルいじれるし、自分のサーバーだから、サクサク動くし、最高ですね。
ところで、デザインも都合上、jsRSS++と表示される部分を外して、HPのフッター部分にライセンス表示させていただいて、良いでしょうか?

御利用ありがとう御座います
クレジット表示ですが、思いきり外しちゃってください
まったく表示無くって結構ですよ〜
2.0以降はデフォでは表示させないようにする予定ですので・・・

おーふちです。

ご返事ありがとうございます。
ありがたく使わせていただきます。

jsRSS++、快調に使用させていただいてます。

いま、MTのindex.rdfに手を加えて、画像ページにリンクできるように、content:encodedでCDATAセクションとしたRDFを作ってみました。このjsRSS++を通して、画像も表示するようにできるようにしたいのですが、画像だけが通りませんでした。CDATAに展開されたHTMLは通さないようになっているのでしょうか?

お知恵を貸していただけると助かります。

CDATAはマークアップの部分だけ削除しているハズなのですが
この部分でおかしくなっているようでしたら

160,161行目の
$site[$cnt]{description} =~ s//$1/i;
を削除、もしくはコメントアウトしてみて下さい

ご指摘どおりでバッチリでした。ありがとうございます。かなりいい感じです。
レスが遅くなりましたこと、お詫びいたします。

無事表示されたようでなによりです
また何かありましたらよろしくお願い致します

コメントする

このブログ記事について

このページは、大黒屋が2004年7月12日 11:20に書いたブログ記事です。

ひとつ前のブログ記事は「RandomIMG++ v1.2」です。

次のブログ記事は「Counters++ v1.0」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01