reads routed to API
This commit is contained in:
+17
-12
@@ -1,6 +1,7 @@
|
|||||||
(ns NoteHub.views.pages
|
(ns NoteHub.views.pages
|
||||||
(:require [hiccup.util :as util]
|
(:require [hiccup.util :as util]
|
||||||
[NoteHub.api :as api]
|
[NoteHub.api :as api]
|
||||||
|
[NoteHub.storage :as storage]
|
||||||
[cheshire.core :refer :all])
|
[cheshire.core :refer :all])
|
||||||
(:use
|
(:use
|
||||||
[NoteHub.storage] ; TODO: delete this
|
[NoteHub.storage] ; TODO: delete this
|
||||||
@@ -94,12 +95,19 @@
|
|||||||
(slurp "LANDING.md")]
|
(slurp "LANDING.md")]
|
||||||
[:div.centered.helvetica.markdown (get-message :footer)]))
|
[:div.centered.helvetica.markdown (get-message :footer)]))
|
||||||
|
|
||||||
|
; Displays the note
|
||||||
|
(defpage "/:year/:month/:day/:title" {:keys [year month day title theme header-font text-font] :as params}
|
||||||
|
(wrap
|
||||||
|
(create-short-url params)
|
||||||
|
(select-keys params [:title :theme :header-font :text-font])
|
||||||
|
(:note (api/get-note (api/build-key [year month day] title)))))
|
||||||
|
|
||||||
; Update Note Page
|
; Update Note Page
|
||||||
(defpage "/:year/:month/:day/:title/edit" {:keys [year month day title]}
|
(defpage "/:year/:month/:day/:title/edit" {:keys [year month day title]}
|
||||||
(let [noteID (api/build-key [year month day] title)]
|
(let [noteID (api/build-key [year month day] title)]
|
||||||
(input-form "/update-note" :update
|
(input-form "/update-note" :update
|
||||||
(html (hidden-field :key noteID))
|
(html (hidden-field :key noteID))
|
||||||
(get-note noteID) :enter-passwd)))
|
(:note (api/get-note noteID)) :enter-passwd)))
|
||||||
|
|
||||||
; New Note Page
|
; New Note Page
|
||||||
(defpage "/new" {}
|
(defpage "/new" {}
|
||||||
@@ -108,29 +116,26 @@
|
|||||||
(hidden-field {:id :session-value} :session-value))
|
(hidden-field {:id :session-value} :session-value))
|
||||||
(get-message :loading) :set-passwd))
|
(get-message :loading) :set-passwd))
|
||||||
|
|
||||||
; Displays the note
|
|
||||||
(defpage "/:year/:month/:day/:title" {:keys [year month day title theme header-font text-font] :as params}
|
|
||||||
(wrap
|
|
||||||
(create-short-url params)
|
|
||||||
(select-keys params [:title :theme :header-font :text-font])
|
|
||||||
(get-note (api/build-key [year month day] title))))
|
|
||||||
|
|
||||||
; Provides Markdown of the specified note
|
; Provides Markdown of the specified note
|
||||||
(defpage "/:year/:month/:day/:title/export" {:keys [year month day title]}
|
(defpage "/:year/:month/:day/:title/export" {:keys [year month day title]}
|
||||||
(when-let [md-text (get-note (api/build-key [year month day] title))]
|
(when-let [md-text (:note (api/get-note (api/build-key [year month day] title)))]
|
||||||
(content-type "text/plain; charset=utf-8" md-text)))
|
(content-type "text/plain; charset=utf-8" md-text)))
|
||||||
|
|
||||||
; Provides the number of views of the specified note
|
; Provides the number of views of the specified note
|
||||||
(defpage "/:year/:month/:day/:title/stats" {:keys [year month day title]}
|
(defpage "/:year/:month/:day/:title/stats" {:keys [year month day title]}
|
||||||
(when-let [views (get-note-views (api/build-key [year month day] title))]
|
(when-let [stats (:statistics (api/get-note (api/build-key [year month day] title)))]
|
||||||
(layout (get-message :statistics)
|
(layout (get-message :statistics)
|
||||||
[:table#stats.helvetica.central-element
|
[:table#stats.helvetica.central-element
|
||||||
[:tr
|
[:tr
|
||||||
[:td (get-message :published)]
|
[:td (get-message :published)]
|
||||||
[:td (interpose "-" [year month day])]]
|
[:td (:published stats)]]
|
||||||
|
(when (:edited stats)
|
||||||
|
[:tr
|
||||||
|
[:td (get-message :edited)]
|
||||||
|
[:td (:edited stats)]])
|
||||||
[:tr
|
[:tr
|
||||||
[:td (get-message :article-views)]
|
[:td (get-message :article-views)]
|
||||||
[:td views]]])))
|
[:td (:views stats)]]])))
|
||||||
|
|
||||||
; Updates a note
|
; Updates a note
|
||||||
(defpage [:post "/update-note"] {:keys [key draft password]}
|
(defpage [:post "/update-note"] {:keys [key draft password]}
|
||||||
|
|||||||
Reference in New Issue
Block a user