[hugo/feat] show catalog
This commit is contained in:
parent
ada8acf75e
commit
a65fd26722
2 changed files with 17 additions and 2 deletions
|
@ -42,6 +42,20 @@
|
||||||
(.empty link-card)
|
(.empty link-card)
|
||||||
(.append link-card (.attr (.parent link-card) "data-text"))))
|
(.append link-card (.attr (.parent link-card) "data-text"))))
|
||||||
|
|
||||||
|
(defn build-catalog-item
|
||||||
|
[catalog-item]
|
||||||
|
(.tagName catalog-item "a")
|
||||||
|
(.attr catalog-item "href"
|
||||||
|
(str/join ["#" (.attr catalog-item "id")]))
|
||||||
|
(.attr catalog-item "id" "")
|
||||||
|
(str "<li>" (.toString catalog-item) "</li>"))
|
||||||
|
|
||||||
|
|
||||||
|
(defn build-catalog
|
||||||
|
[docs]
|
||||||
|
(let [catalog (.select docs "h2, h3, h4, h5")]
|
||||||
|
(apply str (mapv build-catalog-item catalog))))
|
||||||
|
|
||||||
|
|
||||||
(defn fetch-hu-post
|
(defn fetch-hu-post
|
||||||
[request & {:keys [hugo]}]
|
[request & {:keys [hugo]}]
|
||||||
|
@ -56,7 +70,8 @@
|
||||||
(render-linkcard docs)
|
(render-linkcard docs)
|
||||||
(let [content {:content (.toString docs)
|
(let [content {:content (.toString docs)
|
||||||
:title (.text title)
|
:title (.text title)
|
||||||
:time (first (str/split (.text post-time) #"・"))}]
|
:time (first (str/split (.text post-time) #"・"))
|
||||||
|
:catalog (.toString (build-catalog docs))}]
|
||||||
(if hugo
|
(if hugo
|
||||||
content
|
content
|
||||||
{:status 200
|
{:status 200
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
[:div {:class "flex flex-row flex-wrap py-4"}
|
[:div {:class "flex flex-row flex-wrap py-4"}
|
||||||
[:div {:class "w-full sm:w-1/3 md:w-1/4 px-2"}
|
[:div {:class "w-full sm:w-1/3 md:w-1/4 px-2"}
|
||||||
[:div {:class "sticky top-0 p-4 bg-slate-300 rounded-xl w-full"}
|
[:div {:class "sticky top-0 p-4 bg-slate-300 rounded-xl w-full"}
|
||||||
[:nav]]]
|
[:div (:catalog content)]]]
|
||||||
[:div {:class "w-full sm:w-2/3 md:w-3/4 pt-1 px-2"}
|
[:div {:class "w-full sm:w-2/3 md:w-3/4 pt-1 px-2"}
|
||||||
[:h1 (:title content)]
|
[:h1 (:title content)]
|
||||||
[:time (:time content)]
|
[:time (:time content)]
|
||||||
|
|
Loading…
Reference in a new issue