fix: front matter: #tags autocomplete is not working

Related to #1183
This commit is contained in:
Tienson Qin
2021-03-07 14:33:16 +08:00
parent 781d817b42
commit e3979a8564
4 changed files with 37 additions and 31 deletions

View File

@@ -115,7 +115,8 @@
properties (cond-> properties
(seq macros)
(assoc :macros macros))
alias (->vec-concat (:roam_alias properties) (:alias properties))
alias (->> (->vec-concat (:roam_alias properties) (:alias properties))
(remove string/blank?))
filetags (if-let [org-file-tags (:filetags properties)]
(->> (string/split org-file-tags ":")
(remove string/blank?)))
@@ -126,7 +127,8 @@
rest (->> (string/split rest " ")
(remove string/blank?))]
(concat quoted rest)))
tags (->vec-concat roam-tags (:tags properties) definition-tags filetags)
tags (->> (->vec-concat roam-tags (:tags properties) definition-tags filetags)
(remove string/blank?))
properties (assoc properties :tags tags :alias alias)
properties (-> properties
(update :roam_alias ->vec)

View File

@@ -65,45 +65,46 @@
page-list (when-let [list-content (:list properties)]
(extract-page-list list-content))]
(cond->
(util/remove-nils
{:page/name (string/lower-case page)
:page/original-name page
:page/file [:file/path file]
:page/journal? journal?
:page/journal-day (if journal?
(date/journal-title->int page)
0)})
(util/remove-nils
{:page/name (string/lower-case page)
:page/original-name page
:page/file [:file/path file]
:page/journal? journal?
:page/journal-day (if journal?
(date/journal-title->int page)
0)})
(seq properties)
(assoc :page/properties properties)
aliases
(assoc :page/alias
(map
(fn [alias]
(let [page-name (string/lower-case alias)
aliases (distinct
(conj
(remove #{alias} aliases)
page))
aliases (if (seq aliases)
(map
(fn [alias]
{:page/name alias})
aliases))]
(if (seq aliases)
{:page/name page-name
:page/alias aliases}
{:page/name page-name})))
aliases))
(fn [alias]
(let [page-name (string/lower-case alias)
aliases (distinct
(conj
(remove #{alias} aliases)
page))
aliases (if (seq aliases)
(map
(fn [alias]
{:page/name alias})
aliases))]
(if (seq aliases)
{:page/name page-name
:page/alias aliases}
{:page/name page-name})))
aliases))
(:tags properties)
(assoc :page/tags (let [tags (:tags properties)]
(assoc :page/tags (let [tags (->> (:tags properties)
(remove string/blank?))]
(swap! ref-tags set/union (set tags))
(map (fn [tag] {:page/name (string/lower-case tag)
:page/original-name tag})
tags))))))
tags))))))
(->> (map first pages)
(remove nil?))))
(remove string/blank?))))
pages (concat
pages
(map

View File

@@ -572,7 +572,10 @@
(editor-handler/insert-command! id
(str "#" chosen)
format
{:last-pattern (str "#" (if @editor-handler/*selected-text "" q))})))
{:last-pattern (let [q (if @editor-handler/*selected-text "" q)]
(if (and q (string/starts-with? q "#"))
q
(str "#" q)))})))
(fn [chosen _click?]
(state/set-editor-show-page-search! false)
(let [page-ref-text (get-page-ref-text chosen)]

View File

@@ -1,3 +1,3 @@
(ns frontend.version)
(defonce version "0.0.10.7")
(defonce version "0.0.10.8")