From d5b6c2d56e84a93232c2d3c87d93b70102006bee Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 21 Sep 2014 20:55:31 +0100 Subject: Add initial implied property parsing --- src/microformats/parser.clj | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/microformats/parser.clj b/src/microformats/parser.clj index 38bca21..b3af5e3 100644 --- a/src/microformats/parser.clj +++ b/src/microformats/parser.clj @@ -152,6 +152,16 @@ (r/filter (mf-names-from-class "h-")) (into []))) +(defn- imply-name + "Imply the name of an entity from the element" + [element] + (or (first (:content element)))) + +(defn parse-implied + "Parse implied properties of a HTML element" + [element] + {:name (imply-name element)}) + (defn parse-h "Parse h-* classes within a HTML element." [element] @@ -160,7 +170,8 @@ (html/attr-starts :class "dt-") (html/attr-starts :class "e-")])]))] (hash-map :type (get-mf-names element) - :properties (apply merge ((juxt parse-p parse-u parse-dt parse-e) el))))) + :properties (merge (parse-implied element) + (apply merge ((juxt parse-p parse-u parse-dt parse-e) el)))))) (defn select-h "Select h-* elements within a HTML document." -- cgit 1.4.1