|
var diffDate = function (date, diff) { |
|
// date: '1993-09-11' |
|
// diff: +1, -1 |
|
const dateHandling = () => { |
|
const askDate = prompt('Enter date: ', 'YYYYMMDD or YYYY MM DD'); |
|
if (askDate === null) return new Date(); |
|
const dates = (str) => { |
|
const year = str.slice(0, 4); |
|
const month = str.slice(4, 6) - 1; |
|
const day = str.slice(6, 8); |
|
return [year, month, day]; |
|
}; |
|
if (askDate.match(/\d{8}/)) { |
|
return new Date(...dates(askDate)); |
|
} |
|
if (askDate.match(/[0-9]{4}(([-:\s])[0-9]{2}){2}/)) { |
|
const match = /[0-9]{4}(([-:\s])[0-9]{2}){2}/.exec(askDate); |
|
const dateString = askDate.split(match[2]).join(''); |
|
return new Date(...dates(dateString)); |
|
} |
|
|
|
return new Date(); |
|
}; |
|
|
|
const d = dateHandling(); |
|
d.setDate(d.getDate() + diff); |
|
var a = [ |
|
d.getFullYear(), |
|
('00' + (1 + d.getMonth())).slice(-2), |
|
('00' + d.getDate()).slice(-2) |
|
]; |
|
return a.join('-'); |
|
}; |
|
|
|
const main = function () { |
|
var days = ["неділя", "понеділок", "вівторок", "середа", "четвер", "пʼятниця", "субота"]; |
|
var monthNames = ["січень", "лютий", "березень", "квітень", "травень", "червень", |
|
"липень", "серпень", "вересень", "жовтень", "листопад", "грудень"]; //масив з локалізованими місяцями |
|
var d = new Date(); |
|
var year = d.getFullYear(); |
|
var dt = d.getDate(); |
|
var month = d.getMonth() + 1; |
|
var date = [ |
|
year, |
|
('00' + month).slice(-2), |
|
('00' + dt).slice(-2) |
|
]; |
|
var day = days[d.getDay()]; |
|
/****** 編集エリア ******/ |
|
// お好きなタイトル |
|
var title = date.join('-'); |
|
// var monthLocal = date.toLocaleString('uk-UA', { month: 'long' }); //не працює |
|
/************************/ |
|
var scrapboxProject = location.href.match(/scrapbox.io\/([^\/.]*)/)[1]; |
|
var projectUrl = 'https://scrapbox.io/' + scrapboxProject + '/'; |
|
var tags = [ |
|
'[← ' + projectUrl + encodeURIComponent(diffDate(title, -1)) +']', |
|
'[' + year + ' рік' + ']' + ',', |
|
// '[' + month + '-й місяць' + ']' + ',', |
|
'[' + monthNames[d.getMonth()] + ']' + ',', |
|
// '[' + monthLocal + ']' + ',', //не працює |
|
'[' + day + '' + ']', |
|
'[→ ' + projectUrl + encodeURIComponent(diffDate(title, +1)) +']' |
|
]; |
|
|
|
/****** 編集エリア ******/ |
|
// お好きなハッシュタグまたは本文 |
|
var body = encodeURIComponent('[* Справи:]' + '\n' + '[* Що сталося за день:]' + '\n' + '[* Цікаві думки та ідеї:]' + '\n' + tags.join(' ') + '\n' + '#Щоденник'); |
|
/************************/ |
|
|
|
var scrapboxUrl = 'https://scrapbox.io/' + scrapboxProject + '/' + encodeURIComponent(title); |
|
window.open(scrapboxUrl + '?body=' + body); |
|
} |
|
|
|
main() |
А так?