の作業記録
準備を進める月曜日
- 作業記録の共有
- 日記書き
- メルマガ+ツイート
- メルマガ+ファイル準備
- メルマガ+原稿1
- Textbox+日記の改行問題の解決
- 週報作成
- 一日一英文
- 読書メモづくり
- 集中的読書
- 英語読書
8:00
おはようございます。本日はもろもろの準備と原稿作業です。
メルマガ:
あとで読む:Obsidian で(自分なりの)情報・知識管理をシンプルに始めよう!(キャンバス編)|normalsalt
週報作成:
昨日書けなかった週報を書きましょう。
* * *
OKです。ついでに昨日の日記も書いておきました。
Textbox:
先にプログラミングの問題を解決しておきましょう。
日記を書き込んだときに、改行が一つ増えてしまう問題をケアします。
* * *
こんな感じで余計な改行が一つ増えるのです。おそらく改行コードの処理が問題です。
まず、JavaScript側でどのような処理が行われていて、それがCGIでどう扱われているかを確認しましょう。
* * *
gatherSendDiaryDate()で保存する内容を取得し、updateJSONにデータを送っている。
gatherSendDiaryDate()では、innerTextを改行でsplitしてreturnしている。特におかしい処理はない。ブラウザの入力で、改行コードがn以外になっている場合はあるのかもしれないが、いったん保留。
updateJSONでは、送られてきたデータをそのまま書き込んでいるだけ。ふむ。ということは、取得の時が問題か。
* * *
[ "---", "テストa", "", "", "テストb", "" ]
という内容が送信されている。そりゃ改行が一つ多いわけだ。さて、どうしてか。
innerTextの段階からすでに改行が多いように見える。
textContentに変えてみる?改行がなくなるので、ダメだ。
* * *
divがあって、一行目があり、divがあってbr、さらにdivがあって入力行。
* * *
他のものはそれで問題なく処理できているのに、なぜだろうか。
すべての改行が二重に処理されている。
ようするにdivでの改行と、brでの改行があり、空改行では、それが二重になっているのだろう。なぜ、他のページではそれが出てこないのか?
それは他のページではTextareaを使っているからだった。
ふむ。日記で画像などや太字は必要かどうか、ということだな。
* * *
とりあえず、Textareaに差し替えれば話は早い。しかし拡張性はない。divでもできるようにした方がいいのでは、という気にはなる。
どうするか。
コード的に解決すれば、brが3連続になっているところは、予期しない部分なのでそれを2連続に書き換えればいい。
しかしこれは場当たり的な対処だろう。きちんと根源的に対処する必要がある。そのためにはhtmlを解析したほうが言い。divと改行をみて適切なテキストを生成する。
そこまではしたくないので、今はTextareaの差し替えにしておこう。
* * *
ダイアログのテンプレートを変更する。
* * *
TextAreaに差し替えたら、デザインが崩れた。textareaをblockにすればいいかな。
OKです。これで二重改行問題はクリア。
9:00
メルマガ:
まずはファイルの準備。
* * *
OKです。今週書くことも大雑把にイメージしておきました。



