週記のページを開く/なければ作成するボタン
(ここに画像を追加)
code:script.js
(function() {
// ボタンのスタイル
const buttonStyle = {
position: 'fixed',
bottom: '20px',
right: '10px',
width: '80px',
height: '80px',
backgroundColor: '#000000',
'border-radius': '50%',
color: 'black',
fontSize: '16px',
cursor: 'pointer',
'z-index': '2',
};
// ボタン要素を作成
const button = document.createElement('button');
button.textContent = '日記';
button.style.cssText = Object.keys(buttonStyle).map(key => ${key}: ${buttonStyle[key]}).join(';');
// ISO 8601形式の週番号を取得する関数
function getISOWeekNumber(date) {
const tempDate = new Date(date.valueOf());
const dayNum = (date.getDay() + 6) % 7; // 月曜日を週の始まりにする
tempDate.setDate(tempDate.getDate() - dayNum + 3); // 週の木曜日にする
const firstThursday = new Date(tempDate.getFullYear(), 0, 4);
const weekNumber = 1 + Math.round(((tempDate - firstThursday) / 86400000 - 3 + ((firstThursday.getDay() + 6) % 7)) / 7);
return weekNumber;
}
// ボタンクリック時の処理
button.addEventListener('click', () => {
console.log("hogehoge");
const date = new Date();
const yyyy = date.getFullYear();
const weekNumber = getISOWeekNumber(date);
const formattedDate = ${yyyy}week${weekNumber};
/*location.href = https://scrapbox.io/ork/${formattedDate};*/
const a = document.createElement('a');
a.href = https://scrapbox.io/ork/${formattedDate};
document.body.appendChild(a);
a.click();
a.remove();
});
// ボタンをbody要素に追加
document.body.appendChild(button);
})();
超使ってるvlzs.icon