Add support for a global pronoun list at /.

This commit displsy a linkified view of the pronouns
database when users hit /. Currently, each link is
shown with the first two words in the database entry
(which is enough to be unambiguous).

Results are sorted alphabetically for easy browsing.
This commit is contained in:
Erik Osheim 2015-03-14 02:30:19 -04:00
parent 8e71056c5a
commit f74fa10cbb
2 changed files with 21 additions and 4 deletions

View File

@ -88,8 +88,25 @@
(take 5 inputs) (take 5 inputs)
(u/table-lookup inputs pronouns-table)))) (u/table-lookup inputs pronouns-table))))
(defn front [] ;; we could choose to display the entire row for the label.
(str "pronoun.is is a www site for showing people how to use pronouns")) ;; currently the first two entries are enough to disambiguate the
;; pronouns -- will that always be true?
(defn make-link [row]
(let [link (str "/" (s/join "/" row))
label (str (first row) "/" (first (rest row)))]
[:li [:a {:href link} label]]))
(defn front [pronouns-table]
(let [links (map make-link (sort pronouns-table))]
(html
[:html
[:head
[:title "Main Page"]
[:link {:rel "stylesheet" :href "/pronouns.css"}]]
[:body
[:p "pronoun.is is a www site for showing people how to use pronouns"]
[:p "here are some pronouns the site knows about:"]
[:ul links]]])))
(defn not-found [] (defn not-found []
(str "We couldn't find those pronouns in our database, please ask us to " (str "We couldn't find those pronouns in our database, please ask us to "

View File

@ -20,8 +20,8 @@
(defroutes app-routes (defroutes app-routes
(GET "/" [] (GET "/" []
{:status 200 {:status 200
:headers {"Content-Type" "text/plain"} :headers {"Content-Type" "text/html"}
:body (pages/front)}) :body (pages/front pronouns-table)})
(GET "/pronouns.css" {params :params} (GET "/pronouns.css" {params :params}
{:status 200 {:status 200