全文配信RSS
- 投稿者: kitta
- カテゴリ: プラグイン要望
- 優先度: 普通
- 状態: 提案
- 日時: 2009年07月29日 12時33分00秒
内容
全文配信が出来るRSSプラグインが欲しいです。ついでにこんな事も出来るとなおいい。
- 例えば、「日記/hogehoge」 なページは全文配信。それ以外は差分、もしくは部分配信
コメント
- 全文配信については、BugTrack-plugin/325:RSS関連(RSS1.0、RSS2.0、Atom0.3)プラグインを導入して、plugin/rss2/Feed.pm から下記 1 行を削除すれば実現できるのではないかと思います。 - 菜梨 (2009年07月29日 15時14分18秒)
$content = &_get_description($content);
- 試してみました。これだと、改行も、リンクも、画像も無くなったテキストだけですよね。そうでなく、html まるっと <!--TMPL_VAR NAME="CONTENT"--> 全部配信したいんです。 - kitta (2009年07月29日 22時31分21秒)
- 時間がないので実際に試してはいないのですが・・・以下のような修正ではどうでしょうか? - KG (2009年07月30日 17時57分36秒)
plugin/rss2/Feed.pm(238行目から) $content = $wiki->get_page($page); $content = &_get_excerpt( $content ); $content = &_escapeXML( $content ); $content = &_get_description($content); $pagedesc = $content; ↓ my $parser = Wiki::HTMLParser->new($wiki); $content = $parser->parse($wiki->get_page($page)); $content = '<![CDATA['.$content.']]>'; $pagedesc = $content;
- KGさん有り難うございます。早速試した所 description が以下の様になってしまいました。 - kitta (2009年07月30日 19時59分37秒)
<description><![CDATA[]]></description>
- うっ、うまくいかないもんですねぇ…(*´Д`)。後でちゃんと試してみます。(^_^; - KG (2009年07月30日 22時38分08秒)
- ですねぇ。よろしくでございます。 - kitta (2009年08月03日 15時08分54秒)
- 一応、以下のように修正すれば実現可能です。ただし、ATOM出力ではエラーになります。 - KG (2009年08月04日 13時26分58秒)
--- Feed.pm.org Sun Dec 24 06:17:00 2006 +++ Feed.pm Fri Jul 31 10:56:00 2009 @@ -235,18 +235,14 @@ $pagetitle = $pagetitle_hash->{Util::escapeHTML($page)}; } - $content = $wiki->get_page($page); - $content = &_get_excerpt( $content ); - $content = &_escapeXML( $content ); - $content = &_get_description($content); - $pagedesc = $content; + $pagedesc = $wiki->process_wiki($wiki->get_page($page)); # Feedに埋め込む my $item = $feed->add_item( $uri . '?page=' . &Util::url_encode($page) ); $item->guid ( $page.'/'.$wiki->get_last_modified($page) ); $item->title ( &Jcode::convert($pagetitle,'utf8') ); - $item->description( &Jcode::convert($pagedesc,'utf8') ); + $item->description( \&Jcode::convert($pagedesc,'utf8') ); $item->pubDate ( $wiki->get_last_modified2($page) ); my $item_author = { 'name' => &Jcode::convert($author,'utf8') }; $item->set( %$item_author );
- 有り難うございます。希望通りです。で、一つ追加で相談です。pcomment と comment と trackback を出力しない様に出来ないでしょうか?宜しく御願い致します。 - kitta (2009年08月04日 20時56分15秒)
- それと description がこんな感じで出力されています。 - kitta (2009年08月04日 21時05分53秒)
<description><![CDATA[ html本文 ]]></description>
- それと。編集、保存すると以下の様なエラーが出ます。 - kitta (2009年08月04日 21時46分42秒)
Not a HASH reference at lib/XML/FeedPP.pm line 1670.
- エラーに関しては、ATOM関連で発生しますので以下の修正を行ってATOM形式のファイル作成をやめてみてください。 - KG (2009年08月05日 10時38分42秒)
Feed.pm:hook関数 : ## Auto-Discovery(管理画面で選ぶ形でもよいかも) &_set_autodiscovery($wiki,"RSS10"); &_set_autodiscovery($wiki,"RSS20"); # &_set_autodiscovery($wiki,"ATOM"); : ## Save & delete Chach update my $act = $cgi->param('action'); $cgi->param('action',"RSS10"); &_make_rss($wiki, &_get_cachefile_name($wiki,$cgi->param('action')) ); $cgi->param('action',"RSS20"); &_make_rss($wiki, &_get_cachefile_name($wiki,$cgi->param('action')) ); # $cgi->param('action',"ATOM"); # &_make_rss($wiki, &_get_cachefile_name($wiki,$cgi->param('action')) ); $cgi->param('action',$act); :
- description の出力はそれでいいと思われます。 - KG (2009年08月05日 10時44分42秒)
- pcomment と trackback は別のページに保存されるタイプですので対応可能かと思われますが、comment 同一ページに記述されますし、明確にコメント行を判断するのは難しいので対応できないと思います。それとも、コメント投稿欄が表示されないようにするだけで良いのでしょうか? - KG (2009年08月05日 10時52分06秒)
- 対応するとするならば、以下のような感じでしょうか・・・ - KG (2009年08月05日 10時59分48秒)
上記修正箇所のprocess_wikiの行を以下のように修正 my $source = $wiki->get_page($page); $source =~ s/^{{(comment|pcomment|trackback)\b.*$//mg; $pagedesc = $wiki->process_wiki($source);
- ありがとうございます。いい感じです。 - kitta (2009年08月05日 20時43分10秒)
最終更新時間:2009年08月05日 20時43分10秒