diff --git a/src/app/repl.clj b/src/app/repl.clj deleted file mode 100644 index e217974..0000000 --- a/src/app/repl.clj +++ /dev/null @@ -1,33 +0,0 @@ -(ns app.repl - (:use app.routes - ring.server.standalone - [ring.middleware file-info file])) - -(defonce server (atom nil)) - -(defn get-handler [] - ;; #'app expands to (var app) so that when we reload our code, - ;; the server is forced to re-resolve the symbol in the var - ;; rather than having its own copy. When the root binding - ;; changes, the server picks it up without having to restart. - (-> #'app - ; Makes static assets in $PROJECT_DIR/resources/public/ available. - (wrap-file "resources") - ; Content-Type, Content-Length, and Last Modified headers for files in body - (wrap-file-info))) - -(defn start-server - "used for starting the server in development mode from REPL" - [& [port]] - (let [port (if port (Integer/parseInt port) 8080)] - (reset! server - (serve (get-handler) - {:port port - :auto-reload? true - :join true})) - (println "Server started on port [" port "].") - (println (str "You can view the site at http://localhost:" port)))) - -(defn stop-server [] - (.stop @server) - (reset! server nil)) diff --git a/src/app/views.clj b/src/app/views.clj index 49d6055..4d5c0b2 100644 --- a/src/app/views.clj +++ b/src/app/views.clj @@ -2,6 +2,7 @@ (:use [hiccup core page form] cheshire.core markdown.core) (:require [clj-pdf.core :as pdf] [app.md :as md] + [clojure.walk :refer [prewalk]] [ring.util.response :as response] [clojure.java.io :as io]) (:import [java.io File StringWriter] @@ -56,4 +57,10 @@ (generate-pdf (partial md/md-to-pdf md-input))) (defn json-to-pdf [json-input] - (generate-pdf (partial pdf/pdf (parse-string json-input true)))) + (generate-pdf (partial pdf/pdf (prewalk + (fn [node] + (case node + ["pagebreak"] [:pagebreak] + ["clear-double-page"] [:clear-double-page] + node)) + (parse-string json-input true)))))