{用者}{進捗記録}{希哲16年2月21日}{希哲16年2月21日の開発}{希哲16年2月21日の進捗}{振り分けられる}{第1階層見出し}{10種}{線種}{希哲16年2月15日24歩}...=}(64)

{希哲16年2月21日9歩 K#F85E/E74C-2183}

進捗時限記録中略

昨日15日24歩についてまとめながら区切り線記法線種見出し階層関係について整理する必要感じたため軽くまとめて終了

下線形見出し階層区切り線用いる線種二本線一本線破線点線4種としていたが,それに対し,9日17歩考えた10種多過ぎる。どれが使えてどれが使えないのか,用者混乱させる懸念がある。

4種絞り込んでしまうことも考えたが,atx 式見出しとの互換性はともかく,10種極めて整合的なものではあり捨て難い

ここで,二本線一本線破線点線出放りとしつつ,他の線種でも代替出来るようにすることを考え始めた。つまり,10線種4階層振り分けてしまえばいい。以下のように,意外と綺麗に振り分けられる

<!-- 第1階層 -->

=====
+++++
*****

<!-- 第2階層 -->

-----
= = =
+ + +

<!-- 第3階層 -->

- - -
: : :
* * *

<!-- 第4階層 -->

. . .

これに装体指定機能持たせてもいいだろう。元々第1階層見出し下線太い一本線だったので,代替しても大きな違和感はない。各見出し階層相応しいように装体はいくらでも調整出来る。

=}
{HTML}{駒手記法}{進捗記録}{あれ}{希哲16年2月20日13歩}{神秘的な}{別に}{実装した}{付けた}{階層区切り}...=}(248)

{希哲16年2月15日24歩 K#F85E/E74C-1EF9}

進捗時限記録中略

不意に閃いた階層区切り線」についての方針まとめて終了

従来の見出し未満区切り線記法に,見出し階層越えられる階層区切り線」を加える。以下のように,唯一通常の区切り線区別出来る見出し記号 #全角 使う

* 第1階層
** 第2階層

#========================#

第1階層段落。

#------------------------#

第2階層段落。

#- - - - - - - - - - - - #

第3階層段落。

#. . . . . . . . . . . . #

第4階層段落。

##

第1階層段落(# の数でも調整出来る)。

持ち辺モチベーション

従来の区切り線記法は,HTML において対応する <hr>性質上見出し未満区切りにしか使えなかった

見出し階層作った後で描写全体に対するフッター的なものを書こうとする第1階層見出し作る必要があるが,しばしば大袈裟感じられることがある。

検討過程

空見出し」の挫折

今回検討当初は,「空見出し」という概念主に考えていた区切り線長さ任意であるべきなので,どうっても自然な形階層調整出来そうになかった。その点,見出し内容出来れば手っ取り早い

しかし,等号星号区切り線使う予定なので,== のように第2階層以降で内容空にする衝突することになる。

区切り線の方を見直しても,--区切り線なら == はやはり二重区切り線であってほしい。直感性下線形見出しとの整合性考えるとこれは捨て難い星号による区切り線はそれに比べればまだ転用余地があったが,その代わり *使う Markdown の区切り線記法との互換性損われる

そもそも,「空見出し」という概念にも無理がある文字を書くから見出しなのだし,実質的に区切り線なのだから,直感的とは言い難い

階層区切り線」の閃き

ここで,唯一区切り線記法被らない見出し記号である番号記号思い出した

番号記号による見出しは,ハッシュタグ駒手記法との衝突避けつつ atx 式見出しある程度互換性持たせるため,## のように2個以上条件対応していた個人的に好きな記法ではなかったこともあり,おまけのような扱いで,ここまで気付かなかった

すでに「空見出し」に感じていて,区切り線記法での対応立ち返っていたことで,この ##特殊な区切り線みなせる特徴持っていることに気付いた記号2個以上繰り返す区切り線見える記法で,実際普文枠線的な装飾使われることが多い記号でもある。

特に,区切り線記法としての統一感直感性保てる2個第1階層表せるということは決定的に重要な点で,見出し記号個数階層関係一致しないとどうしてもちぐはぐ見えてしまう。これは,衝突回避したとしても等号星号では解決出来ない問題だ。区切り線記号としての最短形見出し記号としての第1階層対応しうる唯一記号番号記号だった。

ただし,通常の区切り線記号異なり,個数階層対応するため,普文装飾兼ねられないという問題があった。上位階層区切り線普文上で目立つように書けない

これは,最新の区切り線記法下線形見出し記法検討9日17歩19歩踏まえ見出し階層対応する4種区切り線組み合わせる解決することにした。つまり,第1階層から順に最短形#==##--##- -##. .# というように区切り線組み合わせることが出来るようにする。これがまた都合が良いことに,よくある装飾見える

9日15歩以後,見出し下線区切り線長さ区別出来るようになっているため,区切り線装体にはある程度多様性持たせ問題ない一方見出し下線階層表す装体になっているため,一定制限必要になる。この点でもぴったり噛み合った

別に2個以上良いだろうと実装した区切り線記法おまけ感覚付けた番号記号による見出し記法最近の拡張方針……何気ない全てパズル要素だったかのように思える神秘的な閃きだった。

番号記号見出し仕様厳密化

この階層区切り線考案に,番号記号による見出し常に2個最上位階層とすることにした。つまり,*=##始まる見出しはともに最上位階層表す

これまで異なる見出し記号併用することは特に想定しておらず,実際使われていないはずなので,記号個数単純に計算していた。見出し階層相対的な個数決まるため,*始まる見出しがあると ##第2階層になる。これは階層区切り線整合しない。

特に仕様として決めていたことではないため,ここで厳密化することにした。

実装上の課題

仕様完璧思えるが,実装上の課題残った

HTMLCSS機能的には,可接性ちつつ見出し要素隠すことは造作もないが,SEO 上の懸念多少ある。今の検索演心評価理積みはそこまで単純ではないだろうが,伝統的に見出し要素隠すべきではないとされてきただけに,どこまで不利になるか分からない出来るだけ行儀の良い実装方法見つけたい

そもそも見出し要素にしてはいけないのか,<section> あたりを使って上手く誤魔化せないか,など色々考えてみたが,どれも多かれ少なかれ怪しさ残る

見出しの無い階層区切りというのは HTML想定外だったのだろう。

{HTML}{::after}{文字サイズ}{進捗記録}{目立ってしまう}{制御しにくい}{double}{果した}{調整余地}{font-weight}...=}(121)

{希哲16年2月6日12歩 K#F85E/E74C-06F4}

デライト装体調整終了

見分けにくかった見出し装体視認性大きく向上した修正前修正後

見出し装体固定化

まず,これまで中景輪符<h1>始まる<h2> で始まる前後景輪一覧かで描写内見出し装体1階層ずつずれていたが,これはいったん固定することにした。

ずれるのも HTML文書構造からみれば間違った表現ではなく,中景輪符表現も少し変えるべきかと考えていたが,これもなかなか難しい中景輪符知名部は,現状 <h1> でも <h2> でも font-size: 1.4emfont-weight: boldletter-spacing: 0.05em という装体になっている。輪郭という情報単位粒度考えた時,これ以下は小さ過ぎ,これ以上は大き過ぎという所だ。

他の要素も,要素同士の対比考えて細かく装体調整しているため,それらまで見出し装体変化合わせる保守性悪影響を及ぼす。将来的にどうかはともかく,現時点でそこまでする利点は無いだろう。

CSS では h1 ~ .dln h2, h2 ~ .dln h3 のように兄弟結合子使えば簡単に実装出来る。

装体調整

あくまでも描写内での見出し階層装体固定することにした上で,第1階層から第4階層までの描写内見出しには二本線一本線破線点線4種類下線を付けることにした。これまでは第1階層2px第2階層1px一本下線のみだった。

二本線border-styledouble では制御しにくいため ::after使い,1px2px間隔をあけた。また,点線舞覧によって破線より目立ってしまう場合があるため,調整することにした。

最初は,第1階層二本線第2階層一本線があれば十分かと思ったが,結局文字サイズだけの変化ではぱっと見分かりにくい。各描写内見出し図形的特徴があった方が良い。

文字サイズは,これまで 1.3em1.2em1.1em1.05em1em だったのを 1.3em1.2em1.15em1.1em1.05em とした。

1.3em から 1.1em まで0.05em刻みの方が数字的には綺麗かと思ったが,下線特徴を付けても,特に第1階層第2階層一見して見分けにくかった画面撮り。それ以下は使用頻度も低いので0.05em刻みでも大きな問題はないだろう。

letter-spacingfont-weight調整余地はもう少しありそうだが,視認性改善という目的十二分果したのでここで一段落とした。

2px一本線よりも1px二本線の方がすっきりした印象になるのが意外だった。

{HTML}{開発}{開発記録}{AsciiDoc}{デラング 0.03}{デラング 0.02}{デラング 0.01}{Markdown}{<h1>}{<h3>}...=}(84)

{希哲15年5月15日の開発 K#F85E/E74C-16DE}

デラング整備見出し記法実装

見出し記法一段落

見出し記法実装に関しては一段落したデライト公式での解説

結果的に,Org-Mode,主要なウィキ実装AsciiDocMarkdown の方式に幅広く対応出来ることになり,当初想定よりずっと洗練されたものになった。

見出しの扱いは簡単なようで意外に複雑で,デルン初期実装では早期に実装していたものの,デライトに合わせた再実装がなかなか難しかった。出来てみれば,時間をかけただけのことはある。

昔の輪郭には見出しを使ったものも少なくないため,これらの可読性向上し,SEO にも寄与してくれることが期待出来る。

仕様

見出し記号には,当初予定していた星号に加え,要望による等号,実装途中で条件付きで取り入れられることに気付いた番号記号採用した。半角全角区別は無い。

実装しながら,最初の見出し記号の数も任意にした方が都合が良いことに気付き,最初の見出し記号の数を基準とすることにした。最初の見出し記号の数を下回る見出し記号が現れた場合は,それを新たな基準にする。

いずれにせよ,HTML見出し階層を飛ばすのは良くないとされているため,こうせざるをえないのだが,中景輪符の捉え方で,見出し記号2つで始めた方が直感的と感じる人もいるだろう。この仕様利用して,見送るつもりだった番号記号採用出来た。

装体

見出し装体に関しては,文字を適当な大きさ・太さにして,h3 要素までは下線を入れるという,特筆すべきことはあまり無いものに落ち着いた

見出し記号多様化したこともあり,3月30日9歩で作った見出し装体素案から星号部分を除いた形になった。

実際試してみると,これくらいあっさりしていた方が気軽に使いやすい。これ以上装飾すると目障りになりそうだ。

当初,HTML 上で見出し階層がずれても装体を維持するように調整するつもりだったが,これはいったん保留とした。現状,中景輪符h1 でも h2 でも同じ装体になっていることに合わせようとしたが,本来これは変わった方が自然なので,後でまとめて調整した方がいいだろう。

デラングの版存を確定

見出し記法実装の一段落(10歩)をもって DIL 0.2 にあった主要な記法を全て取り込んだため,長らく定まっていなかったデラングの版存0.03 と定めた。

デラングの版存に関しては,時印を元に適切な版存自動適用するという方向検討するようになっている3月7日14歩。それはそれとして,管理上版号も欲しいと考えていたが,なかなかまとまりが付かなかったこともあり,特に版号を与えていなかった。

キリの良いところでデラング 0.01 とするか,などとぼんやり考えていたが,これだけ長いこと弄っていて 0.01 というのも出し惜しみが過ぎると感じていた。

この見出し記法実装をもって旧デルン実装で主に利用していた DIL 0.2 を取り込み終え,開発予定のまま棚上げになっていた DIL 0.3置換することになるため,点零記法でこれに相当する 0.03 が丁度良いのではないかと気付いた。

デラング 0.01DIL 0.1 の,デラング 0.02DIL 0.2別名としておく。

{進捗記録}{Markdown}{HTML – 旧輪郭}{見出し記法実装}{希哲15年5月14日の進捗時限}{希哲15年5月14日の進捗}{希哲15年5月14日}{見出し階層}{気付いた}{デラング整備}...=}(19)
{進捗記録}{デライト}{希哲15年3月30日の開発}{見出し階層}{文字の太さ}{見出し装体素案}{見出し装体}{希哲15年3月30日の進捗時限}{希哲15年3月30日の進捗}{希哲15年3月30日}...=}(30)

{希哲15年3月30日9歩 K#F85E/E74C-2DB4}

見出し装体検討

いったん終了。

結局,下図のような形式で進めることにした。



文字の大きさ太さ下線などで見出し階層表現するのは限度があるため,見出し記法アスタリスクを活用した徹案にする。

階層が一目で分かりやすく,記法も理解しやすい。

通常,デライトでそこまで深い階層が必要になるとは考えにくいが,例えば他所で書いたものを貼り付ける際に欲しいことがないともいえない。実際,むかし Org-Mode で書いたものをデルンにそのまま貼り付けたりしたことはあった。

アスタリスク徹案には竜胆蛍応用してもいいだろう。

{見出し階層}

{}