microformats2 2.9.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,8 @@
1
+ <base href="http://example.com">
2
+ <div class="hreview">
3
+ <p class="item">
4
+ <img class="photo" src="images/photo.gif" />
5
+ <a class="fn url" href="http://example.com/crepeoncole">Crepes on Cole</a>
6
+ </p>
7
+ <p><span class="rating">5</span> out of 5 stars</p>
8
+ </div>
@@ -0,0 +1,19 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-review"],
4
+ "properties": {
5
+ "item": [{
6
+ "value": "Crepes on Cole",
7
+ "type": ["h-item"],
8
+ "properties": {
9
+ "photo": ["http://example.com/images/photo.gif"],
10
+ "name": ["Crepes on Cole"],
11
+ "url": ["http://example.com/crepeoncole"]
12
+ }
13
+ }],
14
+ "rating": ["5"]
15
+ }
16
+ }],
17
+ "rels": {},
18
+ "rel-urls": {}
19
+ }
@@ -0,0 +1,23 @@
1
+ <div class="hreview">
2
+ <span><span class="rating">5</span> out of 5 stars</span>
3
+ <h4 class="summary">Crepes on Cole is awesome</h4>
4
+ <span class="reviewer vcard">
5
+ Reviewer: <span class="fn">Tantek</span> -
6
+ </span>
7
+ <time class="reviewed" datetime="2005-04-18">April 18, 2005</time>
8
+ <div class="description">
9
+ <p class="item vcard">
10
+ <span class="fn org">Crepes on Cole</span> is one of the best little
11
+ creperies in <span class="adr"><span class="locality">San Francisco</span></span>.
12
+ Excellent food and service. Plenty of tables in a variety of sizes
13
+ for parties large and small. Window seating makes for excellent
14
+ people watching to/from the N-Judah which stops right outside.
15
+ I've had many fun social gatherings here, as well as gotten
16
+ plenty of work done thanks to neighborhood WiFi.
17
+ </p>
18
+ </div>
19
+ <p>Visit date: <span>April 2005</span></p>
20
+ <p>Food eaten: <a rel="tag" href="http://en.wikipedia.org/wiki/crepe">crepe</a></p>
21
+ <p>Permanent link for review: <a rel="self bookmark" href="http://example.com/crepe">http://example.com/crepe</a></p>
22
+ <p><a rel="license" href="http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">Creative Commons Attribution-ShareAlike License</a></p>
23
+ </div>
@@ -0,0 +1,58 @@
1
+
2
+ {
3
+ "items": [{
4
+ "type": ["h-review"],
5
+ "properties": {
6
+ "rating": ["5"],
7
+ "name": ["Crepes on Cole is awesome"],
8
+ "author": [{
9
+ "value": "Tantek",
10
+ "type": ["h-card"],
11
+ "properties": {
12
+ "name": ["Tantek"]
13
+ }
14
+ }],
15
+ "content": [{
16
+ "value": "Crepes on Cole is one of the best little \n creperies in San Francisco.\n Excellent food and service. Plenty of tables in a variety of sizes \n for parties large and small. Window seating makes for excellent \n people watching to/from the N-Judah which stops right outside. \n I've had many fun social gatherings here, as well as gotten \n plenty of work done thanks to neighborhood WiFi.",
17
+ "html": "\n <p class=\"item vcard\">\n <span class=\"fn org\">Crepes on Cole</span> is one of the best little \n creperies in <span class=\"adr\"><span class=\"locality\">San Francisco</span></span>.\n Excellent food and service. Plenty of tables in a variety of sizes \n for parties large and small. Window seating makes for excellent \n people watching to/from the N-Judah which stops right outside. \n I've had many fun social gatherings here, as well as gotten \n plenty of work done thanks to neighborhood WiFi.\n </p>\n"
18
+ }],
19
+ "item": [{
20
+ "value": "Crepes on Cole",
21
+ "type": ["h-card"],
22
+ "properties": {
23
+ "name": ["Crepes on Cole"],
24
+ "org": ["Crepes on Cole"],
25
+ "adr": [{
26
+ "value": "San Francisco",
27
+ "type": ["h-adr"],
28
+ "properties": {
29
+ "locality": ["San Francisco"]
30
+ }
31
+ }]
32
+ }
33
+ }],
34
+ "category": ["crepe"],
35
+ "url": ["http://example.com/crepe"]
36
+ }
37
+ }],
38
+ "rels": {
39
+ "tag": ["http://en.wikipedia.org/wiki/crepe"],
40
+ "self": ["http://example.com/crepe"],
41
+ "bookmark": ["http://example.com/crepe"],
42
+ "license": ["http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"]
43
+ },
44
+ "rel-urls": {
45
+ "http://en.wikipedia.org/wiki/crepe": {
46
+ "text": "crepe",
47
+ "rels": ["tag"]
48
+ },
49
+ "http://example.com/crepe": {
50
+ "text": "http://example.com/crepe",
51
+ "rels": ["self", "bookmark"]
52
+ },
53
+ "http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License": {
54
+ "text": "Creative Commons Attribution-ShareAlike License",
55
+ "rels": ["license"]
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>h-card 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-card</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 includes. </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</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">Converted all the classes over to microformats v1</span> &dash;
31
+ <time class="dt-published" datetime="2015-05-23">23 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">Broke old HTML format into small files to aid simpler testing</span> &dash;
36
+ <time class="dt-published" datetime="2015-05-21">21 May 2015</time>
37
+ by <span class="p-author">Glenn Jones</span>
38
+ </li>
39
+ <li class="h-entry">
40
+ <span class="p-name e-content">Updated JSON examples so it always has the rel={} object as well as the items=[] array</span> &dash;
41
+ <time class="dt-published" datetime="2013-11-21">21 November 2013</time>
42
+ by <span class="p-author">Glenn Jones</span>
43
+ </li>
44
+ <li class="h-entry">
45
+ <span class="p-name e-content">Updated encoding issue on p-*</span> &dash;
46
+ <time class="dt-published" datetime="2013-09-19">19 September 2013</time>
47
+ by <span class="p-author">Glenn Jones</span>
48
+ </li>
49
+ <li class="h-entry">
50
+ <span class="p-name e-content">Created</span> &dash;
51
+ <time class="dt-published" datetime="2013-01-11">11 January 2013</time>
52
+ by <span class="p-author">Glenn Jones</span>
53
+ </li>
54
+ </ul>
55
+
56
+
57
+ <h2>Contributors:</h2>
58
+ <ul>
59
+ <!-- If you Contribute to the test please add yourself as an author using p-author h-card -->
60
+ <li class="p-author h-card">
61
+ <a class="u-url p-name" rel="author" href="http://www.glennjones.net/">Glenn Jones</a>
62
+ </li>
63
+ </ul>
64
+
65
+
66
+ <footer>
67
+ All content and code is released into the <a href="http://en.wikipedia.org/wiki/public_domain">public domain</a>
68
+ </footer>
69
+
70
+ </body>
71
+
72
+ </html>
@@ -0,0 +1,16 @@
1
+ <div class="vcard" itemref="mozilla-org mozilla-adr">
2
+ <span class="name">Brendan Eich</span>
3
+ </div>
4
+ <div class="vcard" itemref="mozilla-org mozilla-adr">
5
+ <span class="name">Mitchell Baker</span>
6
+ </div>
7
+
8
+ <p id="mozilla-org" class="org">Mozilla</p>
9
+ <p id="mozilla-adr" class="adr">
10
+ <span class="street-address">665 3rd St.</span>
11
+ <span class="extended-address">Suite 207</span>
12
+ <span class="locality">San Francisco</span>,
13
+ <span class="region">CA</span>
14
+ <span class="postal-code">94107</span>
15
+ <span class="country-name">U.S.A.</span>
16
+ </p>
@@ -0,0 +1,49 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-card"],
4
+ "properties": {
5
+ "org": ["Mozilla"],
6
+ "adr": [{
7
+ "value": "665 3rd St. \n Suite 207 \n San Francisco, \n CA \n 94107 \n U.S.A.",
8
+ "type": ["h-adr"],
9
+ "properties": {
10
+ "street-address": ["665 3rd St."],
11
+ "extended-address": ["Suite 207"],
12
+ "locality": ["San Francisco"],
13
+ "region": ["CA"],
14
+ "postal-code": ["94107"],
15
+ "country-name": ["U.S.A."]
16
+ }
17
+ }]
18
+ }
19
+ }, {
20
+ "type": ["h-card"],
21
+ "properties": {
22
+ "org": ["Mozilla"],
23
+ "adr": [{
24
+ "value": "665 3rd St. \n Suite 207 \n San Francisco, \n CA \n 94107 \n U.S.A.",
25
+ "type": ["h-adr"],
26
+ "properties": {
27
+ "street-address": ["665 3rd St."],
28
+ "extended-address": ["Suite 207"],
29
+ "locality": ["San Francisco"],
30
+ "region": ["CA"],
31
+ "postal-code": ["94107"],
32
+ "country-name": ["U.S.A."]
33
+ }
34
+ }]
35
+ }
36
+ }, {
37
+ "type": ["h-adr"],
38
+ "properties": {
39
+ "street-address": ["665 3rd St."],
40
+ "extended-address": ["Suite 207"],
41
+ "locality": ["San Francisco"],
42
+ "region": ["CA"],
43
+ "postal-code": ["94107"],
44
+ "country-name": ["U.S.A."]
45
+ }
46
+ }],
47
+ "rels": {},
48
+ "rel-urls": {}
49
+ }
@@ -0,0 +1,25 @@
1
+ <div class="vevent" itemref="io-session07">
2
+ <span class="name">Monetizing Android Apps</span> - spaekers:
3
+ <span class="speaker">Chrix Finne</span>,
4
+ <span class="speaker">Kenneth Lui</span> -
5
+ <span itemref="io-location" class="location adr">
6
+ <span class="extended-address">Room 10</span>
7
+ </span>
8
+ </div>
9
+ <div class="vevent" itemref="io-session07">
10
+ <span class="name">New Low-Level Media APIs in Android</span> - spaekers:
11
+ <span class="speaker">Dave Burke</span> -
12
+ <span itemref="io-location" class="location adr">
13
+ <span class="extended-address">Room 11</span>
14
+ </span>
15
+ </div>
16
+
17
+ <p id="io-session07">
18
+ Session 01 is between:
19
+ <time class="dtstart" datetime="2012-06-27T15:45:00-0800">3:45PM</time> to
20
+ <time class="dtend" datetime="2012-06-27T16:45:00-0800">4:45PM</time>
21
+ </p>
22
+ <p id="io-location">
23
+ <span class="extended-address">Moscone Center</span>,
24
+ <span class="locality">San Francisco</span>
25
+ </p>
@@ -0,0 +1,33 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-event"],
4
+ "properties": {
5
+ "location": [{
6
+ "value": "Room 10\n \n Moscone Center, \n San Francisco",
7
+ "type": ["h-adr"],
8
+ "properties": {
9
+ "extended-address": ["Room 10", "Moscone Center"],
10
+ "locality": ["San Francisco"]
11
+ }
12
+ }],
13
+ "start": ["2012-06-27 15:45:00-08:00"],
14
+ "end": ["2012-06-27 16:45:00-08:00"]
15
+ }
16
+ }, {
17
+ "type": ["h-event"],
18
+ "properties": {
19
+ "location": [{
20
+ "value": "Room 11\n \n Moscone Center, \n San Francisco",
21
+ "type": ["h-adr"],
22
+ "properties": {
23
+ "extended-address": ["Room 11", "Moscone Center"],
24
+ "locality": ["San Francisco"]
25
+ }
26
+ }],
27
+ "start": ["2012-06-27 15:45:00-08:00"],
28
+ "end": ["2012-06-27 16:45:00-08:00"]
29
+ }
30
+ }],
31
+ "rels": {},
32
+ "rel-urls": {}
33
+ }
@@ -0,0 +1,18 @@
1
+ <div class="vcard">
2
+ <span class="name">Ben Ward</span>
3
+ <a class="include" href="#twitter">Twitter</a>
4
+ </div>
5
+ <div class="vcard">
6
+ <span class="name">Dan Webb</span>
7
+ <a class="include" href="#twitter">Twitter</a>
8
+ </div>
9
+
10
+ <div id="twitter">
11
+ <p class="org">Twitter</p>
12
+ <p class="adr">
13
+ <span class="street-address">1355 Market St</span>,
14
+ <span class="locality">San Francisco</span>,
15
+ <span class="region">CA</span>
16
+ <span class="postal-code">94103</span>
17
+ </p>
18
+ </div>
@@ -0,0 +1,43 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-card"],
4
+ "properties": {
5
+ "org": ["Twitter"],
6
+ "adr": [{
7
+ "value": "1355 Market St,\n San Francisco, \n CA\n 94103",
8
+ "type": ["h-adr"],
9
+ "properties": {
10
+ "street-address": ["1355 Market St"],
11
+ "locality": ["San Francisco"],
12
+ "region": ["CA"],
13
+ "postal-code": ["94103"]
14
+ }
15
+ }]
16
+ }
17
+ }, {
18
+ "type": ["h-card"],
19
+ "properties": {
20
+ "org": ["Twitter"],
21
+ "adr": [{
22
+ "value": "1355 Market St,\n San Francisco, \n CA\n 94103",
23
+ "type": ["h-adr"],
24
+ "properties": {
25
+ "street-address": ["1355 Market St"],
26
+ "locality": ["San Francisco"],
27
+ "region": ["CA"],
28
+ "postal-code": ["94103"]
29
+ }
30
+ }]
31
+ }
32
+ }, {
33
+ "type": ["h-adr"],
34
+ "properties": {
35
+ "street-address": ["1355 Market St"],
36
+ "locality": ["San Francisco"],
37
+ "region": ["CA"],
38
+ "postal-code": ["94103"]
39
+ }
40
+ }],
41
+ "rels": {},
42
+ "rel-urls": {}
43
+ }
@@ -0,0 +1,23 @@
1
+ <div class="vevent">
2
+ <span class="name">HTML5 & CSS3 latest features in action!</span> -
3
+ <span class="speaker">David Rousset</span> -
4
+ <time class="dtstart" datetime="2012-10-30T11:45:00-08:00">Tue 11:45am</time>
5
+ <object data="#buildconf" class="include" type="text/html" height="0" width="0"></object>
6
+ </div>
7
+ <div class="vevent">
8
+ <span class="name">Building High-Performing JavaScript for Modern Engines</span> -
9
+ <span class="speaker">John-David Dalton</span> and
10
+ <span class="speaker">Amanda Silver</span> -
11
+ <time class="dtstart" datetime="2012-10-31T11:15:00-08:00">Wed 11:15am</time>
12
+ <object data="#buildconf" class="include" type="text/html" height="0" width="0"></object>
13
+ </div>
14
+
15
+
16
+ <div id="buildconf">
17
+ <p class="summary">Build Conference</p>
18
+ <p class="location adr">
19
+ <span class="locality">Redmond</span>,
20
+ <span class="region">Washington</span>,
21
+ <span class="country-name">USA</span>
22
+ </p>
23
+ </div>
@@ -0,0 +1,42 @@
1
+ {
2
+ "items": [{
3
+ "type": ["h-event"],
4
+ "properties": {
5
+ "start": ["2012-10-30 11:45:00-08:00"],
6
+ "name": ["Build Conference"],
7
+ "location": [{
8
+ "value": "Redmond, \n Washington, \n USA",
9
+ "type": ["h-adr"],
10
+ "properties": {
11
+ "locality": ["Redmond"],
12
+ "region": ["Washington"],
13
+ "country-name": ["USA"]
14
+ }
15
+ }]
16
+ }
17
+ }, {
18
+ "type": ["h-event"],
19
+ "properties": {
20
+ "start": ["2012-10-31 11:15:00-08:00"],
21
+ "name": ["Build Conference"],
22
+ "location": [{
23
+ "value": "Redmond, \n Washington, \n USA",
24
+ "type": ["h-adr"],
25
+ "properties": {
26
+ "locality": ["Redmond"],
27
+ "region": ["Washington"],
28
+ "country-name": ["USA"]
29
+ }
30
+ }]
31
+ }
32
+ }, {
33
+ "type": ["h-adr"],
34
+ "properties": {
35
+ "locality": ["Redmond"],
36
+ "region": ["Washington"],
37
+ "country-name": ["USA"]
38
+ }
39
+ }],
40
+ "rels": {},
41
+ "rel-urls": {}
42
+ }