Browse Source

Fix vertical bar not handled correctly in page titles (#3227)

* fix: Vertical bar (|) not handled correctly in page titles

Co-authored-by: leizhe <[email protected]>
llcc 4 years ago
parent
commit
e654fde59d
2 changed files with 5 additions and 3 deletions
  1. 4 2
      src/main/frontend/util.cljc
  2. 1 1
      src/main/frontend/util/page_property.cljs

+ 4 - 2
src/main/frontend/util.cljc

@@ -621,9 +621,11 @@
          (str prefix new-value)))
      s)))
 
+(defonce default-escape-chars "[]{}().+*?|")
+
 (defn replace-ignore-case
   [s old-value new-value & [escape-chars]]
-  (let [escape-chars (or escape-chars "[]{}().+*?")
+  (let [escape-chars (or escape-chars default-escape-chars)
         old-value (if (string? escape-chars)
                     (reduce (fn [acc escape-char]
                               (string/replace acc escape-char (str "\\" escape-char)))
@@ -633,7 +635,7 @@
 
 (defn replace-first-ignore-case
   [s old-value new-value & [escape-chars]]
-  (let [escape-chars (or escape-chars "[]{}().+*?")
+  (let [escape-chars (or escape-chars default-escape-chars)
         old-value (if (string? escape-chars)
                     (reduce (fn [acc escape-char]
                               (string/replace acc escape-char (str "\\" escape-char)))

+ 1 - 1
src/main/frontend/util/page_property.cljs

@@ -25,7 +25,7 @@
                                                v))))
           before (remove nil? (map #(build-property-fn %) [:title :alias :aliases]))
           other (reduce (fn [acc elem]
-                          (util/replace-ignore-case acc (str elem "\n*") "" "[]{}().+"))
+                          (util/replace-ignore-case acc (str elem "\n*") "" "[]{}().+|"))
                         content before)]
       (string/join "\n" (remove #(= "" %)
                                 (concat before [other]))))))