all repos — archive/microformats @ 21830ef89ee29c4dfbaa4340601ef837ffb53159

Incomplete Clojure microformats library

Output lists of values according to spec

Alan Pearce
commit

21830ef89ee29c4dfbaa4340601ef837ffb53159

parent

d5b6c2d56e84a93232c2d3c87d93b70102006bee

2 files changed, 37 insertions(+), 37 deletions(-)

jump to
M src/microformats/parser.cljsrc/microformats/parser.clj
@@ -105,8 +105,8 @@ (defn get-e-value
"Get the e-x propery value of an element" [el] (let [content (:content el)] - {:html (apply str (node-to-html content)) - :value (apply str (html/texts content))})) + (list {:html (apply str (node-to-html content)) + :value (apply str (html/texts content))}))) (defn parse-p "Parse p-* classes within HTML element."
@@ -114,7 +114,7 @@ [element]
(->> element element-to-classes ((classes-to-props "p-")) - (r/map #(hash-map % (get-p-value element))) + (r/map #(hash-map % (list (get-p-value element)))) (into {}))) (defn parse-u
@@ -123,7 +123,7 @@ [element]
(->> element element-to-classes ((classes-to-props "u-")) - (r/map #(hash-map % (get-u-value element))) + (r/map #(hash-map % (list (get-u-value element)))) (into {}))) (defn parse-dt
@@ -132,7 +132,7 @@ [element]
(->> element element-to-classes ((classes-to-props "dt-")) - (r/map #(hash-map % (get-dt-value element))) + (r/map #(hash-map % (list (get-dt-value element)))) (into {}))) (defn parse-e
@@ -155,7 +155,7 @@
(defn- imply-name "Imply the name of an entity from the element" [element] - (or (first (:content element)))) + (:content element)) (defn parse-implied "Parse implied properties of a HTML element"
M test/microformats/parser_expectations.cljtest/microformats/parser_expectations.clj
@@ -16,91 +16,91 @@
(expect "Foo <strong>bar</strong>" (apply str (#'microformats.parser/node-to-html '("Foo " {:tag :strong, :attrs nil, :content ("bar")})))) -(expect {:name "Name"} +(expect {:name '("Name")} (parse-p (snippet "<p class=\"p-name\"><span class=\"value\">Name</span></p>"))) -(expect {:name "Name Endname"} +(expect {:name '("Name Endname")} (parse-p (snippet "<p class=\"p-name\"><span class=\"value\">Name</span> (this should not be included) <span class=\"value\">Endname</span></p>"))) -(expect {:name "Example User"} +(expect {:name '("Example User")} (parse-p (snippet "<p class=\"p-name\">Example User</p>"))) -(expect {:nickname "exuser"} +(expect {:nickname '("exuser")} (parse-p (snippet "<p class=\"p-nickname\">exuser</p>"))) -(expect {:name "Example User"} +(expect {:name '("Example User")} (parse-p (snippet "<img class=\"p-name\" alt=\"Example User\">"))) -(expect {:name "Example User"} +(expect {:name '("Example User")} (parse-p (snippet "<abbr class=\"p-name\" title=\"Example User\">@example</abbr>"))) -(expect {:name "@example"} +(expect {:name '("@example")} (parse-p (snippet "<abbr class=\"p-name\">@example</abbr>"))) -(expect {:name "Example User"} +(expect {:name '("Example User")} (parse-p (snippet "<data class=\"p-name\" value=\"Example User\"></data>"))) -(expect {:name "Example User"} +(expect {:name '("Example User")} (parse-p (snippet "<data class=\"p-name\">Example User</data>"))) -(expect {:name ""} +(expect {:name '("")} (parse-p (snippet "<br class=\"p-name\"/>"))) -(expect {:name ""} +(expect {:name '("")} (parse-p (snippet "<hr class=\"p-name\"/>"))) -(expect {:url "http://example.com"} +(expect {:url '("http://example.com")} (parse-u (snippet "<a class=\"u-url\" href=\"http://example.com\">Awesome example website</a>"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<img class=\"u-photo\" src=\"http://example.com/someimage.png\">"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<area class=\"u-photo\" href=\"http://example.com/someimage.png\"></area>"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<object class=\"u-photo\" data=\"http://example.com/someimage.png\"></object>"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<abbr class=\"u-photo\" title=\"http://example.com/someimage.png\"></abbr>"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<abbr class=\"u-photo\">http://example.com/someimage.png</abbr>"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<data class=\"u-photo\" value=\"http://example.com/someimage.png\"></data>"))) -(expect {:photo "http://example.com/someimage.png"} +(expect {:photo '("http://example.com/someimage.png")} (parse-u (snippet "<data class=\"u-photo\">http://example.com/someimage.png</data>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<time class=\"dt-start\" datetime=\"2012-08-05T14:50\"></time>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<time class=\"dt-start\">2012-08-05T14:50</time>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<ins class=\"dt-start\" datetime=\"2012-08-05T14:50\"></ins>"))) -(expect {:end "2012-08-05T18:00"} +(expect {:end '("2012-08-05T18:00")} (parse-dt (snippet "<del class=\"dt-end\" datetime=\"2012-08-05T18:00\"></del>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<abbr class=\"dt-start\" title=\"2012-08-05T14:50\"></abbr>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<abbr class=\"dt-start\">2012-08-05T14:50</abbr>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<data class=\"dt-start\" value=\"2012-08-05T14:50\"></data>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<data class=\"dt-start\">2012-08-05T14:50</data>"))) -(expect {:start "2012-08-05T14:50"} +(expect {:start '("2012-08-05T14:50")} (parse-dt (snippet "<input class=\"dt-start\" value=\"2012-08-05T14:50\">"))) -(expect {:content {:html "Here is a load of <strong>embedded markup</strong>" :value "Here is a load of embedded markup"}} +(expect {:content '({:html "Here is a load of <strong>embedded markup</strong>" :value "Here is a load of embedded markup"})} (parse-e (snippet "<div class=\"e-content\">Here is a load of <strong>embedded markup</strong></div>"))) (expect {:author ["http://example.com/a"]}
@@ -113,8 +113,8 @@
(expect {:items [] :rels {}} (parse "")) -(expect {:items [{:properties {:name "Example User"} :type ["h-card"]}] :rels {}} +(expect {:items [{:properties {:name '("Example User")} :type ["h-card"]}] :rels {}} (parse "<div class=\"h-card\"><p class=\"p-name\">Example User</p></div>")) -(expect {:items [{:type ["h-card"] :properties {:name "Example User"}}] :rels {}} +(expect {:items [{:type ["h-card"] :properties {:name '("Example User")}}] :rels {}} (parse "<p class=\"h-card\">Example User</p>"))