[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: =?utf-8?b?5pel5pys6Kqe?= WIKIPEDIA =?utf-8?q?=E3=81=AE?= anchor
In [emacs-w3m:12823]
On Mon, 20 Nov 2017 20:12:07 +0900, 武者さん wrote:
> HTML5 では、id属性値(a要素のnameはobsolete)もURLのfragmentにも
> 禁則事項はほとんどなく、ドットで始まる値はもちろん記号類だけで
> も良いと規定されています。
> http://www.w3.org/TR/html5/dom.html#the-id-attribute
> https://www.w3.org/TR/html5/obsolete.html#obsolete-but-conforming-features
> https://url.spec.whatwg.org/#url-fragment-string
> ここで許されない非ASCII文字は、普通は%-encodingすると思いますが、
> Wikipediaのように独自の様式でエンコードするのもあり、ですね。
> 現状の [a-z][-.0-9:_a-z]* はちょっと狭すぎるかもしれません。
なぜそんな値にしたのか今となっては忘却の彼方ですが、"[^\t\n \"<>]"
ぐらいで行けそうですね。ご教授ありがとうございます。
あと Wikipedia について
> そんなエンコーディングの手法、というか規格があるんですか?
と書きましたが、エンコーディングと言うよりは、文字列のユニークさ
だけが重要であって、意味がある文を保存する意図はないですね。
> 2017年11月20日 10:01 Katsumi Yamaoka <yamaoka@xxxxxxx>:
> In [emacs-w3m:12812]
> On Sat, 18 Nov 2017 15:59:50 +0900, 白井さん wrote:
>> ご無沙汰しています。白井です。
> こんにちは。お久しぶりです。
> [...]
>> WIKIPEDIA がマルチバイト文字の anchor を作るときに、UTF8の各BYTE
>> を "." で区切って生成しているようですが、
>> <a href="#.E7.89.B9.E5.BE.B4"><span class="tocnumber">1</span>
>> <span class="toctext">特徴</span></a></li>
>> のように "." で始めているのが敗因で
> 今まで気が付きませんでした。ご指摘ありがとうございます。
> そんなエンコーディングの手法、というか規格があるんですか? もし
> wikipedia 独自なのであれば
>> w3m-filter-add-name-anchors() は href=\"#\\([a-z][-.0-9:_a-z]*\\)\"
>> と受けているため、emacs-w3mが扱える <a name=XXX> の生成をしてい
>> ません。
>> ここを href=\"#\\([\\.a-z][-.0-9:_a-z]*\\)\ に変えれば動作します
>> が、HTML4 だと name や id は [A-Za-z] で始まると規定されていたの
>> で悩ましいところです。
> そういう対処も仕方ないと思います。
> そもそも w3m-filter-add-name-anchors じたい、
> <TAG ... id=\"FOO_BAR\" ...>FOO BAR</TAG>
> というものの前に
> <a name=\"FOO_BAR\"></a>
> をむりやり置いて w3m が扱えるようにする、しかも用の無い name ア
> ンカーも作ってしまうものなので、わざわざ ja.wikipedia.org 専用に
> 仕立てる必要も無いだろうと。
> というわけで変更しておきました。
> --
> 山岡
> ;; eww の、閲覧バッファ内に置く input/textarea を emacs-w3m でも
> ;; 使えないかと思ったのが発端で、この一ヶ月 eww をいじっています。