     (string? e) (escape-html e)
     (seq? e)    (apply str (map render-html e))
     (nil? e)    ""))
+
+;; (render-html (parse "테스트\n==="))

           "</code></pre>")

      ;; 기본
      (let [[열기 닫기] (여닫기 태그)]
        (str 열기 (render-html 내용) 닫기)))))

(defn render-html [e]
  (cond

(declare render-html)

(defn- render-element [[태그 & 내용]]
  (let [태그맵 {:큰제목 "h2", :작은제목 "h3", :일반목록 "ul", :숫자목록 "ol"
                :항목 "li", :인용 "blockquote", :원문 "pre", :문단 "div"
                :문장 "p", :기울임 "i", :굵게 "em"}
        추출 (fn [tag] (some
                       (fn [e] (if (= (first e) tag) (apply str (rest e))))
                       내용))]
    (case 태그
      :빈줄   "<br/>"
      :구분줄 "<hr/>"

      :소스코드
      (str "<pre><code" (if-let [언어 (추출 :소스언어)] (str " data-lang=\"" 언어 "\"")) ">"
