Browse Source

reads routed to API

master
Christian Mueller 12 years ago
parent
commit
718ae9c918
  1. 29
      src/NoteHub/views/pages.clj

29
src/NoteHub/views/pages.clj

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
(ns NoteHub.views.pages
(:require [hiccup.util :as util]
[NoteHub.api :as api]
[NoteHub.storage :as storage]
[cheshire.core :refer :all])
(:use
[NoteHub.storage] ; TODO: delete this
@ -94,12 +95,19 @@ @@ -94,12 +95,19 @@
(slurp "LANDING.md")]
[: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
(defpage "/:year/:month/:day/:title/edit" {:keys [year month day title]}
(let [noteID (api/build-key [year month day] title)]
(input-form "/update-note" :update
(html (hidden-field :key noteID))
(get-note noteID) :enter-passwd)))
(:note (api/get-note noteID)) :enter-passwd)))
; New Note Page
(defpage "/new" {}
@ -108,29 +116,26 @@ @@ -108,29 +116,26 @@
(hidden-field {:id :session-value} :session-value))
(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
(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)))
; Provides the number of views of the specified note
(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)
[:table#stats.helvetica.central-element
[:tr
[:td (get-message :published)]
[:td (interpose "-" [year month day])]]
[:td (:published stats)]]
(when (:edited stats)
[:tr
[:td (get-message :edited)]
[:td (:edited stats)]])
[:tr
[:td (get-message :article-views)]
[:td views]]])))
[:td (:views stats)]]])))
; Updates a note
(defpage [:post "/update-note"] {:keys [key draft password]}

Loading…
Cancel
Save