sprintテンプレートの実装を見直す
code:sprint.js
(function() {
const nextSprintNumber = scrapbox.Page.title.split(".") // 新規ページの仮タイトルから、sprint番号を取得
const d = moment()
// ここで返してるものがページのタイトルと本文になるよ!
return `
<[sprint.${nextSprintNumber1 - 1}] [sprint.${nextSprintNumber1 - 0 + 1}]> 画像
-.icon
Sprint.${nextSprintNumber1}_plan -.icon
今週どうだった?`
})()
で、このスクリプトは、日曜日に発動すると、その次の月曜日からのリストを返してくれるのだが、土曜日に発動すると、その週の月曜日からのリストになってしまう。
2月10日なら、2月11日からのリスト
2月9日なら、2月4日からのリスト
これをなんとかしたい。
d = moment()に+1日していって、曜日が月曜日を探す、という方法
今日が何曜日であろうとも、確実に「次の月曜日」を見つけられる
一見これでうまく活きそうだが、たとえば終末と月曜日が忙しくて、かりに火曜日にその週の週ページを作りたくなったときに詰んでしまう。
作成されるのは翌週のリストになる。
ということは、前回sprintの中身を参照するのが一番確実ではある。
全データは面倒なので、codeブロックで、○月○日〜○月○日と書いておき、それをAPIで参照して、実際の「次の週」を決める
やや大げさではある。
Spirnt番号を、週番号と一致させるのは?
その場合、同名の名前を避けるために、ページのタイトルを変える必要がある。
たとえば、2019.sprint.1
のようなもの。
書き換えた。
code:sprint.js
(function() {
const nextSprintNumber = scrapbox.Page.title.split(".") // 新規ページの仮タイトルから、sprint番号を取得
const d = moment().week(nextSprintNumber2) // ここで返してるものがページのタイトルと本文になるよ!
return `
<[${nextSprintNumber0}.sprint.${nextSprintNumber2 - 1}] [${nextSprintNumber0}.sprint.${nextSprintNumber2 - 0 + 1}]> 画像
-.icon
Sprint.${nextSprintNumber1}_plan -.icon
今週どうだった?`
})()
年を跨ぐ作業が必要だが、今の所は気にしないでおこう。
[${nextSprintNumber[0]}.sprint.${nextSprintNumber[2] - 0 + 1}]のところがポイントか。
ここで、2019.sprint.1みたいなのを発生させるかわりに、2020.sprint.1を発生させればいい。
もし最後の週なら、あるいは+1した値が1ならば、という感じ。
code:sprint.js
(function() {
const nextSprintNumber = scrapbox.Page.title.split(".") // 新規ページの仮タイトルから、sprint番号を取得
const d = moment().week(nextSprintNumber2) const f = moment().week(nextSprintNumber2) f.add(7, 'days')
const a = f.week() == 1 ? nextSprintNumber0 - 0 + 1 : nextSprintNumber0 const b = f.week() == 1 ? f.subtract(7, 'days').week(): d.week() - 1
return `
画像
-.icon
Sprint.${nextSprintNumber2}_plan -.icon
今週どうだった?`
})()