   [:div.blogroll
    (blog-head)
    [:article
-    (for [slug slugs
+    (for [slug (->> slugs (filter :display-in-overview) (map :slug))
           :let [{:keys [title blurb author] :as content} ((post-fn slug))]]
       [:div.blogroll-post
        [:a.blogroll-post-title {:href (post-url slug)}

      (swap! requires conj ns))))

(defn post-fn [slug]
  (try
    (maybe-require slug)
    (ns-resolve (post-ns slug)
                (symbol slug))
    (catch Exception e
      nil)))

(defn post-url [slug]
  (str "/blog/" slug))

(def slugs
  "Sorted array of slugs, assumes the post content can be found in the
   function returned by post-fn"
  [{:slug "interactive-layers"
    :display-in-overview true}
   {:slug "product-hunt-wake-up-call"
    :display-in-overview false}
   ;; "instrumenting-om-components"
   ;; "lets-replace-pen-and-paper"
   ])

(defn post-exists? [slug]
  (not= -1 (.indexOf (map :slug slugs) slug)))

(def logomark
  [:i {:class "icon-logomark"}
