Textboxにおける文芸的タスク管理
https://gyazo.com/f21cf1ecb8d2877657730efb94baf1b0
下準備
Textboxの/listフォルダ内にあるすべてのmdファイルを走査し、- [ ].*にマッチする行をすべて抜き出してファイルリスト用のJSONの"todo"という項目に保存しておく
code:sample.json
{
"id": "ed2a8b111fafee3e0497272e09b0cfbc",
"title": "project-th.md",
"created_at": 1711342571.7846296,
"updated_at": 1711342571.7846296,
"type": "note",
"todo": "- TH+第三章"
},
{
"id": "5df1ebf8796e3c4bcf90ca8667d99c63",
"title": "2023-07-11.md",
"created_at": 1701767419.60071,
"updated_at": 1689121404.9773028
}
上がタスクが含まれていたページの項目、↓が含まれていなかったページの項目
表示
あとは、このjsonを読み込み、todoを持っている項目だけを抜きだして、データから要素を生成すればいい
code:sample.js
const filteredData = deepFilelists.filter(item => item.hasOwnProperty('todo'));
//ここで日付順に並び替えてもいい
//データから要素を生成し、appendしていく
filteredData.forEach(elm=>{
const box = document.createElement("li")
const filename = elm.title
box.innerHTML = "<h6><span class='linkbtn'>" + filename.replace(".md","")+ "</span></h6>" + marked(elm.todo)
agBoard.append(box)
})