Added command line option to use custom documentation directory path.

This commit is contained in:
Nicolas Buduroi 2011-01-15 19:33:47 -05:00
parent c0ff51db2c
commit 1dc9de0066

View file

@ -4,12 +4,14 @@
(:require [clojure.java.io :as io] (:require [clojure.java.io :as io]
[clojure.string :as str]) [clojure.string :as str])
(:use [marginalia.html :only (uberdoc-html)] (:use [marginalia.html :only (uberdoc-html)]
[clojure.contrib.find-namespaces :only (read-file-ns-decl)]) [clojure.contrib
[find-namespaces :only (read-file-ns-decl)]
[command-line :only (print-help with-command-line)]])
(:gen-class)) (:gen-class))
(def *test* "./src/cljojo/core.clj") (def *test* "./src/cljojo/core.clj")
(def *docs* "docs") (def *docs* "./docs")
(def *comment* #"^\s*;;\s?") (def *comment* #"^\s*;;\s?")
(def *divider-text* "\n;;DIVIDER\n") (def *divider-text* "\n;;DIVIDER\n")
(def *divider-html* #"\n*<span class=\"c[1]?\">;;DIVIDER</span>\n*") (def *divider-html* #"\n*<span class=\"c[1]?\">;;DIVIDER</span>\n*")
@ -250,25 +252,27 @@
[%])) [%]))
(flatten)))) (flatten))))
(defn usage [] (defn run-marginalia [args]
(println "marginalia <src1> ... <src-n>")) (with-command-line args
(str "Leiningen plugin for running marginalia against your project.\n\n"
(defn run-marginalia [sources] "Usage: marginalia <options?> <src1> ... <src-n>\n")
(let [sources (format-sources sources)] [[dir d "Directory into which uberdoc.html will be written" "./docs"]
(if-not sources sources]
(do (let [sources (format-sources sources)]
(println "Wrong number of arguments passed to marginalia.") (if-not sources
(println "Please present paths to source files as follows:") (do
(usage)) (println "Wrong number of arguments passed to marginalia.")
(do (print-help))
(println "Generating uberdoc for the following source files:") (binding [*docs* dir]
(doseq [s sources] (println "Generating uberdoc for the following source files:")
(println " " s)) (doseq [s sources]
(println) (println " " s))
(ensure-directory! "./docs") (println)
(uberdoc! "./docs/uberdoc.html" sources (parse-project-file)) (ensure-directory! *docs*)
(println "Done generating your docs, please see ./docs/uberdoc.html") (uberdoc! (str *docs* "/uberdoc.html") sources (parse-project-file))
(println))))) (println "Done generating your documentation, please see"
(str *docs* "/uberdoc.html"))
(println))))))
(defn -main (defn -main
"The main entry point into Marginalia." "The main entry point into Marginalia."