ゆっくり過ごす日曜日

memo:

7:00

おはようございます。本日は来週の予定などを確認し、後はもろもろ細かい作業を進めましょう。

ナレッジング・カード:

エッセンシャル・アウトライン - 倉下忠憲の発想工房

index cardの語源 - 倉下忠憲の発想工房

8:00

来週のSTL確認:

来週の予定もろもろを確認しましょう。

* * *

予定はOK。確定申告の準備が必要ですね。でもって、22日のイベントに備えないと。

* * *

project-THは第三章の仕上げと第四章の導入を。それ以外は、原稿の読み返しと新企画の検討。前者は分割的・連続的に進めていけますが、後者がまだいまいち収まりのよい場所を見つけられていませんね。

* * *

各種リストのチェック。

* * *

リストの中に「考え事リスト」なるものがあります。

Image from Gyazo

これをどう扱うか。このまま置いておき、直近決断は必要ないけども、定期的に考えたいことを追加していくように使うか、あるいはWorkFlowyに移し替えるか、それともHistory.jsonで一つひとつカード化していくか。

とりあえず、ここに書かれたものは忘れたくはないけども、一日中目にしたいものではない、ということはたしか。その性質を踏まえて運用を考えたい。

* * *

概ねOKです。プロジェクトについては、週報を書きながら掘り下げるとしましょう。

9:00

週報作成:

では、今週の振り返りを文章にしておきます。

* * *

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

で、問題が発生。

Image from Gyazo  一番上の3行を箇条書きにしたらうまく変換されていません。ちょっと解決したいところです。

* * *

まず、実装の確認から。

wuBoard.innerHTML = "<h4 style='font-weight:bold;'>" + headerline + "</h4>" + replacLinkBtn(marked(templines))

ここで表示を作成している。で、その中身はというと、

const templines = data[todayDataIndex-1]["lines"] != "" ? data[todayDataIndex-1]["lines"].join("<br/>"):"<br/>"

ごく普通の処理だ。では、“lines2"はどうなっている?


"- project-THの第三章を進める",

"- 「物書きエッセイ」の読み返しを進める",

"- BC108の準備を進める",

"",

みたいな感じ。ん? br で結合して、marked をかませるとうまくいかないのではないか? むしろ改行コードだろう。

Image from Gyazo

うまくできました。上の三行は実績を書き足してもいいかもしれませんね。下の行も開閉できたら見やすいかも。

* * *

ということは、日記の欄の区切り線がうまく表示されていないのも、このせいかも。

Image from Gyazo

* * *

itemline.innerText = data[todayDataIndex].lines.join("\n")

もっと単純に、marked をかませていないだけでした。

Image from Gyazo

区切り線になっていませんね。区切り線の上に一行だけあるときにこうなっているっぽいです。

Markdown記法と書き方 - DocBase

また、レベル1とレベル2の見出しは代替の記法があります。

これですね。一行だけあって次の行にくぎり線があると見出しになってしまう模様。さて、どうするか。Marked の変換をいじるのが簡単ではありますが、可能かどうか。

* * *

Geminiの助けを借りても、Marked の変換そのものをいじるのはかなり難しそうです。

だったら本文を強制的に変換しますか。

* * *

itemline.innerHTML = marked(data[todayDataIndex].lines.join("\n").replace(/^(.+)\n---\n/, `$1\n\n---\n`))

かなり強引ですが。

しかし、よくよく考えるとこのマークダウン変換、区切り線だけのためにやっているので、別に解除してもいいかもしれません。

* * *

CSS などを微妙に調整しました。とりあえずOKですね。

10:00

Textbox:

エディタ画面では、カーソルのある行を下に移動させるショートカットキーが実装されているのですが、JSONのエディットではそれがありません。

リストを扱うならあった方がいいので、ちょっと実装を考えてみましょう。といっても、エディタに当てている関数を当てるだけだとは思いますが。

* * *

まず、エディタに当てている関数のチェックから。

moveUpLine という関数がその処理を担当していて、

document.getElementById( "xhr-result2" ).onkeydown = function( e ){

OnTabKey( e, this );

insertDate( e, this );

moveUpLine( e, this);

moveDownLine( e, this);

copyUpLine( e, this);

copyDownLine( e, this);

ComplementSymbol( e, this);

}

こんな感じで機能を割り当てている。JSONのダイアログを表示させた後で、これを当てればいい? コピーを作っているからおそらくそうだろう。

* * *

割り当ててみたところ、moveUpがうまく動かないことがわかりました。アウトラインのような階層付きの行だけの移動を想定していて、普通の行ではどうさがうまくいっていません。

とりあえず、一からの作り直しが必要そうなので、それは諦めて、単純に行を上下に移動できるようにだけしました。

* * *

階層付きのリストをブロックごと移動させるためには、テキストのままではなく、それを入れ子状の配列に収納し、そこで移動させて再びテキストに戻す操作が必要そうです。

とはいえ、Cosenseでもそういう操作はある程度できますね。どうなっているのか興味があります。

* * *