|
|
@@ -92,31 +92,36 @@
|
|
|
(re-find #"^\d+$" v)
|
|
|
(parse-long v)))
|
|
|
|
|
|
-(defn extract-refs-from-mldoc-ast
|
|
|
- [v]
|
|
|
- (->> v
|
|
|
- (remove gp-mldoc/ast-link?)
|
|
|
- (keep
|
|
|
- (fn [[typ data]]
|
|
|
- (case typ
|
|
|
- "Link"
|
|
|
- (case (first (:url data))
|
|
|
- "Page_ref"
|
|
|
- (second (:url data))
|
|
|
+(defn get-ref-from-ast
|
|
|
+ [[typ data]]
|
|
|
+ (case typ
|
|
|
+ "Link"
|
|
|
+ (case (first (:url data))
|
|
|
+ "Page_ref"
|
|
|
+ (second (:url data))
|
|
|
+
|
|
|
+ "Search"
|
|
|
+ (second (:url data))
|
|
|
|
|
|
- "Search"
|
|
|
- (second (:url data))
|
|
|
+ nil)
|
|
|
|
|
|
- nil)
|
|
|
+ "Nested_link"
|
|
|
+ (page-ref/get-page-name (:content data))
|
|
|
|
|
|
- "Nested_link"
|
|
|
- (page-ref/get-page-name (:content data))
|
|
|
+ "Tag"
|
|
|
+ (if (= "Plain" (ffirst data))
|
|
|
+ (second (first data))
|
|
|
+ (get-ref-from-ast (first data)))
|
|
|
|
|
|
- "Tag"
|
|
|
- (second (first data))
|
|
|
+ nil))
|
|
|
|
|
|
- nil)))
|
|
|
- (map string/trim)
|
|
|
+(defn extract-refs-from-mldoc-ast
|
|
|
+ [v]
|
|
|
+ (->> v
|
|
|
+ (remove gp-mldoc/ast-link?)
|
|
|
+ (keep get-ref-from-ast)
|
|
|
+ (map (fn [x]
|
|
|
+ (string/trim x)))
|
|
|
(set)))
|
|
|
|
|
|
(defn parse-property
|