mirror of https://github.com/logseq/logseq
fix: a page name can's be both started and ended with a slash
The reason is that it's corresponding file will be a hidden file.pull/2597/head
parent
3f46857b4f
commit
5dfd9b1be4
|
@ -424,7 +424,8 @@
|
|||
(rum/defc page-cp
|
||||
[{:keys [html-export? label children contents-page? sidebar? preview?] :as config} page]
|
||||
(when-let [page-name (:block/name page)]
|
||||
(let [page-name (string/lower-case page-name)
|
||||
(let [page-name (-> (string/lower-case page-name)
|
||||
(util/remove-boundary-slashes))
|
||||
page-entity (db/entity [:block/name page-name])
|
||||
redirect-page-name (model/get-redirect-page-name page-name (:block/alias? config))
|
||||
href (if html-export?
|
||||
|
|
|
@ -110,6 +110,7 @@
|
|||
text-overflow: ellipsis;
|
||||
max-width: 7ch;
|
||||
color: var(--ls-icon-color, #045591);
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
a.button {
|
||||
|
@ -126,4 +127,4 @@ a.button:hover {
|
|||
|
||||
.is-mac.is-electron :is(.cp__header, .cp__right-sidebar-topbar) :is(button, .button, a) {
|
||||
cursor: default !important;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -278,7 +278,8 @@
|
|||
(defn page-name->map
|
||||
[original-page-name with-id?]
|
||||
(when original-page-name
|
||||
(let [[original-page-name page-name journal-day] (convert-page-if-journal original-page-name)
|
||||
(let [original-page-name (util/remove-boundary-slashes original-page-name)
|
||||
[original-page-name page-name journal-day] (convert-page-if-journal original-page-name)
|
||||
namespace? (and (string/includes? original-page-name "/")
|
||||
(text/namespace-page? original-page-name))
|
||||
m (merge
|
||||
|
|
|
@ -85,7 +85,9 @@
|
|||
format nil
|
||||
properties nil
|
||||
split-namespace? true}}]
|
||||
(let [page (string/lower-case title)]
|
||||
(let [title (string/trim title)
|
||||
title (util/remove-boundary-slashes title)
|
||||
page (string/lower-case title)]
|
||||
(when-not (db/entity [:block/name page])
|
||||
(let [title (string/trim title)
|
||||
pages (if split-namespace?
|
||||
|
|
|
@ -1039,9 +1039,20 @@
|
|||
(or (include-windows-reserved-chars? s)
|
||||
(string/includes? s "."))))
|
||||
|
||||
(defn remove-boundary-slashes
|
||||
[s]
|
||||
(when (string? s)
|
||||
(let [s (if (= \/ (first s))
|
||||
(subs s 1)
|
||||
s)]
|
||||
(if (= \/ (last s))
|
||||
(subs s 0 (dec (count s)))
|
||||
s))))
|
||||
|
||||
(defn page-name-sanity
|
||||
[page-name]
|
||||
(-> page-name
|
||||
(remove-boundary-slashes)
|
||||
(string/replace #"/" ".")
|
||||
;; Windows reserved path characters
|
||||
(string/replace windows-reserved-chars "_")))
|
||||
|
|
Loading…
Reference in New Issue