ruby-reference-manual:552
From: Minero Aoki <aamine@l...>
Date: Mon, 5 Nov 2007 00:02:19 +0900
Subject: [ruby-reference-manual:552] Re: ページ内リンクについて
青木です。 On 2007/10/13, at 14:27, eklerni wrote: > いまsprintfフォーマットの項の編集をしています。 > このページでは旧マニュアルにあった((<sprintfフォーマッ > ト/精度>))のような > 形式でのページ内のヘッダへのリンクが多用されています。 > このリンクを取り除いてしまうと見通しの悪いページになってしまう > ので、 > ページ内リンクの機能が欲しいのですが、どうでしょうか。 確かに、ページ内リンクは懸案なのでどうにかしたいところです。 > 決めることとしては > * ハイパーリンク[[...]]の書式 > * ヘッダにジャンプ先の機能を持たせるか?あるいはなんらかの形で > 宣言するか > * ヘッダのレベルは複数あるが、どのような対応づけにするか > * ヘッダの2バイト文字はどうするか いま考えていることとして、以下のような点があります。 * 2 バイト文字列で参照するのはやめたい。 文字コードによって違ってしまうし、URL が妙に長くなる し、読めない。 * 既存の [[m:String#split]] の形式を生かしたい。 で考えたのは以下のような仕様です。 * ジャンプ先は明示的に宣言する。 文法は ==[a:LINK_ID] (「=」と「[」の間に空 白を入れない) 基本的にレベル 2 以上はすべて前もって宣言してしまう。 * 参照側の文法は以下の 2 通り * カレントページ内 [[ref:LINK_ID]] * カレントページ以外 [[ref:m:String#%#LINK_ID]] ↑ String#% のページの LINK_ID にリンク * 一般のドキュメントは [[d:spec/syntax]] のようにプリフィ クス d: を使う * そのページ内リンクは [[ref:d:spec/syntax#LINK_ID]] 他の仕様は以下の通り。 * レベルによっては仕様に差を付けない。 * ID 宣言形式なのでマルチバイト文字は扱わない。LINK_ID は [a-zA-Z0-9_]+ のみ。 * [[ref:...]] は、その参照先のキャプションに自動展開される。 * forward reference あり。つまり、参照元が参照先よりも前にあって もよい。 そのため、LINK_ID はページ内でユニークでなければいけな い。 例: (宣言) ==[a:token] トークン (同じページから) [[ref:token]] で述べたように…… (別のページから) [[ref:d:spec/syntax#token]] で述べたように…… ちょっとゴチャゴチャしすぎかなあ。まあ、わたしとしては参照は極力 減らすべきだと思うので、あまり簡潔にしようとは思っていません。 -- 青木峰郎 -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
498 2007-10-13 07:27 [eklerni@f... ] ページ内リンクについて -> 552 2007-11-04 16:02 ┗[aamine@l... ]