radiantcms-couchrest_model 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (726) hide show
  1. data/CHANGELOG +0 -16
  2. data/CONTRIBUTORS +0 -7
  3. data/README +84 -2
  4. data/app/controllers/admin/export_controller.rb +5 -0
  5. data/app/controllers/admin/pages_controller.rb +7 -11
  6. data/app/controllers/admin/preferences_controller.rb +1 -1
  7. data/app/controllers/admin/resource_controller.rb +1 -1
  8. data/app/helpers/admin/pages_helper.rb +3 -1
  9. data/app/helpers/admin/preferences_helper.rb +0 -1
  10. data/app/helpers/admin/references_helper.rb +2 -1
  11. data/app/helpers/application_helper.rb +2 -4
  12. data/app/models/env_dump_page.rb +17 -0
  13. data/app/models/file_not_found_page.rb +0 -4
  14. data/app/models/page.rb +20 -61
  15. data/app/models/radiant/config.rb +37 -225
  16. data/app/models/radiant/exporter.rb +11 -0
  17. data/app/models/standard_tags.rb +108 -116
  18. data/app/models/status.rb +1 -9
  19. data/app/models/text_filter.rb +1 -12
  20. data/app/views/admin/extensions/index.html.haml +2 -2
  21. data/app/views/admin/layouts/index.html.haml +9 -9
  22. data/app/views/admin/pages/_fields.html.haml +4 -11
  23. data/app/views/admin/pages/_meta_row.html.haml +1 -5
  24. data/app/views/admin/pages/_node.html.haml +8 -8
  25. data/app/views/admin/pages/_popups.html.haml +1 -14
  26. data/app/views/admin/pages/index.html.haml +4 -4
  27. data/app/views/admin/snippets/_form.html.haml +1 -1
  28. data/app/views/admin/snippets/index.html.haml +10 -10
  29. data/app/views/admin/users/_avatar.html.haml +1 -3
  30. data/app/views/admin/users/_form.html.haml +2 -2
  31. data/app/views/admin/users/_password_fields.html.haml +2 -2
  32. data/app/views/admin/users/index.html.haml +10 -10
  33. data/app/views/layouts/application.html.haml +1 -1
  34. data/config/environment.rb +3 -5
  35. data/config/locales/en.yml +11 -48
  36. data/config/locales/en_available_tags.yml +34 -122
  37. data/config/routes.rb +6 -3
  38. data/db/schema.rb +3 -9
  39. data/db/templates/empty.yml +2 -0
  40. data/db/templates/roasters.yml +1210 -0
  41. data/db/templates/simple-blog.yml +197 -0
  42. data/db/templates/styled-blog.yml +472 -0
  43. data/features/admin/pages_management.feature +9 -2
  44. data/features/admin/resource_pagination.feature +1 -1
  45. data/features/admin/snippets_management.feature +1 -2
  46. data/features/admin/user_permissions.feature +1 -0
  47. data/features/admin/user_preferences.feature +1 -1
  48. data/features/step_definitions/admin/content_negotiation_steps.rb +0 -4
  49. data/features/step_definitions/admin/pagination_steps.rb +4 -2
  50. data/features/support/paths.rb +0 -2
  51. data/files +7283 -0
  52. data/lib/generators/extension/extension_generator.rb +0 -6
  53. data/lib/generators/extension/templates/README +1 -4
  54. data/lib/generators/extension/templates/RSpecRakefile +19 -0
  55. data/lib/generators/extension/templates/Rakefile +17 -0
  56. data/lib/generators/extension/templates/extension.rb +3 -3
  57. data/lib/generators/instance/instance_generator.rb +2 -3
  58. data/lib/generators/instance/templates/instance_environment.rb +2 -3
  59. data/lib/radiant.rb +2 -2
  60. data/lib/radiant/admin_ui.rb +11 -27
  61. data/lib/radiant/extension.rb +2 -8
  62. data/lib/radiant/extension_loader.rb +0 -4
  63. data/lib/radiant/initializer.rb +2 -46
  64. data/lib/radiant/setup.rb +11 -21
  65. data/lib/task_support.rb +8 -14
  66. data/lib/tasks/framework.rake +10 -17
  67. data/lib/tasks/prototype.rake +3 -3
  68. data/lib/tasks/release.rake +0 -1
  69. data/public/javascripts/admin/application.js +1 -1
  70. data/public/javascripts/admin/popup.js +7 -7
  71. data/public/javascripts/admin/tabcontrol.js +0 -1
  72. data/public/javascripts/admin/utility.js +2 -3
  73. data/public/stylesheets/admin/main.css +1213 -1
  74. data/public/stylesheets/admin/overrides.css +1 -0
  75. data/public/stylesheets/sass/admin/main.sass +20 -24
  76. data/public/stylesheets/sass/admin/modules/_links.sass +3 -6
  77. data/public/stylesheets/sass/admin/modules/_opacity.sass +2 -2
  78. data/public/stylesheets/sass/admin/modules/_rounded.sass +3 -3
  79. data/public/stylesheets/sass/admin/modules/_shadow.sass +2 -5
  80. data/public/stylesheets/sass/admin/partials/_actions.sass +38 -53
  81. data/public/stylesheets/sass/admin/partials/_avatars.sass +2 -2
  82. data/public/stylesheets/sass/admin/partials/_base.sass +58 -6
  83. data/public/stylesheets/sass/admin/partials/_content.sass +182 -10
  84. data/public/stylesheets/sass/admin/partials/_dateinput.sass +5 -5
  85. data/public/stylesheets/sass/admin/partials/_deprecated.sass +1 -1
  86. data/public/stylesheets/sass/admin/partials/_forms.sass +25 -26
  87. data/public/stylesheets/sass/admin/partials/_header.sass +9 -9
  88. data/public/stylesheets/sass/admin/partials/_popup.sass +1 -1
  89. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +3 -4
  90. data/radiantcms-couchrest_model.gemspec +3673 -0
  91. data/rerun.txt +1 -0
  92. data/spec/controllers/admin/export_controller_spec.rb +16 -0
  93. data/spec/controllers/admin/pages_controller_spec.rb +6 -35
  94. data/spec/controllers/admin/preferences_controller_spec.rb +1 -1
  95. data/spec/datasets/config_dataset.rb +0 -1
  96. data/spec/datasets/home_page_dataset.rb +3 -1
  97. data/spec/datasets/pages_dataset.rb +1 -1
  98. data/spec/fixtures/radiant_config.yml +2 -2
  99. data/spec/generators/extension_generator_spec.rb +8 -28
  100. data/spec/generators/instance_generator_spec.rb +3 -10
  101. data/spec/helpers/admin/node_helper_spec.rb +0 -1
  102. data/spec/helpers/admin/references_helper_spec.rb +1 -10
  103. data/spec/helpers/application_helper_spec.rb +2 -7
  104. data/spec/lib/radiant/admin_ui_spec.rb +10 -11
  105. data/spec/lib/radiant/extension_spec.rb +3 -3
  106. data/spec/lib/task_support_spec.rb +0 -6
  107. data/spec/models/env_dump_page_spec.rb +18 -0
  108. data/spec/models/file_not_found_page_spec.rb +11 -15
  109. data/spec/models/page_spec.rb +166 -209
  110. data/spec/models/radiant/config_spec.rb +3 -38
  111. data/spec/models/radiant/exporter_spec.rb +25 -0
  112. data/spec/models/standard_tags_spec.rb +142 -132
  113. data/spec/models/status_spec.rb +0 -11
  114. data/spec/models/text_filter_spec.rb +2 -6
  115. data/test/fixtures/extensions/basic/basic_extension.rb +6 -1
  116. data/vendor/extensions/archive/README +29 -0
  117. data/vendor/extensions/archive/Rakefile +120 -0
  118. data/vendor/extensions/archive/app/models/archive_day_index_page.rb +28 -0
  119. data/vendor/extensions/archive/app/models/archive_finder.rb +60 -0
  120. data/vendor/extensions/archive/app/models/archive_month_index_page.rb +28 -0
  121. data/vendor/extensions/archive/app/models/archive_page.rb +36 -0
  122. data/vendor/extensions/archive/app/models/archive_year_index_page.rb +28 -0
  123. data/vendor/extensions/archive/archive_extension.rb +19 -0
  124. data/vendor/extensions/archive/lib/archive_index_tags_and_methods.rb +57 -0
  125. data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +28 -0
  126. data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +51 -0
  127. data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +20 -0
  128. data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +20 -0
  129. data/vendor/extensions/archive/spec/models/archive_page_spec.rb +33 -0
  130. data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +20 -0
  131. data/vendor/extensions/archive/spec/spec.opts +6 -0
  132. data/vendor/extensions/archive/spec/spec_helper.rb +36 -0
  133. data/vendor/extensions/archive/test/fixtures/pages.yml +397 -0
  134. data/vendor/extensions/archive/test/functional/archive_extension_test.rb +16 -0
  135. data/vendor/extensions/archive/test/helpers/archive_index_test_helper.rb +37 -0
  136. data/vendor/extensions/archive/test/test_helper.rb +26 -0
  137. data/vendor/extensions/archive/test/unit/archive_day_index_page_test.rb +22 -0
  138. data/vendor/extensions/archive/test/unit/archive_month_index_page_test.rb +22 -0
  139. data/vendor/extensions/archive/test/unit/archive_page_test.rb +40 -0
  140. data/vendor/extensions/archive/test/unit/archive_year_index_page_test.rb +22 -0
  141. data/vendor/extensions/dutch_language_pack/README +3 -0
  142. data/vendor/extensions/dutch_language_pack/Rakefile +123 -0
  143. data/vendor/extensions/dutch_language_pack/config/locales/nl.yml +187 -0
  144. data/vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml +553 -0
  145. data/vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb +9 -0
  146. data/vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake +28 -0
  147. data/vendor/extensions/french_language_pack/README +3 -0
  148. data/vendor/extensions/french_language_pack/Rakefile +123 -0
  149. data/vendor/extensions/french_language_pack/config/locales/fr.yml +190 -0
  150. data/vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml +553 -0
  151. data/vendor/extensions/french_language_pack/french_language_pack_extension.rb +9 -0
  152. data/vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake +28 -0
  153. data/vendor/extensions/german_language_pack/README +4 -0
  154. data/vendor/extensions/german_language_pack/Rakefile +123 -0
  155. data/vendor/extensions/german_language_pack/config/locales/de.yml +186 -0
  156. data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +624 -0
  157. data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +9 -0
  158. data/vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake +28 -0
  159. data/vendor/extensions/italian_language_pack/README +3 -0
  160. data/vendor/extensions/italian_language_pack/Rakefile +123 -0
  161. data/vendor/extensions/italian_language_pack/config/locales/it.yml +184 -0
  162. data/vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml +553 -0
  163. data/vendor/extensions/italian_language_pack/italian_language_pack_extension.rb +8 -0
  164. data/vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake +28 -0
  165. data/vendor/extensions/japanese_language_pack/README +3 -0
  166. data/vendor/extensions/japanese_language_pack/Rakefile +123 -0
  167. data/vendor/extensions/japanese_language_pack/config/locales/ja.yml +184 -0
  168. data/vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml +553 -0
  169. data/vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb +9 -0
  170. data/vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake +28 -0
  171. data/vendor/extensions/markdown_filter/README +1 -0
  172. data/vendor/extensions/markdown_filter/Rakefile +120 -0
  173. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +14 -0
  174. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +18 -0
  175. data/vendor/extensions/markdown_filter/lib/tasks/markdown_filter_extension_tasks.rake +28 -0
  176. data/vendor/extensions/markdown_filter/markdown.html +123 -0
  177. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +18 -0
  178. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +22 -0
  179. data/vendor/extensions/markdown_filter/spec/spec.opts +6 -0
  180. data/vendor/extensions/markdown_filter/spec/spec_helper.rb +36 -0
  181. data/vendor/extensions/markdown_filter/test/test_helper.rb +19 -0
  182. data/vendor/extensions/markdown_filter/test/unit/markdown_filter_test.rb +18 -0
  183. data/vendor/extensions/markdown_filter/vendor/kramdown/AUTHORS +1 -0
  184. data/vendor/extensions/markdown_filter/vendor/kramdown/CONTRIBUTERS +4 -0
  185. data/vendor/extensions/markdown_filter/vendor/kramdown/COPYING +24 -0
  186. data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +3956 -0
  187. data/vendor/extensions/markdown_filter/vendor/kramdown/GPL +674 -0
  188. data/vendor/extensions/markdown_filter/vendor/kramdown/README +30 -0
  189. data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +342 -0
  190. data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +1 -0
  191. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/benchmark.rb +34 -0
  192. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +112 -0
  193. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +7 -0
  194. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +7 -0
  195. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +7 -0
  196. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +7 -0
  197. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +7 -0
  198. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdbasics.text +306 -0
  199. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdsyntax.text +888 -0
  200. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-jruby-1.4.0.dat +7 -0
  201. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.6.dat +7 -0
  202. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.7.dat +7 -0
  203. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.1p243.dat +7 -0
  204. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.2dev.dat +7 -0
  205. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +9 -0
  206. data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/timing.sh +10 -0
  207. data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +78 -0
  208. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.html +9 -0
  209. data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.latex +43 -0
  210. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.less.css +510 -0
  211. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +71 -0
  212. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/documentation.page +72 -0
  213. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +63 -0
  214. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +90 -0
  215. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/links.markdown +6 -0
  216. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.feed +10 -0
  217. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +28 -0
  218. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +564 -0
  219. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +1521 -0
  220. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +51 -0
  221. data/vendor/extensions/markdown_filter/vendor/kramdown/doc/virtual +2 -0
  222. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +23 -0
  223. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +34 -0
  224. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +41 -0
  225. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +111 -0
  226. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +397 -0
  227. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +555 -0
  228. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +164 -0
  229. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +27 -0
  230. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +282 -0
  231. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +39 -0
  232. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/base.rb +95 -0
  233. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/html.rb +387 -0
  234. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +301 -0
  235. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/abbreviation.rb +65 -0
  236. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +103 -0
  237. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +47 -0
  238. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +43 -0
  239. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +42 -0
  240. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +58 -0
  241. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +57 -0
  242. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +70 -0
  243. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +39 -0
  244. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +38 -0
  245. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +101 -0
  246. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +73 -0
  247. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +66 -0
  248. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +39 -0
  249. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +173 -0
  250. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +38 -0
  251. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +38 -0
  252. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +153 -0
  253. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +228 -0
  254. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/math.rb +53 -0
  255. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +44 -0
  256. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +214 -0
  257. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +126 -0
  258. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +52 -0
  259. data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +28 -0
  260. data/vendor/extensions/markdown_filter/vendor/kramdown/man/man1/kramdown.1 +222 -0
  261. data/vendor/extensions/markdown_filter/vendor/kramdown/setup.rb +1585 -0
  262. data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +59 -0
  263. data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +100 -0
  264. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.html +1 -0
  265. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.text +3 -0
  266. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.html +1 -0
  267. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.text +6 -0
  268. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.html +1 -0
  269. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.text +3 -0
  270. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.html +1 -0
  271. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.text +3 -0
  272. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.html +2 -0
  273. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.text +5 -0
  274. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.html +18 -0
  275. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.text +19 -0
  276. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
  277. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
  278. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.html +1 -0
  279. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.text +1 -0
  280. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.html +4 -0
  281. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.text +4 -0
  282. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.html +34 -0
  283. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.text +32 -0
  284. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
  285. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
  286. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html +31 -0
  287. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.text +36 -0
  288. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
  289. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
  290. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
  291. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
  292. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
  293. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.html +17 -0
  294. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.options +1 -0
  295. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.text +19 -0
  296. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.html +25 -0
  297. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.text +14 -0
  298. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.html +9 -0
  299. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.text +5 -0
  300. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
  301. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
  302. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.html +8 -0
  303. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.text +4 -0
  304. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
  305. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
  306. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.html +4 -0
  307. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.text +4 -0
  308. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
  309. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
  310. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.html +13 -0
  311. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.text +10 -0
  312. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
  313. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
  314. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.html +3 -0
  315. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.text +3 -0
  316. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
  317. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
  318. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
  319. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
  320. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html +7 -0
  321. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.text +7 -0
  322. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.html +19 -0
  323. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.text +19 -0
  324. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
  325. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
  326. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
  327. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
  328. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.html +17 -0
  329. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.text +17 -0
  330. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.html +9 -0
  331. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.text +5 -0
  332. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.html +9 -0
  333. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.text +5 -0
  334. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.html +38 -0
  335. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.text +25 -0
  336. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +117 -0
  337. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.text +66 -0
  338. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.html +17 -0
  339. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.text +7 -0
  340. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.html +39 -0
  341. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.text +18 -0
  342. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.html +19 -0
  343. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.text +13 -0
  344. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.html +61 -0
  345. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.text +43 -0
  346. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.html +3 -0
  347. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.text +1 -0
  348. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +78 -0
  349. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +48 -0
  350. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +18 -0
  351. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +15 -0
  352. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.html +6 -0
  353. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.options +1 -0
  354. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.text +6 -0
  355. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +14 -0
  356. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.options +1 -0
  357. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.text +14 -0
  358. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.html +1 -0
  359. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.options +1 -0
  360. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.text +1 -0
  361. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
  362. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
  363. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
  364. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.html +10 -0
  365. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.text +9 -0
  366. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.html +7 -0
  367. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.text +8 -0
  368. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.html +1 -0
  369. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.text +1 -0
  370. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.html +1 -0
  371. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.text +1 -0
  372. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.html +6 -0
  373. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.options +2 -0
  374. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.text +6 -0
  375. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
  376. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
  377. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
  378. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
  379. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
  380. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
  381. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/options +1 -0
  382. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
  383. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
  384. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.html +13 -0
  385. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
  386. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.html +10 -0
  387. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.text +14 -0
  388. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html +1 -0
  389. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.text +1 -0
  390. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.html +3 -0
  391. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.text +5 -0
  392. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.html +5 -0
  393. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.text +5 -0
  394. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.html +38 -0
  395. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.text +38 -0
  396. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.html +24 -0
  397. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.text +24 -0
  398. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +30 -0
  399. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.options +1 -0
  400. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +29 -0
  401. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.html +12 -0
  402. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.options +1 -0
  403. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.text +9 -0
  404. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.html +21 -0
  405. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.options +1 -0
  406. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.text +17 -0
  407. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.html +13 -0
  408. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.text +12 -0
  409. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html +62 -0
  410. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.options +1 -0
  411. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.text +57 -0
  412. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.html +2 -0
  413. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.text +8 -0
  414. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
  415. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
  416. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
  417. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +25 -0
  418. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +34 -0
  419. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.html +5 -0
  420. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +11 -0
  421. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +4 -0
  422. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +8 -0
  423. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.html +6 -0
  424. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +11 -0
  425. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +24 -0
  426. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +27 -0
  427. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.html +10 -0
  428. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +5 -0
  429. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.html +7 -0
  430. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +7 -0
  431. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
  432. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
  433. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
  434. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
  435. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.html +2 -0
  436. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.text +2 -0
  437. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
  438. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
  439. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
  440. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
  441. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.html +8 -0
  442. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.text +7 -0
  443. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.html +4 -0
  444. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.text +2 -0
  445. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.html +3 -0
  446. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.text +4 -0
  447. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.html +38 -0
  448. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.text +24 -0
  449. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.html +3 -0
  450. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.text +3 -0
  451. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.html +65 -0
  452. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.text +25 -0
  453. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.html +103 -0
  454. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.text +32 -0
  455. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.html +3 -0
  456. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.text +3 -0
  457. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.html +61 -0
  458. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.text +16 -0
  459. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.html +19 -0
  460. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.text +18 -0
  461. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.html +46 -0
  462. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.text +28 -0
  463. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.html +3 -0
  464. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.text +3 -0
  465. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.html +5 -0
  466. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.text +5 -0
  467. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.html +12 -0
  468. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.text +14 -0
  469. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html +40 -0
  470. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.text +42 -0
  471. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.html +8 -0
  472. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.text +22 -0
  473. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
  474. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
  475. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html +32 -0
  476. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.text +42 -0
  477. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.html +3 -0
  478. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.text +3 -0
  479. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +9 -0
  480. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.text +9 -0
  481. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +38 -0
  482. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +33 -0
  483. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.html +46 -0
  484. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.text +46 -0
  485. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.html +5 -0
  486. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.text +5 -0
  487. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.html +1 -0
  488. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.text +1 -0
  489. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.html +16 -0
  490. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.text +16 -0
  491. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.html +14 -0
  492. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.latex +18 -0
  493. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.text +18 -0
  494. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.html +12 -0
  495. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.latex +6 -0
  496. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.options +1 -0
  497. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.text +4 -0
  498. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.html +46 -0
  499. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.latex +32 -0
  500. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.text +26 -0
  501. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.html +1 -0
  502. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.text +2 -0
  503. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.html +1 -0
  504. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.text +1 -0
  505. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.html +1 -0
  506. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.text +1 -0
  507. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.html +6 -0
  508. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.text +6 -0
  509. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.html +28 -0
  510. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.text +28 -0
  511. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.html +8 -0
  512. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.text +15 -0
  513. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
  514. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
  515. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +12 -0
  516. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +12 -0
  517. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.html +41 -0
  518. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.text +41 -0
  519. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.html +6 -0
  520. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.text +6 -0
  521. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.html +1 -0
  522. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.text +1 -0
  523. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.html +1 -0
  524. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.text +1 -0
  525. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.html +1 -0
  526. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.text +1 -0
  527. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +6 -0
  528. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +6 -0
  529. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.html +11 -0
  530. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.text +11 -0
  531. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.html +5 -0
  532. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.text +5 -0
  533. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.html +4 -0
  534. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.text +4 -0
  535. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.html +1 -0
  536. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.text +1 -0
  537. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.html +1 -0
  538. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.text +1 -0
  539. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +18 -0
  540. data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +18 -0
  541. data/vendor/extensions/russian_language_pack/README +3 -0
  542. data/vendor/extensions/russian_language_pack/Rakefile +123 -0
  543. data/vendor/extensions/russian_language_pack/config/locales/ru.yml +180 -0
  544. data/vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml +553 -0
  545. data/vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake +28 -0
  546. data/vendor/extensions/russian_language_pack/russian_language_pack_extension.rb +9 -0
  547. data/vendor/extensions/smarty_pants_filter/README +1 -0
  548. data/vendor/extensions/smarty_pants_filter/Rakefile +136 -0
  549. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_filter.rb +7 -0
  550. data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_tags.rb +18 -0
  551. data/vendor/extensions/smarty_pants_filter/lib/tasks/smarty_pants_filter_extension_tasks.rake +28 -0
  552. data/vendor/extensions/smarty_pants_filter/smarty_pants_filter_extension.rb +18 -0
  553. data/vendor/extensions/smarty_pants_filter/smartypants.html +47 -0
  554. data/vendor/extensions/smarty_pants_filter/spec/models/smarty_pants_filter_spec.rb +19 -0
  555. data/vendor/extensions/smarty_pants_filter/spec/spec.opts +6 -0
  556. data/vendor/extensions/smarty_pants_filter/spec/spec_helper.rb +36 -0
  557. data/vendor/extensions/smarty_pants_filter/test/test_helper.rb +19 -0
  558. data/vendor/extensions/smarty_pants_filter/test/unit/smarty_pants_filter_test.rb +14 -0
  559. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/README +114 -0
  560. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/Rakefile +84 -0
  561. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/install.rb +9 -0
  562. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/rubypants.rb +490 -0
  563. data/vendor/extensions/smarty_pants_filter/vendor/rubypants/test_rubypants.rb +162 -0
  564. data/vendor/extensions/textile_filter/README +1 -0
  565. data/vendor/extensions/textile_filter/Rakefile +120 -0
  566. data/vendor/extensions/textile_filter/lib/tasks/textile_filter_extension_tasks.rake +0 -0
  567. data/vendor/extensions/textile_filter/lib/textile_filter.rb +6 -0
  568. data/vendor/extensions/textile_filter/lib/textile_tags.rb +24 -0
  569. data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +19 -0
  570. data/vendor/extensions/textile_filter/spec/spec.opts +6 -0
  571. data/vendor/extensions/textile_filter/spec/spec_helper.rb +36 -0
  572. data/vendor/extensions/textile_filter/test/test_helper.rb +19 -0
  573. data/vendor/extensions/textile_filter/test/unit/textile_filter_test.rb +13 -0
  574. data/vendor/extensions/textile_filter/textile.html +115 -0
  575. data/vendor/extensions/textile_filter/textile_filter_extension.rb +10 -0
  576. data/vendor/plugins/haml/README.md +154 -95
  577. data/vendor/plugins/haml/Rakefile +91 -104
  578. data/vendor/plugins/haml/TODO +20 -26
  579. data/vendor/plugins/haml/VERSION +1 -1
  580. data/vendor/plugins/haml/VERSION_NAME +1 -1
  581. data/vendor/plugins/haml/bin/css2sass +1 -7
  582. data/vendor/plugins/haml/doc-src/FAQ.md +4 -16
  583. data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +1 -536
  584. data/vendor/plugins/haml/doc-src/HAML_REFERENCE.md +16 -176
  585. data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +0 -1159
  586. data/vendor/plugins/haml/doc-src/SASS_REFERENCE.md +632 -1162
  587. data/vendor/plugins/haml/extra/haml-mode.el +34 -36
  588. data/vendor/plugins/haml/extra/sass-mode.el +9 -10
  589. data/vendor/plugins/haml/haml.gemspec +33 -8
  590. data/vendor/plugins/haml/lib/haml.rb +2 -5
  591. data/vendor/plugins/haml/lib/haml/buffer.rb +4 -22
  592. data/vendor/plugins/haml/lib/haml/engine.rb +4 -13
  593. data/vendor/plugins/haml/lib/haml/exec.rb +64 -456
  594. data/vendor/plugins/haml/lib/haml/filters.rb +1 -19
  595. data/vendor/plugins/haml/lib/haml/helpers.rb +19 -40
  596. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +12 -38
  597. data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +2 -13
  598. data/vendor/plugins/haml/lib/haml/html.rb +49 -209
  599. data/vendor/plugins/haml/lib/haml/precompiler.rb +89 -130
  600. data/vendor/plugins/haml/lib/haml/railtie.rb +13 -16
  601. data/vendor/plugins/haml/lib/haml/template.rb +12 -13
  602. data/vendor/plugins/haml/lib/haml/template/plugin.rb +6 -18
  603. data/vendor/plugins/haml/lib/haml/util.rb +44 -483
  604. data/vendor/plugins/haml/lib/haml/version.rb +2 -25
  605. data/vendor/plugins/haml/lib/sass.rb +2 -7
  606. data/vendor/plugins/haml/lib/sass/css.rb +196 -86
  607. data/vendor/plugins/haml/lib/sass/engine.rb +99 -304
  608. data/vendor/plugins/haml/lib/sass/environment.rb +3 -67
  609. data/vendor/plugins/haml/lib/sass/error.rb +25 -166
  610. data/vendor/plugins/haml/lib/sass/files.rb +38 -43
  611. data/vendor/plugins/haml/lib/sass/plugin.rb +150 -198
  612. data/vendor/plugins/haml/lib/sass/plugin/merb.rb +20 -8
  613. data/vendor/plugins/haml/lib/sass/plugin/rack.rb +20 -2
  614. data/vendor/plugins/haml/lib/sass/plugin/rails.rb +9 -16
  615. data/vendor/plugins/haml/lib/sass/repl.rb +1 -1
  616. data/vendor/plugins/haml/lib/sass/script.rb +31 -32
  617. data/vendor/plugins/haml/lib/sass/script/bool.rb +1 -2
  618. data/vendor/plugins/haml/lib/sass/script/color.rb +26 -295
  619. data/vendor/plugins/haml/lib/sass/script/funcall.rb +6 -33
  620. data/vendor/plugins/haml/lib/sass/script/functions.rb +33 -637
  621. data/vendor/plugins/haml/lib/sass/script/lexer.rb +57 -200
  622. data/vendor/plugins/haml/lib/sass/script/literal.rb +10 -69
  623. data/vendor/plugins/haml/lib/sass/script/node.rb +1 -99
  624. data/vendor/plugins/haml/lib/sass/script/number.rb +24 -64
  625. data/vendor/plugins/haml/lib/sass/script/operation.rb +3 -53
  626. data/vendor/plugins/haml/lib/sass/script/parser.rb +50 -229
  627. data/vendor/plugins/haml/lib/sass/script/string.rb +2 -57
  628. data/vendor/plugins/haml/lib/sass/script/unary_operation.rb +2 -25
  629. data/vendor/plugins/haml/lib/sass/script/variable.rb +5 -22
  630. data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +27 -71
  631. data/vendor/plugins/haml/lib/sass/tree/debug_node.rb +2 -8
  632. data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +37 -44
  633. data/vendor/plugins/haml/lib/sass/tree/for_node.rb +0 -19
  634. data/vendor/plugins/haml/lib/sass/tree/if_node.rb +0 -26
  635. data/vendor/plugins/haml/lib/sass/tree/import_node.rb +27 -64
  636. data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rb +0 -31
  637. data/vendor/plugins/haml/lib/sass/tree/mixin_node.rb +7 -82
  638. data/vendor/plugins/haml/lib/sass/tree/node.rb +77 -291
  639. data/vendor/plugins/haml/lib/sass/tree/prop_node.rb +58 -157
  640. data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +137 -178
  641. data/vendor/plugins/haml/lib/sass/tree/variable_node.rb +5 -10
  642. data/vendor/plugins/haml/lib/sass/tree/while_node.rb +0 -17
  643. data/vendor/plugins/haml/test/benchmark.rb +5 -5
  644. data/vendor/plugins/haml/test/haml/engine_test.rb +19 -530
  645. data/vendor/plugins/haml/test/haml/helper_test.rb +7 -124
  646. data/vendor/plugins/haml/test/haml/html2haml_test.rb +66 -250
  647. data/vendor/plugins/haml/test/haml/results/filters.xhtml +1 -1
  648. data/vendor/plugins/haml/test/haml/results/helpers.xhtml +23 -0
  649. data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +0 -2
  650. data/vendor/plugins/haml/test/haml/rhtml/_av_partial_1.rhtml +12 -0
  651. data/vendor/plugins/haml/test/haml/rhtml/_av_partial_2.rhtml +8 -0
  652. data/vendor/plugins/haml/test/haml/rhtml/action_view.rhtml +62 -0
  653. data/vendor/plugins/haml/test/haml/rhtml/standard.rhtml +54 -0
  654. data/vendor/plugins/haml/test/haml/template_test.rb +3 -33
  655. data/vendor/plugins/haml/test/haml/templates/helpers.haml +66 -0
  656. data/vendor/plugins/haml/test/haml/templates/just_stuff.haml +0 -2
  657. data/vendor/plugins/haml/test/haml/util_test.rb +0 -161
  658. data/vendor/plugins/haml/test/linked_rails.rb +1 -22
  659. data/vendor/plugins/haml/test/sass/css2sass_test.rb +18 -130
  660. data/vendor/plugins/haml/test/sass/engine_test.rb +138 -1426
  661. data/vendor/plugins/haml/test/sass/functions_test.rb +47 -429
  662. data/vendor/plugins/haml/test/sass/more_results/more_import.css +1 -1
  663. data/vendor/plugins/haml/test/sass/more_templates/more_import.sass +3 -3
  664. data/vendor/plugins/haml/test/sass/plugin_test.rb +56 -246
  665. data/vendor/plugins/haml/test/sass/results/compact.css +1 -1
  666. data/vendor/plugins/haml/test/sass/results/complex.css +6 -5
  667. data/vendor/plugins/haml/test/sass/results/compressed.css +1 -1
  668. data/vendor/plugins/haml/test/sass/results/expanded.css +1 -1
  669. data/vendor/plugins/haml/test/sass/results/import.css +1 -3
  670. data/vendor/plugins/haml/test/sass/results/mixins.css +12 -12
  671. data/vendor/plugins/haml/test/sass/results/nested.css +1 -1
  672. data/vendor/plugins/haml/test/sass/results/parent_ref.css +4 -4
  673. data/vendor/plugins/haml/test/sass/results/script.css +4 -4
  674. data/vendor/plugins/haml/test/sass/script_test.rb +78 -281
  675. data/vendor/plugins/haml/test/sass/templates/alt.sass +2 -2
  676. data/vendor/plugins/haml/test/sass/templates/basic.sass +1 -1
  677. data/vendor/plugins/haml/test/sass/templates/bork.sass +2 -0
  678. data/vendor/plugins/haml/test/sass/templates/complex.sass +2 -0
  679. data/vendor/plugins/haml/test/sass/templates/import.sass +4 -5
  680. data/vendor/plugins/haml/test/sass/templates/importee.sass +3 -3
  681. data/vendor/plugins/haml/test/sass/templates/line_numbers.sass +1 -1
  682. data/vendor/plugins/haml/test/sass/templates/mixins.sass +2 -2
  683. data/vendor/plugins/haml/test/sass/templates/parent_ref.sass +2 -2
  684. data/vendor/plugins/haml/test/sass/templates/script.sass +69 -69
  685. data/vendor/plugins/haml/test/sass/templates/units.sass +10 -10
  686. data/vendor/plugins/haml/test/test_helper.rb +4 -52
  687. data/vendor/plugins/haml/yard/default/fulldoc/html/css/common.sass +1 -5
  688. metadata +2926 -2487
  689. data/vendor/rack-cache/CHANGES +0 -128
  690. data/vendor/rack-cache/COPYING +0 -18
  691. data/vendor/rack-cache/README +0 -110
  692. data/vendor/rack-cache/Rakefile +0 -137
  693. data/vendor/rack-cache/TODO +0 -31
  694. data/vendor/rack-cache/doc/configuration.markdown +0 -86
  695. data/vendor/rack-cache/doc/faq.markdown +0 -141
  696. data/vendor/rack-cache/doc/index.markdown +0 -118
  697. data/vendor/rack-cache/doc/layout.html.erb +0 -34
  698. data/vendor/rack-cache/doc/license.markdown +0 -24
  699. data/vendor/rack-cache/doc/rack-cache.css +0 -362
  700. data/vendor/rack-cache/doc/server.ru +0 -34
  701. data/vendor/rack-cache/doc/storage.markdown +0 -162
  702. data/vendor/rack-cache/example/sinatra/app.rb +0 -25
  703. data/vendor/rack-cache/example/sinatra/views/index.erb +0 -44
  704. data/vendor/rack-cache/lib/rack/cache.rb +0 -45
  705. data/vendor/rack-cache/lib/rack/cache/cachecontrol.rb +0 -193
  706. data/vendor/rack-cache/lib/rack/cache/context.rb +0 -233
  707. data/vendor/rack-cache/lib/rack/cache/entitystore.rb +0 -253
  708. data/vendor/rack-cache/lib/rack/cache/key.rb +0 -52
  709. data/vendor/rack-cache/lib/rack/cache/metastore.rb +0 -328
  710. data/vendor/rack-cache/lib/rack/cache/options.rb +0 -150
  711. data/vendor/rack-cache/lib/rack/cache/request.rb +0 -33
  712. data/vendor/rack-cache/lib/rack/cache/response.rb +0 -267
  713. data/vendor/rack-cache/lib/rack/cache/storage.rb +0 -49
  714. data/vendor/rack-cache/rack-cache.gemspec +0 -69
  715. data/vendor/rack-cache/test/cache_test.rb +0 -38
  716. data/vendor/rack-cache/test/cachecontrol_test.rb +0 -139
  717. data/vendor/rack-cache/test/context_test.rb +0 -727
  718. data/vendor/rack-cache/test/entitystore_test.rb +0 -189
  719. data/vendor/rack-cache/test/key_test.rb +0 -50
  720. data/vendor/rack-cache/test/metastore_test.rb +0 -263
  721. data/vendor/rack-cache/test/options_test.rb +0 -78
  722. data/vendor/rack-cache/test/pony.jpg +0 -0
  723. data/vendor/rack-cache/test/request_test.rb +0 -19
  724. data/vendor/rack-cache/test/response_test.rb +0 -178
  725. data/vendor/rack-cache/test/spec_setup.rb +0 -202
  726. data/vendor/rack-cache/test/storage_test.rb +0 -94
@@ -0,0 +1,1521 @@
1
+ ---
2
+ title: Syntax
3
+ in_menu: true
4
+ sort_info: 10
5
+ --- name:sidebar
6
+ <h1>Contents</h1>
7
+
8
+ {menu: {used_nodes: fragments, min_levels: 4, max_levels: 6}}
9
+ --- name:content
10
+
11
+ # kramdown Syntax
12
+
13
+ This is version **<%= ::Kramdown::VERSION %>** of the syntax documentation.
14
+
15
+ The kramdown syntax is based on the Markdown syntax and has been enhanced with features that are
16
+ found in other Markdown implementations like [Maruku], [PHP Markdown Extra] and [Pandoc]. However,
17
+ it strives to provide a strict syntax with definite rules and therefore isn't completely compatible
18
+ with Markdown. Nonetheless, most Markdown documents should work fine when parsed with kramdown. All
19
+ places where the kramdown syntax differs from the Markdown syntax are highlighted.
20
+
21
+ Following is the complete syntax definition for all elements kramdown supports. Together with the
22
+ documentation on the available converters, it is clearly specified what you will get when a kramdown
23
+ document is converted.
24
+
25
+
26
+ ## Source Text Formatting
27
+
28
+ A kramdown document may be in any encoding, for example ASCII, UTF-8 or ISO-8859-1, and the output
29
+ will have the same encoding as the source. The document consists of two types of elements, block
30
+ level elements and span level elements:
31
+
32
+ * Block level elements define the main structure of the content, for example, what part of the text
33
+ should be a paragraph, a list, a blockquote and so on.
34
+
35
+ * Span level elements mark up small text parts as, for example, emphasized text or a link.
36
+
37
+ Thus span level elements can only occur inside block level elements or other span level elements.
38
+
39
+ You will often find references to the "first column" or "first character" of a line in a block level
40
+ element descriptions. Such a reference is always to be taken relative to the current indentation
41
+ level because some block level elements open up a new indentation level (e.g. blockquotes). The
42
+ beginning of a kramdown document opens up the default indentation level which begins at the first
43
+ column of the text.
44
+
45
+
46
+ ### Usage of Tabs
47
+
48
+ kramdown assumes that tab stops are set at multiples of four. This is especially important when
49
+ using tabs for indentation in lists. Also, tabs may only be used at the beginning of a line when
50
+ indenting text and must not be preceded by spaces. Otherwise the results may be unexpected.
51
+
52
+
53
+ ### Automatic and Manual Escaping
54
+
55
+ Depending on the output format, there are often characters that need special treatment. For example,
56
+ when converting a kramdown document to HTML one needs to take care of the characters `<`, `>` and
57
+ `&`. To ease working with these special characters, they are automatically and correctly escaped
58
+ depending on the output format.
59
+
60
+ This means, for example, that you can just use `<`, `>` and `&` in a kramdown document and need not
61
+ think about when to use their HTML entity counterparts. However, if you *do use* HTML entitys or
62
+ HTML tags which use one of the characters, the result will be correct nonetheless!
63
+
64
+ Since kramdown also uses some characters to mark-up the text, there needs to be a way to escape
65
+ these special characters so that they can have their normal meaning. This can be done by using
66
+ backslash escapes. For example, you can use a literal backtick like this:
67
+
68
+ This \`is not a code\` span!
69
+
70
+ Following is a list of all the characters (character sequences) that can be escaped:
71
+
72
+ \ backslash
73
+ . period
74
+ * asterisk
75
+ _ underscore
76
+ + plus
77
+ - minus
78
+ ` backtick
79
+ ()[]{} left and right parens/brackets/braces
80
+ # hash
81
+ ! bang
82
+ << left guillemet
83
+ >> right guillemet
84
+ : colon
85
+ | pipe
86
+ " double quote
87
+ ' single quote
88
+ $ dollar sign
89
+
90
+
91
+ # Structural Elements
92
+
93
+ All structural elements are block level elements and they are used to structure the content. They
94
+ can mark up some text as, for example, a simple paragraph, a quote or as a list item.
95
+
96
+
97
+ ## Blank lines
98
+
99
+ Any line that just contains white space characters such as spaces and tabs is considered a blank
100
+ line by kramdown. One or more consecutive blank lines are handled as one empty blank line. Blank
101
+ lines are mostly used to visually separate block level elements from each other and in this case
102
+ they don't have semantic meaning. However, there are some cases where blank lines do have a semantic
103
+ meaning:
104
+
105
+ * When used in paragraphs -- see the [paragraphs section](#paragraphs)
106
+ * When used in headers -- see the [headers section](#headers)
107
+ * When used in lists -- see the [lists section](#lists)
108
+
109
+
110
+ ## Paragraphs
111
+
112
+ Paragraphs are the most used block level elements. One or more consecutive lines of text are
113
+ interpreted as one paragraph. Every line of a paragraph may be indented up to three spaces. You can
114
+ separate two consecutive paragraphs from each other by using one or more blank lines. Notice that a
115
+ line break in the source does not mean a line break in the output! If you want to have an explicit
116
+ line break (i.e. a `<br />` tag) you need to end a line with two or more spaces or two backslashes!
117
+ Note, however, that a line break on the last text line of a paragraph is not possible and will be
118
+ ignored. Leading and trailing spaces will be stripped from the paragraph text.
119
+
120
+ The following gives you an example of how paragraphs look like:
121
+
122
+ This para line starts at the first column. However,
123
+ the lines can be indented up to three spaces.
124
+ The para continues here.
125
+
126
+ This is another paragraph, not connected to the above one. But
127
+ with a hard line break. \\
128
+ And another one.
129
+ {: .show-whitespaces .ws-lr}
130
+
131
+
132
+ ## Headers
133
+
134
+ kramdown supports so called Setext style and atx style headers. Both forms can be used inside a
135
+ single document.
136
+
137
+ ### Setext Style
138
+
139
+ Setext style headers are specified by a [blank line](#blank-lines) (except at the beginning of a
140
+ document), followed by a line of text (the header text) and a line with only equal signs (for a
141
+ first level header) or dashes (for a second level header). The header text may be indented up to
142
+ three spaces but any leading or trailing spaces are stripped from the header text. The amount of
143
+ equal signs or dashes is not significant, just one is enough but more may look better. The equal
144
+ signs or dashes have to begin at the first column. For example:
145
+
146
+ First level header
147
+ ==================
148
+
149
+ Second level header
150
+ ------
151
+
152
+ Other first level header
153
+ =
154
+
155
+ As mentioned you need to insert a blank line before (but not necessarily after) a Setext header:
156
+
157
+ This is a normal
158
+ paragraph.
159
+
160
+ And A Header
161
+ ------------
162
+ And a paragraph
163
+
164
+ > This is a blockquote.
165
+
166
+ And A Header
167
+ ------------
168
+
169
+ However, it is generally a good idea to also use a blank line after a Setext header because it looks
170
+ more appropriate.
171
+
172
+ > The original Markdown syntax allows one to omit the blank line before a Setext header. However,
173
+ > this leads to ambiguities and makes reading the document harder than necessary. Therefore it is
174
+ > not allowed in a kramdown document.
175
+ {: .markdown-difference}
176
+
177
+ An edge case worth mentioning is the following:
178
+
179
+ header
180
+ ---
181
+ para
182
+
183
+ One might ask if this represents two paragraphs separated by a [horizontal rule](#horizontal-rules)
184
+ or a second level header and a paragraph. As suggested by the wording in the example, the latter is
185
+ the case. The general rule is that Setext headers are processed before horizontal rules.
186
+
187
+ ### atx Style
188
+
189
+ atx style headers are specified by a [blank line](#blank-lines) (except at the beginning of a
190
+ document), followed by a line with one or more hash characters and then the header text. No spaces
191
+ are allowed before the hash characters. The number of hash characters specifies the heading level:
192
+ one hash character gives you a first level heading, two a second level heading and so on until the
193
+ maximum of six hash characters for a sixth level heading. You may optionally use any number of
194
+ hashes at the end of the line to close the header. Any leading or trailing spaces are stripped from
195
+ the header text. For example:
196
+
197
+ # First level header
198
+
199
+ ### Third level header ###
200
+
201
+ ## Second level header ######
202
+
203
+ > Again, the original Markdown syntax allows one to omit the blank line before an atx style header.
204
+ {: .markdown-difference}
205
+
206
+
207
+ ### Specifying a Header ID
208
+
209
+ kramdown supports a nice way for explicitly setting the header ID which is taken from [PHP Markdown
210
+ Extra] and [Maruku]: If you follow the header text with an opening curly bracket (separated from the
211
+ text with a least one space), a hash, the ID and a closing curly bracket, the ID is set on the
212
+ header. If you use the trailing hash feature of atx style headers, the header ID has to go after the
213
+ trailing hashes. For example:
214
+
215
+ Hello {#id}
216
+ -----
217
+
218
+ # Hello {#id}
219
+
220
+ # Hello # {#id}
221
+
222
+ > This additional syntax is not part of standard Markdown.
223
+ {: .markdown-difference}
224
+
225
+
226
+ ## Blockquotes
227
+
228
+ A blockquote is started using the `>` marker followed by an optional space and the content of the
229
+ blockquote. The marker itself may be indented up to three spaces. All following lines that are also
230
+ started with the blockquote marker belong to the blockquote. The contents of a blockquote are block
231
+ level elements. This means that if you are just using text as content that it will be wrapped in a
232
+ paragraph. For example, the following gives you one blockquote with two paragraphs in it:
233
+
234
+ > This is a blockquote.
235
+ >on multiple lines.
236
+ >
237
+ > This is the second paragraph.
238
+
239
+ Since the contents of a blockquote are block level elements, you can nest blockquotes and use other
240
+ block level elements:
241
+
242
+ > This is a paragraph.
243
+ > > A nested blockquote.
244
+ >
245
+ > ## Headers work
246
+ >
247
+ > * lists too
248
+ >
249
+ > and all other block level elements
250
+
251
+ Note that the first space character after the `>` marker does *not* count when counting spaces for
252
+ the indentation of the block level elements inside the blockquote! So [code blocks](#code-blocks)
253
+ will have to be indented with five spaces or one space and one tab, like this:
254
+
255
+ > A code block:
256
+ >
257
+ > ruby -e 'puts :works'
258
+
259
+ > The original Markdown syntax allowed "lazy" blockquotes, i.e. blockquotes where only the first line
260
+ > needs a blockquote marker. This is disallowed in kramdown, you always need to use a blockquote
261
+ > marker! The rational behind this is that most email programs and good text editors put the `>`
262
+ > maker automatically before every quoted line and that things like the following work like
263
+ > expected:
264
+ >
265
+ > > > This is some quoted text.
266
+ > > > Spanning multiple lines.
267
+ > > This is the answer to the quoted text above.
268
+ > This is just a normal paragraph, with the answer to the above.
269
+ {: .markdown-difference}
270
+
271
+
272
+ ## Code Blocks
273
+
274
+ Code blocks can be used to represent verbatim text like markup, HTML or a program fragment because
275
+ no syntax is parsed within a code block.
276
+
277
+ ### Standard Code Block
278
+
279
+ A code block can be started by using four spaces or one tab and then the text of the code block. All
280
+ following lines that adhere to this syntax belong to the same code block. The indentation (four
281
+ spaces or one tab) is stripped from the text. Note that blank lines don't separate consecutive code
282
+ blocks:
283
+
284
+ Here comes some code
285
+
286
+ This text belongs to the same code block.
287
+
288
+ If you want to have one code block directly after another one, you need to use an [EOB
289
+ marker](#eob-marker) to separate the two:
290
+
291
+ Here comes some code
292
+ ^
293
+ This one is separate.
294
+
295
+ ### Fenced Code Block
296
+
297
+ > This alternative syntax is not part of the original Markdown syntax. The idea and syntax comes
298
+ > from the [PHP Markdown Extra] package.
299
+ {: .markdown-difference}
300
+
301
+ kramdown also supports an alternative syntax for code blocks which does not use indented blocks but
302
+ delimiting lines. The starting line needs to begin with three or more tilde characters (`~`) and the
303
+ closing line needs to have at least the number of tildes the starting line has. Everything between
304
+ is taken literally as with the other syntax but there is no need for indenting the text. For
305
+ example:
306
+
307
+ ~~~~~~~~
308
+ Here comes some code.
309
+ ~~~~~~~~
310
+
311
+ If you need lines of tildes in such a code block, just start the code block with more tildes. For
312
+ example:
313
+
314
+ ~~~~~~~~~~~~
315
+ ~~~~~~~
316
+ code with tildes
317
+ ~~~~~~~~
318
+ ~~~~~~~~~~~~~~~~~~
319
+
320
+ This type of code block is especially useful for copy-pasted code since you don't need to indent the
321
+ code.
322
+
323
+
324
+ ## Lists
325
+
326
+ kramdown provides syntax elements for creating ordered and unordered lists as well as definition
327
+ lists.
328
+
329
+ ### Ordered and Unordered lists
330
+
331
+ Both ordered and unordered lists follow the same rules.
332
+
333
+ A list is started with a list marker (in case of unordered lists one of `+`, `-` or `*` -- you can
334
+ mix them -- and in case of ordered lists a number followed by a period) followed by one tab or at
335
+ least one space, optionally followed by an [IAL](#inline-attribute-lists) that should be applied to
336
+ the list item and then the first part of the content of the list item. The leading tabs or spaces
337
+ are stripped away from this first line of content to allow for a nice alignment with the following
338
+ content of a list item (see below). All following list items with the same marker type (unordered or
339
+ ordered) are put into the same list. The numbers used for ordered lists are irrelevant, an ordered
340
+ list always starts at 1.
341
+
342
+ The following gives you an unordered list and an ordered list:
343
+
344
+ * kram
345
+ + down
346
+ - now
347
+
348
+ 1. kram
349
+ 2. down
350
+ 3. now
351
+
352
+ > The original Markdown syntax allows the markers of ordered and unordered lists to be mixed, the
353
+ > first marker specifying the list type (ordered or unordered). This is not allowed in kramdown. As
354
+ > stated, the above example will give you two lists (an unordered and an ordered) in kramdown and
355
+ > only one unordered list in Markdown.
356
+ {: .markdown-difference}
357
+
358
+ The first list marker in a list may be indented up to three spaces. The column number of the first
359
+ non-space character which appears after the list item marker on the same line specifies the
360
+ indentation that has to be used for the following lines of content of the list item. If there is no
361
+ such character, the indentation that needs to be used is four spaces or one tab. If a line does not
362
+ have the needed amount of indentation, it is not treated as list item content. The indentation is
363
+ stripped from the content and the content (note that the content naturally also contains the content
364
+ of the line with the item marker) is processed as text containing block level elements. All other
365
+ list markers in the list may be indented up to three spaces or the number of spaces used for the
366
+ indentation of the last list item minus one, whichever number is smaller. For example:
367
+
368
+ * This is the first line. Since the first non-space characters appears in column 3, all other
369
+ lines have to be indented 2 spaces so that the first characters align. This tells kramdown
370
+ that the lines belong to the list item.
371
+ * This is the another item of the list. It uses a different number of spaces for
372
+ indentation which is okay but should generally be avoided.
373
+ * The list item marker is indented 3 spaces which is allowed but should also be avoided.
374
+
375
+ So, while the above is possible and creates one list with three items, it is not advised to use
376
+ different (marker and list content) indents for same level list items!
377
+
378
+ > The original Markdown syntax also allows you to indent the marker, however, the behaviour of what
379
+ > happens with the list items is not clearly specified and may surprise you.
380
+ >
381
+ > Also, Markdown uses a fixed number of spaces/tabs to indent the lines that belong to a list item!
382
+ {: .markdown-difference}
383
+
384
+ When using tabs for indenting the content of a list item, remember that tab stops occur at multiples
385
+ of four for kramdown. Tabs are correctly converted to spaces for calculating the indentation. For
386
+ example:
387
+
388
+ * Using a tab to indent this line, the tab only counts as three spaces and therefore the
389
+ overall indentation is four spaces.
390
+
391
+ 1. The tab after the marker counts here as two spaces. Since the indentation of the marker
392
+ is three spaces and the marker itself takes two characters, the overall indentation
393
+ needed for the following lines is eight spaces or two tabs.
394
+
395
+ It is clear that you might get unexpected results if you mix tabs and spaces or if you don't have
396
+ the tab stops set to multiples of four in your editor! Therefore this should be avoided!
397
+
398
+ The content of a list item is made up of either text or block level elements. Simple list items only
399
+ contain text like in the above examples. They are not even wrapped in a paragraph tag. If the first
400
+ list text is followed by one or more blank lines, it will be wrapped in a paragraph tag:
401
+
402
+ * kram
403
+
404
+ * down
405
+ * now
406
+
407
+ In the above example, the first list item text will be wrapped in a paragraph tag since it is
408
+ followed by a blank line whereas the second list item contains just text. There is obviously a
409
+ problem for doing this with the last list item when it contains only text. You can circumvent this
410
+ by leaving a blank line after the last list item and using an EOB marker:
411
+
412
+ * Not wrapped in a paragraph
413
+ * Wrapped in a paragraph due to the following blank line.
414
+
415
+ * Also wrapped in a paragraph due to the
416
+ following blank line and the EOB marker.
417
+
418
+ ^
419
+
420
+ The text of the last list item is also wrapped in a paragraph tag if *all* other list items contain
421
+ a proper paragraph as first element. This makes the following use case work like expected, i.e.
422
+ *all* the list items are wrapped in paragraphs:
423
+
424
+ * First list item
425
+
426
+ * Second list item
427
+
428
+ * Last list item
429
+
430
+ > The original Markdown syntax page specifies that list items which are separated by one or more
431
+ > blank lines are wrapped in paragraph tags. This means that the first text will also be wrapped in
432
+ > a paragraph if you have block level elements in a list which are separated by blank lines. The
433
+ > above rule is easy to remember and lets you exactly specify when the first list text should be
434
+ > wrapped in a paragraph. The idea for the above rule comes from the [Pandoc] package.
435
+ {: .markdown-difference}
436
+
437
+ As seen in the examples above, blank lines between list items are allowed.
438
+
439
+ Since the content of a list item can contain block level elements, you can do the following:
440
+
441
+ * First item
442
+
443
+ A second paragraph
444
+
445
+ * nested list
446
+ > blockquote
447
+
448
+ * Second item
449
+
450
+ However, there is a problem when you want to have a code block immediately after a list item. You
451
+ can use an EOB marker to circumvent this problem:
452
+
453
+ * This is a list item.
454
+
455
+ The second para of the list item.
456
+ ^
457
+ A code block following the list item.
458
+
459
+ You can have any block level element as first element in a list item. However, as described above,
460
+ the leading tabs or spaces of the line with the list item marker are stripped away. This leads to a
461
+ problem when you want to have a code block as first element. The solution to this problem is the
462
+ following construct:
463
+
464
+ *
465
+ This is a code block (indentation needs to be 4(1)+4(1) spaces (tabs)).
466
+ {: .show-whitespaces .ws-lr}
467
+
468
+ Note that the list marker needs to be followed with at least one space or tab! Otherwise the line is
469
+ not recognized as the start of a list item but interpreted as a paragraph containing the list
470
+ marker.
471
+
472
+ > The original Markdown syntax allows you to be lazy when you just use text for a list item. So the
473
+ > following is possible with Markdown:
474
+ >
475
+ > * First list item
476
+ > continued here
477
+ > * Second list item
478
+ > continued here.
479
+ >
480
+ > This kind of syntax is disallowed in kramdown.
481
+ {: .markdown-difference}
482
+
483
+ If you want to have one list directly after another one (both with the same list type, i.e. ordered
484
+ or unordered), you need to use an EOB marker to separate the two:
485
+
486
+ * List one
487
+ ^
488
+ * List two
489
+
490
+ It is possible that a line gets parsed as ordered or unordered list although it shouldn't. This
491
+ would be the case in the following example:
492
+
493
+ I have read the book
494
+ 1984. It was great
495
+ - others say that, too!
496
+
497
+ Therefore you have to insert a blank line after a paragraph if you want to follow the paragraph with
498
+ a list. The only exception to this rule is when you want to create a compact nested list, i.e. a
499
+ list where the text is not wrapped in paragraphs:
500
+
501
+ * This is just text.
502
+ * this is a sub list item
503
+ * this is a sub sub list item
504
+ * This is just text,
505
+ spanning two lines
506
+ * this is a nested list item.
507
+
508
+ Another way to remedy the problem with the list item marker appearing in plain text is by escaping
509
+ the period in an ordered list or the list item marker in an unordered list (this is especially
510
+ useful when the paragraph starts with something looking like a list item marker):
511
+
512
+ 1984\. It was great
513
+ \- others say that, too!
514
+
515
+ As mentioned at the beginning, an optional IAL for applying attributes to a list item can be used
516
+ after the list item marker:
517
+
518
+ * {:.cls} This item has the class "cls".
519
+ Here continues the above paragraph.
520
+
521
+ * This is a normal list item.
522
+
523
+
524
+ ### Definition Lists
525
+
526
+ > This syntax feature is not part of the original Markdown syntax. The idea and syntax comes from
527
+ > the [PHP Markdown Extra] package.
528
+ {: .markdown-difference}
529
+
530
+ Definition lists allow you to assign one or more definitions to one or more terms.
531
+
532
+ A definition list is started when a normal paragraph is followed by a line with a definition marker
533
+ (a colon which may be optionally indented up to three spaces), then at least one tab or one space
534
+ and then the first part of the definition. The line with the definition marker may optionally be
535
+ separated from the preceding paragraph by a blank line. The leading tabs or spaces are stripped away
536
+ from this first line of the definition to allow for a nice alignment with the following definition
537
+ content. Each line of the preceding paragraph is taken to be a term and the lines separately parsed
538
+ as span level elements.
539
+
540
+ The following is a simple definition list:
541
+
542
+ kramdown
543
+ : A Markdown-superset converter
544
+
545
+ Maruku
546
+ : Another Markdown-superset converter
547
+
548
+ The column number of the first non-space character which appears after a definition marker on the
549
+ same line specifies the indentation that has to be used for the following lines of the definition.
550
+ If there is no such character, the indentation that needs to be used is four spaces or one tab. If
551
+ one of the following lines does not have the needed amount of indentation, it is not treated as part
552
+ of the definition. The indentation is stripped from the definition and it (note that the definition
553
+ naturally also contains the content of the line with the definition marker) is processed as text
554
+ containing block level elements. If there is more than one definition, all other definition markers
555
+ for the term may be indented up to three spaces or the number of spaces used for the indentation of
556
+ the last definition minus one, whichever number is smaller. For example:
557
+
558
+ definition term 1
559
+ definition term 2
560
+ : This is the first line. Since the first non-space characters appears in column 3, all other
561
+ lines have to be indented 2 spaces so that they first characters align. This tells kramdown
562
+ that the lines belong to the definition.
563
+ : This is the another definition for the same term. It uses a different number of spaces
564
+ for indentation which is okay but should generally be avoided.
565
+ : The definition marker is indented 3 spaces which is allowed but should also be avoided.
566
+
567
+ So, while the above is possible and creates a definition list with two terms and three definitions
568
+ for them, it is not advised to use different (definition marker and definition) indents in the same
569
+ definition list!
570
+
571
+ The definition for a term is made up of text and/or block level elements. If a definition is *not*
572
+ preceded by a blank line, the first part of the definition will just be text if it would be a
573
+ paragraph otherwise:
574
+
575
+ definition term
576
+ : This definition will just be text because it would normally be a paragraph and the there is
577
+ no preceding blank line.
578
+
579
+ > although the definition contains other block level elements
580
+
581
+ : This definition *will* be a paragraph since it is preceded by a blank line.
582
+
583
+ The rules about having any block level element as first element in a list item also apply to a
584
+ definition.
585
+
586
+
587
+ ## Tables
588
+
589
+ > This syntax feature is not part of the original Markdown syntax. The syntax is based on the one
590
+ > from the [PHP Markdown Extra] package.
591
+ {: .markdown-difference}
592
+
593
+ Sometimes one wants to include simple tabular data in a kramdown document for which using a
594
+ full-blown HTML table is just too much. kramdown supports this with a simple syntax for ASCII
595
+ tables.
596
+
597
+ There are three different text line types that can be used in a table:
598
+
599
+ * *Table rows* define the content of a table.
600
+
601
+ A table row is started with a pipe character, optionally indented up to three spaces, and then the
602
+ text of the first table cell. Subsequent table cells consist of a pipe character followed by the
603
+ cell text. One may optionally use a pipe character at the the end of a table row line.
604
+
605
+ Header rows, footer rows and normal rows are all done using these table rows. Table cells can only
606
+ contain a single line of text, no multiline text is supported. The text of a table cell is parsed
607
+ as span level elements. Note that literal pipe characters need to be escaped, even if they occur
608
+ in code spans!
609
+
610
+ Here are some example table rows:
611
+
612
+ | First cell|Second cell|Third cell
613
+ | First | Second | Third |
614
+
615
+ * *Separator lines* are used to split the table body into multiple body parts.
616
+
617
+ A separator line is started with a pipe or plus character, optionally indented up to three spaces,
618
+ followed by an optional space, an optional colon, a dash and then any number and combination of
619
+ pipes, dashes, pluses, colons and spaces. The pipe and plus characters can be used to visually
620
+ separate columns although this is not needed. Multiple separator lines after another are treated
621
+ as one separator line.
622
+
623
+ Here are some example separator lines:
624
+
625
+ |----+----|
626
+ +----|----+
627
+ |---------|
628
+ |-
629
+ | :-----: |
630
+
631
+ * The first separator line after at least one table row is treated specially, namely as *header
632
+ separator line*. It is used to demarcate header rows from normal table rows and/or to set column
633
+ alignments. All table rows above the header separator line are considered to be header rows.
634
+
635
+ The header separator line can be specially formatted to contain column alignment definitions: An
636
+ alignment definition consists of an optional space followed by an optional colon, one or more
637
+ dashes, an optional colon and another optional space. The colons of an alignment definition are
638
+ used to set the alignment of a column: if there are no colons, the column uses the default
639
+ alignment, if there is a colon only before the dashes, the column is left aligned, if there are
640
+ colons before and after the dashes, the column is center aligned and if there is only a colon
641
+ after the dashes, the column is right aligned. Each alignment definition sets the alignment for
642
+ one column, the first alignment definition for the first column, the second alignment definition
643
+ for the second column and so on.
644
+
645
+ Here are some example header separator lines with alignment definitions:
646
+
647
+ |---+---+---|
648
+ + :-: |:------| ---:|
649
+ | :-: :- -: -
650
+
651
+ * A *footer separator line* is used to demarcate footer rows from normal table rows. All table rows
652
+ below the footer separator line are considered to be footer rows.
653
+
654
+ A footer separator line is like a normal separator line except that dashes are replaced by equal
655
+ signs. A footer separator line may only appear once in a table. If multiple footer separator lines
656
+ are used in one table, only the last is treated as footer separator line, all others are treated
657
+ as normal separator lines. Normal separator lines that are used after the footer separator line
658
+ are ignored.
659
+
660
+ Here are some example footer separator lines:
661
+
662
+ |====+====|
663
+ +====|====+
664
+ |=========|
665
+ |=
666
+
667
+ Trailing spaces or tabs are ignored in all cases. To simplify table creation and maintenance,
668
+ header, footer and normal separator lines need not specify the same number of columns as table rows;
669
+ even `|-` and `|=` are a valid separators.
670
+
671
+ Given the above components, a table is specified by
672
+
673
+ * an optional separator line,
674
+ * optionally followed by zero, one or more table rows followed by a header separator line,
675
+ * one or more table rows, optionally interspersed with separator lines,
676
+ * optionally followed by a footer separator line and zero, one or more table rows and
677
+ * an optional trailing separator line.
678
+
679
+ > The table syntax differs from the one used in [PHP Markdown Extra] as follows:
680
+ >
681
+ > * kramdown tables have to begin with a pipe character, this is optional in [PHP Markdown Extra].
682
+ > * kramdown tables do not need to have a table header.
683
+ > * kramdown tables can be structured using separator lines.
684
+ > * kramdown tables can contain a table footer.
685
+ {: .markdown-difference}
686
+
687
+ Here is an example for a kramdown table with a table header row, two table bodies and a table footer
688
+ row:
689
+
690
+ |-----------------+------------+-----------------+----------------|
691
+ | Default aligned |Left aligned| Center aligned | Right aligned |
692
+ |-----------------|:-----------|:---------------:|---------------:|
693
+ | First body part |Second cell | Third cell | fourth cell |
694
+ | Second line |foo | **strong** | baz |
695
+ | Third line |quux | baz | bar |
696
+ |-----------------+------------+-----------------+----------------|
697
+ | Second body | | | |
698
+ | 2 line | | | |
699
+ |=================+============+=================+================|
700
+ | Footer row | | | |
701
+ |-----------------+------------+-----------------+----------------|
702
+
703
+ The above example table is rather time-consuming to create without the help of an ASCII table
704
+ editor. However, the table syntax is flexible and the above table could also be written like this:
705
+
706
+ |---
707
+ | Default aligned | Left aligned | Center aligned | Right aligned
708
+ |-|:-|:-:|-:
709
+ | First body part | Second cell | Third cell | fourth cell
710
+ | Second line |foo | **strong** | baz
711
+ | Third line |quux | baz | bar
712
+ |---
713
+ | Second body
714
+ | 2 line
715
+ |===
716
+ | Footer row
717
+
718
+
719
+ ## Horizontal Rules
720
+
721
+ A horizontal rule for visually separating content is created by using three or more asterisks,
722
+ dashes or underscores (these may not be mixed on a line), optionally separated by spaces or tabs, on
723
+ an otherwise blank line. The first asterisk, dash or underscore may optionally be indented up to
724
+ three spaces. The following examples show different possibilities to create a horizontal rule:
725
+
726
+ * * *
727
+
728
+ ---
729
+
730
+ _ _ _ _
731
+
732
+ ---------------
733
+
734
+
735
+ ## Math Blocks
736
+
737
+ > This syntax feature is not part of the original Markdown syntax. The idea comes from the [Maruku]
738
+ > and [Pandoc] packages.
739
+ {: .markdown-difference}
740
+
741
+ kramdown has built-in support for block and span level mathematics written in LaTeX.
742
+
743
+ A math block is started using two dollar signs, optionally indented up to three spaces. The math
744
+ block continues until the next two dollar signs (which may be on the same line or on one of the next
745
+ lines) that appear at the end of a line, i.e. they may only be followed by whitespace characters.
746
+ The content of a math block has to be valid LaTeX math. It is always wrapped inside a
747
+ `\begin{displaymath}...\end{displaymath}` enviroment except if it begins with a `\begin` statement.
748
+
749
+ The following kramdown fragment
750
+
751
+ $$
752
+ \begin{align*}
753
+ & \phi(x,y) = \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right)
754
+ = \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j) = \\
755
+ & (x_1, \ldots, x_n) \left( \begin{array}{ccc}
756
+ \phi(e_1, e_1) & \cdots & \phi(e_1, e_n) \\
757
+ \vdots & \ddots & \vdots \\
758
+ \phi(e_n, e_1) & \cdots & \phi(e_n, e_n)
759
+ \end{array} \right)
760
+ \left( \begin{array}{c}
761
+ y_1 \\
762
+ \vdots \\
763
+ y_n
764
+ \end{array} \right)
765
+ \end{align*}
766
+ $$
767
+
768
+ renders as
769
+
770
+ $$
771
+ \begin{align*}
772
+ & \phi(x,y) = \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right)
773
+ = \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j) = \\
774
+ & (x_1, \ldots, x_n) \left( \begin{array}{ccc}
775
+ \phi(e_1, e_1) & \cdots & \phi(e_1, e_n) \\
776
+ \vdots & \ddots & \vdots \\
777
+ \phi(e_n, e_1) & \cdots & \phi(e_n, e_n)
778
+ \end{array} \right)
779
+ \left( \begin{array}{c}
780
+ y_1 \\
781
+ \vdots \\
782
+ y_n
783
+ \end{array} \right)
784
+ \end{align*}
785
+ $$
786
+
787
+ Using inline math is also easy: just surround your math content with two dollar signs, like with a
788
+ math block.
789
+
790
+ If you don't want to start a math block or an inline math statement, just escape the dollar signs
791
+ and they will be treated as simple dollar signs. If you want to start an inline math statement at
792
+ the beginning of a paragraph, just escape the first dollar sign.
793
+
794
+
795
+ ## HTML Blocks
796
+
797
+ > The original Markdown syntax specifies that an HTML block must start at the left margin, i.e. no
798
+ > indentation is allowed. Also, the HTML block has to be surrounded by blank lines. Both
799
+ > restrictions are lifted for kramdown documents. Additionally, the original syntax does not allow
800
+ > you to use Markdown syntax in HTML blocks which is allowed with kramdown.
801
+ {: .markdown-difference}
802
+
803
+ An HTML block is potentially started if a line is encountered that begins with a non-span-level HTML
804
+ tag or a general XML tag (opening or closing) which may be indented up to three spaces.
805
+
806
+ The following HTML tags count as span level HTML tags and *won't* start an HTML block if found at
807
+ the beginning of an HTML block line:
808
+
809
+ a abbr acronym b big bdo br button cite code del dfn em i img input
810
+ ins kbd label option q rb rbc rp rt rtc ruby samp select small span
811
+ strong sub sup textarea tt var
812
+
813
+ Further parsing of a found start tag depends on the tag and in which of three possible ways its
814
+ content is parsed:
815
+
816
+ * Parse as raw HTML block: If the HTML/XML tag content should be handled as raw HTML, then only
817
+ HTML/XML tags are parsed from this point onwards and text is handled as raw, unparsed text until
818
+ the matching end tag is found or until the end of the document. Each found tag will be parsed as
819
+ raw HTML again. However, if a tag has a `markdown` attribute, this attribute controls parsing of
820
+ this one tag (see below).
821
+
822
+ Note that only correct XHTML is supported! This means that you have to use, for example, `<hr />`
823
+ instead of `<hr>` (although kramdown tries to fix such things if possible). If an invalid closing
824
+ tag is found, it is ignored.
825
+
826
+ * Parse as block level elements: If the HTML/XML tag content should be parsed as text containing
827
+ block level elements, the remaining text on the line will be parsed by the block level parser as
828
+ if it appears on a separate line (**Caution**: This also means that if the line consists of the
829
+ start tag, text and the end tag, the end tag will not be found!). All following lines are parsed
830
+ as block level elements until an HTML block line with the matching end tag is found or until the
831
+ end of the document.
832
+
833
+ * Parse as span level elements: If the HTML/XML tag content should be parsed as text containing span
834
+ level elements, then all text until the *next* matching end tag or until the end of the document
835
+ will be the content of the tag and will later be parsed by the span level parser. This also means
836
+ that if the matching end tag is inside what appears to be a code span, it is still used!
837
+
838
+ If there is text after an end tag, it will be parsed as if it appears on a separate line except when
839
+ inside a raw HTML block.
840
+
841
+ Also, if an invalid closing tag is found, it is ignored.
842
+
843
+ By default, kramdown parses all block HTML tags and all XML tags as raw HTML blocks. However, this
844
+ can be configured with the `parse_block_html`. If this is set to `true`, then syntax parsing in HTML
845
+ blocks is globally enabled. It is also possible to enable/disable syntax parsing on a tag per tag
846
+ basis using the `markdown` attribute:
847
+
848
+ * If an HTML tag has an attribute `markdown="0"`, then the tag is parsed as raw HTML block.
849
+
850
+ * If an HTML tag has an attribute `markdown="1"`, then the default mechanism for parsing syntax in
851
+ this tag is used.
852
+
853
+ * If an HTML tag has an attribute `markdown="block"`, then the content of the tag is parsed as block
854
+ level elements.
855
+
856
+ * If an HTML tag has an attribute `markdown="span"`, then the content of the tag is parsed as span
857
+ level elements.
858
+
859
+ The following list shows which HTML tags are parsed in which mode by default when `markdown="1"` is
860
+ applied or `parse_block_html` is `true`:
861
+
862
+ Parse as raw HTML block
863
+ :
864
+ script math option textarea
865
+
866
+ Also, all general XML tags are parsed as raw HTML blocks.
867
+
868
+ Parse as block level elements
869
+ :
870
+ applet button blockquote colgroup dd div dl fieldset form iframe li
871
+ map noscript object ol table tbody thead tfoot tr td ul
872
+
873
+ Parse as span level elements
874
+ :
875
+ a abbr acronym address b bdo big cite caption code del dfn dt em
876
+ h1 h2 h3 h4 h5 h6 i ins kbd label legend optgroup p pre q rb rbc
877
+ rp rt rtc ruby samp select small span strong sub sup th tt var
878
+
879
+ > Remember that all span level HTML tags like `a` or `b` do not start a HTML block! However, the
880
+ > above lists also include span level HTML tags in the case the `markdown` attribute is used on a
881
+ > tag inside a raw HTML block.
882
+
883
+ Here is a simple example input and its HTML output with `parse_block_html` set to `false`:
884
+
885
+ This is a para.
886
+ <div>
887
+ Something in here.
888
+ </div>
889
+ Other para.
890
+ ^
891
+ <p>This is a para.</p>
892
+ <div>
893
+ Something in here.
894
+ </div>
895
+ <p>Other para.</p>
896
+
897
+ As one can see the content of the `div` tag will be parsed as raw HTML block and left alone.
898
+ However, if the `markdown="1"` attribute was used on the `div` tag, the content would be parsed as
899
+ block level elements and therefore converted to a paragraph.
900
+
901
+ You can also use several HTML tags at once:
902
+
903
+ <div id="content"><div id="layers"><div id="layer1">
904
+ This is some text in the `layer1` div.
905
+ </div>
906
+ This is some text in the `layers` div.
907
+ </div></div>
908
+ This is a para outside the HTML block.
909
+
910
+ However, remember that if the content of a tag is parsed as block level elements, the content that
911
+ appears after a start/end tag but on the same line, is processed as if it appears on a new line:
912
+
913
+ <div markdown="1">This is the first part of a para,
914
+ which is continued here.
915
+ </div>
916
+
917
+ <p markdown="1">This works without problems because it is parsed as span level elements</p>
918
+
919
+ <div markdown="1">The end tag is not found because
920
+ this line is parsed as a paragraph</div>
921
+
922
+ Since setting `parse_block_html` to `true` can lead to some not wanted behaviour, it is generally
923
+ better to selectively enable or disable block/span level elements parsing by using the `markdown`
924
+ attribute!
925
+
926
+ Unclosed block level HTML tags are correctly closed at the end of the document to ensure correct
927
+ nesting and invalidly used end tags are removed from the output:
928
+
929
+ This is a para.
930
+ <div markdown="1">
931
+ Another para.
932
+ </p>
933
+ ^
934
+ <p>This is a para.</p>
935
+ <div>
936
+ <p>Another para.</p>
937
+ </div>
938
+
939
+ The parsing of processing instructions and XML comments is also supported. The content of both, PIs
940
+ and XML comments, may span multiple lines. The start of a PI/XML comment may only appear at the
941
+ beginning of a line, optionally indented up to three spaces. If there is text after the end of a PI
942
+ or XML comment, it will be parsed as if it appears on a separate line. kramdown syntax in PIs/XML
943
+ comments is not processed:
944
+
945
+ This is a para.
946
+ <!-- a *comment* -->
947
+ <? a processing `instruction`
948
+ spanning multiple lines
949
+ ?> First part of para,
950
+ continues here.
951
+
952
+
953
+
954
+ # Text Markup
955
+
956
+ These elements are used inside block level elements to markup text fragments. For example, one can
957
+ easily create links or apply emphasis to certain text parts.
958
+
959
+ Note that empty span level elements are not converted to empty HTML tags but are copied as-is to the
960
+ output.
961
+
962
+
963
+
964
+ ## Links and Images
965
+
966
+ Three types of links are supported: autolinks, inline links and reference links.
967
+
968
+ ### Autolinks
969
+
970
+ This is the easiest one to create: Just surround a web address or an email address with angle
971
+ brackets and the address will be turned into a proper link. The address will be used as link target
972
+ and as link text. For example:
973
+
974
+ Information can be found on the <http://example.com> homepage.
975
+ You can also mail me: <me.example@example.com>
976
+
977
+ It is not possible to specify a different link text using autolinks -- use the other link types for
978
+ this!
979
+
980
+
981
+ ### Inline Links
982
+
983
+ As the wording suggests, inline links provide all information inline in the text flow. Reference
984
+ style links only provide the link text in the text flow and everything else is defined
985
+ elsewhere. This also allows you to reuse link definitions.
986
+
987
+ An inline style link can be created by surrounding the link text with square brackets, followed
988
+ immediately by the link URL (and an optional title in single or double quotes preceded by at least
989
+ one space) in normal parentheses. For example:
990
+
991
+ This is [a link](http://rubyforge.org) to a page.
992
+ A [link](../test "local URI") can also have a title.
993
+ And [spaces](<link with spaces.html>)!
994
+
995
+ Notes:
996
+
997
+ * The link text is treated like normal span level text and therefore is parsed and converted.
998
+ However, if you use square brackets within the link text, you have to either properly nest them or
999
+ to escape them. It is not possible to create nested links!
1000
+
1001
+ * The link URL must not contain any spaces and it has to contain properly nested parentheses if no
1002
+ title is specified, or the link URL must be contained in angle brackets (then spaces and
1003
+ incorrectly nested parentheses are allowed). There must not be any spaces before the link URL, and
1004
+ if no title is specified, no spaces are allowed between the link URL and the closing parenthesis.
1005
+
1006
+ * The link title may not contain its delimiters and may not be empty.
1007
+
1008
+ ### Reference Links
1009
+
1010
+ To create a reference style link, you need to surround the link text with square brackets (as with
1011
+ inline links), followed by optional spaces/tabs/line breaks and then optionally followed with
1012
+ another set of square brackets with the link identifier in them. A link identifier may only contain
1013
+ numbers, letters, spaces (line breaks and tabs are converted to spaces, multiple spaces are
1014
+ compressed to one) and punctuation characters (i.e. `_.:,;!?-`) and is not case sensitive. For
1015
+ example:
1016
+
1017
+ This is a [reference style link][linkid] to a page. And [this]
1018
+ [linkid] is also a link. As is [this][] and [THIS].
1019
+
1020
+ If you don't specify a link identifier (i.e. only use empty square brackets) or completely omit the
1021
+ second pair of square brackets, the link text is converted to a valid link identifier by removing
1022
+ all invalid characters and inserting spaces for line breaks. If there is a link definition found for
1023
+ the link identifier, a link will be created. Otherwise the text is not converted to a link.
1024
+
1025
+ ### Link Definitions
1026
+
1027
+ The link definition can be put anywhere in the document. It does not appear in the output. A link
1028
+ definition looks like this:
1029
+
1030
+ [linkid]: http://www.example.com/ "Optional Title"
1031
+
1032
+ > Link definitions are, despite being described here, block level elements.
1033
+ {: .information}
1034
+
1035
+ The link definition has the following structure:
1036
+
1037
+ * The link identifier in square brackets, optionally indented up to three spaces,
1038
+ * then a colon and one or more spaces/tabs,
1039
+ * then the link URL which must not contain any spaces or a left angle bracket, the link URL which may
1040
+ contain spaces and a right angle bracket,
1041
+ * then optionally the title in single or double quotes, separated from the link URL by one or more
1042
+ spaces or on the next line by itself indented any number of spaces/tabs.
1043
+
1044
+ > The original Markdown syntax also allowed the title to be specified in parenthesis. This is not
1045
+ > allowed for consistency with the inline title.
1046
+ {: .markdown-difference}
1047
+
1048
+ ### Images
1049
+
1050
+ Images can be specified via a syntax that is similar to the one used by links. The difference is
1051
+ that you have to use an exclamation mark before the first square bracket and that the link text of a
1052
+ normal link becomes the alternative text of the image link. As with normal links, image links can be
1053
+ written inline or reference style. For example:
1054
+
1055
+ Here comes a ![smiley](../images/smiley.png)! And here
1056
+ ![too](../images/other.png 'Title text'). Or ![here].
1057
+
1058
+ The link definition for images is exactly the same as the link definition for normal links.
1059
+
1060
+
1061
+ ## Emphasis
1062
+
1063
+ kramdown supports two types of emphasis: light and strong emphasis. Text parts that are surrounded
1064
+ with single asterisks `*` or underscores `_` are treated as text with light emphasis, text parts
1065
+ surrounded with two asterisks or underscores are treated as text with strong emphasis. Surrounded
1066
+ means that the starting delimiter must not be followed by a space and that the stopping delimiter
1067
+ must not be preceded by a space.
1068
+
1069
+ Here is an example for text with light and strong emphasis:
1070
+
1071
+ *some text*
1072
+ _some text_
1073
+ **some text**
1074
+ __some text__
1075
+
1076
+ The asterisk form is also allowed within a single word:
1077
+
1078
+ This is un*believe*able! This d_oe_s not work!
1079
+
1080
+ Text can be marked up with both light and strong emphasis, possibly using different delimiters.
1081
+ However, it is not possible to nest strong within strong or light within light emphasized text:
1082
+
1083
+ This is a ***text with light and strong emphasis***.
1084
+ This **is _emphasized_ as well**.
1085
+ This *does _not_ work*.
1086
+ This **does __not__ work either**.
1087
+
1088
+ If one or two asterisks or underscores are surrounded by spaces, they are treated literally. If you
1089
+ want to force the literal meaning of an asterisk or an underscore you can backslash-escape it:
1090
+
1091
+ This is a * literal asterisk.
1092
+ These are ** two literal asterisk.
1093
+ As \*are\* these!
1094
+
1095
+
1096
+ ## Code Spans
1097
+
1098
+ This is the span level equivalent of the code block element. You can markup a text part as code span
1099
+ by surrounding it with backticks `` ` ``. For example:
1100
+
1101
+ Use `<html>` tags for this.
1102
+
1103
+ Note that all special characters in a code span are treated correctly. For example, when a code span
1104
+ is converted to HTML, the characters `<`, `>` and `&` are substituted by their respective HTML
1105
+ counterparts.
1106
+
1107
+ To include a literal backtick in a code span, you need to use two or more backticks as delimiters.
1108
+ You can insert one optional space after the starting and before the ending delimiter (these spaces
1109
+ are not used in the output). For example:
1110
+
1111
+ Here is a literal `` ` `` backtick.
1112
+ And here is `` `some` `` text (note the two spaces so that one is left in the output!).
1113
+
1114
+ A single backtick surrounded by spaces is treated as literal backtick. If you want to force the
1115
+ literal meaning of a backtick you can backslash-escape it:
1116
+
1117
+ This is a ` literal backtick.
1118
+ As \`are\` these!
1119
+
1120
+
1121
+ ## HTML Spans
1122
+
1123
+ HTML tags cannot only be used on the block level but also on the span level. Span level HTML tags
1124
+ can only be used inside one block level element, it is not possible to use a start tag in one block
1125
+ level element and the end tag in another. Note that only correct XHTML is supported! This means that
1126
+ you have to use, for example, `<br />` instead of `<br>` (although kramdown tries to fix such errors
1127
+ if possible).
1128
+
1129
+ By default, kramdown parses kramdown syntax inside span HTML tags. However, this behaviour can be
1130
+ configured with the `parse_span_html` option. If this is set to `true`, then syntax parsing in HTML
1131
+ spans is enabled, if it is set to `false`, parsing is disabled. It is also possible to
1132
+ enable/disable syntax parsing on a tag per tag basis using the `markdown` attribute:
1133
+
1134
+ * If an HTML tag has an attribute `markdown="0"`, then no parsing (except parsing of HTML span tags)
1135
+ is done inside that HTML tag.
1136
+
1137
+ * If an HTML tag has an attribute `markdown="1"`, then the content of the tag is parsed as span
1138
+ level elements.
1139
+
1140
+ * If an HTML tag has an attribute `markdown="block"`, then a warning is issued because HTML spans
1141
+ cannot contain block level elements and the attribute is ignored.
1142
+
1143
+ * If an HTML tag has an attribute `markdown="span"`, then the content of the tag is parsed as span
1144
+ level elements.
1145
+
1146
+ The content of a span level HTML tag is normally parsed as span level elements. Note, however, that
1147
+ some tags like `<script>` are not parsed, i.e. their content is not modified.
1148
+
1149
+ Processing instructions and XML comments can also be used (their content is not parsed). However, as
1150
+ with HTML tags the start and the end have to appear in the same block level element.
1151
+
1152
+ Span level PIs and span level XML comments as well as general span level HTML and XML tags have to
1153
+ be preceded by at least one non whitespace character on the same line so that kramdown correctly
1154
+ recognizes them as span level element and not as block level element. However, all span HTML tags,
1155
+ i.e. `a`, `em`, `b`, ..., (opening or closing) can appear at the start of a line.
1156
+
1157
+ Unclosed span level HTML tags are correctly closed at the end of the span level text to ensure
1158
+ correct nesting and invalidly used end tags or block HTML tags are removed from the output:
1159
+
1160
+ This is </invalid>.
1161
+
1162
+ This <span>is automatically closed.
1163
+ ^
1164
+ <p>This is .</p>
1165
+
1166
+ <p>This <span>is automatically closed.</span></p>
1167
+
1168
+ Also note that one or more consecutive new line characters in an HTML span tag are replaced by a
1169
+ single space, for example:
1170
+
1171
+ Link: <a href="some
1172
+ link">text</a>
1173
+ ^
1174
+ <p>Link: <a href="some link">text</a></p>
1175
+
1176
+
1177
+ ## Footnotes
1178
+
1179
+ > This syntax feature is not part of the original Markdown syntax. The idea and syntax comes from
1180
+ > the [PHP Markdown Extra] package.
1181
+ {: .markdown-difference}
1182
+
1183
+ Footnotes in kramdown are similar to reference style links and link definitions. You need to place
1184
+ the footnote marker in the correct position in the text and the actual footnote content can be
1185
+ defined anywhere in the document.
1186
+
1187
+ More exactly, a footnote marker can be created by placing the footnote name in square brackets.
1188
+ The footnote name has to start with a caret (`^`), followed by a word character or a digit and then
1189
+ optionally followed by other word characters, digits or dashes. For example:
1190
+
1191
+ This is some text.[^1]. Other text.[^footnote].
1192
+
1193
+ The footnote name has to be unique in the whole kramdown document. Therefore you can't link to the
1194
+ same footnote definition twice. The actual naming of a footnote does not matter since the numbering
1195
+ of footnotes is controlled via the position of the footnote markers in the document (the first found
1196
+ footnote marker will get the number 1, the second footnote marker the number 2 and so on). If there
1197
+ is a footnote definition found for the identifier, a footnote will be created. Otherwise the
1198
+ footnote marker is not converted to a footnote link. Also note that all attributes set via a span
1199
+ IAL are ignored for a footnote marker!
1200
+
1201
+ A footnote definition is used to define the content of a footnote and has the following structure:
1202
+
1203
+ * The footnote name in square brackets, optionally indented up to three spaces,
1204
+ * then a colon and one or more optional spaces,
1205
+ * then the text of the footnote
1206
+ * and optionally more text on the following lines which have have to be indented by four spaces or
1207
+ one tab (like with list items).
1208
+
1209
+ > Footnote definitions are, despite being described here, block level elements.
1210
+ {: .information}
1211
+
1212
+ The whole footnote content is treated like block level text and can therefore contain any valid
1213
+ block level element (also, any block level element can be the first element). If you want to have a
1214
+ code block as first element, note that all leading spaces/tabs on the first line are stripped away.
1215
+ Here are some example footnote definitions:
1216
+
1217
+ [^1]: Some *crazy* footnote definition.
1218
+
1219
+ [^footnote]:
1220
+ > Blockquotes can be in a footnote.
1221
+
1222
+ as well as code blocks
1223
+
1224
+ or, naturally, simple paragraphs.
1225
+
1226
+ [^other-note]: no code block here (spaces are stripped away)
1227
+
1228
+ [^codeblock-note]:
1229
+ this is now a code block (8 spaces indentation)
1230
+
1231
+ It does not matter where you put a footnote definition in a kramdown document; the content of all
1232
+ referenced footnote definitions will be placed at the end of the kramdown document. Not referenced
1233
+ foot note definitions are ignored. If more than one footnote definitions have the same footnote
1234
+ name, all footnote definitions but the last are ignored.
1235
+
1236
+
1237
+ ## Abbreviations
1238
+
1239
+ > This syntax feature is not part of the original Markdown syntax. The idea and syntax comes from
1240
+ > the [PHP Markdown Extra] package.
1241
+ {: .markdown-difference}
1242
+
1243
+ kramdown provides a syntax to assign the full phrase to an abbreviation. When writing the text, you
1244
+ don't need to do anything special. However, once you add abbreviation definitions, the
1245
+ abbreviations in the text get marked up automatically. Abbreviations can consist of any character
1246
+ except a closing bracket.
1247
+
1248
+ An abbreviation definition is used to define the full phrase for an abbreviation and has the
1249
+ following structure:
1250
+
1251
+ * An asterisk and the abbreviation in square brackets, optionally indented up to three
1252
+ spaces,
1253
+ * then a colon and the full phrase of the abbreviation on one line (leading and trailing spaces are
1254
+ stripped from the full phrase).
1255
+
1256
+ Later abbreviation definition for the same abbreviation override prior ones and it does not matter
1257
+ where you put an abbreviation definition in a kramdown document. Empty definitions are also allowed.
1258
+
1259
+ Here are some examples:
1260
+
1261
+ This is some text not written in HTML but in another language!
1262
+
1263
+ *[another language]: It's called Markdown
1264
+ *[HTML]: HyperTextMarkupLanguage
1265
+
1266
+ > Abbreviation definitions are, despite being described here, block level elements.
1267
+ {: .information}
1268
+
1269
+
1270
+ ## Typographic Symbols
1271
+
1272
+ > The original Markdown syntax does not support these transformations.
1273
+ {: .markdown-difference}
1274
+
1275
+ kramdown converts the following plain ASCII character into their corresponding typographic symbols:
1276
+
1277
+ * `---` will become an em-dash (like this ---)
1278
+ * `--` will become an en-dash (like this --)
1279
+ * `...` will become an ellipsis (like this ...)
1280
+ * `<<` will become a left guillemet (like this <<) -- an optional following space will become a
1281
+ non-breakable space
1282
+ * `>>` will become a right guillemet (like this >>) -- an optional leading space will become a
1283
+ non-breakable space
1284
+
1285
+ It also replaces normal single `'` and double quotes `"` with "fancy quotes". There *may* be times
1286
+ when kramdown falsely replace the quotes. If this is the case, just \'escape\" the quotes and they
1287
+ won't be replaced with fancy ones.
1288
+
1289
+
1290
+
1291
+ # Other Markup
1292
+
1293
+ This section describes markup that is not widely used in kramdown documents but which are sometimes
1294
+ needed nonetheless.
1295
+
1296
+
1297
+ ## End-Of-Block Marker {#eob-marker}
1298
+
1299
+ > The EOB marker is not part of the standard Markdown syntax.
1300
+ {: .markdown-difference}
1301
+
1302
+ The End-Of-Block (EOB) marker -- a `^` as first character on an otherwise empty line -- is a block
1303
+ level element that can be used to specify the end of a block level element even if the block level
1304
+ element, after which it is used, would continue otherwise. If there is no block level element to
1305
+ end, the EOB marker is simply ignored.
1306
+
1307
+ You won't find an EOB marker in most kramdown documents but sometimes it is necessary to use it to
1308
+ achieve the wanted results which would be impossible otherwise. However, it should only be used when
1309
+ absolutely necesary!
1310
+
1311
+ For example, the following gives you one list with two items:
1312
+
1313
+ * list item one
1314
+
1315
+ * list item two
1316
+
1317
+ By using an EOB marker, you can make two lists with one item each:
1318
+
1319
+ * list one
1320
+ ^
1321
+ * list two
1322
+
1323
+
1324
+ ## Attribute List Definitions
1325
+
1326
+ > This syntax feature is not part of the original Markdown syntax. The idea and syntax comes from
1327
+ > the [Maruku] package.
1328
+ {: .markdown-difference}
1329
+
1330
+ This is an implementation of [Maruku]'s feature for adding attributes to block and span level
1331
+ elements (the naming is also taken from Maruku). This block level element is used to define
1332
+ attributes which can be referenced later. The [Block Inline Attribute
1333
+ List](#block-inline-attribute-lists) is used to attach attributes to a block level element and the
1334
+ [Span Inline Attribute List](#span-inline-attribute-lists) is used to attach attributes to a span
1335
+ level element.
1336
+
1337
+ Following are some examples of attribute list definitions (ALDs) and afterwards comes the syntax
1338
+ explanation:
1339
+
1340
+ {:ref-name: #myid .my-class}
1341
+ {:other: ref-name #id-of-other title="hallo you"}
1342
+ {:test: key="value \" with quote" and other='quote brace \}'}
1343
+
1344
+ An ALD line has the following structure:
1345
+
1346
+ * a left brace, optionally preceded by up to three spaces,
1347
+ * followed by a colon, the reference name and another colon,
1348
+ * followed by attribute definitions (allowed characters are backslash-escaped closing braces or any
1349
+ character except a not escaped closing brace),
1350
+ * followed by a closing brace and optional spaces until the end of the line.
1351
+
1352
+ The reference name needs to start with a word character or a digit, optionally followed by other word
1353
+ characters, digits or dashes.
1354
+
1355
+ There are four different types of attribute definitions which have to be separated by one or more
1356
+ spaces:
1357
+
1358
+ references
1359
+
1360
+ : This must be a valid reference name. It is used to reference an other ALD so that the attributes
1361
+ of the other ALD are also included in this one. The reference name is ignored when collecting the
1362
+ attributes if no attribute definition list with this reference name exists. For example, a
1363
+ simple reference looks like `id`.
1364
+
1365
+ key-value pairs
1366
+
1367
+ : A key-value pair is defined by a key name, which must follow the rules for reference names, then
1368
+ an equal sign and then the value in single or double quotes. If you need to use the value
1369
+ delimiter (a single or a double quote) inside the value, you need to escape it with a backslash.
1370
+ Key-value pairs can be used to specify arbitrary attributes for block or span level elements. For
1371
+ example, a key-value pair looks like `key1="bef \"quoted\" aft"` or `title='This is a title'`.
1372
+
1373
+ ID name
1374
+
1375
+ : An ID name is defined by using a hash and then the identifier name which must follow the rules
1376
+ for reference names. This is a short hand for the key-value pair `id="IDNAME"` since this is
1377
+ often used. The ID name specifies the unique ID of a block or span level element. For example,
1378
+ an ID name looks like `#myid`.
1379
+
1380
+ class names
1381
+
1382
+ : A class name is defined by using a dot and then the class name. This is (almost, but not quite)
1383
+ a short hand for the key-value pair `class="class-name"`. Almost because it actually means that
1384
+ the class name should be appended to the current value of the `class` attribute. The following
1385
+ ALDs are all equivalent:
1386
+
1387
+ {:id: .cls1 .cls2}
1388
+ {:id: class="cls1" .cls2}
1389
+ {:id: class="something" class="cls1" .cls2}
1390
+ {:id: class="cls1 cls2}
1391
+
1392
+ As can be seen from the example of the class names, attributes that are defined earlier are
1393
+ overwritten by ones with the same name defined later. Also, everything in the attribute definitions
1394
+ part that does not match one of the above four types is ignored.
1395
+
1396
+ If there is more than one ALD with the same reference name, the attribute definitions of all the
1397
+ ALDs are processed like they are defined in one ALD.
1398
+
1399
+
1400
+ ## Inline Attribute Lists
1401
+
1402
+ These elements are used to attach attributes to another element.
1403
+
1404
+ ### Block Inline Attribute Lists
1405
+
1406
+ > This syntax feature is not part of the original Markdown syntax. The idea and syntax comes from
1407
+ > the [Maruku] package.
1408
+ {: .markdown-difference}
1409
+
1410
+ This block level element is used to attach attributes to a block level element. A block inline
1411
+ attribute list (block IAL) has the same structure as an [ALD](#attribute-list-definitions) except
1412
+ that the colon/reference name/colon part is replaced by a colon. A block IAL (or two or more block
1413
+ IALs) has to be put directly before or after the block level element to which the attributes should
1414
+ be attached. If a block IAL is directly after *and* before a block level element, it is applied to
1415
+ preceding element. The block IAL is ignored in all other cases, for example, when the block IAL is
1416
+ surrounded by blank lines.
1417
+
1418
+ Key-value pairs of an IAL take precedence over equally named key-value pairs in referenced ALDs.
1419
+
1420
+ Here are some examples for block IALs:
1421
+
1422
+ A simple paragraph with an ID attribute.
1423
+ {: #para-one}
1424
+
1425
+ > A blockquote with a title
1426
+ {:title="The blockquote title"}
1427
+ {: #myid}
1428
+
1429
+ {:.ruby}
1430
+ Some code here
1431
+
1432
+ ### Span Inline Attribute Lists
1433
+
1434
+ > This syntax feature is not part of the original Markdown syntax. The idea and syntax comes from
1435
+ > the [Maruku] package.
1436
+ {: .markdown-difference}
1437
+
1438
+ This is a version of the [block inline attribute list](#block-inline-attribute-lists) for span level
1439
+ elements. It has the same structure as the block IAL except that leading and trailing spaces are not
1440
+ allowed. A span IAL (or two or more span IALs) has to be put directly after the span level element
1441
+ to which it should be applied, no additional character is allowed between, otherwise it is ignored
1442
+ and only removed from the output.
1443
+
1444
+ Here are some examples for span IALs:
1445
+
1446
+ This *is*{:.underline} some `code`{:#id}{:.class}.
1447
+ A [link](test.html){:rel='something'} and some **tools**{:.tools}.
1448
+
1449
+
1450
+ ## Extensions
1451
+
1452
+ > This syntax feature is not part of the original Markdown syntax.
1453
+ {: .markdown-difference}
1454
+
1455
+ Extensions provide additional functionality but use the same syntax for it. They are available as
1456
+ block as well as span level elements.
1457
+
1458
+ The syntax for an extension is very similar to the syntax of [ALDs](#attribute-list-definitions).
1459
+ Here are some examples of how to specify extensions and afterwards is the syntax definition:
1460
+
1461
+ {::comment}
1462
+ This text is completely ignored by kramdown - a comment in the text.
1463
+ {:/comment}
1464
+
1465
+ Do you see {::comment}this text{:/comment}?
1466
+ {::comment}some other comment{:/}
1467
+
1468
+ {::options key="val" /}
1469
+
1470
+ An extension can be specified with or without a body. Therefore there exist a start and an end tag
1471
+ for extensions. The start tag has the following structure:
1472
+
1473
+ * an left brace,
1474
+ * followed by two colons and the extension name,
1475
+ * optionally followed by a space and attribute definitions (allowed characters are backslash-escaped
1476
+ closing braces or any character except a not escaped closing brace -- same as with ALDs),
1477
+ * followed by a slash and a right brace (in case the extension has no body) or only a right
1478
+ brace (in case the extension has a body).
1479
+
1480
+ The stop tag has the following structure:
1481
+
1482
+ * a left brace,
1483
+ * followed by a colon and a slash,
1484
+ * optionally followed by the extension name,
1485
+ * followed by a right brace.
1486
+
1487
+ A stop tag is only needed if the extension has a body!
1488
+
1489
+ The above syntax can be used as is for span level extensions. The starting and ending lines for block level
1490
+ extensions are defined as:
1491
+
1492
+ * The starting line consists of the extension start tag, optionally preceded by up to three spaces,
1493
+ and followed by optional spaces until the end of the line.
1494
+ * The ending line consists of the extension stop tag, optionally preceded by up to three spaces,
1495
+ and followed by optional spaces until the end of the line.
1496
+
1497
+ If no end tag can be found for an extension start tag, the start tag is treated as if it has no
1498
+ body. If an invalid extension stop tag is found, it is ignored. If an invalid extension name is
1499
+ specified the extension (and the eventually specified body) are ignored.
1500
+
1501
+ The following extensions can be used with kramdown:
1502
+
1503
+ `comment`
1504
+
1505
+ : Treat the body text as a comment which does not show in the output.
1506
+
1507
+ `nomarkdown`
1508
+
1509
+ : Don't process the body with kramdown but output it as-is.
1510
+
1511
+ `options`
1512
+
1513
+ : Should be used without a body since the body is ignored. Is used for setting the global options
1514
+ for the kramdown processor (for example, to disable automatic header ID generation). Note that
1515
+ options that are used by the parser are immediately effective whereas all other options are not!
1516
+ This means, for example, that it is not possible to set converter options only for some part of
1517
+ a kramdown document.
1518
+
1519
+
1520
+
1521
+ {include_file: doc/links.markdown}