マクロ命令

<!--- ~ ---> (0.9.4以降)

 スキン専用のコメントです。HTMLのコメントと似ていますが、前後ともハイフン3つです。
 これに挟まれた部分は、HTMLとして出力は行われません。

<if オプション名="内容">~</if> (0.9.4以降)

 条件が true の場合に、挟まれた部位が有効になります。

オプション名内容説明スキン種別
categoryカテゴリ名指定カテゴリの表示であればtrueBODY,ITEM
def_tagタグ名記事ファイル中にタグ名が存在すればtrueITEM
modeモード名クエリー'm'がモード名であればtrue。
同じURLでも、モードによって表示内容を分けることが可能です。例として、携帯用スキンのBBS及びツッコミの書き込みフォーム移行で使用していますので、使い方の参考にしてみてください。
BODY,ITEM
flagbSingle単一記事表示モード(Permalink表示時)にtrueBODY,ITEM
bHomeトップページでtrueBODY,ITEM
bAcceptツッコミ受付中ならtrueITEM
bTimeoutツッコミの受け付け期間が終了していたらtrueITEM
bWBExistツッコミがあればtrueITEM
bTBExistトラックバックがあればtrueITEM
bRefExistリンク元記録があればtrueITEM

 オプション名の前に「!」を付けると、意味が反対になります。

<if !category="bbs/">
    <if def_tag="Image">
        <img src="<%=$Image%>">
    </if>
</if>

 例えば上記の例は、「カテゴリがbbsではなく、Image タグが記事中にあるなら、Imageを表示」という意味になります。

<%goto "ラベル名"%> (0.9.4以降)
<%label "ラベル名"%> (0.9.4以降)

 goto から、同名のラベル名の label へジャンプし、その途中の処理をスキップします。
 label は goto より必ず後方にある必要があります。前方ジャンプは出来ません。

<IsCategory dir="カテゴリ名">~</IsCategory> (0.9.3以前)
<ifdef tag="タグ名">~</ifdef> (0.9.3以前)
<ifndef tag="タグ名">~</ifndef> (0.9.3以前)

 これらの命令は将来廃止予定です。

<if category="カテゴリ名">~</if>
<if def_tag="タグ名">~</if>
<if !def_tag="タグ名">~</if>

 にそれぞれ置き換えてください。


BODYスキン用置換命令

 オプションは、特に「省略不可です」と書かれているもの以外は全て省略可能です。

 オプションでディレクトリやファイル名の指定を行う場合、rnote.php からの相対URLで記述するものと、entries が基点になるものの2種類ありますので注意が必要です。基本的に、カテゴリや記事の場合はentriesが基点になり、スキンファイル等の指定は rnote.php の存在する場所が基点になります。

<%=$include%>

 別のテキストファイルを指定位置に挿入します。
 複数の html_body.skin が複数のディレクトリに存在する場合、もし、各 html_body.skin に共通部分が多いならば、その共通部分を別ファイル化し、各 html_body.skin から include するようにすると、更新の際はその共通部分のファイルのみを変更すれば良く、管理が楽になります。

オプション名説明
url挿入するテキストファイルを指定します。rnote.php の存在する場所からの相対URLで記述します。
このオプションは省略不可です。

 この命令を使って、別のCGIで生成したテキストファイルを指定位置に挿入するというテクニックも使用できます。但し、挿入された状態でキャッシュが生成されるので、毎回内容を変化させたいような場合にはこのテクニックは使用出来ません。
 そのような事をしたい場合は、evalを有効にして <?php print(file_get_contents('うんちゃら.txt'));?> とするか、又は(xhtml的には問題がありますが)インラインフレームで表示するという方法もあります。

<%=$plugin%>

 プラグインを呼びます。

オプション名説明
nameプラグイン名です。省略不可。
func関数名です。プラグインによっては省略できます。
optプラグインに渡すオプションを記述します。プラグインによっては省略できます。
cacheoffにするとプラグインの出力がキャッシュされず、毎回プラグインが呼ばれます。

 詳しくは各プラグインの説明に従ってください。

<%=$site_items%>

 ITEM用スキンを挿入します。要するに、この置換命令の場所に記事が表示されます。

オプション名説明
urlカテゴリの指定です。このオプションが省略された場合は、ユーザーのアクセスしたカテゴリが表示されます。
例えば、サイドバーに最新記事のタイトルを表示したいという場合は url="/" と書いておいて下さい。これを書き忘れますと、日記コーナーに入った時は日記の最新記事タイトルが、画廊に入ったら画廊の最新記事タイトルが表示されてしまいます。
date日付の指定です。
2004年の記事を表示したい場合は date="2004"、2004年1月の記事を表示したい場合は date="2004-01" と書きます。
num1ページに表示する記事の最大数です。省略時は初期設定で設定された数になります。
start
end
例えば「2つめから4つめ迄の記事を表示」というような事が出来ます。
このオプションが指定されている場合は num オプションは無視されます。
マクロ処理の結果、表示すべきものが何も無かった場合、その記事はカウントの対象になりません。
sortソート方法を指定します。
  • sort="df" タイムスタンプの古い順
  • sort="dr" 新着順(省略時ディフォルト)
  • sort="ff" ファイル名順
  • sort="fr" ファイル名逆順
  • sort="cf" コメント込みのタイムスタンプ正順
  • sort="cr" コメント込みのタイムスタンプ逆順
skinこのオプションが指定されている場合は、ディレクトリ依存の標準ITEM用スキンではなく、ここで指定されたITEM用スキンが使用されるようになります。
rnote.php の存在する場所からの相対URLで記述します。
<%=$navi_forthback%>

 前後移動などのサイトナビゲーションを作成します。
 オプションの記述が無い場合は、下記のような標準のナビゲーション表示を行います。

Category:Home (Total 59 items)
« 7-9 | 4-6 | 1-3 »

 <%=$site_items%> 置換命令がページ中に存在し、かつ url と date オプションが共に指定されていない場合にのみ、<%=$navi_forthback%> 命令はサイトナビゲーションを作成します。

オプション名説明
mode="link" HTMLの<head>タグ内の<link rel="prev" や rel="next" タグを生成します。
mode="category"(0.9.6以降) 現在の階層(Home/Diary 等)を表示します。
id="..."
class="..."
mode="prev" 及び "next" において生成されるボタンの <a> タグ内に、指定された id 及び class 属性を記述します。
mode="compact"表示がコンパクトになります。主に携帯表示用。
prev_str="..."
next_str="..."
単一ファイル表示時、前後移動が記事名ではなく、指定の文字列になります。
mode="prev"
mode="next"
前後移動のボタンのみを生成します。
str="..."mode="prev" 及び "next" において生成されるボタンに表示する文字列を指定します。
strオプションが無い場合は、単独ファイル表示時は前後のエントリのタイトル、複数ファイル表示時は 4-6 等の表示になります。

prev_str, next_str の使用例:

<%=$navi_forthback prev_str="←前の記事" next_str="次の記事→" %>

prev & next ボタン生成の記述例:

<%=$navi_forthback mode="prev" class="btn_prev" str="前へ戻る" %>
<%=$navi_forthback mode="next" class="btn_next" str="次へ進む" %>
<%=$last_modified%>

 最終更新日時を表示します。
 ちなみにこれは、再構築した日時ではなく、一番新しい記事(但しHomeで表示されないものは除外)のタイムスタンプです。

オプション名説明
fmt日付のフォーマット文字列を指定します。
fmt="%Y-%m-%d" のように記述します。
詳細は PHPの strftime(); 命令の説明をお読みください。
locale日付のロケールを指定します。曜日を「日曜日」と表示したい場合は「ja_JP」又は「ja_JP.UTF8」、「Sunday」と表示したい場合は「en_US」等にします。
省略時は初期設定で指定されたロケールが使用されます。
<%=$site_link%>

 サイト内リンクを生成します。
 詳細は「サーバーの設定」の項で説明しますが、

> http://your.site.com/rnote.php?u=diary/d20040101.htm

 というアドレスは、mod_rewrite を使用し rnote.php を隠蔽した場合、

> http://your.site.com/diary/d20040101.htm

 でアクセス出来るようになり、mod_rewrite を使用するかしないかで、サイト内のURLが変化してしまいます。
 <%=$site_link%> 置換命令を使用してサイト内リンクを生成すれば、mod_rewrite 使用・不使用に関わらず、書き換えを行う必要が無くなります。

オプション名説明
urlアクセスしたいカテゴリ、又は記事を指定します。
カテゴリを指定する場合は、最後が / で終わっていなければなりません。
dateアクセスしたい日付を指定します。
skinこのオプションが指定された場合は、ディレクトリ依存のBODY用スキンではなく、ここで指定されたBODY用スキンが使用されます。
rnote.php の存在する場所からの相対URLで記述します。
なお、拡張子 .skin は記述する必要はありません。
type"html" 又は "xml" のいずれかを指定出来ます。"html"がディフォルトです。"xml" が指定された場合は、Content-Type: text/xml;(初期設定で変更可能)として送信されます。
mode任意のモード名を設定出来ます。同じ URl でも、モードによって表示内容を変更する事が可能です。条件判断は <if mode="..."> で行います。
<%=$site_base%>

 rnote.php が置かれているurlです。

<%=$site_url%>

 サイトのurlです。初期設定の SITE_URL の内容が表示されます。
 <%=$site_base%> と似ていますが、rNote をサイトの一部だけで使用してる場合、両者は異なった url になります。

<%=$site_title%>

 サイト名です。初期設定の SITE_TITLE の内容が表示されます。

<%=$site_entrytitle%>

 HTMLの<head>の<title>タグ用です。現在のカテゴリ名又は記事タイトルが表示されます。

<%=$site_charset%>

 文字コードです。ディフォルトは UTF-8 です。初期設定の SITE_CHARSET の内容が使用されます。

<%=$site_lang%>

 言語です。日本は ja です。初期設定の SITE_LANG の内容が使用されます。

<%=$site_author%>

 管理者名です。初期設定の SITE_AUTHOR の内容が使用されます。

<%=$rss_url%>

 RSSファイルのURLです。

<%=$rnote_version%>

 rNoteのバージョンが表示されます。

<%=$rnote_url%>

 rNoteサポートページへのリンクが生成されます。

<%=$bbs_posturl%> (0.9.4以降)

 BBSのPOST先です。BBSのフォームを生成するのに使用します。

<%=$cookie_name%> (0.9.4以降)
<%=$cookie_url%> (0.9.4以降)
<%=$cookie_pass%> (0.9.4以降)

 クッキーに記録された投稿者の名前、URL、パスワードです。BBS及びツッコミのフォームを生成するのに使用します。

<%=$navi_category%> (0.9.3以前)
<%=$navi_archive%> (0.9.3以前)
<%=$navi_calendar%> (0.9.3以前)

 これらの命令は将来廃止予定です。カテゴリ表示、日付アクセス、カレンダーはプラグイン化され、本体から分離しました。


ITEMスキン用置換命令

 ITEM用スキンでは、以下の命令を使用することが出来ます。
 なお、以下の命令以外にも、BODY用スキンで使用出来る置換命令のうち、<%=$include%> 命令以外は、ITEM用スキンでも一応全て使用出来る筈です。

<%=$Title%>

 記事のタイトルです。

<%=$Text%>

 記事の本文です。

<%=$Date%>

 記事の日付です。記事中に <Date> タグが無かった場合は、記事ファイルのタイムスタンプがそのまま使用されます。

オプション名説明
fmt日付のフォーマット文字列を指定します。
fmt="%Y-%m-%d" のように記述します。
詳細は PHPの strftime(); 命令の説明をお読みください。
locale日付のロケールを指定します。曜日を「日曜日」と表示したい場合は「ja_JP」又は「ja_JP.UTF8」、「Sunday」と表示したい場合は「en_US」等にします。
省略時は初期設定で指定されたロケールが使用されます。
<%=$Description%>

 記事の要約です。記事中に <Description> タグが無かった場合は、本文の冒頭が要約として使用されます。
 主にRSSの生成用です。htmlのタグは削除されます。

オプション名説明
length記事中に <Description> タグが無かった場合、本文の頭何文字迄表示するかを指定出来ます。このオプションが無かった場合は初期設定で定められた初期値が使用されます。
<%=$Category%>

 記事の属するカテゴリです。

<%=$WriteBack%>

 ツッコミ、トラックバック、リンク元等を表示します。

オプション名説明
skin(0.9.4以降)ツッコミ用スキンを指定出来ます。省略時は初期設定で指定されたスキンが使用されます。
<%=$Url%>

 記事のリンク用URL(Permalink url)及びトラックバックping urlです。

オプション名説明
fullpathfullpath="true" で、http:// から始まるフルパス表示になります。
mode任意のモード名を設定出来ます。同じ URl でも、モードによって表示内容を変更する事が可能です。条件判断は <if mode="..."> で行います。
<%=$bbs_delete_id%>

 BBSの削除用idです。BBSの作成に使用します。実際の使い方は、配布アーカイブ中の entries/bbs/html_item.skin を参照してみてください。

<%=$任意のタグ名%>

 「記事の書き方」の項で説明したように、<%=$タグ名%> と書くと、記事ファイル中のタグ名で囲まれた内容が表示されます。

オプション名説明
autolink0.9.4以降で実装。
true にすると、内容にURLとおぼしき文字列があった場合、自動でリンク化します。
ディフォルトは false です。
targetblank0.9.7以降で実装。
記事内の外部リンクに target="_blank" を自動で追加し、別ウィンドウで表示するようにします。
但し、xhtml 1.1 より target 属性は廃止になっていますのでご注意。
<%=$NumWB%>
<%=$NumTB%>
<%=$NumRF%>

 ツッコミ、トラックバック、リンク元のそれぞれの件数です。

<%=$WB_Data% fmt="フォーマット文字列">
<%=$TB_Data% fmt="フォーマット文字列">

 ツッコミ及びトラックバックの内容を表示します。
 フォーマット文字列中では以下の変数が使用出来ます。

変数名説明
$no番号
$name名前(トラックバックではサイト名と記事名)
$emaile-mail(ツッコミのみ)
$date投稿日付。初期設定の DATETIME_FORMAT でフォーマットされます。
$text本文
<if flag="bWBExist">
<dl>
<%=$WB_Data fmt="<dt>$no: $name</dt><dd>$text</dd>\n" %>
</dl>
</if>

 フォーマット文字列中に「"」などを入れる場合は、「\"」のように記述してください。

<%=$Ref_Data% fmt="フォーマット文字列">

 リンク元の表示を行います。
 フォーマット文字列中では以下の変数が使用出来ます。

変数名説明
$no番号
$urlリンク元URL
$numリンクを辿って来た人の数

エラー表示スキン用命令

 エラー表示用スキンでは、以下の置換命令が使用出来ます。

<%=$error_message%>

 エラーメッセージの内容を表示します。

<%=$error_type%>(0.9.6以降)

 エラーメッセージの種別を表示します。

<%=$site_title%>(0.9.6以降)

 初期設定のSITE_TITLEの内容です。

<%=$site_url%>(0.9.6以降)

 初期設定のSITE_URLの内容です。

<%=$site_charset%>(0.9.6以降)

 初期設定のSITE_CHARSETの内容です。

<%=$site_lang%>(0.9.6以降)

 初期設定のSITE_LANGの内容です。

<%=$site_author%>(0.9.6以降)

 初期設定のSITE_AUTHORの内容です。

<%=$rnote_version%>(0.9.6以降)

 rNoteのバージョンです。

<%=$rnote_url%>(0.9.6以降)

 rNoteサポートページへのリンクです。


初期設定

 初期設定は、rnote_config.php 内で記述します。

 項目数が結構多いですが、実際に書き換えないといけない部分は、実はほとんど無い筈です。
 まずは、サイトのタイトルや製作者名等だけを書き換えた状態で動かし、後は動かしながら、必要に応じて設定を変更していってください。

 二者択一(真か偽か)の設定項目では、「true」又は「false」のいずれかを記述します。

サイト全般の設定

SITE_TITLE
サイトのタイトルです。好きな名前を付けてください。
SITE_AUTHOR
サイトの作者名です。
SITE_URL
サイトの url です。入り口ページがある形式のサイトなどの場合、rnote.php の url ではなく、その入り口の url を記述します。
SITE_LANG
サイトの言語です。日本の場合は「ja」です。
この設定は、html の lang 属性だけではなく、文字コードの自動判別の際の優先順位にも影響します。
SITE_CHARSET
rNoteで使用する文字コードです。UTF-8、EUC-JP 等が使用できます。標準は UTF-8 です。
設定を変更する場合は、プログラム、記事ファイル、スキンファイル等、rNote で使用する全てのファイルを、ここで設定した文字コードで保存し直す必要があります。
なお、Shift_JIS は文字化けが起きるため使用出来ません。
詳しくはこちらの記事等をお読み下さい。
※現在、UTF-8 以外の文字コードに設定した場合の動作検証は行ってません。従って、ここを UTF-8 以外の設定にする事はあまり推奨出来ません。
ADMIN_ID
ADMIN_PASSWORD
管理者用IDとパスワードです。再構築の実行や、管理者権限によるBBSの記事削除等で使用します。
DIR_DATA
記事ファイルを置く場所です。このディレクトリが rNote の Home になります。標準では entries/ というディレクトリ名です。
このディレクトリの下層に更にディレクトリを作成すると、それが rNote 上ではカテゴリとして認識されます。例えば日記コーナーを作成したい場合は entries/diary/ というディレクトリを作成します。
ここで設定されたディレクトリ、及びその下層に作成したディレクトリには、ツッコミやトラックバック等のログファイルも作成されるため、パーミッションを (777) にしておく必要があります。ただ、この設定はセキュリティ的に弱いので、何らかの方策を講じる必要も出てきます。詳しくはサーバーの設定のセキュリティの項をお読み下さい。
DIR_PLUGINS
プラグインを置く場所です。
USE_MOD_REWRITE
Apache の mod_rewrite モジュールを使用して rnote.php を隠蔽する設定を行っている場合は、ここを true にしてください。なお、mod_rewrite についてはサーバーの設定の項で説明します。
EVAL_ENABLE
true で、スキン内にPHPスクリプトを記述して実行する事が可能になります。但し、多少処理が重くなるのと、セキュリティ的な不安が多少ある為、標準では false になっています。
DATETIME_FORMAT
DATETIME_LOCALE
日付時刻表示のフォーマットとロケールの規定値です。ツッコミ表示、<%=$Date%> 及び <%=$last_modified%> 命令等で使用します。
詳細は PHPの strftime(); 命令の説明を参照してください。
なお、曜日が文字化けするという場合は、define(DATETIME_LOCALE,'ja_JP.UTF8'); にすると良いらしいです。

表示・カテゴリ設定

NUM_ITEMS
1ページに表示する記事数の初期値です。BODY用スキン内の <%=$site_items%> 置換命令で num オプションが指定されていない場合、ここでの設定が使用されます。
比較的短い文章ページの場合は多めに、文章が長かったり、画像を貼ったりする場合は少なめにすると良いと思います。
FORTHBACKMODE
単一ファイルの表示時に、前後移動はカテゴリ内に限定するかどうかの設定です。標準では true になっています。
例えば、2004年1月1日の日記を表示していて、1月2日には画廊コーナーに画像が発表されている場合、「次へ」で1月2日の画廊ページに行ってしまうと、もし、日記コーナーと画廊コーナーで全く別のデザインを採用していた場合、不都合が起きる場合があり得ます。また、ファイル表示順がコーナーで異なる場合、例えば片方は新着順で片方はファイル名順というような場合、前後移動というのが意味を成さなくなってしまうケースもあり得ます。
カテゴリをコーナーとしては使用せず、単純に話題毎に分けるだけの目的で使用し、又スキンも余り凝った事をしていないような場合は false に変更しても良いでしょう。
$dir_access_enable
BBSの新規書き込み及び、XML-RPC:metaWeblog.newPost によるエントリ作成の許可(将来実装予定)など、外部からの書き込みを許可するディレクトリを指定します。
$nodisp_at_toplv
何らかの理由で、このコーナーはトップページに表示したくないという場合、そのカテゴリ名を列記します。
例えばそのコーナーは他とは全く違うデザインを採用している為、トップページで他と混ざって表示されると不都合が発生するという場合。又は、作者についての紹介ページなど、そのコーナーは更新してもいちいち新着に乗せる必要が無い場合等。
$category_name
カテゴリ名変換テーブルです。$category_name['diary'] = '日記'; 等と記述します。

ツッコミ・トラックバック、BBS

FORM_CONVENC_AUTO
フォーム入力の際に、文字コードの自動判別及び変換を行うかどうかの指定です。標準では false です。
自動判別及び変換は、入力文字数が少ない時などに失敗する場合もありますので、ここは false のままにしておくのが望ましいのですが、もし、フォーム入力がどうしても文字化けするという場合は、最後の手段として true にしてみて下さい。
詳しくは、サーバーの設定の「フォーム入力の文字化け対処」の項で説明します。
TRACKBACK_MAXEXCERPT
トラックバック表示時の、記事の要約の最大文字数です。
WRITEBACK_MAXTEXT
ツッコミの本文最大文字数です。
BBS_MAXTEXT
BBSの本文最大文字数です。
WRITEBACK_MAXQUERY
ツッコミ及びBBSの、本文以外の全てのクエリ(名前、URL等)の最大文字数です。
基本的には、各項目の最大長はスキンの投稿フォーム中の maxlength で指定しますので、この設定は、イタズラ防止策としての意味合いになります。
BBS_DEFAULT_TITLE
BBS_DEFAULT_NAME
BBS及びツッコミ投稿時、タイトル及び名前が未記入の時の規定値です。
MEASURES_FOR_SPAM
スパム対策で、投稿者のメールアドレスに含まれる@を変換します。
$wb_acceptdays
ツッコミ及びトラックバックの受付日数です。余り古い記事にツッコまれても困るので、ここで設定した日数が経過すると自動的に受け付けを行わなくなります。
カテゴリ毎に指定できます。-1 で無限に受け付け、1以上でその日数経過まで、0の時は最初から受け付けません。
記事ファイル中に <WB_Accept> タグがあった場合はそちらの設定が優先されます。

リンク元関係

REFERER_MERGE
リンク元の表示で、同一サイトは一つにまとめるかどうかの設定です。標準は true です。
Blogツールでは、同一ドキュメントが複数のurlで表示されます。例えばこの rNote では、2004年1月1日の日記が
  • http://your.site.jp/
  • http://your.site.jp/diary/
  • http://your.site.jp/diary/20040101.htm
  • http://your.site.jp/?d=2004-01
…等の複数のurlで表示される可能性があります。
このような場合、これをそのままリンク元として記録すると非常に見づらい為、REFERER_MERGE=true の時はこれを一つにまとめて表示します。
但し、大抵はトップページのurlにまとめられてしまうので、日数が経ってしまうと、自分の書いた記事に言及した記事がどれか判らなくなるという弊害もあります。それが困るという場合は、お好みで false にして下さい。
$no_referer_site
「この記事のリンク元」に含めないアドレスを列記します。主なサーチエンジンについては、予めリンク元に含めないように設定してあります。

タグ名設定

 タグ名を設定します。詳細は記事の書き方の項をご覧下さい。
 例えば、日付を <Date> ではなく <dc:date> にしたいという事も可です。但しその場合、ITEM用スキンでの日付表示置換命令も <%=$dc:date%> に変更になります。

ファイル名関係

 システムで使用する各種ファイルの、拡張子やファイル名を設定します。
 通常は特に設定を変更する必要は無いと思われます。


rNote

official support page

Copyright ©Woody-Rinn All rights reserved. http://rinn.e-site.jp/

Powered by rNote 0.9.7.5