fix: some date related issues

This commit is contained in:
Junyi Du
2022-10-20 17:55:21 +08:00
committed by Tienson Qin
parent a4ee4c48f8
commit 160793e0d1
7 changed files with 47 additions and 9 deletions

View File

@@ -304,7 +304,12 @@
[:div.it.sm:grid.sm:grid-cols-3.sm:gap-4.sm:items-:div.it.sm:grid.sm:grid-cols-3.sm:gap-4.sm:items-start
[:label.block.text-sm.font-medium.leading-5.opacity-70
{:for "custom_date_format"}
(t :settings-page/custom-date-format)]
(t :settings-page/custom-date-format)
(ui/tippy {:html (t :settings-page/custom-date-format-warning)
:class "tippy-hover ml-2"
:interactive true
:disabled false}
(svg/info))]
[:div.mt-1.sm:mt-0.sm:col-span-2
[:div.max-w-lg.rounded-md
[:select.form-select.is-small

View File

@@ -43,7 +43,8 @@
"EEEE, MM/dd/yyyy"
"EEEE, yyyy/MM/dd"
"dd-MM-yyyy"
"dd.MM.yyyy"
;; This tyle will mess up other date formats like "2022-08" "2022Q4" "2022/10"
;; "dd.MM.yyyy"
"MM/dd/yyyy"
"MM-dd-yyyy"
"MM_dd_yyyy"
@@ -170,7 +171,8 @@
:minute "2-digit"
:hourCycle "h23"}))))
(defn valid?
(defn normalize-date
"Given raw date string, return a normalized date string at best effort."
[s]
(some
(fn [formatter]
@@ -180,10 +182,15 @@
false)))
(journal-title-formatters)))
(defn valid-journal-title?
(defn normalize-journal-title
"Normalize journal title at best effort. Return nil if title is not a valid date"
[title]
(and title
(valid? (gp-util/capitalize-all title))))
(normalize-date (gp-util/capitalize-all title))))
(defn valid-journal-title?
[title]
(boolean (normalize-journal-title title)))
(defn journal-title->
([journal-title then-fn]

View File

@@ -211,6 +211,7 @@
:settings-page/disable-sentry "Send usage data and diagnostics to Logseq"
:settings-page/preferred-outdenting "Logical outdenting"
:settings-page/custom-date-format "Preferred date format"
:settings-page/custom-date-format-warning "Re-index required! Existing journal references would be broken!"
:settings-page/preferred-file-format "Preferred file format"
:settings-page/preferred-workflow "Preferred workflow"
:settings-page/preferred-pasting-file "Preferred pasting file"

View File

@@ -52,7 +52,7 @@ and handles unexpected failure."
([block]
(some->> block
str
date/valid?
date/normalize-date
(tf/unparse date/custom-formatter))))
(defn normalize-block

View File

@@ -55,7 +55,7 @@
:update-db? false
:update-status? false
:finish-handler finish-handler}))
(let [journal-pages-tx (let [titles (filter date/valid-journal-title? titles)]
(let [journal-pages-tx (let [titles (filter date/normalize-journal-title titles)]
(map
(fn [title]
(let [day (date/journal-title->int title)