diff --git a/resources/author/sample_user b/resources/author/sample_user
index 946a3b5..9f1a777 100644
--- a/resources/author/sample_user
+++ b/resources/author/sample_user
@@ -1,8 +1,11 @@
{
- :first-name nil
- :family-name nil
- :rel-me []
- :job-title nil
- :org nil
- :photo nil
+ :card {
+ :first-name nil
+ :family-name nil
+ :rel-me []
+ :job-title nil
+ :org nil
+ :photo nil
+ }
+ :password-hash nil
}
diff --git a/resources/html/h_card.html b/resources/html/h_card.html
new file mode 100644
index 0000000..c76989f
--- /dev/null
+++ b/resources/html/h_card.html
@@ -0,0 +1,18 @@
+{% block card %}
+
+
+
+
{{ card.first-name }} {{ card.family-name }}
+
+
+
+{% endblock %}
+
diff --git a/src/clj/shapey_shifty/authors/author_core.clj b/src/clj/shapey_shifty/authors/author_core.clj
new file mode 100644
index 0000000..94a9297
--- /dev/null
+++ b/src/clj/shapey_shifty/authors/author_core.clj
@@ -0,0 +1,24 @@
+(ns shapey-shifty.authors.author-core
+ (:require [clojure.edn :as edn]
+ [clojure.java.io :as io]))
+
+(def base-path "resources/author")
+
+(defn create-author []
+ {:card nil :password-hash nil})
+
+(defn load-author [author-name]
+ (let [path (format "%s/%s" base-path author-name)
+ file (io/file path)]
+ (when (.exists file)
+ (->> file
+ slurp
+ edn/read-string))))
+
+(defn load-all-authors []
+ (->> base-path
+ io/file
+ file-seq
+ (filter #(.isFile %))
+ (map #(->> % slurp edn/read-string))))
+
diff --git a/src/clj/shapey_shifty/routes/home.clj b/src/clj/shapey_shifty/routes/home.clj
index 9334e72..6ba1d7e 100644
--- a/src/clj/shapey_shifty/routes/home.clj
+++ b/src/clj/shapey_shifty/routes/home.clj
@@ -7,6 +7,7 @@
[shapey-shifty.posts.core :as posts]
[shapey-shifty.posts.posts-io :as post-io]
[shapey-shifty.routes.post-router :as post-router]
+ [shapey-shifty.authors.author-core :as author]
[ring.util.http-response :as response]))
(def p (atom 0))
@@ -19,12 +20,15 @@
(defn post-view [request]
(let [{:keys [path-params query-params body-params]} request
- {:keys [year month day n]} path-params]
+ {:keys [year month day n]} path-params]
(do (reset! p request)
- (layout/render request "post.html" {:post (:properties (post-router/get-post year month day n))}))))
+ (layout/render request "post.html" {:post (:properties (post-router/get-post year month day n))}))))
(defn about-page [request]
- (layout/render request "about.html"))
+ (layout/render request "h_card.html"
+ {
+ :card (:card (author/load-author (get-in request [:path-params :name])))
+ }))
(defn home-routes []
[""
@@ -32,5 +36,5 @@
middleware/wrap-formats]}
["/" {:get home-page}]
["/blog/:year/:month/:day/:n" {:get post-view}]
- ["/about" {:get about-page}]])
+ ["/about/:name" {:get about-page}]])