This commit is contained in:
Tommi Reiman 2018-05-18 18:35:00 +03:00
parent 98f860e921
commit 11ef36652c
2 changed files with 80 additions and 0 deletions

49
doc/cljdoc.edn Normal file
View file

@ -0,0 +1,49 @@
{:cljdoc/include-namespaces-from-dependencies
[metosin/reitit
metosin/reitit-core
metosin/reitit-ring
metosin/reitit-spec
metosin/reitit-schema
metosin/reitit-swagger
metosin/reitit-swagger-ui],
:cljdoc.doc/tree
[["Introduction" {:file "doc/README.md"}]
["Basics"
{:file "doc/basics/README.md"}
["Route Syntax" {:file "doc/basics/route_syntax.md"}]
["Router" {:file "doc/basics/router.md"}]
["Path-based Routing" {:file "doc/basics/path_based_routing.md"}]
["Name-based Routing" {:file "doc/basics/name_based_routing.md"}]
["Route Data" {:file "doc/basics/route_data.md"}]
["Route Data Validation"
{:file "doc/basics/route_data_validation.md"}]
["Route Conflicts" {:file "doc/basics/route_conflicts.md"}]]
["Coercion"
{:file "doc/coercion/README.md"}
["Coercion Explained" {:file "doc/coercion/coercion.md"}]
["Plumatic Schema" {:file "doc/coercion/schema_coercion.md"}]
["Clojure.spec" {:file "doc/coercion/clojure_spec_coercion.md"}]
["Data-specs" {:file "doc/coercion/data_spec_coercion.md"}]]
["Advanced"
{:file "doc/advanced/README.md"}
["Configuring Routers"
{:file "doc/advanced/configuring_routers.md"}]
["Different Routers" {:file "doc/advanced/different_routers.md"}]
["Route Validation" {:file "doc/advanced/route_validation.md"}]
["Dev Workflow" {:file "doc/advanced/dev_workflow.md"}]]
["Ring"
{:file "doc/ring/README.md"}
["Ring-router" {:file "doc/ring/ring.md"}]
["Default handler" {:file "doc/ring/default_handler.md"}]
["Static Resources" {:file "doc/ring/static.md"}]
["Dynamic Extensions" {:file "doc/ring/dynamic_extensions.md"}]
["Data-driven Middleware"
{:file "doc/ring/data_driven_middleware.md"}]
["Pluggable Coercion" {:file "doc/ring/coercion.md"}]
["Route Data Validation"
{:file "doc/ring/route_data_validation.md"}]
["Compiling Middleware" {:file "doc/ring/compiling_middleware.md"}]
["Swagger Support" {:file "doc/ring/swagger.md"}]]
["Performance" {:file "doc/performance.md"}]
["Interceptors (WIP)" {:file "doc/interceptors.md"}]
["FAQ" {:file "doc/faq.md"}]]}

View file

@ -0,0 +1,31 @@
(ns cljdoc.reaper
(:require [clojure.java.io :as io]
[clojure.string :as str]))
(defn reap! []
(let [docs (->> (for [line (-> (io/file "./doc/SUMMARY.md") (slurp) (str/split #"\n"))
:let [data (-> (re-seq #"^(.*)\* \[(.*)\]\((.*)\)" line) first rest seq)]
:when data]
(let [[indent name file] data
wrap (if (pos? (count indent)) vector identity)]
(wrap [name {:file (str "doc/" file)}])))
(reduce
(fn [acc data]
(if (vector? (first data))
(update-in acc [(dec (count acc)) 2] (fnil into []) data)
(conj acc data))
) [])
;; third sweep to flatten chids...
(mapv (fn [[n o c]] (if c (into [n o] c) [n o]))))
data {:cljdoc/include-namespaces-from-dependencies ['metosin/reitit
'metosin/reitit-core
'metosin/reitit-ring
'metosin/reitit-spec
'metosin/reitit-schema
'metosin/reitit-swagger
'metosin/reitit-swagger-ui]
:cljdoc.doc/tree docs}]
(spit "doc/cljdoc.edn" (with-out-str (clojure.pprint/pprint data)))))
(comment
(reap!))