diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/microformats/parser.clj | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/microformats/parser.clj b/src/microformats/parser.clj index c741549..c44803b 100644 --- a/src/microformats/parser.clj +++ b/src/microformats/parser.clj @@ -1,6 +1,20 @@ -(ns microformats.parser) +(ns microformats.parser + (:require [net.cgrand.enlive-html :as html])) + +;;; Turn string into stream + +(defn parse-p + "Parse p-* classes within HTML element." + [element] + (hash-map :properties (hash-map :name (first (:content (first (html/select element [:.p-name]))))))) + +(defn parse-h + "Parse h-* classes within a HTML document." + [html] + (mapv parse-p (html/select html [:.h-card]))) (defn parse "Parse a HTML string with microformats" [html] - {:items [] :rels {}}) + (let [document (html/html-snippet html)] + {:items (parse-h document) :rels {}})) |