From 81d64e020e4aa4189aec2daaa6e3d93e9df02db4 Mon Sep 17 00:00:00 2001 From: Compositr Date: Tue, 12 Sep 2023 07:30:30 +1000 Subject: [PATCH 1/2] feat: add new datePattern replacer {ordinal} * {ordinal} is replaced with the ordinal date (e.g. 1st, 2nd, 3rd) etc. --- src/services/date_notes.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/services/date_notes.js b/src/services/date_notes.js index a0d79d383..520796c29 100644 --- a/src/services/date_notes.js +++ b/src/services/date_notes.js @@ -29,6 +29,13 @@ function createNote(parentNote, noteTitle) { }).note; } +function ordinal(n) { + var s = ["th", "st", "nd", "rd"], + v = n % 100; + return n + (s[(v - 20) % 10] || s[v] || s[0]); + } + + /** @returns {BNote} */ function getRootCalendarNote() { let rootNote; @@ -145,6 +152,7 @@ function getDayNoteTitle(rootNote, dayNumber, dateObj) { const weekDay = DAYS[dateObj.getDay()]; return pattern + .replace(/{ordinal}/g, ordinal(parseInt(dayNumber))) .replace(/{dayInMonthPadded}/g, dayNumber) .replace(/{isoDate}/g, dateUtils.utcDateStr(dateObj)) .replace(/{weekDay}/g, weekDay) From 542e2579dfd5a32f59244c829d07ff63e692866a Mon Sep 17 00:00:00 2001 From: Compositr Date: Tue, 12 Sep 2023 07:35:46 +1000 Subject: [PATCH 2/2] feat: add new datePattern replacers for shortmonth * `{shortMonth3}` 3-letter months, e.g. Sep, Oct, Nov, Dec * `{shortMonth4}` 4-letter months, e.g. Sept, Octo, Nove, Dece --- src/services/date_notes.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/services/date_notes.js b/src/services/date_notes.js index 520796c29..7bebe0eb3 100644 --- a/src/services/date_notes.js +++ b/src/services/date_notes.js @@ -105,6 +105,8 @@ function getMonthNoteTitle(rootNote, monthNumber, dateObj) { const monthName = MONTHS[dateObj.getMonth()]; return pattern + .replace(/{shortMonth3}/g, monthName.slice(0,3)) + .replace(/{shortMonth4}/g, monthName.slice(0,4)) .replace(/{monthNumberPadded}/g, monthNumber) .replace(/{month}/g, monthName); }