準備を進める月曜日


8:00

おはようございます。本日はもろもろの準備と原稿作業です。

メルマガ:

publish:CT連載10:プロジェクトリストとノート / 明滅式inbox / Homeノートについて|倉下忠憲

あとで読む:Obsidian で(自分なりの)情報・知識管理をシンプルに始めよう!(キャンバス編)|normalsalt

週報作成:

昨日書けなかった週報を書きましょう。

* * *

OKです。ついでに昨日の日記も書いておきました。

Textbox:

先にプログラミングの問題を解決しておきましょう。

日記を書き込んだときに、改行が一つ増えてしまう問題をケアします。

* * *

Image from Gyazo

こんな感じで余計な改行が一つ増えるのです。おそらく改行コードの処理が問題です。

まず、JavaScript側でどのような処理が行われていて、それがCGIでどう扱われているかを確認しましょう。

* * *

gatherSendDiaryDate()で保存する内容を取得し、updateJSONにデータを送っている。

gatherSendDiaryDate()では、innerTextを改行でsplitしてreturnしている。特におかしい処理はない。ブラウザの入力で、改行コードがn以外になっている場合はあるのかもしれないが、いったん保留。

updateJSONでは、送られてきたデータをそのまま書き込んでいるだけ。ふむ。ということは、取得の時が問題か。

* * *

[ "---", "テストa", "", "", "テストb", "" ]

という内容が送信されている。そりゃ改行が一つ多いわけだ。さて、どうしてか。

innerTextの段階からすでに改行が多いように見える。

Image from Gyazo

textContentに変えてみる?改行がなくなるので、ダメだ。

* * *

divがあって、一行目があり、divがあってbr、さらにdivがあって入力行。

* * *

他のものはそれで問題なく処理できているのに、なぜだろうか。

すべての改行が二重に処理されている。

ようするにdivでの改行と、brでの改行があり、空改行では、それが二重になっているのだろう。なぜ、他のページではそれが出てこないのか?

それは他のページではTextareaを使っているからだった。

ふむ。日記で画像などや太字は必要かどうか、ということだな。

* * *

とりあえず、Textareaに差し替えれば話は早い。しかし拡張性はない。divでもできるようにした方がいいのでは、という気にはなる。

どうするか。

コード的に解決すれば、brが3連続になっているところは、予期しない部分なのでそれを2連続に書き換えればいい。

しかしこれは場当たり的な対処だろう。きちんと根源的に対処する必要がある。そのためにはhtmlを解析したほうが言い。divと改行をみて適切なテキストを生成する。

そこまではしたくないので、今はTextareaの差し替えにしておこう。

* * *

ダイアログのテンプレートを変更する。

* * *

Image from Gyazo

TextAreaに差し替えたら、デザインが崩れた。textareaをblockにすればいいかな。

Image from Gyazo

OKです。これで二重改行問題はクリア。

9:00

メルマガ:

まずはファイルの準備。

* * *

OKです。今週書くことも大雑把にイメージしておきました。