{練習}{Markdown}{区切り線記法}{水平線}{ハイフン}=}(5)

{水平線について K#F85E/E74C-9EF8}

文書が整備出来ていなくてすみません。

水平線区切り線記法)はハイフン2つ以上から有効です。ただし、直前の行は空行である必要があります。

直前の行が空行ではない場合、Markdown などでは以下のようにして見出しを作る記法があるため、互換性などの観点から未実装にしています。

見出し
-----
=}
{用者}{希哲16年3月12日の開発}{希哲16年3月12日の進捗}{`}{解釈出来る}{完了させた}{中途半端な実装}{使用経験}{書き換えずに済む}{意図の明示}...=}(133)

{希哲16年3月12日7歩 K#F85E/E74C-8A2F}

交度記法改良

以下の作業終えたため,ここでいったん終了

これにより,デラング記法例示洗練された

```txt
これまでのデラング記法の例示
```

``dlng
これからのデラング記法の例示
``

交度部区記法開始記号終了記号については,これまで ``` 固定だったため,交度部区記法内で交度部区記法について例示出来ないという問題があった

行内交度記法逆括点の数を調整出来るようにして1月17日15歩から,この方式統一することを考えていた

これを機に逆括点の数は2個でもとした。区切り線記法最初から Markdown などで一般的な3個以上ではなく2個以上-導入したが,交度部区記法では確信が持てなかった

交度部区記法実装からちょうど一年経ち3個以上でなければならない理由はない,と使用経験から判断したなんなら1個でも解釈上問題はないはずだが,目印としての機能考える2個限度だろう。他の記法との統一感もある。


これまで外部ライブラリhighlight.js任せだった交度部区記法言語名自主的に管理する第一歩として,取り急ぎデラングνS対応した

デラングdelangdlngdlntxt に,cuucppに,νsvsjs に,それぞれ Dex 側で変換するとりあえず大文字小文字区別しない

これまではデラングtxt などと書いていたが,意図の明示という観点から問題があった。これなら今後構文ハイライト対応した時に書き換えずに済む

言語名対応関係については実装委ねるべきかとも考えたが,将来的に混乱の元になりそうな部分なので,対応関係言語仕様規定し,構文ハイライトなどは任意実装とすることにした。

また,用者未定義言語名使用出来るように,例えば ```newlang(oldlang) のように代替言語名指定出来る記法検討開始している


1月17日15歩で,外側逆括点の数を調整出来る仕様にしたが,`` `a` `` のように外側より少ない個数でないと上手く解釈出来ないなど中途半端な実装だったことを思い出し実装完了させた

これで ` ``a`` ` でも `` `a` `` でも `` `a`` でも,対応する逆括点さえ判別出来れば問題なく解釈出来るようになった。


全て手定め出振るい済み

=}
{用者}{進捗記録}{希哲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想定外だったのだろう。

{デラング}{進捗記録}{Markdown}{希哲16年2月15日24歩}{希哲16年2月9日の開発}{使うこと}{維持すべき}{既存輪郭}{setext 式見出し}{希哲16年2月9日17歩}...=}(61)

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

進捗時限記録中略

Markdownsetext 式見出しをどうデラング見出し記法取り入れるかの検討終了

区切り線混乱しないようにというのが課題だったが,現在デラング実装では,段落直後に続く区切り線記法機能していないことに気付いた明確に意図していたわけではないはずだが,既存輪郭についての心配は要らなくなった。好都合偶然だ。

とはいえ,省割として空行まずに使える利便性捨て難いので,5日3歩方針維持すべきか。

=-3つ以上というのは,2つ体裁考えず省力のために使うこと多いということと,3つ以上区切り線こうとする人なら Markdownsetext 式見出しにも気を付けるだろうという狙いがある。

これと,最新の見出し装体前歩区切り線記法についての検討総合すると,以下のように破線点線加えた拡張可能性見えてきた

第1階層
=======

第2階層
-------

第3階層
- - - -

第4階層
. . . . 
=}
{進捗記録}{希哲16年2月15日24歩}{希哲16年2月9日の開発}{実装する}{実際に}{区切り線装体}{希哲16年2月9日の進捗時限}{希哲16年2月9日}{希哲16年2月9日の進捗}{区切り線記法}...=}(19)

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

進捗時限記録中略前後

区切り線装体調整ついでに,区切り線記法種類について軽く整理して終了

実際にどこまで実装するかはともかく,以下のような形が整合的か。

--    <!-- 細い線 -->
==    <!-- 二重線 -->
++    <!-- 太い線 -->
**    <!-- 太い線 -->
- -   <!-- 細い破線 -->
= =   <!-- 二重破線 -->
+ +   <!-- 太い破線 -->
. .   <!-- 点線,スペース無しは省略記号として使いたい場合に問題か -->
: :   <!-- 二重点線 -->
* *   <!-- 太い点線 -->
{区切り線記法}

{}