                 (do
                   (.append sb ch)
                   (recur state (.read rdr)))))))
+        (conj! template (.toString sb))
         (persistent! template))))
 
-
 #_(render (parse "home.html") {:name "Bob"})


(defn value-tag [{:keys [tag-value]}]  
  (let [value (map keyword (.split tag-value "\\."))]
    (fn [params] (get-in params value))))

#_((value-tag {:tag-value "foo.bar.baz"}) {:foo {:bar {:baz "ok"}}})
#_((value-tag {:tag-value "foo"}) {:foo "ok"})
;ok


    (loop [ch (read-char rdr)]
      (if (= \{ ch)
        (let [{:keys [tag-name tag-type] :as tag} (read-tag-info rdr)]          
          (when (not= close-tag tag-name)            
            (conj! content (.toString buf))
            (.setLength buf 0)
            (conj! content (if (= :value tag-type)
