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
@@ -1,5 +1,4 @@
1
- require 'sass/script/functions'
2
-
1
+ require File.join(File.dirname(__FILE__), 'functions')
3
2
  module Sass
4
3
  module Script
5
4
  # A SassScript parse node representing a function call.
@@ -18,21 +17,11 @@ module Sass
18
17
  # @return [Array<Script::Node>]
19
18
  attr_reader :args
20
19
 
21
- # Don't set the context for child nodes if this is `url()`,
22
- # since `url()` allows quoted strings.
23
- #
24
- # @param context [Symbol]
25
- # @see Node#context=
26
- def context=(context)
27
- super unless @name == "url"
28
- end
29
-
30
20
  # @param name [String] See \{#name}
31
21
  # @param name [Array<Script::Node>] See \{#args}
32
22
  def initialize(name, args)
33
23
  @name = name
34
24
  @args = args
35
- super()
36
25
  end
37
26
 
38
27
  # @return [String] A string representation of the function call
@@ -40,34 +29,18 @@ module Sass
40
29
  "#{name}(#{args.map {|a| a.inspect}.join(', ')})"
41
30
  end
42
31
 
43
- # @see Node#to_sass
44
- def to_sass(opts = {})
45
- "#{dasherize(name, opts)}(#{args.map {|a| a.to_sass(opts)}.join(', ')})"
46
- end
47
-
48
- # Returns the arguments to the function.
49
- #
50
- # @return [Array<Node>]
51
- # @see Node#children
52
- def children
53
- @args
54
- end
55
-
56
- protected
57
-
58
32
  # Evaluates the function call.
59
33
  #
60
34
  # @param environment [Sass::Environment] The environment in which to evaluate the SassScript
61
35
  # @return [Literal] The SassScript object that is the value of the function call
62
36
  # @raise [Sass::SyntaxError] if the function call raises an ArgumentError
63
- def _perform(environment)
37
+ def perform(environment)
64
38
  args = self.args.map {|a| a.perform(environment)}
65
- ruby_name = name.gsub('-', '_')
66
- unless Haml::Util.has?(:public_instance_method, Functions, ruby_name) && ruby_name !~ /^__/
67
- opts(Script::String.new("#{name}(#{args.map {|a| a.perform(environment)}.join(', ')})"))
68
- else
69
- opts(Functions::EvaluationContext.new(environment.options).send(ruby_name, *args))
39
+ unless Haml::Util.has?(:public_instance_method, Functions, name) && name !~ /^__/
40
+ return Script::String.new("#{name}(#{args.map {|a| a.perform(environment)}.join(', ')})")
70
41
  end
42
+
43
+ return Functions::EvaluationContext.new(environment.options).send(name, *args)
71
44
  rescue ArgumentError => e
72
45
  raise e unless e.backtrace.any? {|t| t =~ /:in `(block in )?(#{name}|perform)'$/}
73
46
  raise Sass::SyntaxError.new("#{e.message} for `#{name}'")
@@ -2,93 +2,17 @@ module Sass::Script
2
2
  # Methods in this module are accessible from the SassScript context.
3
3
  # For example, you can write
4
4
  #
5
- # $color = hsl(120deg, 100%, 50%)
5
+ # !color = hsl(120, 100%, 50%)
6
6
  #
7
7
  # and it will call {Sass::Script::Functions#hsl}.
8
8
  #
9
9
  # The following functions are provided:
10
10
  #
11
- # ## RGB Functions
12
- #
13
- # \{#rgb}
14
- # : Converts an `rgb(red, green, blue)` triplet into a color.
15
- #
16
- # \{#rgba}
17
- # : Converts an `rgba(red, green, blue, alpha)` quadruplet into a color.
18
- #
19
- # \{#red}
20
- # : Gets the red component of a color.
21
- #
22
- # \{#green}
23
- # : Gets the green component of a color.
24
- #
25
- # \{#blue}
26
- # : Gets the blue component of a color.
27
- #
28
- # \{#mix}
29
- # : Mixes two colors together.
30
- #
31
- # ## HSL Functions
32
- #
33
11
  # \{#hsl}
34
12
  # : Converts an `hsl(hue, saturation, lightness)` triplet into a color.
35
13
  #
36
- # \{#hsla}
37
- # : Converts an `hsla(hue, saturation, lightness, alpha)` quadruplet into a color.
38
- #
39
- # \{#hue}
40
- # : Gets the hue component of a color.
41
- #
42
- # \{#saturation}
43
- # : Gets the saturation component of a color.
44
- #
45
- # \{#lightness}
46
- # : Gets the lightness component of a color.
47
- #
48
- # \{#adjust_hue #adjust-hue}
49
- # : Changes the hue of a color.
50
- #
51
- # \{#lighten}
52
- # : Makes a color lighter.
53
- #
54
- # \{#darken}
55
- # : Makes a color darker.
56
- #
57
- # \{#saturate}
58
- # : Makes a color more saturated.
59
- #
60
- # \{#desaturate}
61
- # : Makes a color less saturated.
62
- #
63
- # \{#grayscale}
64
- # : Converts a color to grayscale.
65
- #
66
- # \{#complement}
67
- # : Returns the complement of a color.
68
- #
69
- # ## Opacity Functions
70
- #
71
- # \{#alpha} / \{#opacity}
72
- # : Gets the alpha component (opacity) of a color.
73
- #
74
- # \{#rgba}
75
- # : Sets the alpha component of a color.
76
- #
77
- # \{#opacify} / \{#fade_in #fade-in}
78
- # : Makes a color more opaque.
79
- #
80
- # \{#transparentize} / \{#fade_out #fade-out}
81
- # : Makes a color more transparent.
82
- #
83
- # ## String Functions
84
- #
85
- # \{#unquote}
86
- # : Removes the quotes from a string.
87
- #
88
- # \{#quote}
89
- # : Adds quotes to a string.
90
- #
91
- # ## Number Functions
14
+ # \{#rgb}
15
+ # : Converts an `rgb(red, green, blue)` triplet into a color.
92
16
  #
93
17
  # \{#percentage}
94
18
  # : Converts a unitless number to a percentage.
@@ -105,20 +29,6 @@ module Sass::Script
105
29
  # \{#abs}
106
30
  # : Returns the absolute value of a number.
107
31
  #
108
- # ## Introspection Functions
109
- #
110
- # \{#type_of}
111
- # : Returns the type of a value.
112
- #
113
- # \{#unit}
114
- # : Returns the units associated with a number.
115
- #
116
- # \{#unitless}
117
- # : Returns whether a number has units or not.
118
- #
119
- # \{#comparable}
120
- # : Returns whether two numbers can be added or compared.
121
- #
122
32
  # These functions are described in more detail below.
123
33
  #
124
34
  # ## Adding Custom Functions
@@ -140,8 +50,7 @@ module Sass::Script
140
50
  #
141
51
  # Most Literal objects support the {Sass::Script::Literal#value value} accessor
142
52
  # for getting their Ruby values.
143
- # Color objects, though, must be accessed using {Sass::Script::Color#rgb rgb},
144
- # {Sass::Script::Color#red red}, {Sass::Script::Color#blue green}, or {Sass::Script::Color#blue blue}.
53
+ # Color objects, though, must be accessed using {Sass::Script::Color#rgb rgb}.
145
54
  #
146
55
  # Second, making Ruby functions accessible from Sass introduces the temptation
147
56
  # to do things like database access within stylesheets.
@@ -158,13 +67,6 @@ module Sass::Script
158
67
  #
159
68
  # Within one of the functions in this module,
160
69
  # methods of {EvaluationContext} can be used.
161
- #
162
- # ### Caveats
163
- #
164
- # When creating new {Literal} objects within functions,
165
- # be aware that it's not safe to call {Literal#to_s #to_s}
166
- # (or other methods that use the string representation)
167
- # on those objects without first setting {Node#options= the #options attribute}.
168
70
  module Functions
169
71
  # The context in which methods in {Script::Functions} are evaluated.
170
72
  # That means that all instance methods of {EvaluationContext}
@@ -192,8 +94,6 @@ module Sass::Script
192
94
  # assert_type value, :Number
193
95
  #
194
96
  # Valid types are `:Bool`, `:Color`, `:Number`, and `:String`.
195
- # Note that `:String` will match both double-quoted strings
196
- # and unquoted identifiers.
197
97
  #
198
98
  # @param value [Sass::Script::Literal] A SassScript value
199
99
  # @param type [Symbol] The name of the type the value is expected to be
@@ -207,80 +107,31 @@ module Sass::Script
207
107
 
208
108
 
209
109
  # Creates a {Color} object from red, green, and blue values.
210
- #
211
- # @param red [Number]
110
+ # @param red
212
111
  # A number between 0 and 255 inclusive,
213
112
  # or between 0% and 100% inclusive
214
- # @param green [Number]
113
+ # @param green
215
114
  # A number between 0 and 255 inclusive,
216
115
  # or between 0% and 100% inclusive
217
- # @param blue [Number]
116
+ # @param blue
218
117
  # A number between 0 and 255 inclusive,
219
118
  # or between 0% and 100% inclusive
220
- # @see #rgba
221
- # @return [Color]
222
119
  def rgb(red, green, blue)
223
120
  assert_type red, :Number
224
121
  assert_type green, :Number
225
122
  assert_type blue, :Number
226
123
 
227
- Color.new([red, green, blue].map do |c|
228
- v = c.value
229
- if c.numerator_units == ["%"] && c.denominator_units.empty?
230
- next v * 255 / 100.0 if (0..100).include?(v)
231
- raise ArgumentError.new("Color value #{c} must be between 0% and 100% inclusive")
232
- else
233
- next v if (0..255).include?(v)
234
- raise ArgumentError.new("Color value #{v} must be between 0 and 255 inclusive")
235
- end
236
- end)
237
- end
238
-
239
- # @see #rgb
240
- # @overload rgba(red, green, blue, alpha)
241
- # Creates a {Color} object from red, green, and blue values,
242
- # as well as an alpha channel indicating opacity.
243
- #
244
- # @param red [Number]
245
- # A number between 0 and 255 inclusive
246
- # @param green [Number]
247
- # A number between 0 and 255 inclusive
248
- # @param blue [Number]
249
- # A number between 0 and 255 inclusive
250
- # @param alpha [Number]
251
- # A number between 0 and 1
252
- # @return [Color]
253
- #
254
- # @overload rgba(color, alpha)
255
- # Sets the opacity of a color.
256
- #
257
- # @example
258
- # rgba(#102030, 0.5) => rgba(16, 32, 48, 0.5)
259
- # rgba(blue, 0.2) => rgba(0, 0, 255, 0.2)
260
- #
261
- # @param color [Color]
262
- # @param alpha [Number]
263
- # A number between 0 and 1
264
- # @return [Color]
265
- def rgba(*args)
266
- case args.size
267
- when 2
268
- color, alpha = args
269
-
270
- assert_type color, :Color
271
- assert_type alpha, :Number
272
-
273
- unless (0..1).include?(alpha.value)
274
- raise ArgumentError.new("Alpha channel #{alpha.value} must be between 0 and 1 inclusive")
124
+ rgb = [red, green, blue].map do |c|
125
+ v = c.value
126
+ if c.numerator_units == ["%"] && c.denominator_units.empty?
127
+ next v * 255 / 100.0 if (0..100).include?(v)
128
+ raise ArgumentError.new("Color value #{c} must be between 0% and 100% inclusive")
129
+ else
130
+ next v if (0..255).include?(v)
131
+ raise ArgumentError.new("Color value #{v} must be between 0 and 255 inclusive")
275
132
  end
276
-
277
- color.with(:alpha => alpha.value)
278
- when 4
279
- red, green, blue, alpha = args
280
- rgba(rgb(red, green, blue), alpha)
281
- else
282
- raise ArgumentError.new("wrong number of arguments (#{args.size} for 4)")
283
133
  end
134
+ Color.new(rgb)
284
135
  end
285
136
 
286
137
  # Creates a {Color} object from hue, saturation, and lightness.
@@ -293,478 +144,28 @@ module Sass::Script
293
144
  # @param lightness [Number] The lightness of the color.
294
145
  # Must be between `0%` and `100%`, inclusive
295
146
  # @return [Color] The resulting color
296
- # @see #hsla
297
147
  # @raise [ArgumentError] if `saturation` or `lightness` are out of bounds
298
148
  def hsl(hue, saturation, lightness)
299
- hsla(hue, saturation, lightness, Number.new(1))
300
- end
301
-
302
- # Creates a {Color} object from hue, saturation, and lightness,
303
- # as well as an alpha channel indicating opacity.
304
- # Uses the algorithm from the [CSS3 spec](http://www.w3.org/TR/css3-color/#hsl-color).
305
- #
306
- # @param hue [Number] The hue of the color.
307
- # Should be between 0 and 360 degrees, inclusive
308
- # @param saturation [Number] The saturation of the color.
309
- # Must be between `0%` and `100%`, inclusive
310
- # @param lightness [Number] The lightness of the color.
311
- # Must be between `0%` and `100%`, inclusive
312
- # @param alpha [Number] The opacity of the color.
313
- # Must be between 0 and 1, inclusive
314
- # @return [Color] The resulting color
315
- # @see #hsl
316
- # @raise [ArgumentError] if `saturation`, `lightness`, or `alpha` are out of bounds
317
- def hsla(hue, saturation, lightness, alpha)
318
149
  assert_type hue, :Number
319
150
  assert_type saturation, :Number
320
151
  assert_type lightness, :Number
321
- assert_type alpha, :Number
322
-
323
- unless (0..1).include?(alpha.value)
324
- raise ArgumentError.new("Alpha channel #{alpha.value} must be between 0 and 1")
325
- end
326
152
 
327
153
  original_s = saturation
328
154
  original_l = lightness
329
155
  # This algorithm is from http://www.w3.org/TR/css3-color#hsl-color
330
156
  h, s, l = [hue, saturation, lightness].map { |a| a.value }
331
- raise ArgumentError.new("Saturation #{s} must be between 0% and 100%") unless (0..100).include?(s)
332
- raise ArgumentError.new("Lightness #{l} must be between 0% and 100%") unless (0..100).include?(l)
333
-
334
- Color.new(:hue => h, :saturation => s, :lightness => l, :alpha => alpha.value)
335
- end
336
-
337
- # Returns the red component of a color.
338
- #
339
- # @param color [Color]
340
- # @return [Number]
341
- # @raise [ArgumentError] If `color` isn't a color
342
- def red(color)
343
- assert_type color, :Color
344
- Sass::Script::Number.new(color.red)
345
- end
346
-
347
- # Returns the green component of a color.
348
- #
349
- # @param color [Color]
350
- # @return [Number]
351
- # @raise [ArgumentError] If `color` isn't a color
352
- def green(color)
353
- assert_type color, :Color
354
- Sass::Script::Number.new(color.green)
355
- end
157
+ raise ArgumentError.new("Saturation #{s} must be between 0% and 100%") if s < 0 || s > 100
158
+ raise ArgumentError.new("Lightness #{l} must be between 0% and 100%") if l < 0 || l > 100
356
159
 
357
- # Returns the blue component of a color.
358
- #
359
- # @param color [Color]
360
- # @return [Number]
361
- # @raise [ArgumentError] If `color` isn't a color
362
- def blue(color)
363
- assert_type color, :Color
364
- Sass::Script::Number.new(color.blue)
365
- end
160
+ h = (h % 360) / 360.0
161
+ s /= 100.0
162
+ l /= 100.0
366
163
 
367
- # Returns the hue component of a color.
368
- #
369
- # See [the CSS3 HSL specification](http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV).
370
- #
371
- # Calculated from RGB where necessary via [this algorithm](http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV).
372
- #
373
- # @param color [Color]
374
- # @return [Number] between 0deg and 360deg
375
- # @see #adjust_hue
376
- # @raise [ArgumentError] if `color` isn't a color
377
- def hue(color)
378
- assert_type color, :Color
379
- Sass::Script::Number.new(color.hue, ["deg"])
380
- end
381
-
382
- # Returns the saturation component of a color.
383
- #
384
- # See [the CSS3 HSL specification](http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV).
385
- #
386
- # Calculated from RGB where necessary via [this algorithm](http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV).
387
- #
388
- # @param color [Color]
389
- # @return [Number] between 0% and 100%
390
- # @see #saturate
391
- # @see #desaturate
392
- # @raise [ArgumentError] if `color` isn't a color
393
- def saturation(color)
394
- assert_type color, :Color
395
- Sass::Script::Number.new(color.saturation, ["%"])
396
- end
397
-
398
- # Returns the hue component of a color.
399
- #
400
- # See [the CSS3 HSL specification](http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV).
401
- #
402
- # Calculated from RGB where necessary via [this algorithm](http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV).
403
- #
404
- # @param color [Color]
405
- # @return [Number] between 0% and 100%
406
- # @see #lighten
407
- # @see #darken
408
- # @raise [ArgumentError] if `color` isn't a color
409
- def lightness(color)
410
- assert_type color, :Color
411
- Sass::Script::Number.new(color.lightness, ["%"])
412
- end
413
-
414
- # Returns the alpha component (opacity) of a color.
415
- # This is 1 unless otherwise specified.
416
- #
417
- # This function also supports the proprietary Microsoft
418
- # `alpha(opacity=20)` syntax.
419
- #
420
- # @overload def alpha(color)
421
- # @param color [Color]
422
- # @return [Number]
423
- # @see #opacify
424
- # @see #transparentize
425
- # @raise [ArgumentError] If `color` isn't a color
426
- def alpha(*args)
427
- if args.all? do |a|
428
- a.is_a?(Sass::Script::String) && a.type == :identifier &&
429
- a.value =~ /^[a-zA-Z]+\s*=/
430
- end
431
- # Support the proprietary MS alpha() function
432
- return Sass::Script::String.new("alpha(#{args.map {|a| a.to_s}.join(", ")})")
433
- end
434
-
435
- opacity(*args)
436
- end
437
-
438
- # Returns the alpha component (opacity) of a color.
439
- # This is 1 unless otherwise specified.
440
- #
441
- # @param color [Color]
442
- # @return [Number]
443
- # @see #opacify
444
- # @see #transparentize
445
- # @raise [ArgumentError] If `color` isn't a color
446
- def opacity(color)
447
- assert_type color, :Color
448
- Sass::Script::Number.new(color.alpha)
449
- end
450
-
451
- # Makes a color more opaque.
452
- # Takes a color and an amount between 0 and 1,
453
- # and returns a color with the opacity increased by that value.
454
- #
455
- # For example:
456
- #
457
- # opacify(rgba(0, 0, 0, 0.5), 0.1) => rgba(0, 0, 0, 0.6)
458
- # opacify(rgba(0, 0, 17, 0.8), 0.2) => #001
459
- #
460
- # @param color [Color]
461
- # @param amount [Number]
462
- # @return [Color]
463
- # @see #transparentize
464
- # @raise [ArgumentError] If `color` isn't a color,
465
- # or `number` isn't a number between 0 and 1
466
- def opacify(color, amount)
467
- adjust(color, amount, :alpha, 0..1, :+)
468
- end
469
- alias_method :fade_in, :opacify
470
-
471
- # Makes a color more transparent.
472
- # Takes a color and an amount between 0 and 1,
473
- # and returns a color with the opacity decreased by that value.
474
- #
475
- # For example:
476
- #
477
- # transparentize(rgba(0, 0, 0, 0.5), 0.1) => rgba(0, 0, 0, 0.4)
478
- # transparentize(rgba(0, 0, 0, 0.8), 0.2) => rgba(0, 0, 0, 0.6)
479
- #
480
- # @param color [Color]
481
- # @param amount [Number]
482
- # @return [Color]
483
- # @see #opacify
484
- # @raise [ArgumentError] If `color` isn't a color,
485
- # or `number` isn't a number between 0 and 1
486
- def transparentize(color, amount)
487
- adjust(color, amount, :alpha, 0..1, :-)
488
- end
489
- alias_method :fade_out, :transparentize
490
-
491
- # Makes a color lighter.
492
- # Takes a color and an amount between 0% and 100%,
493
- # and returns a color with the lightness increased by that value.
494
- #
495
- # For example:
496
- #
497
- # lighten(hsl(0, 0%, 0%), 30%) => hsl(0, 0, 30)
498
- # lighten(#800, 20%) => #e00
499
- #
500
- # @param color [Color]
501
- # @param amount [Number]
502
- # @return [Color]
503
- # @see #darken
504
- # @raise [ArgumentError] If `color` isn't a color,
505
- # or `number` isn't a number between 0% and 100%
506
- def lighten(color, amount)
507
- adjust(color, amount, :lightness, 0..100, :+, "%")
508
- end
509
-
510
- # Makes a color darker.
511
- # Takes a color and an amount between 0% and 100%,
512
- # and returns a color with the lightness decreased by that value.
513
- #
514
- # For example:
515
- #
516
- # darken(hsl(25, 100%, 80%), 30%) => hsl(25, 100%, 50%)
517
- # darken(#800, 20%) => #200
518
- #
519
- # @param color [Color]
520
- # @param amount [Number]
521
- # @return [Color]
522
- # @see #lighten
523
- # @raise [ArgumentError] If `color` isn't a color,
524
- # or `number` isn't a number between 0% and 100%
525
- def darken(color, amount)
526
- adjust(color, amount, :lightness, 0..100, :-, "%")
527
- end
528
-
529
- # Makes a color more saturated.
530
- # Takes a color and an amount between 0% and 100%,
531
- # and returns a color with the saturation increased by that value.
532
- #
533
- # For example:
534
- #
535
- # saturate(hsl(120, 30%, 90%), 20%) => hsl(120, 50%, 90%)
536
- # saturate(#855, 20%) => #9e3f3f
537
- #
538
- # @param color [Color]
539
- # @param amount [Number]
540
- # @return [Color]
541
- # @see #desaturate
542
- # @raise [ArgumentError] If `color` isn't a color,
543
- # or `number` isn't a number between 0% and 100%
544
- def saturate(color, amount)
545
- adjust(color, amount, :saturation, 0..100, :+, "%")
546
- end
547
-
548
- # Makes a color less saturated.
549
- # Takes a color and an amount between 0% and 100%,
550
- # and returns a color with the saturation decreased by that value.
551
- #
552
- # For example:
553
- #
554
- # desaturate(hsl(120, 30%, 90%), 20%) => hsl(120, 10%, 90%)
555
- # desaturate(#855, 20%) => #726b6b
556
- #
557
- # @param color [Color]
558
- # @param amount [Number]
559
- # @return [Color]
560
- # @see #saturate
561
- # @raise [ArgumentError] If `color` isn't a color,
562
- # or `number` isn't a number between 0% and 100%
563
- def desaturate(color, amount)
564
- adjust(color, amount, :saturation, 0..100, :-, "%")
565
- end
566
-
567
- # Changes the hue of a color while retaining the lightness and saturation.
568
- # Takes a color and a number of degrees (usually between -360deg and 360deg),
569
- # and returns a color with the hue rotated by that value.
570
- #
571
- # For example:
572
- #
573
- # adjust-hue(hsl(120, 30%, 90%), 60deg) => hsl(180, 30%, 90%)
574
- # adjust-hue(hsl(120, 30%, 90%), 060deg) => hsl(60, 30%, 90%)
575
- # adjust-hue(#811, 45deg) => #886a11
576
- #
577
- # @param color [Color]
578
- # @param amount [Number]
579
- # @return [Color]
580
- # @raise [ArgumentError] If `color` isn't a color, or `number` isn't a number
581
- def adjust_hue(color, degrees)
582
- assert_type color, :Color
583
- assert_type degrees, :Number
584
- color.with(:hue => color.hue + degrees.value)
585
- end
586
-
587
- # Mixes together two colors.
588
- # Specifically, takes the average of each of the RGB components,
589
- # optionally weighted by the given percentage.
590
- # The opacity of the colors is also considered when weighting the components.
591
- #
592
- # The weight specifies the amount of the first color that should be included
593
- # in the returned color.
594
- # The default, 50%, means that half the first color
595
- # and half the second color should be used.
596
- # 25% means that a quarter of the first color
597
- # and three quarters of the second color should be used.
598
- #
599
- # For example:
600
- #
601
- # mix(#f00, #00f) => #7f007f
602
- # mix(#f00, #00f, 25%) => #3f00bf
603
- # mix(rgba(255, 0, 0, 0.5), #00f) => rgba(63, 0, 191, 0.75)
604
- #
605
- # @overload mix(color1, color2, weight = 50%)
606
- # @param color1 [Color]
607
- # @param color2 [Color]
608
- # @param weight [Number] between 0% and 100%
609
- # @return [Color]
610
- # @raise [ArgumentError] if `color1` or `color2` aren't colors,
611
- # or `weight` isn't a number between 0% and 100%
612
- def mix(color1, color2, weight = Number.new(50))
613
- assert_type color1, :Color
614
- assert_type color2, :Color
615
- assert_type weight, :Number
616
-
617
- unless (0..100).include?(weight.value)
618
- raise ArgumentError.new("Weight #{weight} must be between 0% and 100%")
619
- end
620
-
621
- # This algorithm factors in both the user-provided weight
622
- # and the difference between the alpha values of the two colors
623
- # to decide how to perform the weighted average of the two RGB values.
624
- #
625
- # It works by first normalizing both parameters to be within [-1, 1],
626
- # where 1 indicates "only use color1", -1 indicates "only use color 0",
627
- # and all values in between indicated a proportionately weighted average.
628
- #
629
- # Once we have the normalized variables w and a,
630
- # we apply the formula (w + a)/(1 + w*a)
631
- # to get the combined weight (in [-1, 1]) of color1.
632
- # This formula has two especially nice properties:
633
- #
634
- # * When either w or a are -1 or 1, the combined weight is also that number
635
- # (cases where w * a == -1 are undefined, and handled as a special case).
636
- #
637
- # * When a is 0, the combined weight is w, and vice versa
638
- #
639
- # Finally, the weight of color1 is renormalized to be within [0, 1]
640
- # and the weight of color2 is given by 1 minus the weight of color1.
641
- p = weight.value/100.0
642
- w = p*2 - 1
643
- a = color1.alpha - color2.alpha
644
-
645
- w1 = (((w * a == -1) ? w : (w + a)/(1 + w*a)) + 1)/2.0
646
- w2 = 1 - w1
647
-
648
- rgb = color1.rgb.zip(color2.rgb).map {|v1, v2| v1*w1 + v2*w2}
649
- alpha = color1.alpha*p + color2.alpha*(1-p)
650
- Color.new(rgb + [alpha])
651
- end
652
-
653
- # Converts a color to grayscale.
654
- # This is identical to `desaturate(color, 100%)`.
655
- #
656
- # @param color [Color]
657
- # @return [Color]
658
- # @raise [ArgumentError] if `color` isn't a color
659
- # @see #desaturate
660
- def grayscale(color)
661
- desaturate color, Number.new(100)
662
- end
663
-
664
- # Returns the complement of a color.
665
- # This is identical to `adjust-hue(color, 180deg)`.
666
- #
667
- # @param color [Color]
668
- # @return [Color]
669
- # @raise [ArgumentError] if `color` isn't a color
670
- # @see #adjust_hue #adjust-hue
671
- def complement(color)
672
- adjust_hue color, Number.new(180)
673
- end
674
-
675
- # Removes quotes from a string if the string is quoted,
676
- # or returns the same string if it's not.
677
- #
678
- # @param str [String]
679
- # @return [String]
680
- # @raise [ArgumentError] if `str` isn't a string
681
- # @see #quote
682
- # @example
683
- # unquote("foo") => foo
684
- # unquote(foo) => foo
685
- def unquote(str)
686
- assert_type str, :String
687
- Sass::Script::String.new(str.value, :identifier)
688
- end
689
-
690
- # Add quotes to a string if the string isn't quoted,
691
- # or returns the same string if it is.
692
- #
693
- # @param str [String]
694
- # @return [String]
695
- # @raise [ArgumentError] if `str` isn't a string
696
- # @see #unquote
697
- # @example
698
- # quote("foo") => "foo"
699
- # quote(foo) => "foo"
700
- def quote(str)
701
- assert_type str, :String
702
- Sass::Script::String.new(str.value, :string)
703
- end
704
-
705
- # Inspects the type of the argument, returning it as an unquoted string.
706
- # For example:
707
- #
708
- # type-of(100px) => number
709
- # type-of(asdf) => string
710
- # type-of("asdf") => string
711
- # type-of(true) => bool
712
- # type-of(#fff) => color
713
- # type-of(blue) => color
714
- #
715
- # @param obj [Literal] The object to inspect
716
- # @return [String] The unquoted string name of the literal's type
717
- def type_of(obj)
718
- Sass::Script::String.new(obj.class.name.gsub(/Sass::Script::/,'').downcase)
719
- end
720
-
721
- # Inspects the unit of the number, returning it as a quoted string.
722
- # Complex units are sorted in alphabetical order by numerator and denominator.
723
- # For example:
724
- #
725
- # unit(100) => ""
726
- # unit(100px) => "px"
727
- # unit(3em) => "em"
728
- # unit(10px * 5em) => "em*px"
729
- # unit(10px * 5em / 30cm / 1rem) => "em*px/cm*rem"
730
- #
731
- # @param number [Literal] The number to inspect
732
- # @return [String] The unit(s) of the number
733
- # @raise [ArgumentError] if `number` isn't a number
734
- def unit(number)
735
- assert_type number, :Number
736
- Sass::Script::String.new(number.unit_str, :string)
737
- end
738
-
739
- # Inspects the unit of the number, returning a boolean indicating if it is unitless.
740
- # For example:
741
- #
742
- # unitless(100) => true
743
- # unitless(100px) => false
744
- #
745
- # @param number [Literal] The number to inspect
746
- # @return [Bool] Whether or not the number is unitless
747
- # @raise [ArgumentError] if `number` isn't a number
748
- def unitless(number)
749
- assert_type number, :Number
750
- Sass::Script::Bool.new(number.unitless?)
751
- end
752
-
753
- # Returns true if two numbers are similar enough to be added, subtracted, or compared.
754
- # For example:
755
- #
756
- # comparable(2px, 1px) => true
757
- # comparable(100px, 3em) => false
758
- # comparable(10cm, 3mm) => true
759
- #
760
- # @param number1 [Number]
761
- # @param number2 [Number]
762
- # @return [Bool] indicating if the numbers can be compared.
763
- # @raise [ArgumentError] if `number1` or `number2` aren't numbers
764
- def comparable(number1, number2)
765
- assert_type number1, :Number
766
- assert_type number2, :Number
767
- Sass::Script::Bool.new(number1.comparable_to?(number2))
164
+ m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s
165
+ m1 = l * 2 - m2
166
+ Color.new([hue_to_rgb(m1, m2, h + 1.0/3),
167
+ hue_to_rgb(m1, m2, h),
168
+ hue_to_rgb(m1, m2, h - 1.0/3)].map { |c| (c * 0xff).round })
768
169
  end
769
170
 
770
171
  # Converts a decimal number to a percentage.
@@ -844,18 +245,13 @@ module Sass::Script
844
245
  Sass::Script::Number.new(yield(value.value), value.numerator_units, value.denominator_units)
845
246
  end
846
247
 
847
- def adjust(color, amount, attr, range, op, units = "")
848
- assert_type color, :Color
849
- assert_type amount, :Number
850
- unless range.include?(amount.value)
851
- raise ArgumentError.new("Amount #{amount} must be between #{range.first}#{units} and #{range.last}#{units}")
852
- end
853
-
854
- # TODO: is it worth restricting here,
855
- # or should we do so in the Color constructor itself,
856
- # and allow clipping in rgb() et al?
857
- color.with(attr => Haml::Util.restrict(
858
- color.send(attr).send(op, amount.value), range))
248
+ def hue_to_rgb(m1, m2, h)
249
+ h += 1 if h < 0
250
+ h -= 1 if h > 1
251
+ return m1 + (m2 - m1) * h * 6 if h * 6 < 1
252
+ return m2 if h * 2 < 1
253
+ return m1 + (m2 - m1) * (2.0/3 - h) * 6 if h * 3 < 2
254
+ return m1
859
255
  end
860
256
  end
861
257
  end