From 81d64e020e4aa4189aec2daaa6e3d93e9df02db4 Mon Sep 17 00:00:00 2001 From: Compositr Date: Tue, 12 Sep 2023 07:30:30 +1000 Subject: [PATCH] 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)