about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/microformats/parser.clj13
1 files changed, 12 insertions, 1 deletions
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."