{希哲16年4月7日の開発}{希哲16年4月7日の進捗}{多段化}{進めて}{後縁の対応}{追加取得}{フラグ化}{確定出来る}{余計な検索}{目に見えている}...=}(109)

{希哲16年4月7日10歩 K#F85E/A-E74C-B300}

進捗時限記録中略

全知検索整備方針検討終了

2月23日頃から検索結果改良について本格的に考え始めていたが,「検索属性」を導入し,検索結果多段化進めていくことにした。

現状例えば括弧類自動付加した検索は出来るが,その出来ない括弧付き描出したい場合括弧無し検索して既存輪郭無いことを確認した後,括弧を付け再検索するということがく,とりあえずこの手間無くしたかった全知検索演算子制御任意の括弧類使える好都合ということもあった。

文字数昇順揃えてそれなりの結果になっているのでこれを降順にすればいいかと思ったが,上手く行かない場面多々あるので一時凌ぎ域を出ない

将来的な拡張性考える検索結果多段化好ましい風船輪郭輪括内検索にも応用出来る希哲14年7月30日8歩から輪括内検索輪括内のみにすると使いにくいという理由中途半端な状態になっていたが,優先表示解決出来ることに気付いた

整数値揃え兼ねた役割を与え,これを「検索属性」として利用出来るようにする。

ここまでは良いが,効率的な実装難しい単純に全ての検索パターンUNION結合すればひどいことになるのは目に見えている外充て函数余計な検索省くようにする,挿入更新時に確定出来る情報フラグ化しておくといったことに加えて後縁での出力最低限にして前縁追加取得するといった工夫必要になるかもしれない。

いずれにせよ後縁の対応進めて問題ないだろう。設計方針さえ固まれば最適化どうとでもなる

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

{希哲16年2月15日24歩 K#F85E/A-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想定外だったのだろう。

{進捗記録}{希哲16年2月18日の開発}{あれ}{文章の流れ}{左右矢印}{下矢印}{上矢印}{使うべきではない}{右矢印}{使われない}...=}(171)

{希哲16年2月18日13歩 K#F85E/A-E74C-E223}

進捗時限記録中略

前後記法」として検討していた記法を「前次記法」に改め仕様再検討して終了

<- 前 | 次 ->

<- 前
次 ->

<- 前のみ

次のみ ->

以上のように,<- 前 | 次 ->基本形とし,改行区切り<- 前次 -> のみでの記述可能にすることにした。


デルンにあった類似機能から,「時間(時印)的な前後関係」を表現する記法として「前後記法」と呼んでいたが,文書では新旧にかかわらず読ませたい順序指定出来る方が便利なので,より汎用的な前次記法」と位置付け直した

新旧表すのに「」や「」というのはよく考えるおかしいという意見もあり,私も何か良い代替表現はないかと考えていたが,慣用表現として定着しているのでこれは仕方ない前ページ次ページというように,左開きページめくっていく感覚なのだろう左開き右開き書字方向との相性問題なので,ウェブになることが多いのは一応合理的ではある)


前回の検討では,以下のように書いていた

前 <|> 後
前 <|
|> 後

これは他記法区別しやすく簡潔ではあるが,見本はともかく少し長い文字列が入ると記号埋もれがち直感的とも言い難い視認性考えると,行頭行末分かりやすい記号があってほしい。

また,<|>タグ記法使う予定</>紛らわしい|始まる長い文字列があると,初心者には表組み記法誤認される恐れもある。


他記法との区別しやすさ簡潔性直感性などを総合的に考慮した結果最も素直な記法であろう <- 前 | 次 ->落ち着きつつある

雑多な考慮点列挙しておく。

=}
{進捗記録}{分かる}{希哲16年2月15日24歩}{希哲16年2月9日の開発}{確信が持てなかった}{領当て}{ずらせない}{他要素}{空間的に}{見出し未満}...=}(122)

{希哲16年2月9日15歩 K#F85E/A-E74C-ABAC}

進捗時限記録中略前後

デライト装体調整昨日7歩に関する整理終了

見出し段落よりも横幅両端0.5remずつ広げ区切り線<hr>段落よりも0.5remずつ狭めることにした見出しと区切り線装体・幅調整後

当初見出し下線区切り線見分けやすくするために,区切り線両端1emずつ狭める形にしかけたが,試しに出振るいしてみたこの形が想像以上しっくり来たので,基本方針として採用してしまうことにした。

文書構造視覚的にぐっと把握しやすくなった


段落に対して僅かに字上げするような見出し装体昔から気に入っていて,現状でも「はじめに」などのデライト文書<h2>1em<h3>0.5em字上げされている長らく更新していないため描写内見出しとは全体的に乖離している)月庭でどうしていたか忘れたが,特に理由がなければ似たような装体採用していたはずだ。

やはり,見出し直感的に把握しやすいのが大きな利点だが,描写内見出し採用出来なかった理由として,無駄な余白生じやすいという領当て上の問題大きかった。特に,諸場対応から強く意識するようになった幅狭領当てでは小さくない問題だった。

今回実験意外だったのは,全ての描写内見出し0.5remずらすだけでも十分な視覚効果得られたことだった。これなら,他の装体そのままに,見出し装体マージン削るだけで一応実現出来る。

そのうち領当て上の問題起きたとしても,幅狭領当てでは0.25emにするとか区切り線だけ調整するとか,調整やりよういくらでもあるので,基本方針としては問題ないだろう。


これだけ見出し分かりやすくなれば,区切り線短くする必要はないかとも考えたが,これはこれであった方がメリハリが付いて良い従来の他要素同じ長さだと,やはり直感的に区切りの大きさ把握しにくい

新装体なら,見出し見比べるまでもなく,見出し未満小さな区切りであることが分かる

空間的に見出しずらせない場合の備えにもなる。


昨日眠気が強い時間帯思い付いたのでこの新装体良さ確信が持てなかったが,認知機能低下している時に分かりやすい思ったのだから,分かりやすさに関しても間違いないだろう。

{進捗記録}{`s_T` の補助函数}{幸いした}{書き換え作業}{置換作業}{必要な時期}{置換した}{冗長版}{置換する}{変えて}...=}(69)

{希哲16年1月28日16歩 K#F85E/A-E74C-C804}

進捗時限記録中略

Cμ 文字列処理改良rgx_T の置換道手の引数順序変更

作業方針再検討終了

あとは rgx_T::rpl()引数順序変更rgx_T の置換道手の引数順序変更完了だが,これまでの道手呼び出し箇所Dexごく一部限られていたのに対し,.rpl()Cμ 初期からあちこち使っている置換道手なので,少し複雑な作業になる。

まず,いったん .rpl()適当な名前変えて無効化し,呼び出し箇所引数順序変更済みの .rpl_glb() あるいは客体表現置換するか,正規表現客体表現使うまでもない処理なら s_T の補助函数置換する現時点.rpl_glb().rpl()冗長版に過ぎないため,置換したままにしておいて問題ない交度整理をしていけば自然に戻るはずなので,あえて再置換はしないことにした。

置換作業に入る前に,作業必要s_T の補助函数整備必要だが,既存の「類型化正規表現rgx_x_T置換道手旧式引数順序にならっているため,まず最初に客体表現ojx_x_Tへの書き換え作業済ませることにした。rgx_T直接使った交度から類型化正規表現への書き換え作業想定より遅滞していたことが幸いして,現時点類型化正規表現多くない

いずれにせよ正規表現総点検客体表現への書き換え必要な時期であり,保守性効率性大きな向上見込める良い機会だ。

=}
{デラング}{進捗記録}{廃止}{前次記法}{パンくず記法}{自動取得機能}{取得する}{早い段階}{実行コスト}{表現する}...=}(58)

{希哲16年1月25日12歩 K#F85E/A-E74C-B0DB}

進捗時限記録中略

ふと思い付いて時間的な前後関係表現する前後記法」についてまとめた直感性既存記法との整合性考えると以下のような形になりそうだ。

前 <|> 後
前 <|
|> 後

デルンには早い段階自動的にこのような輪郭取得する機能があり,月庭では表示させていた時期もあった。前景輪時印組み合わせ絞り込む方法だったが,描き手意図反映しにくく実行コスト高かったので開発中無効化し,以来その時期の名残り交度だけが残っている状態だったDG_T::prv(), DG_T::nxt()dg_prv()dg_nxt() など)

パンくず記法同様,これもデラング解決すべき問題なのだろう。この方向問題なければ自動取得機能完全に廃止削除してもよさそうだ。また思わぬ収穫だった。

{問題ない}

{}