公開設定では、出力するRSSファイルやHTMLファイルを定義します。
![]()
公開設定では、出力するRSSファイルやHTMLファイルを定義します。
![]()
公開設定を開くと、RSS生成CGIをセットアップした直後であれば、下図の画面が表示されます。
RSS生成CGIをセットアップした直後は、デフォルトで「RSS 2.0」形式のRSSを出力する設定になっています。RSS生成CGIは、「RSS 2.0」形式のRSSだけではなく、「RSS 1.0」「Atom 1.0」形式のRSS、そしてHTMLも出力することができます。
RSS生成CGIは、出力するRSSやHTMLをいくつでも追加することが可能です。公開設定では、出力するRSSやHTMLを管理します。
公開設定画面の各種アイコンの意味は、以下の通りです。それぞれの説明をご覧ください。
公開情報の登録・修正の入力欄の意味は、以下の通りです。説明に従って入力欄を埋め、登録してください。
アクセス名とは生成するRSSおよびHTMLを区別するために使う名前で、RSSおよびHTMLにブラウザーでアクセスするときに使うアドレス(URL)の一部として使われます。半角英数のみで20文字以内で入力してください。
例えば、アクセス名に「rss20」を指定すると、このRSSのURLは http://example.jp/rss/pub.cgi/feeds/rss20 といった具合になります。
出力するRSSフォーマットを選択してください。
選択可能なフォーマットは以下の通りです。
ポドキャストの場合は、「RSS 2.0」または「RSS 2.0 iTunes Podcasting」のいずれかを選択してください。
HTMLのうち、iframe組込用はhtmlタグやbodyタグも含めて出力されます。それに対してSSI組込用は記事表示部分のHTMLしか出力しません。RSS生成CGI内部では、iframe組込用とSSI組込用とで、デフォルトテンプレートが違うだけで、それ以外の処理内容に違いはありません。
出力するRSSおよびHTMLの文字コードを指定します。
以下の文字コードが選択可能です。
RSSを出力する場合は UTF-8 を指定してください。また外国語を扱う場合は、HTMLを出力する場合でも UTF-8 を指定してください。
RSS生成CGIは標準ではRSSおよびHTMLをCGIが出力表示します。しかし、RSSまたはHTMLをファイルに出力したい場合はチェックを入れてください。
チェックを入れると下に出力先ディレクトリパスと出力先ディレクトリURLの設定欄が表示されます。もしファイルのパスとURLとの関係が分からない場合は、チェックを入れないでください。
出力ファイルパスと、それに対応するURLを入力してください。
公開情報を新規に登録する場合、この出力ファイルパスに指定したファイルがすでに存在しているとエラーになります。もしすでにファイルが存在している場合は、事前に削除してください。また、出力先のディレクトリ内に、CGIがファイルを書き込めるよう、出力先のパーミッションを事前に変更しておいてください(CGIがファイル所有者権限で実行されるサーバであれば、通常はパーミッションを変更しなくても書き込み可能です)。
ご利用のサーバーにPerlモジュール LWP::UserAgent がインストールされていると、指定された出力ファイルパスにファイルを生成し、実際にHTTPで通信を試みます。もし指定したURLからHTTP経由で書き込まれた内容が得られない場合はエラーになります。もしパスとURLの関係が一致しているにもかかわらずエラーになる場合は、詳細設定の「HTTPによるURLチェック機能」を無効にしてください。
RSSおよびHTMLには発行日時が新しい記事が掲載されますが、出力ファイルごとに掲載記事数を定義することができます。
掲載記事数を半角数字で1~100の範囲で指定してください。
出力するRSSおよびHTMLごとに、記事の出力順序を指定することができます。
通常、RSSは記事発行日時が新しい順に並べることが多いため、RSSの場合は変更しないことをお勧めします。HTMLの場合は、ご利用の環境に合わせて変更してください。
同じURLの記事を複数登録した場合、RSSリーダーによってはすべての記事を表示せず、最新の記事のみを表示する可能性があります。それを回避するため、記事URLの最後にIDを加えることで、別々の記事であるかのように見せかけることができます。
この機能を有効にすると、RSSおよびHTML構築の際に、すべての記事のURLの最後に記事IDを付加します。例:http://example.jp/example.html?12
特定のカテゴリーに属する記事のみを掲載することが可能です。
カテゴリーフィルターを有効にしたい場合はチェックを入れてください。カテゴリーが未登録の場合は、この機能をご利用頂くことはできません。
チェックを入れると左図のように、カテゴリー管理で登録されたカテゴリーの一覧が表示されます。掲載対象のカテゴリーにチェックを入れてください。
カテゴリーフィルターが有効になると、このRSSまたはHTMLには、指定カテゴリーに属する記事のみが掲載されるようになります。
公開設定画面に表示されている
ボタンを押してください。削除確認ダイアログが表示されますので「はい」を押してください。

公開設定画面に表示されている
ボタンを押してください。別ウィンドウに該当のRSSもしくはHTMLが表示されます。
RSSはブラウザーごとに独自に整形表示されます。同じRSSであっても、ブラウザーごとに表示内容や表示デザインが異なります。ここでは RSS 2.0 を例にいくつかのブラウザーで表示されたサンプルをご紹介します。
Chrome 1.0 にはRSSを整形表示する機能はありませんが、RSS生成CGIで生成されたRSSには標準でXSLが組み込まれていますので、下図のように整形して表示されます。
公開設定画面に表示されている
ボタンを押してください。テンプレート編集フォームが表示されます。
当初は何も登録されておらず、デフォルトのテンプレートが適用されています。もしデザインをカスタマイズしたい場合は、まず画面上の「ロード」ボタンを押してください。
「ロード」ボタンを押すと、テンプレート入力フォームにデフォルトのテンプレートがセットされます。このデフォルトのテンプレートを編集してください。編集が終わったら、画面下の「設定」ボタンを押してください。
RSS生成CGIのテンプレートは、テンプレートエンジン※にあわせた方法で記述しなければいけません。テンプレートでは、システムが所定の値に置き換えるための変数や制御タグを記述します。
%var% といった具合に、変数名の前後を % で囲んだものです。var は変数名を表し、画面ごとに利用可能な変数名が決まっています。
<TMPL_IF NAME="var">AAAAA</TMPL_IF> と記述することで、場合分け表示が可能となります。var は前述の変数名です。変数 var に空文字や0以外の値がセットされれば、AAAAA の部分が表示され、そうでなければ AAAAA の部分は表示されません。
<TMPL_IF NAME="var">AAAAA<TMPL_ELSE>BBBBB</TMPL_IF> といった記述も可能です。条件を満たせば AAAAA が、満たさなければ BBBBB が表示されます。
<TMPL_UNLESS NAME="var">AAAAA</TMPL_UNLESS> といった記述も可能です。これは TMPL_IF とは逆に、条件を満たさなかった場合に AAAAA が表示されます。
<TMPL_LOOP NAME="var_for_loop">・・・</TMPL_LOOP> と記述することで、所定の内容を繰り返し表示します。記事の表示に利用されます。繰り返し処理の場合は、繰り返し処理専用の変数名が割り当てられます。そのため、通常の変数や条件分岐で定義された変数名は利用できませんので注意してください。
| ※ | RSS生成CGIはテンプレートエンジンにPerlモジュール HTML::Template を採用しています。 |
|---|
置換指示子、条件分岐タグ、繰り返し処理タグを記述する際に、以下の点に注意してください。
<TMPL_IF NAME="var"> に対応する終了タグ </TMPL_IF> がない場合など)% (半角パーセント) を記述したい場合は、変数と誤認される可能性がありますので、全角文字にするか、数値文字参照 (%) を使ってください。| 変数名 | 説明 |
|---|---|
| %channel_link% | サイトURL |
| %channel_title% | サイト名称 |
| %channel_language% | サイト言語 |
| %channel_description% | サイト概要 |
| %channel_publisher% | 組織名 |
| %channel_creator% | 編集者名 |
| %channel_email% | 編集者メールアドレス |
| %channel_copyright% | 著作権表記 |
| %channel_image_flag% | ロゴ画像フラグ ロゴ画像がセットされていれば1がセットされます。 <TMPL_IF NAME="channel_image_flag">...</TMPL_IF> といった具合に利用します。 |
| %channel_image_url% | ロゴ画像URL |
| %channel_updated_Y% | RSS最終更新日時の西暦(4桁) |
| %channel_updated_m% | RSS最終更新日時の月(2桁) |
| %channel_updated_M% | RSS最終更新日時の月(3文字形式:Jan~Dec) |
| %channel_updated_d% | RSS最終更新日時の日(2桁) |
| %channel_updated_H% | RSS最終更新日時の時(2桁) |
| %channel_updated_i% | RSS最終更新日時の分(2桁) |
| %channel_updated_s% | RSS最終更新日時の秒(2桁) |
| %channel_updated_D% | RSS最終更新日時の曜日(3文字形式:Mon~Sun) |
| %channel_updated_P | RSS最終更新日時のグリニッジ標準時 (GMT) からの時差 (例: +09:00) |
| %channel_updated_O% | RSS最終更新日時のグリニッジ標準時 (GMT) からの時差 (例: +0900) |
| <TMPL_LOOP NAME="item_loop"> | 記事を必要な数だけ繰り返し表示します。 |
| %item_link% | 記事URL |
| %item_title% | 記事タイトル |
| %item_title_c40% | 記事タイトルから文字を切り詰めたもの。この例では40文字で切り詰めます。もし %item_title_c20% とすれば20文字で切り詰めます。このように数字の部分を切り詰めたい文字数に置き換えてご利用ください。 |
| %item_title_truncated% | 記事タイトル切り詰めフラグ 上記の記事タイトル文字切り詰め用変数 %item_title_c40% を使って、記事が切り詰められた場合に 1 がセットされます。もし文字が切り詰められた場合に、行末に .. を付け加えたいなら、<TMPL_IF NAME="item_title_truncated">..</TMPL_IF> といった具合に利用します。 |
| %item_content_text% | 記事内容(HTMLタグ除去済み) |
| %item_content_text_c100% | 上記の %item_content_text% から文字を切り詰めたもの。この例では100文字で切り詰めます。もし %item_content_text_c50% とすれば50文字で切り詰めます。このように数字の部分を切り詰めたい文字数に置き換えてご利用ください。 |
| %item_content_text_truncated% | 記事内容切り詰めフラグ 上記の記事内容文字切り詰め用変数 %item_content_text_c100% を使って、記事が切り詰められた場合に 1 がセットされます。もし文字が切り詰められた場合に、行末に .. を付け加えたいなら、<TMPL_IF NAME="item_content_text_truncated">..</TMPL_IF> といった具合に利用します。 |
| %item_content_html% | 記事内容(HTMLタグ付き) |
| %item_creator% | 著者名 |
| %item_email% | 著者メールアドレス |
| %item_published_Y% | 記事発行日時の西暦(4桁) |
| %item_published_m% | 記事発行日時の月(2桁) |
| %item_published_M% | 記事発行日時の月(3文字形式:Jan~Dec) |
| %item_published_d% | 記事発行日時の日(2桁) |
| %item_published_H% | 記事発行日時の時(2桁) |
| %item_published_i% | 記事発行日時の分(2桁) |
| %item_published_s% | 記事発行日時の秒(2桁) |
| %item_published_D% | 記事発行日時の曜日(3文字形式:Mon~Sun) |
| %item_published_P% | 記事発行日時のグリニッジ標準時 (GMT) からの時差 (例: +09:00) |
| %item_published_O% | 記事発行日時のグリニッジ標準時 (GMT) からの時差 (例: +0900) |
| %item_updated_Y% | 記事最終更新日時の西暦(4桁) |
| %item_updated_m% | 記事最終更新日時の月(2桁) |
| %item_updated_M% | 記事最終更新日時の月(3文字形式:Jan~Dec) |
| %item_updated_d% | 記事最終更新日時の日(2桁) |
| %item_updated_H% | 記事最終更新日時の時(2桁) |
| %item_updated_i% | 記事最終更新日時の分(2桁) |
| %item_updated_s% | 記事最終更新日時の秒(2桁) |
| %item_updated_D% | 記事最終更新日時の曜日(3文字形式:Mon~Sun) |
| %item_updated_P% | 記事最終更新日時のグリニッジ標準時 (GMT) からの時差 (例: +09:00) |
| %item_updated_O% | 記事最終更新日時のグリニッジ標準時 (GMT) からの時差 (例: +0900) |
| %item_enclosure_url% | メディアコンテンツのURL |
| %item_enclosure_size% | メディアコンテンツのサイズ |
| %item_enclosure_type% | メディアコンテンツのMIMEタイプ |
| %item_enclosure_duration% | メディアコンテンツの再生時間 |
| %ctg_num% | 該当の記事が属しているカテゴリーの数 |
| <TMPL_LOOP NAME="ctg_loop"> | 該当の記事が属しているカテゴリーを必要な数だけ繰り返し表示します。 |
| %name% | カテゴリー名 |
| </TMPL_LOOP> | |
| </TMPL_LOOP> |