microformats2 2.9.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +125 -25
  3. data/Rakefile +0 -60
  4. data/lib/microformats2.rb +7 -15
  5. data/lib/microformats2/absolute_uri.rb +5 -1
  6. data/lib/microformats2/format_parser.rb +321 -46
  7. data/lib/microformats2/parser.rb +86 -6
  8. data/lib/microformats2/parser_core.rb +343 -0
  9. data/lib/microformats2/property_parser.rb +104 -34
  10. data/lib/microformats2/results/collection.rb +121 -0
  11. data/lib/microformats2/results/parser_result.rb +111 -0
  12. data/lib/microformats2/results/property_set.rb +87 -0
  13. data/lib/microformats2/time_property_parser.rb +161 -0
  14. data/lib/microformats2/version.rb +1 -1
  15. data/microformats2.gemspec +2 -1
  16. data/spec/lib/microformats2/absolute_uri_spec.rb +2 -2
  17. data/spec/lib/microformats2/parser_spec.rb +36 -5
  18. data/spec/lib/microformats2_spec.rb +5 -5
  19. data/spec/spec_helper.rb +0 -1
  20. data/vendor/tests/.gitignore +25 -0
  21. data/vendor/tests/LICENSE.md +36 -0
  22. data/vendor/tests/README.md +48 -0
  23. data/vendor/tests/app.js +84 -0
  24. data/vendor/tests/composer.json +5 -0
  25. data/vendor/tests/css/testsuite.css +159 -0
  26. data/vendor/tests/interface.js +18 -0
  27. data/vendor/tests/package.json +27 -0
  28. data/vendor/tests/tests/microformats-mixed/h-card/change-log.html +63 -0
  29. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.html +14 -0
  30. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.json +22 -0
  31. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.html +1 -0
  32. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.json +10 -0
  33. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.html +16 -0
  34. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.json +38 -0
  35. data/vendor/tests/tests/microformats-mixed/h-resume/change-log.html +68 -0
  36. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.html +16 -0
  37. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.json +31 -0
  38. data/vendor/tests/tests/microformats-v1/adr/change-log.html +63 -0
  39. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.html +8 -0
  40. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.json +15 -0
  41. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.html +5 -0
  42. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.json +11 -0
  43. data/vendor/tests/tests/microformats-v1/geo/change-log.1.html +78 -0
  44. data/vendor/tests/tests/microformats-v1/geo/change-log.html +63 -0
  45. data/vendor/tests/tests/microformats-v1/geo/hidden.html +10 -0
  46. data/vendor/tests/tests/microformats-v1/geo/hidden.json +11 -0
  47. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.html +6 -0
  48. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.json +11 -0
  49. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.html +11 -0
  50. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.json +11 -0
  51. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.html +41 -0
  52. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.json +21 -0
  53. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.html +13 -0
  54. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.json +37 -0
  55. data/vendor/tests/tests/microformats-v1/hcalendar/change-log.html +68 -0
  56. data/vendor/tests/tests/microformats-v1/hcalendar/combining.html +15 -0
  57. data/vendor/tests/tests/microformats-v1/hcalendar/combining.json +31 -0
  58. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.html +7 -0
  59. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.json +12 -0
  60. data/vendor/tests/tests/microformats-v1/hcalendar/time.html +44 -0
  61. data/vendor/tests/tests/microformats-v1/hcalendar/time.json +22 -0
  62. data/vendor/tests/tests/microformats-v1/hcard/change-log.html +68 -0
  63. data/vendor/tests/tests/microformats-v1/hcard/email.html +14 -0
  64. data/vendor/tests/tests/microformats-v1/hcard/email.json +11 -0
  65. data/vendor/tests/tests/microformats-v1/hcard/format.html +6 -0
  66. data/vendor/tests/tests/microformats-v1/hcard/format.json +11 -0
  67. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.html +3 -0
  68. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.json +8 -0
  69. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.html +1 -0
  70. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.json +8 -0
  71. data/vendor/tests/tests/microformats-v1/hcard/justaname.html +1 -0
  72. data/vendor/tests/tests/microformats-v1/hcard/justaname.json +8 -0
  73. data/vendor/tests/tests/microformats-v1/hcard/multiple.html +74 -0
  74. data/vendor/tests/tests/microformats-v1/hcard/multiple.json +65 -0
  75. data/vendor/tests/tests/microformats-v1/hcard/name.html +11 -0
  76. data/vendor/tests/tests/microformats-v1/hcard/name.json +15 -0
  77. data/vendor/tests/tests/microformats-v1/hcard/single.html +14 -0
  78. data/vendor/tests/tests/microformats-v1/hcard/single.json +24 -0
  79. data/vendor/tests/tests/microformats-v1/hentry/change-log.html +73 -0
  80. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.html +20 -0
  81. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.json +24 -0
  82. data/vendor/tests/tests/microformats-v1/hfeed/simple.html +30 -0
  83. data/vendor/tests/tests/microformats-v1/hfeed/simple.json +49 -0
  84. data/vendor/tests/tests/microformats-v1/hnews/all.html +37 -0
  85. data/vendor/tests/tests/microformats-v1/hnews/all.json +74 -0
  86. data/vendor/tests/tests/microformats-v1/hnews/change-log.html +72 -0
  87. data/vendor/tests/tests/microformats-v1/hnews/minimum.html +25 -0
  88. data/vendor/tests/tests/microformats-v1/hnews/minimum.json +48 -0
  89. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.html +26 -0
  90. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.json +52 -0
  91. data/vendor/tests/tests/microformats-v1/hproduct/change-log.html +62 -0
  92. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.html +13 -0
  93. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.json +33 -0
  94. data/vendor/tests/tests/microformats-v1/hresume/affiliation.html +12 -0
  95. data/vendor/tests/tests/microformats-v1/hresume/affiliation.json +25 -0
  96. data/vendor/tests/tests/microformats-v1/hresume/change-log.html +73 -0
  97. data/vendor/tests/tests/microformats-v1/hresume/contact.html +18 -0
  98. data/vendor/tests/tests/microformats-v1/hresume/contact.json +32 -0
  99. data/vendor/tests/tests/microformats-v1/hresume/education.html +13 -0
  100. data/vendor/tests/tests/microformats-v1/hresume/education.json +29 -0
  101. data/vendor/tests/tests/microformats-v1/hresume/skill.html +12 -0
  102. data/vendor/tests/tests/microformats-v1/hresume/skill.json +33 -0
  103. data/vendor/tests/tests/microformats-v1/hresume/work.html +16 -0
  104. data/vendor/tests/tests/microformats-v1/hresume/work.json +30 -0
  105. data/vendor/tests/tests/microformats-v1/hreview-aggregate/change-log.html +67 -0
  106. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.html +18 -0
  107. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.json +31 -0
  108. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.html +6 -0
  109. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.json +19 -0
  110. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.html +13 -0
  111. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.json +22 -0
  112. data/vendor/tests/tests/microformats-v1/hreview/change-log.html +73 -0
  113. data/vendor/tests/tests/microformats-v1/hreview/item.html +8 -0
  114. data/vendor/tests/tests/microformats-v1/hreview/item.json +19 -0
  115. data/vendor/tests/tests/microformats-v1/hreview/vcard.html +23 -0
  116. data/vendor/tests/tests/microformats-v1/hreview/vcard.json +58 -0
  117. data/vendor/tests/tests/microformats-v1/includes/change-log.html +72 -0
  118. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.html +16 -0
  119. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.json +49 -0
  120. data/vendor/tests/tests/microformats-v1/includes/heventitemref.html +25 -0
  121. data/vendor/tests/tests/microformats-v1/includes/heventitemref.json +33 -0
  122. data/vendor/tests/tests/microformats-v1/includes/hyperlink.html +18 -0
  123. data/vendor/tests/tests/microformats-v1/includes/hyperlink.json +43 -0
  124. data/vendor/tests/tests/microformats-v1/includes/object.html +23 -0
  125. data/vendor/tests/tests/microformats-v1/includes/object.json +42 -0
  126. data/vendor/tests/tests/microformats-v1/includes/table.html +12 -0
  127. data/vendor/tests/tests/microformats-v1/includes/table.json +19 -0
  128. data/vendor/tests/tests/microformats-v2/h-adr/change-log.html +62 -0
  129. data/vendor/tests/tests/microformats-v2/h-adr/geo.html +10 -0
  130. data/vendor/tests/tests/microformats-v2/h-adr/geo.json +16 -0
  131. data/vendor/tests/tests/microformats-v2/h-adr/geourl.html +4 -0
  132. data/vendor/tests/tests/microformats-v2/h-adr/geourl.json +13 -0
  133. data/vendor/tests/tests/microformats-v2/h-adr/justaname.html +1 -0
  134. data/vendor/tests/tests/microformats-v2/h-adr/justaname.json +10 -0
  135. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.html +21 -0
  136. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.json +12 -0
  137. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.html +8 -0
  138. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.json +16 -0
  139. data/vendor/tests/tests/microformats-v2/h-as-note/note.html +56 -0
  140. data/vendor/tests/tests/microformats-v2/h-as-note/note.json +98 -0
  141. data/vendor/tests/tests/microformats-v2/h-card/baseurl.html +6 -0
  142. data/vendor/tests/tests/microformats-v2/h-card/baseurl.json +26 -0
  143. data/vendor/tests/tests/microformats-v2/h-card/change-log.html +100 -0
  144. data/vendor/tests/tests/microformats-v2/h-card/childimplied.html +7 -0
  145. data/vendor/tests/tests/microformats-v2/h-card/childimplied.json +12 -0
  146. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.html +10 -0
  147. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.json +15 -0
  148. data/vendor/tests/tests/microformats-v2/h-card/hcard.html +4 -0
  149. data/vendor/tests/tests/microformats-v2/h-card/hcard.json +19 -0
  150. data/vendor/tests/tests/microformats-v2/h-card/horghcard.html +4 -0
  151. data/vendor/tests/tests/microformats-v2/h-card/horghcard.json +19 -0
  152. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.html +3 -0
  153. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.json +12 -0
  154. data/vendor/tests/tests/microformats-v2/h-card/impliedname.html +15 -0
  155. data/vendor/tests/tests/microformats-v2/h-card/impliedname.json +90 -0
  156. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.html +11 -0
  157. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.json +72 -0
  158. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.html +5 -0
  159. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.json +45 -0
  160. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.html +1 -0
  161. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.json +11 -0
  162. data/vendor/tests/tests/microformats-v2/h-card/justaname.html +1 -0
  163. data/vendor/tests/tests/microformats-v2/h-card/justaname.json +10 -0
  164. data/vendor/tests/tests/microformats-v2/h-card/nested.html +4 -0
  165. data/vendor/tests/tests/microformats-v2/h-card/nested.json +18 -0
  166. data/vendor/tests/tests/microformats-v2/h-card/p-property.html +21 -0
  167. data/vendor/tests/tests/microformats-v2/h-card/p-property.json +15 -0
  168. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.html +6 -0
  169. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.json +29 -0
  170. data/vendor/tests/tests/microformats-v2/h-entry/change-log.html +90 -0
  171. data/vendor/tests/tests/microformats-v2/h-entry/encoding.html +3 -0
  172. data/vendor/tests/tests/microformats-v2/h-entry/encoding.json +14 -0
  173. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.html +9 -0
  174. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.json +27 -0
  175. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.html +1 -0
  176. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.json +11 -0
  177. data/vendor/tests/tests/microformats-v2/h-entry/justaname.html +1 -0
  178. data/vendor/tests/tests/microformats-v2/h-entry/justaname.json +10 -0
  179. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.html +4 -0
  180. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.json +14 -0
  181. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.html +20 -0
  182. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.json +25 -0
  183. data/vendor/tests/tests/microformats-v2/h-entry/u-property.html +33 -0
  184. data/vendor/tests/tests/microformats-v2/h-entry/u-property.json +12 -0
  185. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.html +13 -0
  186. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.json +14 -0
  187. data/vendor/tests/tests/microformats-v2/h-event/ampm.html +41 -0
  188. data/vendor/tests/tests/microformats-v2/h-event/ampm.json +21 -0
  189. data/vendor/tests/tests/microformats-v2/h-event/attendees.html +13 -0
  190. data/vendor/tests/tests/microformats-v2/h-event/attendees.json +37 -0
  191. data/vendor/tests/tests/microformats-v2/h-event/change-log.html +82 -0
  192. data/vendor/tests/tests/microformats-v2/h-event/combining.html +13 -0
  193. data/vendor/tests/tests/microformats-v2/h-event/combining.json +25 -0
  194. data/vendor/tests/tests/microformats-v2/h-event/concatenate.html +8 -0
  195. data/vendor/tests/tests/microformats-v2/h-event/concatenate.json +12 -0
  196. data/vendor/tests/tests/microformats-v2/h-event/dates.html +13 -0
  197. data/vendor/tests/tests/microformats-v2/h-event/dates.json +26 -0
  198. data/vendor/tests/tests/microformats-v2/h-event/dt-property.html +23 -0
  199. data/vendor/tests/tests/microformats-v2/h-event/dt-property.json +20 -0
  200. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.html +1 -0
  201. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.json +11 -0
  202. data/vendor/tests/tests/microformats-v2/h-event/justaname.html +1 -0
  203. data/vendor/tests/tests/microformats-v2/h-event/justaname.json +10 -0
  204. data/vendor/tests/tests/microformats-v2/h-event/time.html +47 -0
  205. data/vendor/tests/tests/microformats-v2/h-event/time.json +25 -0
  206. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.html +30 -0
  207. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.json +23 -0
  208. data/vendor/tests/tests/microformats-v2/h-feed/simple.html +26 -0
  209. data/vendor/tests/tests/microformats-v2/h-feed/simple.json +33 -0
  210. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.html +5 -0
  211. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.json +12 -0
  212. data/vendor/tests/tests/microformats-v2/h-geo/altitude.html +8 -0
  213. data/vendor/tests/tests/microformats-v2/h-geo/altitude.json +13 -0
  214. data/vendor/tests/tests/microformats-v2/h-geo/change-log.html +67 -0
  215. data/vendor/tests/tests/microformats-v2/h-geo/hidden.html +10 -0
  216. data/vendor/tests/tests/microformats-v2/h-geo/hidden.json +12 -0
  217. data/vendor/tests/tests/microformats-v2/h-geo/justaname.html +3 -0
  218. data/vendor/tests/tests/microformats-v2/h-geo/justaname.json +10 -0
  219. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.html +5 -0
  220. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.json +12 -0
  221. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.html +11 -0
  222. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.json +12 -0
  223. data/vendor/tests/tests/microformats-v2/h-news/all.html +35 -0
  224. data/vendor/tests/tests/microformats-v2/h-news/all.json +51 -0
  225. data/vendor/tests/tests/microformats-v2/h-news/change-log.html +78 -0
  226. data/vendor/tests/tests/microformats-v2/h-news/minimum.html +24 -0
  227. data/vendor/tests/tests/microformats-v2/h-news/minimum.json +40 -0
  228. data/vendor/tests/tests/microformats-v2/h-org/change-log.html +57 -0
  229. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.html +1 -0
  230. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.json +11 -0
  231. data/vendor/tests/tests/microformats-v2/h-org/simple.html +1 -0
  232. data/vendor/tests/tests/microformats-v2/h-org/simple.json +10 -0
  233. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.html +4 -0
  234. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.json +12 -0
  235. data/vendor/tests/tests/microformats-v2/h-product/aggregate.html +21 -0
  236. data/vendor/tests/tests/microformats-v2/h-product/aggregate.json +45 -0
  237. data/vendor/tests/tests/microformats-v2/h-product/change-log.html +62 -0
  238. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.html +1 -0
  239. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.json +11 -0
  240. data/vendor/tests/tests/microformats-v2/h-product/justaname.html +1 -0
  241. data/vendor/tests/tests/microformats-v2/h-product/justaname.json +10 -0
  242. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.html +10 -0
  243. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.json +26 -0
  244. data/vendor/tests/tests/microformats-v2/h-recipe/all.html +63 -0
  245. data/vendor/tests/tests/microformats-v2/h-recipe/all.json +54 -0
  246. data/vendor/tests/tests/microformats-v2/h-recipe/change-log.html +62 -0
  247. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.html +7 -0
  248. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.json +17 -0
  249. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.html +12 -0
  250. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.json +20 -0
  251. data/vendor/tests/tests/microformats-v2/h-resume/change-log.html +78 -0
  252. data/vendor/tests/tests/microformats-v2/h-resume/contact.html +17 -0
  253. data/vendor/tests/tests/microformats-v2/h-resume/contact.json +26 -0
  254. data/vendor/tests/tests/microformats-v2/h-resume/education.html +13 -0
  255. data/vendor/tests/tests/microformats-v2/h-resume/education.json +30 -0
  256. data/vendor/tests/tests/microformats-v2/h-resume/justaname.html +1 -0
  257. data/vendor/tests/tests/microformats-v2/h-resume/justaname.json +10 -0
  258. data/vendor/tests/tests/microformats-v2/h-resume/skill.html +12 -0
  259. data/vendor/tests/tests/microformats-v2/h-resume/skill.json +12 -0
  260. data/vendor/tests/tests/microformats-v2/h-resume/work.html +16 -0
  261. data/vendor/tests/tests/microformats-v2/h-resume/work.json +31 -0
  262. data/vendor/tests/tests/microformats-v2/h-review-aggregate/change-log.html +78 -0
  263. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.html +13 -0
  264. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.json +23 -0
  265. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.html +8 -0
  266. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.json +19 -0
  267. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.html +18 -0
  268. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.json +26 -0
  269. data/vendor/tests/tests/microformats-v2/h-review/change-log.html +84 -0
  270. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.html +1 -0
  271. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.json +11 -0
  272. data/vendor/tests/tests/microformats-v2/h-review/implieditem.html +4 -0
  273. data/vendor/tests/tests/microformats-v2/h-review/implieditem.json +19 -0
  274. data/vendor/tests/tests/microformats-v2/h-review/item.html +8 -0
  275. data/vendor/tests/tests/microformats-v2/h-review/item.json +20 -0
  276. data/vendor/tests/tests/microformats-v2/h-review/justaname.html +1 -0
  277. data/vendor/tests/tests/microformats-v2/h-review/justaname.json +10 -0
  278. data/vendor/tests/tests/microformats-v2/h-review/photo.html +1 -0
  279. data/vendor/tests/tests/microformats-v2/h-review/photo.json +11 -0
  280. data/vendor/tests/tests/microformats-v2/h-review/vcard.html +23 -0
  281. data/vendor/tests/tests/microformats-v2/h-review/vcard.json +48 -0
  282. data/vendor/tests/tests/microformats-v2/rel/change-log.html +67 -0
  283. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.html +10 -0
  284. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.json +75 -0
  285. data/vendor/tests/tests/microformats-v2/rel/license.html +1 -0
  286. data/vendor/tests/tests/microformats-v2/rel/license.json +12 -0
  287. data/vendor/tests/tests/microformats-v2/rel/nofollow.html +1 -0
  288. data/vendor/tests/tests/microformats-v2/rel/nofollow.json +12 -0
  289. data/vendor/tests/tests/microformats-v2/rel/rel-urls.html +8 -0
  290. data/vendor/tests/tests/microformats-v2/rel/rel-urls.json +33 -0
  291. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.html +4 -0
  292. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.json +20 -0
  293. data/vendor/tests/tests/microformats-v2/rel/xfn-all.html +19 -0
  294. data/vendor/tests/tests/microformats-v2/rel/xfn-all.json +92 -0
  295. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.html +10 -0
  296. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.json +40 -0
  297. metadata +285 -37
  298. data/lib/microformats2/collection.rb +0 -136
  299. data/lib/microformats2/format.rb +0 -151
  300. data/lib/microformats2/implied_property/foundation.rb +0 -59
  301. data/lib/microformats2/implied_property/name.rb +0 -34
  302. data/lib/microformats2/implied_property/photo.rb +0 -28
  303. data/lib/microformats2/implied_property/url.rb +0 -24
  304. data/lib/microformats2/property.rb +0 -21
  305. data/lib/microformats2/property/date_time.rb +0 -28
  306. data/lib/microformats2/property/embedded.rb +0 -9
  307. data/lib/microformats2/property/foundation.rb +0 -143
  308. data/lib/microformats2/property/text.rb +0 -16
  309. data/lib/microformats2/property/url.rb +0 -26
  310. data/spec/lib/microformats2/collection_spec.rb +0 -252
  311. data/spec/lib/microformats2/implied_property/name_spec.rb +0 -31
  312. data/spec/lib/microformats2/implied_property/photo_spec.rb +0 -31
  313. data/spec/lib/microformats2/implied_property/url_spec.rb +0 -58
@@ -0,0 +1,40 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-news"],
4
+ "properties": {
5
+ "entry": [{
6
+ "value": "microformats.org at 7",
7
+ "type": ["h-entry"],
8
+ "properties": {
9
+ "name": ["microformats.org at 7"],
10
+ "url": ["http://microformats.org/2012/06/25/microformats-org-at-7"],
11
+ "content": [{
12
+ "value": "Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.\n\n The microformats tagline “humans first, machines second” \n forms the basis of many of our \n principles, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service",
13
+ "html": "\n <p class=\"p-summary\">Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.</p>\n\n <p>The microformats tagline “humans first, machines second” \n forms the basis of many of our \n <a href=\"http://microformats.org/wiki/principles\">principles</a>, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service </p>\n"
14
+ }],
15
+ "summary": ["Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities."],
16
+ "updated": ["2012-06-25 17:08:26"],
17
+ "author": [{
18
+ "value": "Tantek",
19
+ "type": ["h-card"],
20
+ "properties": {
21
+ "name": ["Tantek"],
22
+ "url": ["http://tantek.com/"]
23
+ }
24
+ }]
25
+ }
26
+ }],
27
+ "source-org": [{
28
+ "value": "microformats.org",
29
+ "type": ["h-card"],
30
+ "properties": {
31
+ "name": ["microformats.org"],
32
+ "url": ["http://microformats.org/"]
33
+ }
34
+ }],
35
+ "name": ["microformats.org at 7\n \n Last week the microformats.org community \n celebrated its 7th birthday at a gathering hosted by Mozilla in \n San Francisco and recognized accomplishments, challenges, and \n opportunities.\n\n The microformats tagline “humans first, machines second” \n forms the basis of many of our \n principles, and \n in that regard, we’d like to recognize a few people and \n thank them for their years of volunteer service \n \n Updated \n June 25th, 2012 by\n Tantek\n \n \n \n microformats.org"]
36
+ }
37
+ }],
38
+ "rels": {},
39
+ "rel-urls": {}
40
+ }
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>h-org parsing tests</title>
6
+
7
+ <link rel="stylesheet" href="../../../css/testsuite.css">
8
+ <link rel="stylesheet" href="../../../prettify.css">
9
+
10
+ <script src="../../../javascript/prettify.js"></script>
11
+ <script src="../../../javascript/testsuite.js"></script>
12
+
13
+ </head>
14
+ <body class="h-feed">
15
+
16
+ <h1 class="p-name"><span class="p-x-format">h-org</span> parsing tests &dash; change logs</h1>
17
+
18
+ <p class="p-description">The files in this directory where designed to test the parsing of h-org. </p>
19
+
20
+
21
+ <h2>Change log:</h2>
22
+ <ul>
23
+ <!-- Add change log event to the top of this list as a h-entry -->
24
+ <li class="h-entry">
25
+ <span class="p-name e-content">Broke old HTML format into small files to aid simpler testing</span> &dash;
26
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
27
+ by <span class="p-author">Glenn Jones</span>
28
+ </li>
29
+ <li class="h-entry">
30
+ <span class="p-name e-content">Updated JSON examples so it always has the rel={} object as well as the items=[] array</span> &dash;
31
+ <time class="dt-published" datetime="2013-11-21">21 November 2013</time>
32
+ by <span class="p-author">Glenn Jones</span>
33
+ </li>
34
+ <li class="h-entry">
35
+ <span class="p-name e-content">Created</span> &dash;
36
+ <time class="dt-published" datetime="2013-01-04">4 January 2013</time>
37
+ by <span class="p-author">Glenn Jones</span>
38
+ </li>
39
+ </ul>
40
+
41
+
42
+ <h2>Contributors:</h2>
43
+ <ul>
44
+ <!-- If you Contribute to the test please add yourself as an author using p-author h-card -->
45
+ <li class="p-author h-card">
46
+ <a class="u-url p-name" rel="author" href="http://www.glennjones.net/">Glenn Jones</a>
47
+ </li>
48
+ </ul>
49
+
50
+
51
+ <footer>
52
+ All content and code is released into the <a href="http://en.wikipedia.org/wiki/public_domain">public domain</a>
53
+ </footer>
54
+
55
+ </body>
56
+
57
+ </html>
@@ -0,0 +1 @@
1
+ <a class="h-org" href="http://mozilla.org/">Mozilla Foundation</a>
@@ -0,0 +1,11 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-org"],
4
+ "properties": {
5
+ "name": ["Mozilla Foundation"],
6
+ "url": ["http://mozilla.org/"]
7
+ }
8
+ }],
9
+ "rels": {},
10
+ "rel-urls": {}
11
+ }
@@ -0,0 +1 @@
1
+ <span class="h-org">Mozilla Foundation</span>
@@ -0,0 +1,10 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-org"],
4
+ "properties": {
5
+ "name": ["Mozilla Foundation"]
6
+ }
7
+ }],
8
+ "rels": {},
9
+ "rel-urls": {}
10
+ }
@@ -0,0 +1,4 @@
1
+ <p class="h-org">
2
+ <span class="p-organization-name">W3C</span> -
3
+ <span class="p-organization-unit">CSS Working Group</span>
4
+ </p>
@@ -0,0 +1,12 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-org"],
4
+ "properties": {
5
+ "organization-name": ["W3C"],
6
+ "organization-unit": ["CSS Working Group"],
7
+ "name": ["W3C - \n CSS Working Group"]
8
+ }
9
+ }],
10
+ "rels": {},
11
+ "rel-urls": {}
12
+ }
@@ -0,0 +1,21 @@
1
+ <meta charset="utf-8">
2
+ <div class="h-product">
3
+ <h2 class="p-name">Raspberry Pi</h2>
4
+ <img class="u-photo" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/RaspberryPi.jpg/320px-RaspberryPi.jpg" />
5
+ <p class="e-description">The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.</p>
6
+ <a class="u-url" href="http://www.raspberrypi.org/">More info about the Raspberry Pi</a>
7
+ <p class="p-price">£29.95</p>
8
+ <p class="p-review h-review-aggregate">
9
+ <span class="p-rating h-rating">
10
+ <span class="p-average">9.2</span> out of
11
+ <span class="p-best">10</span>
12
+ based on <span class="p-count">178</span> reviews
13
+ </span>
14
+ </p>
15
+ <p>Categories: <span class="p-category">Computer</span>, <span class="p-category">Education</span></p>
16
+ <p class="p-brand h-card">From:
17
+ <span class="p-name p-org">The Raspberry Pi Foundation</span> -
18
+ <span class="p-locality">Cambridge</span>
19
+ <span class="p-country-name">UK</span>
20
+ </p>
21
+ </div>
@@ -0,0 +1,45 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-product"],
4
+ "properties": {
5
+ "name": ["Raspberry Pi"],
6
+ "photo": ["http://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/RaspberryPi.jpg/320px-RaspberryPi.jpg"],
7
+ "description": [{
8
+ "value": "The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.",
9
+ "html": "The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming."
10
+ }],
11
+ "url": ["http://www.raspberrypi.org/"],
12
+ "price": ["£29.95"],
13
+ "review": [{
14
+ "value": "9.2 out of \n 10 \n based on 178 reviews",
15
+ "type": ["h-review-aggregate"],
16
+ "properties": {
17
+ "rating": [{
18
+ "value": "9.2 out of \n 10 \n based on 178 reviews",
19
+ "type": ["h-rating"],
20
+ "properties": {
21
+ "average": ["9.2"],
22
+ "best": ["10"],
23
+ "count": ["178"],
24
+ "name": ["9.2 out of \n 10 \n based on 178 reviews"]
25
+ }
26
+ }],
27
+ "name": ["9.2 out of \n 10 \n based on 178 reviews"]
28
+ }
29
+ }],
30
+ "category": ["Computer", "Education"],
31
+ "brand": [{
32
+ "value": "The Raspberry Pi Foundation",
33
+ "type": ["h-card"],
34
+ "properties": {
35
+ "name": ["The Raspberry Pi Foundation"],
36
+ "org": ["The Raspberry Pi Foundation"],
37
+ "locality": ["Cambridge"],
38
+ "country-name": ["UK"]
39
+ }
40
+ }]
41
+ }
42
+ }],
43
+ "rels": {},
44
+ "rel-urls": {}
45
+ }
@@ -0,0 +1,62 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>h-product parsing tests</title>
6
+
7
+ <link rel="stylesheet" href="../../../css/testsuite.css">
8
+ <link rel="stylesheet" href="../../../prettify.css">
9
+
10
+ <script src="../../../javascript/prettify.js"></script>
11
+ <script src="../../../javascript/testsuite.js"></script>
12
+
13
+ </head>
14
+ <body class="h-feed">
15
+
16
+ <h1 class="p-name"><span class="p-x-format">h-product</span> parsing tests &dash; change logs</h1>
17
+
18
+ <p class="p-description">The files in this directory where designed to test the parsing of h-product. </p>
19
+
20
+
21
+ <h2>Change log:</h2>
22
+ <ul>
23
+ <!-- Add change log event to the top of this list as a h-entry -->
24
+ <li class="h-entry">
25
+ <span class="p-name e-content">Update text output to be textContent non-trimmed for aggregate test</span> &dash;
26
+ <time class="dt-published" datetime="2015-05-29">29 May 2015</time>
27
+ by <span class="p-author">Glenn Jones</span>
28
+ </li>
29
+ <li class="h-entry">
30
+ <span class="p-name e-content">Broke old HTML format into small files to aid simpler testing</span> &dash;
31
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
32
+ by <span class="p-author">Glenn Jones</span>
33
+ </li>
34
+ <li class="h-entry">
35
+ <span class="p-name e-content">Updated JSON examples so it always has the rel={} object as well as the items=[] array</span> &dash;
36
+ <time class="dt-published" datetime="2013-11-21">21 November 2013</time>
37
+ by <span class="p-author">Glenn Jones</span>
38
+ </li>
39
+ <li class="h-entry">
40
+ <span class="p-name e-content">Created</span> &dash;
41
+ <time class="dt-published" datetime="2013-01-14">14 January 2013</time>
42
+ by <span class="p-author">Glenn Jones</span>
43
+ </li>
44
+ </ul>
45
+
46
+
47
+ <h2>Contributors:</h2>
48
+ <ul>
49
+ <!-- If you Contribute to the test please add yourself as an author using p-author h-card -->
50
+ <li class="p-author h-card">
51
+ <a class="u-url p-name" rel="author" href="http://www.glennjones.net/">Glenn Jones</a>
52
+ </li>
53
+ </ul>
54
+
55
+
56
+ <footer>
57
+ All content and code is released into the <a href="http://en.wikipedia.org/wiki/public_domain">public domain</a>
58
+ </footer>
59
+
60
+ </body>
61
+
62
+ </html>
@@ -0,0 +1 @@
1
+ <a class="h-product" href="http://www.raspberrypi.org/">Raspberry Pi</a>
@@ -0,0 +1,11 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-product"],
4
+ "properties": {
5
+ "name": ["Raspberry Pi"],
6
+ "url": ["http://www.raspberrypi.org/"]
7
+ }
8
+ }],
9
+ "rels": {},
10
+ "rel-urls": {}
11
+ }
@@ -0,0 +1 @@
1
+ <p class="h-product">Raspberry Pi</p>
@@ -0,0 +1,10 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-product"],
4
+ "properties": {
5
+ "name": ["Raspberry Pi"]
6
+ }
7
+ }],
8
+ "rels": {},
9
+ "rel-urls": {}
10
+ }
@@ -0,0 +1,10 @@
1
+ <meta charset="utf-8">
2
+ <div class="h-product">
3
+ <h2 class="p-name">Raspberry Pi</h2>
4
+ <img class="u-photo" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/RaspberryPi.jpg/320px-RaspberryPi.jpg" />
5
+ <p class="e-description">The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.</p>
6
+ <a class="u-url" href="http://www.raspberrypi.org/">More info about the Raspberry Pi</a>
7
+ <p class="p-price">£29.95</p>
8
+ <p class="p-review h-review"><span class="p-rating">4.5</span> out of 5</p>
9
+ <p>Categories: <span class="p-category">Computer</span>, <span class="p-category">Education</span></p>
10
+ </div>
@@ -0,0 +1,26 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-product"],
4
+ "properties": {
5
+ "name": ["Raspberry Pi"],
6
+ "photo": ["http://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/RaspberryPi.jpg/320px-RaspberryPi.jpg"],
7
+ "description": [{
8
+ "value": "The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.",
9
+ "html": "The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming."
10
+ }],
11
+ "url": ["http://www.raspberrypi.org/"],
12
+ "price": ["£29.95"],
13
+ "category": ["Computer", "Education"],
14
+ "review": [{
15
+ "value": "4.5 out of 5",
16
+ "type": ["h-review"],
17
+ "properties": {
18
+ "rating": ["4.5"],
19
+ "name": ["4.5 out of 5"]
20
+ }
21
+ }]
22
+ }
23
+ }],
24
+ "rels": {},
25
+ "rel-urls": {}
26
+ }
@@ -0,0 +1,63 @@
1
+ <section class="h-recipe">
2
+ <h1 class="p-name">Yorkshire Puddings</h1>
3
+ <p class="p-summary">Makes <span class="p-yield">6 good sized Yorkshire puddings</span>, the way my mum taught me</p>
4
+
5
+
6
+ <p><img class="u-photo" src="http://codebits.glennjones.net/semantic/yorkshire-puddings.jpg" /></p>
7
+
8
+ <span class="p-review h-review-aggregate">
9
+ <span class="p-rating">
10
+ <span class="p-average">4.5</span> stars out 5 based on </span>
11
+ <span class="p-count">35</span> reviews</span>
12
+
13
+
14
+
15
+ <div id="ingredients-container">
16
+ <h3>Ingredients</h3>
17
+ <ul>
18
+ <li class="e-ingredient">1 egg</li>
19
+ <li class="e-ingredient">75g plain flour</li>
20
+ <li class="e-ingredient">70ml milk</li>
21
+ <li class="e-ingredient">60ml water</li>
22
+ <li class="e-ingredient">Pinch of salt</li>
23
+ </ul>
24
+ </div>
25
+
26
+ <h3>Time</h3>
27
+ <ul>
28
+ <li class="prepTime">Preparation <span class="value-title" title="PT0H10M">10 mins</span></li>
29
+ <li class="cookTime">Cook <span class="value-title" title="PT0H25M">25 mins</span></li>
30
+ </ul>
31
+
32
+
33
+ <h3>Instructions</h3>
34
+ <div class="e-instructions">
35
+ <ol>
36
+ <li>Pre-heat oven to 230C or gas mark 8. Pour the vegetable oil evenly into 2 x 4-hole
37
+ Yorkshire pudding tins and place in the oven to heat through.</li>
38
+
39
+ <li>To make the batter, add all the flour into a bowl and beat in the eggs until smooth.
40
+ Gradually add the milk and water while beating the mixture. It should be smooth and
41
+ without lumps. Finally add a pinch of salt.</li>
42
+
43
+ <li>Make sure the oil is piping hot before pouring the batter evenly into the tins.
44
+ Place in the oven for 20-25 minutes until pudding have risen and look golden brown</li>
45
+ </ol>
46
+ </div>
47
+
48
+ <h3>Nutrition</h3>
49
+ <ul id="nutrition-list">
50
+ <li class="p-nutrition">Calories: <span class="calories">125</span></li>
51
+ <li class="p-nutrition">Fat: <span class="fat">3.2g</span></li>
52
+ <li class="p-nutrition">Cholesterol: <span class="cholesterol">77mg</span></li>
53
+ </ul>
54
+ <p>(Amount per pudding)</p>
55
+
56
+ <p>
57
+ Published on <time class="dt-published" datetime="2011-10-27">27 Oct 2011</time> by
58
+ <span class="p-author h-card">
59
+ <a class="p-name u-url" href="http://glennjones.net">Glenn Jones</a>
60
+ </span>
61
+ </p>
62
+ <a href="http://www.flickr.com/photos/dithie/4106528495/">Photo by dithie</a>
63
+ </section>
@@ -0,0 +1,54 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-recipe"],
4
+ "properties": {
5
+ "name": ["Yorkshire Puddings"],
6
+ "summary": ["Makes 6 good sized Yorkshire puddings, the way my mum taught me"],
7
+ "yield": ["6 good sized Yorkshire puddings"],
8
+ "photo": ["http://codebits.glennjones.net/semantic/yorkshire-puddings.jpg"],
9
+ "review": [{
10
+ "value": "4.5 stars out 5 based on \n 35 reviews",
11
+ "type": ["h-review-aggregate"],
12
+ "properties": {
13
+ "rating": ["4.5 stars out 5 based on"],
14
+ "average": ["4.5"],
15
+ "count": ["35"],
16
+ "name": ["4.5 stars out 5 based on \n 35 reviews"]
17
+ }
18
+ }],
19
+ "ingredient": [{
20
+ "value": "1 egg",
21
+ "html": "1 egg"
22
+ }, {
23
+ "value": "75g plain flour",
24
+ "html": "75g plain flour"
25
+ }, {
26
+ "value": "70ml milk",
27
+ "html": "70ml milk"
28
+ }, {
29
+ "value": "60ml water",
30
+ "html": "60ml water"
31
+ }, {
32
+ "value": "Pinch of salt",
33
+ "html": "Pinch of salt"
34
+ }],
35
+ "instructions": [{
36
+ "value": "Pre-heat oven to 230C or gas mark 8. Pour the vegetable oil evenly into 2 x 4-hole \n Yorkshire pudding tins and place in the oven to heat through. \n \n To make the batter, add all the flour into a bowl and beat in the eggs until smooth. \n Gradually add the milk and water while beating the mixture. It should be smooth and \n without lumps. Finally add a pinch of salt.\n \n Make sure the oil is piping hot before pouring the batter evenly into the tins. \n Place in the oven for 20-25 minutes until pudding have risen and look golden brown",
37
+ "html": "\n <ol>\n <li>Pre-heat oven to 230C or gas mark 8. Pour the vegetable oil evenly into 2 x 4-hole \n Yorkshire pudding tins and place in the oven to heat through.</li> \n \n <li>To make the batter, add all the flour into a bowl and beat in the eggs until smooth. \n Gradually add the milk and water while beating the mixture. It should be smooth and \n without lumps. Finally add a pinch of salt.</li>\n \n <li>Make sure the oil is piping hot before pouring the batter evenly into the tins. \n Place in the oven for 20-25 minutes until pudding have risen and look golden brown</li>\n </ol>\n"
38
+ }],
39
+ "nutrition": ["Calories: 125", "Fat: 3.2g", "Cholesterol: 77mg"],
40
+ "published": ["2011-10-27"],
41
+ "author": [{
42
+ "value": "Glenn Jones",
43
+ "type": ["h-card"],
44
+ "properties": {
45
+ "name": ["Glenn Jones"],
46
+ "url": ["http://glennjones.net"]
47
+ }
48
+ }],
49
+ "url": ["http://www.flickr.com/photos/dithie/4106528495/"]
50
+ }
51
+ }],
52
+ "rels": {},
53
+ "rel-urls": {}
54
+ }