[Date Prev][Date Next][Thread Prev][][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 をいじっています。