見出しにアンカーリンク用の固有番号付加を†
- ページ: BugTrack
- 投稿者: reimy
- 優先順位: 普通
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2003-04-04 (金) 22:50:03
- バージョン:
メッセージ†
#contents
でアンカーリンクを生成する場合に、現在はそのつど先頭から番号を振っているが、見出しを記述して記録した時点で見出しにアンカー(<a id="固有番号">)を生成・付加しておけば、記事が増えた場合でもアンカーリンクの番号が変動しなくて済む。tDiary方式。
具体的には
*見出し
**見出し
***見出し
が記述され記録される場合に
*[固有番号]見出し
**[固有番号]見出し
***[固有番号]見出し
というようにソースを書き換え、記録する。
これだとBugTrack/281のような問題も起こらないはず。
参考:質問箱・見出しを #contents を使ってジャンプする
- 見出しを編集しようと思ったら固有番号を気にしなくちゃいけないってことでしょうか? 順番入れ替えたりとかするときは? 編集ボタンを押したら固有番号をカットしてくれるんなら嬉しいですが。あるいは日記モードみたいなものを用意してくれるとかでもいいですけど。 -- わたなべ 2003-04-05 (土) 14:04:04
- 気にするって、**と見出しの間の[固有番号]を編集時に消さなければいいだけのことでは? -- reimy 2003-04-05 (土) 17:23:52
- 順番を入れ替えようが一向に問題ありません。というか、わたなべさんは勘違いされているようです。順番を入れ替えても大丈夫なように変えようという提案ですから。現状のままでは順番を入れ替えたらアンカーの番号が変わってしまうので、外部からのリンクで困るわけです。「固有番号」というのはメールのMessage-IDのようにプログラム側で一意の番号を振るわけですから、現在のような単純な1,2,3…というようなものではありません。重複しない番号が自動的に振られれば問題ないわけです。--reimy 2003-04-06 (日) 02:27:51
- これを書いた時点では勘違いしていました。しかしその後「邪魔だな」という思いに変わりました。つまり存在を意識したくない、と。で、その話は下の方の議論で自分の中では収束しました。できれば BASIC の RENUM みたいな機能があると嬉しいですけど。(もうこれは単に気分の問題) -- わたなべ 2003-04-06 (日) 11:40:56
- 別案:見出しで、contentsで使うアンカーを明示的に指定できるようにするのはどうでしょうか。無指定時や名前の重複等エラー時は従来通り連番でアンカーを作る、と。 -- にぶんのに 2003-04-05 (土) 16:05:29
以下、具体的なイメージ
*[hoge] ほげ
**ほげの下で無指定
***[fuga] ふが
***ほげの下の下で無指定
*[hoge] 重複ほげ
*[content_1] 下線を使ったらエラー
「ほげ」のアンカーは"hoge"、「ふが」のアンカーは"fuga"、「ほげの下で無指定」のアンカーは"content_1_1"、「ほげの下の下で無指定」は"content_1_1_2"、重複ほげは"content_2"、「下線を使ったらエラー」は"content_3"(自動付番との重複を避けるためエラーにした方がよさげ)
- これ、じゃまくさいです。それなら今のanameを手書きで併用するのと変わらないです。自動にアンカー名を決めてくれないと。「質問箱」に書かれていたように、すべての見出しに対して固定したアンカーが自動で設定されないと、PukiWiki外部からの飛び先として使いにくいですから。-- reimy 2003-04-05 (土) 17:23:52
- 上と絡みますが、目に見える形そのものがうざい気がします。まぁ感性の問題かもですが。 -- 2003-04-05 (土) 20:33:33
- PukiWikiの使い方の違いでしょうか。reimyさんのサイトの様な日記/ニュース形式で見出しを多用する場合はアンカーリンクは常時必須なのでしょう(=アンカーを自分で打つ労力が大きい)し、編集時にアンカーリンクが見えるのが邪魔な人もいると。折衷案として **[*] とか書くと更新時に固有番号に置き換わる機能があれば良いのかな。articleプラグインで対応されれば概ね両者の意図する動きになるのでは -- にぶんのに 2003-04-06 (日) 01:47:47
- 勘違いしてますね。質問箱・見出しを #contents を使ってジャンプするに書かれている要望をきちんと理解しないと。アンカーを自分で打つ労力云々が問題なのではなく、他の人が(外部から)アンカーを利用できないことが問題なのです。-- reimy 2003-04-06 (日) 02:32:41
- なぜここでarticleプラグインが突然登場するのか理解できません。「アンカーリンクが見える」ってアンカータグが見えるわけではないし、すでに編集された部分の「**」が「**[4005642345]」というように書き換わっていたとして、何が邪魔になるのでしょう? そのアンカーにリンクされていない場合(多くの場合はそうでしょう)であれば、それを「**」に書き換えてしまったところで、再び新たな「固有番号」が自動付加されて記録されるわけですから、問題はないはず。-- reimy 2003-04-06 (日) 02:38:50
- 編集時にブラウザの狭い編集ウィンドウに固有番号が出てくるのが邪魔です。固有番号を付けるにしても最低限にしたい。articleが出てくるのは元の質問の通りarticleではアンカーを使いたいページとなる傾向が顕著なため。 -- にぶんのに 2003-04-06 (日) 05:53:02
- Wikiなのだから必要な項目のみ追加すれば良いと考えてました。とはいえ外部リンクする人が必ずしも編集ルールを理解している訳ではないので、この案が良くない事はわかりました -- にぶんのに 2003-04-06 (日) 05:53:59
- 今までに、PukiWiki として、本文を改変する機能ってありましたっけ?常に表示時にということで、編集したイメージをそのままの形態で保存しているものと理解していました。もし他に無いのなら、そういったポリシーじゃないですけど、整理する必要はありませんかね? -- upk 2003-04-06 (日) 02:26:28
- 本文を改編するのではないのです。編集して記録されるときに固有番号を付加するわけです。ソース書き換え型ユーザー定義と同じことです。 -- reimy 2003-04-06 (日) 02:30:25
- イメージは了解しました。本文じゃないということは、固有にするための解析データというか実体は、別にあるということなんですよね?と質問しているのも、ソース書き換え型ユーザー定義って、どこに、その用語が定義されているのか?私には探せませんでしたもので。--upk 2003-04-06 (日) 03:12:25
- いえ、ソースは書き換えますよ。ソース書き換え型ユーザー定義は、pukiwiki.ini.phpの中に「ユーザ定義ルール(直接ソースを置換)」としてnow?、time?、date?が定義されています。 -- reimy 2003-04-06 (日) 03:20:01
- 固有にするための実体は別にある必要はないです。そのページにおいて一意であれば問題ないので、日時から作成した文字列(数字でよい)に記録する時点での先頭からのcommentのカウント(現状のもののような感じ)を加えて固有番号にすればいいわけですから。ソースを直接書き換えるので、再編集しても(人間がその固有番号部分を変えない限り)固有番号は変化しません。 -- reimy 2003-04-06 (日) 03:25:54
- やっと理解しました。本文を変えないでいて、それでいて固有にする。それを利用者には、意識させない。という意味で、実体は外なのかなぁ?と思っていました。まぁ、この実装とした場合には、知っている人だけ、分かれば良いという実装なのですよね? 見出しに、そんな固有番号を採番してくれる必要がなければ、そのソース書き換え型ユーザー定義を使用しなければ、今と同じとなる。という実装イメージでいます。-- upk 2003-04-06 (日) 03:33:28
- そうそう。default.ini.phpあたりで、アンカーリンクの固有番号を使用する、しないを設定できれば、まったく問題ないはずですからね。 -- reimy 2003-04-06 (日) 03:44:24
- &aname(hoge){hogehoge};が正常に動作するようになったことに伴い、新たな問題が露呈したので優先順位を「緊急」に変更してBugTrack/308へ。 -- reimy
- BugTrack2/96 アンカーIDの重複する可能性について --