ページ側で読み込み行数の制限を行う構文の追加†
- ページ: BugTrack2
- 投稿者: Ratbeta
- 優先順位: 低
- 状態: 却下
- カテゴリー: プラグイン
- 投稿日: 2005-03-14 (月) 10:37:23
- バージョン:
メッセージ†
現在、幾つかのプラグインで別のページを読み込んで加工して表示する、という処理を行っていますが、
読み込まれる側のページで特定の構文を設定することによって、それ以上ページの内容を読み込まないという処理ができれば便利だと思います。
対象となるプラグインは、今のところcalendar_viewやinclude、rssです。
具体例1 : blogなどにある「もっと読む」リンク†
対象 : calendar_view
calendar_viewの対象のページで特定の構文を書き込んでおく。
*日記A
本日はお日柄もよく、 ...
#nomore(もっと読む)
さて本日は ...
calendar_viewが呼ばれたページでは次のように表示される。
*日記A
本日はお日柄もよく、 ...
[[もっと読む>Diary/yyyy-mm-dd#more]]~
具体例2 : 問題の答えは表示しない†
対象 : include
include対象のページに特定の構文を書き込んでおく。
*府立高校15年度入試 : 数学
1. 二次関数y=2x^2と一次関数y=ax+bがある。 ...
#nomore(回答例はこちら)
*回答例
y=2x~2とy=ax+bの交点は(-3,18)と(2,8)であるから、これを代入し、 ...
includeが呼ばれたページでは次のように表示される。
*府立高校15年度入試 : 数学
1. 二次関数y=2x^2と一次関数y=ax+bがある。 ...
[[回答例はこちら>入試問題#more]] ~
具体例3 : RSSの概要出力†
具体例4 : TrackBackの送信内容設定†
(ページが長くなるので省略します。)
など、いろいろ便利な使い方ができると思います。
実現方法1 : ブロック型プラグイン形式†
先に例としてあげた方法です。
#nomore(もっと読む)
nomore.inc.phpは&aname(more);を呼び出す。
利点 :
- nomore.inc.phpの追加と対象プラグインの修正のみで実現できる。
欠点 :
- 無駄なプラグインが増える(#contentsのように本体修正でも実現可能だが、先の利点が無くなってしまう)。
実現方法2 : 新規構文の追加†
PukiWikiの整形ルールに新たな構文を追加する。
// ! nomore : もっと読む
利点 :
- コメントであるためプラグインを追加する必要がない。
- 対象プラグインの修正のみで対応できる。
欠点 :
- read.inc.phpの修正をしない限りアンカー出力ができない。
実現方法3 : anameプラグインの流用†
&aname(more);
既存のanameプラグインのアンカー名によって判別を行います。
利点 :
- 新たにプラグインや構文を追加する必要がなく、対象プラグインの修正のみで対応できる。
欠点 :
- リンク対象文字列を出力できない。
- 既存のアンカーと混同される可能性がある(アンカー文字列を複雑にすることである程度は回避可能)。
行数(文字数)制限ではコンテンツの途中でぶつ切りにされることがあるので提案しました。
ご意見お待ちしています。
コメント†
- 普通のblogとかでも続きを読むとかのリンクの前の文章ってぶつ切りになってたような。ただ、その辺りをユーザーが制御できるようになれば面白いかも知れませんね。 -- okkez
- うちで前に飼ってたNucleusは切る部分を指定できましたけどね。他はそうではないんでしょうか。 -- Ratbeta
- 途中でぶつ切りの件、仮に #nomore というプラグインを作る場合、 &nomore; なんてインラインプラグインが仮に作れたら(うまく動いたら)良さそうですね。 -- henoheno
- 水平線(----)はそれ自体が区切りを表すので、これで切るのも良いかもしれません。 -- Ratbeta
- お疲れ様です。水平線の場合、生テキストを分解する時点でその処理をせねばならないので、PukiWiki側の都合ではありますが、ハックは面倒かもしれません。ひとまず #nomore のような形で実現できるかどうか試した後に、興味があれば気楽にやってみる程度でいいかもしれませんです。 -- henoheno