テンプレート
code:週報テンプレートS.js
(function() {
Date.prototype.setWeek = function(year, week, day) {
var week1 = new Date(year, 0, 1)
var prevLastDay = new Date(week1.getTime() - 86400000 * (week1.getDay() || 7))
return this.setTime(prevLastDay.getTime() + 86400000 * ((week - 1) * 7 + day))
}
Date.prototype.setISOWeek = function(year, week, day) {
var week1 = new Date(year, 0, 4)
var prevLastDay = new Date(week1.getTime() - 86400000 * (week1.getDay() || 7))
return this.setTime(prevLastDay.getTime() + 86400000 * ((week - 1) * 7 + day))
}
Date.prototype.format = function(format) {
// yyyy, MM, dd, ddd だけ
.replace('yyyy', this.getFullYear())
.replace('MM', ('0' + (this.getMonth() + 1)).slice(-2))
.replace('dd', ('0' + this.getDate()).slice(-2))
}
Number.prototype.zeroPadding = function zeroPadding(num, length){
return ( Array(length).join('0') + num ).slice( -length );
}
// 処理ここから
const yearWeek = scrapbox.Page.title.split("'") // 新規ページの仮タイトルから、年と週番号を取得して
const d = new Date()
// 週番号の計算方法をここで指定するよ
//d.setWeek(yearWeek0, yearWeek1, 0) // 米国式・月曜始まり //d.setWeek(yearWeek0 - 1, yearWeek1, 6) // 米国式・日曜始まり d.setISOWeek(yearWeek0, yearWeek1, 0) // ISO式・月曜始まり //d.setISOWeek(yearWeek0, yearWeek1 - 1, 6) // ISO式・日曜始まり const dateFormat = "yyyy-MM-dd"
const dayFormat = "ddd"
const n = new Number()
const aps = "'"
// ここで返してるものがページのタイトルと本文になるよ! 1週間分の日付と曜日を並べていきます
return `
Backlog
Prev: [${yearWeek0}'${n.zeroPadding((new Number(yearWeek1) - 1), 2)}] Next: [${yearWeek0}'${n.zeroPadding((new Number(yearWeek1) + 1), 2)}] `
})()
--
*末尾に前の週、次の週を追加したくらい