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.
- data/CHANGELOG +0 -16
- data/CONTRIBUTORS +0 -7
- data/README +84 -2
- data/app/controllers/admin/export_controller.rb +5 -0
- data/app/controllers/admin/pages_controller.rb +7 -11
- data/app/controllers/admin/preferences_controller.rb +1 -1
- data/app/controllers/admin/resource_controller.rb +1 -1
- data/app/helpers/admin/pages_helper.rb +3 -1
- data/app/helpers/admin/preferences_helper.rb +0 -1
- data/app/helpers/admin/references_helper.rb +2 -1
- data/app/helpers/application_helper.rb +2 -4
- data/app/models/env_dump_page.rb +17 -0
- data/app/models/file_not_found_page.rb +0 -4
- data/app/models/page.rb +20 -61
- data/app/models/radiant/config.rb +37 -225
- data/app/models/radiant/exporter.rb +11 -0
- data/app/models/standard_tags.rb +108 -116
- data/app/models/status.rb +1 -9
- data/app/models/text_filter.rb +1 -12
- data/app/views/admin/extensions/index.html.haml +2 -2
- data/app/views/admin/layouts/index.html.haml +9 -9
- data/app/views/admin/pages/_fields.html.haml +4 -11
- data/app/views/admin/pages/_meta_row.html.haml +1 -5
- data/app/views/admin/pages/_node.html.haml +8 -8
- data/app/views/admin/pages/_popups.html.haml +1 -14
- data/app/views/admin/pages/index.html.haml +4 -4
- data/app/views/admin/snippets/_form.html.haml +1 -1
- data/app/views/admin/snippets/index.html.haml +10 -10
- data/app/views/admin/users/_avatar.html.haml +1 -3
- data/app/views/admin/users/_form.html.haml +2 -2
- data/app/views/admin/users/_password_fields.html.haml +2 -2
- data/app/views/admin/users/index.html.haml +10 -10
- data/app/views/layouts/application.html.haml +1 -1
- data/config/environment.rb +3 -5
- data/config/locales/en.yml +11 -48
- data/config/locales/en_available_tags.yml +34 -122
- data/config/routes.rb +6 -3
- data/db/schema.rb +3 -9
- data/db/templates/empty.yml +2 -0
- data/db/templates/roasters.yml +1210 -0
- data/db/templates/simple-blog.yml +197 -0
- data/db/templates/styled-blog.yml +472 -0
- data/features/admin/pages_management.feature +9 -2
- data/features/admin/resource_pagination.feature +1 -1
- data/features/admin/snippets_management.feature +1 -2
- data/features/admin/user_permissions.feature +1 -0
- data/features/admin/user_preferences.feature +1 -1
- data/features/step_definitions/admin/content_negotiation_steps.rb +0 -4
- data/features/step_definitions/admin/pagination_steps.rb +4 -2
- data/features/support/paths.rb +0 -2
- data/files +7283 -0
- data/lib/generators/extension/extension_generator.rb +0 -6
- data/lib/generators/extension/templates/README +1 -4
- data/lib/generators/extension/templates/RSpecRakefile +19 -0
- data/lib/generators/extension/templates/Rakefile +17 -0
- data/lib/generators/extension/templates/extension.rb +3 -3
- data/lib/generators/instance/instance_generator.rb +2 -3
- data/lib/generators/instance/templates/instance_environment.rb +2 -3
- data/lib/radiant.rb +2 -2
- data/lib/radiant/admin_ui.rb +11 -27
- data/lib/radiant/extension.rb +2 -8
- data/lib/radiant/extension_loader.rb +0 -4
- data/lib/radiant/initializer.rb +2 -46
- data/lib/radiant/setup.rb +11 -21
- data/lib/task_support.rb +8 -14
- data/lib/tasks/framework.rake +10 -17
- data/lib/tasks/prototype.rake +3 -3
- data/lib/tasks/release.rake +0 -1
- data/public/javascripts/admin/application.js +1 -1
- data/public/javascripts/admin/popup.js +7 -7
- data/public/javascripts/admin/tabcontrol.js +0 -1
- data/public/javascripts/admin/utility.js +2 -3
- data/public/stylesheets/admin/main.css +1213 -1
- data/public/stylesheets/admin/overrides.css +1 -0
- data/public/stylesheets/sass/admin/main.sass +20 -24
- data/public/stylesheets/sass/admin/modules/_links.sass +3 -6
- data/public/stylesheets/sass/admin/modules/_opacity.sass +2 -2
- data/public/stylesheets/sass/admin/modules/_rounded.sass +3 -3
- data/public/stylesheets/sass/admin/modules/_shadow.sass +2 -5
- data/public/stylesheets/sass/admin/partials/_actions.sass +38 -53
- data/public/stylesheets/sass/admin/partials/_avatars.sass +2 -2
- data/public/stylesheets/sass/admin/partials/_base.sass +58 -6
- data/public/stylesheets/sass/admin/partials/_content.sass +182 -10
- data/public/stylesheets/sass/admin/partials/_dateinput.sass +5 -5
- data/public/stylesheets/sass/admin/partials/_deprecated.sass +1 -1
- data/public/stylesheets/sass/admin/partials/_forms.sass +25 -26
- data/public/stylesheets/sass/admin/partials/_header.sass +9 -9
- data/public/stylesheets/sass/admin/partials/_popup.sass +1 -1
- data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +3 -4
- data/radiantcms-couchrest_model.gemspec +3673 -0
- data/rerun.txt +1 -0
- data/spec/controllers/admin/export_controller_spec.rb +16 -0
- data/spec/controllers/admin/pages_controller_spec.rb +6 -35
- data/spec/controllers/admin/preferences_controller_spec.rb +1 -1
- data/spec/datasets/config_dataset.rb +0 -1
- data/spec/datasets/home_page_dataset.rb +3 -1
- data/spec/datasets/pages_dataset.rb +1 -1
- data/spec/fixtures/radiant_config.yml +2 -2
- data/spec/generators/extension_generator_spec.rb +8 -28
- data/spec/generators/instance_generator_spec.rb +3 -10
- data/spec/helpers/admin/node_helper_spec.rb +0 -1
- data/spec/helpers/admin/references_helper_spec.rb +1 -10
- data/spec/helpers/application_helper_spec.rb +2 -7
- data/spec/lib/radiant/admin_ui_spec.rb +10 -11
- data/spec/lib/radiant/extension_spec.rb +3 -3
- data/spec/lib/task_support_spec.rb +0 -6
- data/spec/models/env_dump_page_spec.rb +18 -0
- data/spec/models/file_not_found_page_spec.rb +11 -15
- data/spec/models/page_spec.rb +166 -209
- data/spec/models/radiant/config_spec.rb +3 -38
- data/spec/models/radiant/exporter_spec.rb +25 -0
- data/spec/models/standard_tags_spec.rb +142 -132
- data/spec/models/status_spec.rb +0 -11
- data/spec/models/text_filter_spec.rb +2 -6
- data/test/fixtures/extensions/basic/basic_extension.rb +6 -1
- data/vendor/extensions/archive/README +29 -0
- data/vendor/extensions/archive/Rakefile +120 -0
- data/vendor/extensions/archive/app/models/archive_day_index_page.rb +28 -0
- data/vendor/extensions/archive/app/models/archive_finder.rb +60 -0
- data/vendor/extensions/archive/app/models/archive_month_index_page.rb +28 -0
- data/vendor/extensions/archive/app/models/archive_page.rb +36 -0
- data/vendor/extensions/archive/app/models/archive_year_index_page.rb +28 -0
- data/vendor/extensions/archive/archive_extension.rb +19 -0
- data/vendor/extensions/archive/lib/archive_index_tags_and_methods.rb +57 -0
- data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +28 -0
- data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +51 -0
- data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +20 -0
- data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +20 -0
- data/vendor/extensions/archive/spec/models/archive_page_spec.rb +33 -0
- data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +20 -0
- data/vendor/extensions/archive/spec/spec.opts +6 -0
- data/vendor/extensions/archive/spec/spec_helper.rb +36 -0
- data/vendor/extensions/archive/test/fixtures/pages.yml +397 -0
- data/vendor/extensions/archive/test/functional/archive_extension_test.rb +16 -0
- data/vendor/extensions/archive/test/helpers/archive_index_test_helper.rb +37 -0
- data/vendor/extensions/archive/test/test_helper.rb +26 -0
- data/vendor/extensions/archive/test/unit/archive_day_index_page_test.rb +22 -0
- data/vendor/extensions/archive/test/unit/archive_month_index_page_test.rb +22 -0
- data/vendor/extensions/archive/test/unit/archive_page_test.rb +40 -0
- data/vendor/extensions/archive/test/unit/archive_year_index_page_test.rb +22 -0
- data/vendor/extensions/dutch_language_pack/README +3 -0
- data/vendor/extensions/dutch_language_pack/Rakefile +123 -0
- data/vendor/extensions/dutch_language_pack/config/locales/nl.yml +187 -0
- data/vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml +553 -0
- data/vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb +9 -0
- data/vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake +28 -0
- data/vendor/extensions/french_language_pack/README +3 -0
- data/vendor/extensions/french_language_pack/Rakefile +123 -0
- data/vendor/extensions/french_language_pack/config/locales/fr.yml +190 -0
- data/vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml +553 -0
- data/vendor/extensions/french_language_pack/french_language_pack_extension.rb +9 -0
- data/vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake +28 -0
- data/vendor/extensions/german_language_pack/README +4 -0
- data/vendor/extensions/german_language_pack/Rakefile +123 -0
- data/vendor/extensions/german_language_pack/config/locales/de.yml +186 -0
- data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +624 -0
- data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +9 -0
- data/vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake +28 -0
- data/vendor/extensions/italian_language_pack/README +3 -0
- data/vendor/extensions/italian_language_pack/Rakefile +123 -0
- data/vendor/extensions/italian_language_pack/config/locales/it.yml +184 -0
- data/vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml +553 -0
- data/vendor/extensions/italian_language_pack/italian_language_pack_extension.rb +8 -0
- data/vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake +28 -0
- data/vendor/extensions/japanese_language_pack/README +3 -0
- data/vendor/extensions/japanese_language_pack/Rakefile +123 -0
- data/vendor/extensions/japanese_language_pack/config/locales/ja.yml +184 -0
- data/vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml +553 -0
- data/vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb +9 -0
- data/vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake +28 -0
- data/vendor/extensions/markdown_filter/README +1 -0
- data/vendor/extensions/markdown_filter/Rakefile +120 -0
- data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +14 -0
- data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +18 -0
- data/vendor/extensions/markdown_filter/lib/tasks/markdown_filter_extension_tasks.rake +28 -0
- data/vendor/extensions/markdown_filter/markdown.html +123 -0
- data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +18 -0
- data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +22 -0
- data/vendor/extensions/markdown_filter/spec/spec.opts +6 -0
- data/vendor/extensions/markdown_filter/spec/spec_helper.rb +36 -0
- data/vendor/extensions/markdown_filter/test/test_helper.rb +19 -0
- data/vendor/extensions/markdown_filter/test/unit/markdown_filter_test.rb +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/AUTHORS +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/CONTRIBUTERS +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/COPYING +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +3956 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/GPL +674 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/README +30 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +342 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/benchmark.rb +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +112 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdbasics.text +306 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdsyntax.text +888 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-jruby-1.4.0.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.6.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.7.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.1p243.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.2dev.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/timing.sh +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +78 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.latex +43 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.less.css +510 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +71 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/documentation.page +72 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +63 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +90 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/links.markdown +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.feed +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +564 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +1521 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +51 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/virtual +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +23 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +41 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +111 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +397 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +555 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +164 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +27 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +282 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/base.rb +95 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/html.rb +387 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +301 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/abbreviation.rb +65 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +103 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +47 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +43 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +42 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +58 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +57 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +70 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +101 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +73 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +66 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +173 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +153 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +228 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/math.rb +53 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +44 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +214 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +126 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +52 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/man/man1/kramdown.1 +222 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/setup.rb +1585 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +59 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +100 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.html +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.text +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.html +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.text +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html +31 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.text +36 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.html +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.text +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.html +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.text +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.text +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.html +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.text +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.text +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +117 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.text +66 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.html +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.html +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.text +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.text +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.html +61 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.text +43 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +78 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +48 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.options +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.text +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.html +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.text +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +30 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +29 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.html +21 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.text +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html +62 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.text +57 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +27 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.text +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.html +65 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.text +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.html +103 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.text +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.html +61 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.text +16 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.text +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.html +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.text +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html +40 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.text +42 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.text +22 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.text +42 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +33 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.html +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.text +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.html +16 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.text +16 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.html +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.latex +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.text +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.latex +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.html +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.latex +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.text +26 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.html +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.text +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.text +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.html +41 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.text +41 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.html +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +18 -0
- data/vendor/extensions/russian_language_pack/README +3 -0
- data/vendor/extensions/russian_language_pack/Rakefile +123 -0
- data/vendor/extensions/russian_language_pack/config/locales/ru.yml +180 -0
- data/vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml +553 -0
- data/vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake +28 -0
- data/vendor/extensions/russian_language_pack/russian_language_pack_extension.rb +9 -0
- data/vendor/extensions/smarty_pants_filter/README +1 -0
- data/vendor/extensions/smarty_pants_filter/Rakefile +136 -0
- data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_filter.rb +7 -0
- data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_tags.rb +18 -0
- data/vendor/extensions/smarty_pants_filter/lib/tasks/smarty_pants_filter_extension_tasks.rake +28 -0
- data/vendor/extensions/smarty_pants_filter/smarty_pants_filter_extension.rb +18 -0
- data/vendor/extensions/smarty_pants_filter/smartypants.html +47 -0
- data/vendor/extensions/smarty_pants_filter/spec/models/smarty_pants_filter_spec.rb +19 -0
- data/vendor/extensions/smarty_pants_filter/spec/spec.opts +6 -0
- data/vendor/extensions/smarty_pants_filter/spec/spec_helper.rb +36 -0
- data/vendor/extensions/smarty_pants_filter/test/test_helper.rb +19 -0
- data/vendor/extensions/smarty_pants_filter/test/unit/smarty_pants_filter_test.rb +14 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/README +114 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/Rakefile +84 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/install.rb +9 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/rubypants.rb +490 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/test_rubypants.rb +162 -0
- data/vendor/extensions/textile_filter/README +1 -0
- data/vendor/extensions/textile_filter/Rakefile +120 -0
- data/vendor/extensions/textile_filter/lib/tasks/textile_filter_extension_tasks.rake +0 -0
- data/vendor/extensions/textile_filter/lib/textile_filter.rb +6 -0
- data/vendor/extensions/textile_filter/lib/textile_tags.rb +24 -0
- data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +19 -0
- data/vendor/extensions/textile_filter/spec/spec.opts +6 -0
- data/vendor/extensions/textile_filter/spec/spec_helper.rb +36 -0
- data/vendor/extensions/textile_filter/test/test_helper.rb +19 -0
- data/vendor/extensions/textile_filter/test/unit/textile_filter_test.rb +13 -0
- data/vendor/extensions/textile_filter/textile.html +115 -0
- data/vendor/extensions/textile_filter/textile_filter_extension.rb +10 -0
- data/vendor/plugins/haml/README.md +154 -95
- data/vendor/plugins/haml/Rakefile +91 -104
- data/vendor/plugins/haml/TODO +20 -26
- data/vendor/plugins/haml/VERSION +1 -1
- data/vendor/plugins/haml/VERSION_NAME +1 -1
- data/vendor/plugins/haml/bin/css2sass +1 -7
- data/vendor/plugins/haml/doc-src/FAQ.md +4 -16
- data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +1 -536
- data/vendor/plugins/haml/doc-src/HAML_REFERENCE.md +16 -176
- data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +0 -1159
- data/vendor/plugins/haml/doc-src/SASS_REFERENCE.md +632 -1162
- data/vendor/plugins/haml/extra/haml-mode.el +34 -36
- data/vendor/plugins/haml/extra/sass-mode.el +9 -10
- data/vendor/plugins/haml/haml.gemspec +33 -8
- data/vendor/plugins/haml/lib/haml.rb +2 -5
- data/vendor/plugins/haml/lib/haml/buffer.rb +4 -22
- data/vendor/plugins/haml/lib/haml/engine.rb +4 -13
- data/vendor/plugins/haml/lib/haml/exec.rb +64 -456
- data/vendor/plugins/haml/lib/haml/filters.rb +1 -19
- data/vendor/plugins/haml/lib/haml/helpers.rb +19 -40
- data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +12 -38
- data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +2 -13
- data/vendor/plugins/haml/lib/haml/html.rb +49 -209
- data/vendor/plugins/haml/lib/haml/precompiler.rb +89 -130
- data/vendor/plugins/haml/lib/haml/railtie.rb +13 -16
- data/vendor/plugins/haml/lib/haml/template.rb +12 -13
- data/vendor/plugins/haml/lib/haml/template/plugin.rb +6 -18
- data/vendor/plugins/haml/lib/haml/util.rb +44 -483
- data/vendor/plugins/haml/lib/haml/version.rb +2 -25
- data/vendor/plugins/haml/lib/sass.rb +2 -7
- data/vendor/plugins/haml/lib/sass/css.rb +196 -86
- data/vendor/plugins/haml/lib/sass/engine.rb +99 -304
- data/vendor/plugins/haml/lib/sass/environment.rb +3 -67
- data/vendor/plugins/haml/lib/sass/error.rb +25 -166
- data/vendor/plugins/haml/lib/sass/files.rb +38 -43
- data/vendor/plugins/haml/lib/sass/plugin.rb +150 -198
- data/vendor/plugins/haml/lib/sass/plugin/merb.rb +20 -8
- data/vendor/plugins/haml/lib/sass/plugin/rack.rb +20 -2
- data/vendor/plugins/haml/lib/sass/plugin/rails.rb +9 -16
- data/vendor/plugins/haml/lib/sass/repl.rb +1 -1
- data/vendor/plugins/haml/lib/sass/script.rb +31 -32
- data/vendor/plugins/haml/lib/sass/script/bool.rb +1 -2
- data/vendor/plugins/haml/lib/sass/script/color.rb +26 -295
- data/vendor/plugins/haml/lib/sass/script/funcall.rb +6 -33
- data/vendor/plugins/haml/lib/sass/script/functions.rb +33 -637
- data/vendor/plugins/haml/lib/sass/script/lexer.rb +57 -200
- data/vendor/plugins/haml/lib/sass/script/literal.rb +10 -69
- data/vendor/plugins/haml/lib/sass/script/node.rb +1 -99
- data/vendor/plugins/haml/lib/sass/script/number.rb +24 -64
- data/vendor/plugins/haml/lib/sass/script/operation.rb +3 -53
- data/vendor/plugins/haml/lib/sass/script/parser.rb +50 -229
- data/vendor/plugins/haml/lib/sass/script/string.rb +2 -57
- data/vendor/plugins/haml/lib/sass/script/unary_operation.rb +2 -25
- data/vendor/plugins/haml/lib/sass/script/variable.rb +5 -22
- data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +27 -71
- data/vendor/plugins/haml/lib/sass/tree/debug_node.rb +2 -8
- data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +37 -44
- data/vendor/plugins/haml/lib/sass/tree/for_node.rb +0 -19
- data/vendor/plugins/haml/lib/sass/tree/if_node.rb +0 -26
- data/vendor/plugins/haml/lib/sass/tree/import_node.rb +27 -64
- data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rb +0 -31
- data/vendor/plugins/haml/lib/sass/tree/mixin_node.rb +7 -82
- data/vendor/plugins/haml/lib/sass/tree/node.rb +77 -291
- data/vendor/plugins/haml/lib/sass/tree/prop_node.rb +58 -157
- data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +137 -178
- data/vendor/plugins/haml/lib/sass/tree/variable_node.rb +5 -10
- data/vendor/plugins/haml/lib/sass/tree/while_node.rb +0 -17
- data/vendor/plugins/haml/test/benchmark.rb +5 -5
- data/vendor/plugins/haml/test/haml/engine_test.rb +19 -530
- data/vendor/plugins/haml/test/haml/helper_test.rb +7 -124
- data/vendor/plugins/haml/test/haml/html2haml_test.rb +66 -250
- data/vendor/plugins/haml/test/haml/results/filters.xhtml +1 -1
- data/vendor/plugins/haml/test/haml/results/helpers.xhtml +23 -0
- data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +0 -2
- data/vendor/plugins/haml/test/haml/rhtml/_av_partial_1.rhtml +12 -0
- data/vendor/plugins/haml/test/haml/rhtml/_av_partial_2.rhtml +8 -0
- data/vendor/plugins/haml/test/haml/rhtml/action_view.rhtml +62 -0
- data/vendor/plugins/haml/test/haml/rhtml/standard.rhtml +54 -0
- data/vendor/plugins/haml/test/haml/template_test.rb +3 -33
- data/vendor/plugins/haml/test/haml/templates/helpers.haml +66 -0
- data/vendor/plugins/haml/test/haml/templates/just_stuff.haml +0 -2
- data/vendor/plugins/haml/test/haml/util_test.rb +0 -161
- data/vendor/plugins/haml/test/linked_rails.rb +1 -22
- data/vendor/plugins/haml/test/sass/css2sass_test.rb +18 -130
- data/vendor/plugins/haml/test/sass/engine_test.rb +138 -1426
- data/vendor/plugins/haml/test/sass/functions_test.rb +47 -429
- data/vendor/plugins/haml/test/sass/more_results/more_import.css +1 -1
- data/vendor/plugins/haml/test/sass/more_templates/more_import.sass +3 -3
- data/vendor/plugins/haml/test/sass/plugin_test.rb +56 -246
- data/vendor/plugins/haml/test/sass/results/compact.css +1 -1
- data/vendor/plugins/haml/test/sass/results/complex.css +6 -5
- data/vendor/plugins/haml/test/sass/results/compressed.css +1 -1
- data/vendor/plugins/haml/test/sass/results/expanded.css +1 -1
- data/vendor/plugins/haml/test/sass/results/import.css +1 -3
- data/vendor/plugins/haml/test/sass/results/mixins.css +12 -12
- data/vendor/plugins/haml/test/sass/results/nested.css +1 -1
- data/vendor/plugins/haml/test/sass/results/parent_ref.css +4 -4
- data/vendor/plugins/haml/test/sass/results/script.css +4 -4
- data/vendor/plugins/haml/test/sass/script_test.rb +78 -281
- data/vendor/plugins/haml/test/sass/templates/alt.sass +2 -2
- data/vendor/plugins/haml/test/sass/templates/basic.sass +1 -1
- data/vendor/plugins/haml/test/sass/templates/bork.sass +2 -0
- data/vendor/plugins/haml/test/sass/templates/complex.sass +2 -0
- data/vendor/plugins/haml/test/sass/templates/import.sass +4 -5
- data/vendor/plugins/haml/test/sass/templates/importee.sass +3 -3
- data/vendor/plugins/haml/test/sass/templates/line_numbers.sass +1 -1
- data/vendor/plugins/haml/test/sass/templates/mixins.sass +2 -2
- data/vendor/plugins/haml/test/sass/templates/parent_ref.sass +2 -2
- data/vendor/plugins/haml/test/sass/templates/script.sass +69 -69
- data/vendor/plugins/haml/test/sass/templates/units.sass +10 -10
- data/vendor/plugins/haml/test/test_helper.rb +4 -52
- data/vendor/plugins/haml/yard/default/fulldoc/html/css/common.sass +1 -5
- metadata +2926 -2487
- data/vendor/rack-cache/CHANGES +0 -128
- data/vendor/rack-cache/COPYING +0 -18
- data/vendor/rack-cache/README +0 -110
- data/vendor/rack-cache/Rakefile +0 -137
- data/vendor/rack-cache/TODO +0 -31
- data/vendor/rack-cache/doc/configuration.markdown +0 -86
- data/vendor/rack-cache/doc/faq.markdown +0 -141
- data/vendor/rack-cache/doc/index.markdown +0 -118
- data/vendor/rack-cache/doc/layout.html.erb +0 -34
- data/vendor/rack-cache/doc/license.markdown +0 -24
- data/vendor/rack-cache/doc/rack-cache.css +0 -362
- data/vendor/rack-cache/doc/server.ru +0 -34
- data/vendor/rack-cache/doc/storage.markdown +0 -162
- data/vendor/rack-cache/example/sinatra/app.rb +0 -25
- data/vendor/rack-cache/example/sinatra/views/index.erb +0 -44
- data/vendor/rack-cache/lib/rack/cache.rb +0 -45
- data/vendor/rack-cache/lib/rack/cache/cachecontrol.rb +0 -193
- data/vendor/rack-cache/lib/rack/cache/context.rb +0 -233
- data/vendor/rack-cache/lib/rack/cache/entitystore.rb +0 -253
- data/vendor/rack-cache/lib/rack/cache/key.rb +0 -52
- data/vendor/rack-cache/lib/rack/cache/metastore.rb +0 -328
- data/vendor/rack-cache/lib/rack/cache/options.rb +0 -150
- data/vendor/rack-cache/lib/rack/cache/request.rb +0 -33
- data/vendor/rack-cache/lib/rack/cache/response.rb +0 -267
- data/vendor/rack-cache/lib/rack/cache/storage.rb +0 -49
- data/vendor/rack-cache/rack-cache.gemspec +0 -69
- data/vendor/rack-cache/test/cache_test.rb +0 -38
- data/vendor/rack-cache/test/cachecontrol_test.rb +0 -139
- data/vendor/rack-cache/test/context_test.rb +0 -727
- data/vendor/rack-cache/test/entitystore_test.rb +0 -189
- data/vendor/rack-cache/test/key_test.rb +0 -50
- data/vendor/rack-cache/test/metastore_test.rb +0 -263
- data/vendor/rack-cache/test/options_test.rb +0 -78
- data/vendor/rack-cache/test/pony.jpg +0 -0
- data/vendor/rack-cache/test/request_test.rb +0 -19
- data/vendor/rack-cache/test/response_test.rb +0 -178
- data/vendor/rack-cache/test/spec_setup.rb +0 -202
- data/vendor/rack-cache/test/storage_test.rb +0 -94
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
;; Author: Nathan Weizenbaum
|
6
6
|
;; URL: http://github.com/nex3/haml/tree/master
|
7
|
-
;; Version:
|
7
|
+
;; Version: 2.2.21
|
8
8
|
;; Created: 2007-03-08
|
9
9
|
;; By: Nathan Weizenbaum
|
10
10
|
;; Keywords: markup, language, html
|
@@ -57,6 +57,13 @@ re-indented along with the line itself."
|
|
57
57
|
:type 'boolean
|
58
58
|
:group 'haml)
|
59
59
|
|
60
|
+
(defface haml-tab-face
|
61
|
+
'((((class color)) (:background "hotpink"))
|
62
|
+
(t (:reverse-video t)))
|
63
|
+
"Face to use for highlighting tabs in Haml files."
|
64
|
+
:group 'faces
|
65
|
+
:group 'haml)
|
66
|
+
|
60
67
|
(defvar haml-indent-function 'haml-indent-p
|
61
68
|
"A function for checking if nesting is allowed.
|
62
69
|
This function should look at the current line and return t
|
@@ -66,19 +73,19 @@ The function can also return a positive integer to indicate
|
|
66
73
|
a specific level to which the current line could be indented.")
|
67
74
|
|
68
75
|
(defconst haml-tag-beg-re
|
69
|
-
"^
|
76
|
+
"^ *\\(?:[%\\.#][a-z0-9_:\\-]*\\)+\\(?:(.*)\\|{.*}\\|\\[.*\\]\\)*"
|
70
77
|
"A regexp matching the beginning of a Haml tag, through (), {}, and [].")
|
71
78
|
|
72
79
|
(defvar haml-block-openers
|
73
80
|
`(,(concat haml-tag-beg-re "[><]*[ \t]*$")
|
74
|
-
"^
|
75
|
-
,(concat "^
|
76
|
-
(regexp-opt '("if" "unless" "while" "until" "else"
|
81
|
+
"^ *[&!]?[-=~].*do[ \t]*\\(|.*|[ \t]*\\)?$"
|
82
|
+
,(concat "^ *[&!]?[-=~][ \t]*\\("
|
83
|
+
(regexp-opt '("if" "unless" "while" "until" "else"
|
77
84
|
"begin" "elsif" "rescue" "ensure" "when"))
|
78
85
|
"\\)")
|
79
|
-
"^
|
80
|
-
"^
|
81
|
-
"^
|
86
|
+
"^ */\\(\\[.*\\]\\)?[ \t]*$"
|
87
|
+
"^ *-#"
|
88
|
+
"^ *:")
|
82
89
|
"A list of regexps that match lines of Haml that open blocks.
|
83
90
|
That is, a Haml line that can have text nested beneath it should
|
84
91
|
be matched by a regexp in this list.")
|
@@ -88,7 +95,7 @@ be matched by a regexp in this list.")
|
|
88
95
|
(defun haml-nested-regexp (re)
|
89
96
|
"Create a regexp to match a block starting with RE.
|
90
97
|
The line containing RE is matched, as well as all lines indented beneath it."
|
91
|
-
(concat "^\\(
|
98
|
+
(concat "^\\( *\\)" re "\\(\n\\(?:\\(?:\\1 .*\\| *\\)\n\\)*\\(?:\\1 .*\\| *\\)?\\)?"))
|
92
99
|
|
93
100
|
(defconst haml-font-lock-keywords
|
94
101
|
`((,(haml-nested-regexp "\\(?:-#\\|/\\).*") 0 font-lock-comment-face)
|
@@ -101,11 +108,12 @@ The line containing RE is matched, as well as all lines indented beneath it."
|
|
101
108
|
(haml-highlight-interpolation 1 font-lock-variable-name-face prepend)
|
102
109
|
(haml-highlight-ruby-tag 1 font-lock-preprocessor-face)
|
103
110
|
(haml-highlight-ruby-script 1 font-lock-preprocessor-face)
|
111
|
+
("^ *\\(\t\\)" 1 'haml-tab-face)
|
104
112
|
("^!!!.*" 0 font-lock-constant-face)
|
105
113
|
("| *$" 0 font-lock-string-face)))
|
106
114
|
|
107
|
-
(defconst haml-filter-re "^
|
108
|
-
(defconst haml-comment-re "^
|
115
|
+
(defconst haml-filter-re "^ *:\\w+")
|
116
|
+
(defconst haml-comment-re "^ *\\(?:-\\#\\|/\\)")
|
109
117
|
|
110
118
|
(defun haml-fontify-region (beg end keywords syntax-table syntactic-keywords)
|
111
119
|
"Fontify a region between BEG and END using another mode's fontification.
|
@@ -128,8 +136,7 @@ and `font-lock-syntactic-keywords', respectively."
|
|
128
136
|
|
129
137
|
(defun haml-fontify-region-as-ruby (beg end)
|
130
138
|
"Use Ruby's font-lock variables to fontify the region between BEG and END."
|
131
|
-
(haml-fontify-region beg end ruby-font-lock-keywords
|
132
|
-
ruby-font-lock-syntax-table
|
139
|
+
(haml-fontify-region beg end ruby-font-lock-keywords nil
|
133
140
|
ruby-font-lock-syntactic-keywords))
|
134
141
|
|
135
142
|
(defun haml-handle-filter (filter-name limit fn)
|
@@ -200,7 +207,7 @@ This requires that `markdown-mode' be available."
|
|
200
207
|
(defun haml-highlight-ruby-script (limit)
|
201
208
|
"Highlight a Ruby script expression (-, =, or ~).
|
202
209
|
LIMIT works as it does in `re-search-forward'."
|
203
|
-
(when (re-search-forward "^
|
210
|
+
(when (re-search-forward "^ *\\(-\\|[&!]?[=~]\\) \\(.*\\)$" limit t)
|
204
211
|
(haml-fontify-region-as-ruby (match-beginning 2) (match-end 2))))
|
205
212
|
|
206
213
|
(defun haml-highlight-ruby-tag (limit)
|
@@ -215,7 +222,7 @@ For example, this will highlight all of the following:
|
|
215
222
|
%p[@bar]
|
216
223
|
%p= 'baz'
|
217
224
|
%p{:foo => 'bar'}[@bar]= 'baz'"
|
218
|
-
(when (re-search-forward "^
|
225
|
+
(when (re-search-forward "^ *[%.#]" limit t)
|
219
226
|
(forward-char -1)
|
220
227
|
|
221
228
|
;; Highlight tag, classes, and ids
|
@@ -345,8 +352,7 @@ With ARG, do it that many times."
|
|
345
352
|
;; Move through multiline attrs
|
346
353
|
(when (eq (char-before) ?,)
|
347
354
|
(save-excursion
|
348
|
-
(while (progn (end-of-line)
|
349
|
-
(and (eq (char-before) ?,) (not (eobp))))
|
355
|
+
(while (progn (end-of-line) (and (eq (char-before) ?,) (not (eobp))))
|
350
356
|
(forward-line))
|
351
357
|
|
352
358
|
(forward-line -1)
|
@@ -399,6 +405,7 @@ With ARG, do it that many times."
|
|
399
405
|
(set (make-local-variable 'indent-region-function) 'haml-indent-region)
|
400
406
|
(set (make-local-variable 'parse-sexp-lookup-properties) t)
|
401
407
|
(setq comment-start "-#")
|
408
|
+
(setq indent-tabs-mode nil)
|
402
409
|
(setq font-lock-defaults '((haml-font-lock-keywords) t t)))
|
403
410
|
|
404
411
|
;; Useful functions
|
@@ -611,18 +618,18 @@ TYPE is the type of text parsed ('name or 'value)
|
|
611
618
|
and BEG and END delimit that text in the buffer."
|
612
619
|
(let ((eol (save-excursion (end-of-line) (point))))
|
613
620
|
(while (not (haml-move ")"))
|
614
|
-
(haml-move "
|
621
|
+
(haml-move " *")
|
615
622
|
(unless (haml-move "[a-z0-9_:\\-]+")
|
616
|
-
(return-from haml-parse-new-attr-hash (haml-move "
|
623
|
+
(return-from haml-parse-new-attr-hash (haml-move " *$")))
|
617
624
|
(funcall fn 'name (match-beginning 0) (match-end 0))
|
618
|
-
(haml-move "
|
625
|
+
(haml-move " *")
|
619
626
|
(when (haml-move "=")
|
620
|
-
(haml-move "
|
627
|
+
(haml-move " *")
|
621
628
|
(unless (looking-at "[\"'@a-z]") (return-from haml-parse-new-attr-hash))
|
622
629
|
(let ((beg (point)))
|
623
630
|
(haml-limited-forward-sexp eol)
|
624
631
|
(funcall fn 'value beg (point)))
|
625
|
-
(haml-move "
|
632
|
+
(haml-move " *")))
|
626
633
|
nil))
|
627
634
|
|
628
635
|
(defun haml-compute-indentation ()
|
@@ -695,19 +702,10 @@ back-dent the line by `haml-indent-offset' spaces. On reaching column
|
|
695
702
|
"Add N spaces to the beginning of each line in the region.
|
696
703
|
If N is negative, will remove the spaces instead. Assumes all
|
697
704
|
lines in the region have indentation >= that of the first line."
|
698
|
-
(let
|
699
|
-
(indent-rx
|
700
|
-
(concat "^"
|
701
|
-
(if indent-tabs-mode
|
702
|
-
(concat (make-string (/ ci tab-width) ?\t)
|
703
|
-
(make-string (mod ci tab-width) ?\t))
|
704
|
-
(make-string ci ?\s)))))
|
705
|
+
(let ((ci (current-indentation)))
|
705
706
|
(save-excursion
|
706
|
-
(while (re-search-forward
|
707
|
-
(
|
708
|
-
(delete-horizontal-space)
|
709
|
-
(beginning-of-line)
|
710
|
-
(indent-to (max 0 (+ ci n))))))))
|
707
|
+
(while (re-search-forward (concat "^" (make-string ci ?\s)) (mark) t)
|
708
|
+
(replace-match (make-string (max 0 (+ ci n)) ?\s))))))
|
711
709
|
|
712
710
|
(defun haml-electric-backspace (arg)
|
713
711
|
"Delete characters or back-dent the current line.
|
@@ -730,8 +728,8 @@ the current line."
|
|
730
728
|
(haml-mark-sexp-but-not-next-line)
|
731
729
|
(set-mark (save-excursion (end-of-line) (point))))
|
732
730
|
(haml-reindent-region-by (* (- arg) haml-indent-offset))
|
733
|
-
(
|
734
|
-
|
731
|
+
(back-to-indentation)
|
732
|
+
(pop-mark)))))
|
735
733
|
|
736
734
|
(defun haml-kill-line-and-indent ()
|
737
735
|
"Kill the current line, and re-indent all lines nested beneath it."
|
@@ -4,11 +4,11 @@
|
|
4
4
|
|
5
5
|
;; Author: Nathan Weizenbaum
|
6
6
|
;; URL: http://github.com/nex3/haml/tree/master
|
7
|
-
;; Version:
|
7
|
+
;; Version: 2.2.21
|
8
8
|
;; Created: 2007-03-15
|
9
9
|
;; By: Nathan Weizenbaum
|
10
10
|
;; Keywords: markup, language, css
|
11
|
-
;; Package-Requires: ((haml-mode "
|
11
|
+
;; Package-Requires: ((haml-mode "2.2.21"))
|
12
12
|
|
13
13
|
;;; Commentary:
|
14
14
|
|
@@ -43,12 +43,11 @@
|
|
43
43
|
:group 'sass)
|
44
44
|
|
45
45
|
(defvar sass-non-block-openers
|
46
|
-
'("
|
47
|
-
"^
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
text nested beneath them.")
|
46
|
+
'("^ *:[^ \t]+[ \t]+[^ \t]"
|
47
|
+
"^ *[^ \t:]+[ \t]*[=:][ \t]*[^ \t]")
|
48
|
+
"A list of regexps that match lines of Sass that don't open blocks.
|
49
|
+
That is, a Sass line that can't have text nested beneath it
|
50
|
+
should be matched by a regexp in this list.")
|
52
51
|
|
53
52
|
;; Font lock
|
54
53
|
|
@@ -196,8 +195,8 @@ LIMIT is the limit of the search."
|
|
196
195
|
(defun sass-indent-p ()
|
197
196
|
"Return non-nil if the current line can have lines nested beneath it."
|
198
197
|
(loop for opener in sass-non-block-openers
|
199
|
-
|
200
|
-
|
198
|
+
unless (looking-at opener) return t
|
199
|
+
return nil))
|
201
200
|
|
202
201
|
;;;###autoload
|
203
202
|
(add-to-list 'auto-mode-alist '("\\.sass$" . sass-mode))
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'rake'
|
2
3
|
|
3
4
|
# Note that Haml's gem-compilation process requires access to the filesystem.
|
4
5
|
# This means that it cannot be automatically run by e.g. GitHub's gem system.
|
@@ -9,7 +10,7 @@ HAML_GEMSPEC = Gem::Specification.new do |spec|
|
|
9
10
|
spec.name = File.exist?(File.dirname(__FILE__) + '/EDGE_GEM_VERSION') ? 'haml-edge' : 'haml'
|
10
11
|
spec.summary = "An elegant, structured XHTML/XML templating engine.\nComes with Sass, a similar CSS templating engine."
|
11
12
|
spec.version = File.read(File.dirname(__FILE__) + '/VERSION').strip
|
12
|
-
spec.authors = ['Nathan Weizenbaum', '
|
13
|
+
spec.authors = ['Nathan Weizenbaum', 'Hampton Catlin']
|
13
14
|
spec.email = 'haml@googlegroups.com'
|
14
15
|
spec.description = <<-END
|
15
16
|
Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML
|
@@ -24,12 +25,36 @@ HAML_GEMSPEC = Gem::Specification.new do |spec|
|
|
24
25
|
spec.add_development_dependency 'yard', '>= 0.5.3'
|
25
26
|
spec.add_development_dependency 'maruku', '>= 0.5.9'
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
have_revision = true
|
29
|
+
unless File.exist?('REVISION')
|
30
|
+
begin
|
31
|
+
# We need the revision file to exist,
|
32
|
+
# so we just create it if it doesn't.
|
33
|
+
# It'll usually just get overwritten, though.
|
34
|
+
File.open('REVISION', 'w') { |f| f.puts "(unknown)" }
|
35
|
+
rescue
|
36
|
+
# If the file can't be created (e.g. on Heroku) continue without it
|
37
|
+
have_revision = false
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
readmes = FileList.new('*') do |list|
|
42
|
+
list.exclude(/(^|[^.a-z])[a-z]+/)
|
43
|
+
list.exclude('TODO')
|
44
|
+
list.include('REVISION') if have_revision
|
45
|
+
end.to_a
|
46
|
+
spec.executables = ['haml', 'html2haml', 'sass', 'css2sass']
|
47
|
+
spec.files = FileList['rails/init.rb', 'lib/**/*', 'bin/*', 'test/**/*',
|
48
|
+
'extra/**/*', 'Rakefile', 'init.rb', '.yardopts'].to_a + readmes
|
32
49
|
spec.homepage = 'http://haml-lang.com/'
|
33
|
-
spec.has_rdoc =
|
34
|
-
spec.
|
50
|
+
spec.has_rdoc = true
|
51
|
+
spec.extra_rdoc_files = readmes
|
52
|
+
spec.rdoc_options += [
|
53
|
+
'--title', 'Haml',
|
54
|
+
'--main', 'README.rdoc',
|
55
|
+
'--exclude', 'lib/haml/buffer.rb',
|
56
|
+
'--line-numbers',
|
57
|
+
'--inline-source'
|
58
|
+
]
|
59
|
+
spec.test_files = FileList['test/**/*_test.rb'].to_a
|
35
60
|
end
|
@@ -17,7 +17,6 @@ module Haml
|
|
17
17
|
|
18
18
|
# A string representing the version of Haml.
|
19
19
|
# A more fine-grained representation is available from Haml.version.
|
20
|
-
# @api public
|
21
20
|
VERSION = version[:string] unless defined?(Haml::VERSION)
|
22
21
|
|
23
22
|
# Initializes Haml for Rails.
|
@@ -38,7 +37,5 @@ module Haml
|
|
38
37
|
end
|
39
38
|
|
40
39
|
require 'haml/util'
|
41
|
-
|
42
|
-
|
43
|
-
require 'haml/railtie'
|
44
|
-
end
|
40
|
+
require 'haml/engine'
|
41
|
+
require 'haml/railtie'
|
@@ -233,43 +233,30 @@ RUBY
|
|
233
233
|
|
234
234
|
# Merges two attribute hashes.
|
235
235
|
# This is the same as `to.merge!(from)`,
|
236
|
-
# except that it merges id
|
236
|
+
# except that it merges id and class attributes.
|
237
237
|
#
|
238
238
|
# ids are concatenated with `"_"`,
|
239
239
|
# and classes are concatenated with `" "`.
|
240
|
-
# data hashes are simply merged.
|
241
240
|
#
|
242
241
|
# Destructively modifies both `to` and `from`.
|
243
242
|
#
|
244
243
|
# @param to [{String => String}] The attribute hash to merge into
|
245
|
-
# @param from [{String =>
|
244
|
+
# @param from [{String => String}] The attribute hash to merge from
|
246
245
|
# @return [{String => String}] `to`, after being merged
|
247
246
|
def self.merge_attrs(to, from)
|
248
|
-
from['id'] = Precompiler.filter_and_join(from['id'], '_') if from['id']
|
249
247
|
if to['id'] && from['id']
|
250
248
|
to['id'] << '_' << from.delete('id').to_s
|
251
249
|
elsif to['id'] || from['id']
|
252
250
|
from['id'] ||= to['id']
|
253
251
|
end
|
254
252
|
|
255
|
-
from['class'] = Precompiler.filter_and_join(from['class'], ' ') if from['class']
|
256
253
|
if to['class'] && from['class']
|
257
254
|
# Make sure we don't duplicate class names
|
258
|
-
from['class'] = (from['class'].
|
255
|
+
from['class'] = (from['class'].split(' ') | to['class'].split(' ')).sort.join(' ')
|
259
256
|
elsif to['class'] || from['class']
|
260
257
|
from['class'] ||= to['class']
|
261
258
|
end
|
262
259
|
|
263
|
-
from_data = from['data'].is_a?(Hash)
|
264
|
-
to_data = to['data'].is_a?(Hash)
|
265
|
-
if from_data && to_data
|
266
|
-
to['data'] = to['data'].merge(from['data'])
|
267
|
-
elsif to_data
|
268
|
-
to = Haml::Util.map_keys(to.delete('data')) {|name| "data-#{name}"}.merge(to)
|
269
|
-
elsif from_data
|
270
|
-
from = Haml::Util.map_keys(from.delete('data')) {|name| "data-#{name}"}.merge(from)
|
271
|
-
end
|
272
|
-
|
273
260
|
to.merge!(from)
|
274
261
|
end
|
275
262
|
|
@@ -291,12 +278,7 @@ RUBY
|
|
291
278
|
ref = ref[0]
|
292
279
|
# Let's make sure the value isn't nil. If it is, return the default Hash.
|
293
280
|
return {} if ref.nil?
|
294
|
-
class_name =
|
295
|
-
if ref.respond_to?(:haml_object_ref)
|
296
|
-
ref.haml_object_ref
|
297
|
-
else
|
298
|
-
underscore(ref.class)
|
299
|
-
end
|
281
|
+
class_name = underscore(ref.class)
|
300
282
|
id = "#{class_name}_#{ref.id || 'new'}"
|
301
283
|
if prefix
|
302
284
|
class_name = "#{ prefix }_#{ class_name}"
|
@@ -85,21 +85,14 @@ module Haml
|
|
85
85
|
:format => :xhtml,
|
86
86
|
:escape_html => false,
|
87
87
|
}
|
88
|
-
|
89
|
-
|
90
|
-
template = check_haml_encoding(template) do |msg, line|
|
91
|
-
raise Haml::Error.new(msg, line)
|
92
|
-
end
|
93
|
-
|
94
88
|
unless ruby1_8?
|
95
|
-
@options[:encoding] = Encoding.default_internal ||
|
96
|
-
@options[:encoding] = "utf-8" if @options[:encoding].name == "US-ASCII"
|
89
|
+
@options[:encoding] = Encoding.default_internal || "utf-8"
|
97
90
|
end
|
98
91
|
@options.merge! options.reject {|k, v| v.nil?}
|
99
92
|
@index = 0
|
100
93
|
|
101
94
|
unless [:xhtml, :html4, :html5].include?(@options[:format])
|
102
|
-
raise Haml::Error, "Invalid
|
95
|
+
raise Haml::Error, "Invalid format #{@options[:format].inspect}"
|
103
96
|
end
|
104
97
|
|
105
98
|
if @options[:encoding] && @options[:encoding].is_a?(Encoding)
|
@@ -120,9 +113,7 @@ module Haml
|
|
120
113
|
|
121
114
|
precompile
|
122
115
|
rescue Haml::Error => e
|
123
|
-
|
124
|
-
e.backtrace.unshift "#{@options[:filename]}:#{(e.line ? e.line + 1 : @index) + @options[:line] - 1}"
|
125
|
-
end
|
116
|
+
e.backtrace.unshift "#{@options[:filename]}:#{(e.line ? e.line + 1 : @index) + @options[:line] - 1}" if @index
|
126
117
|
raise
|
127
118
|
end
|
128
119
|
|
@@ -190,7 +181,7 @@ module Haml
|
|
190
181
|
ensure
|
191
182
|
# Get rid of the current buffer
|
192
183
|
scope_object.instance_eval do
|
193
|
-
@haml_buffer = buffer.upper
|
184
|
+
@haml_buffer = buffer.upper
|
194
185
|
end
|
195
186
|
end
|
196
187
|
alias_method :to_html, :render
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
require 'fileutils'
|
3
|
+
require 'rbconfig'
|
3
4
|
|
4
5
|
module Haml
|
5
|
-
# This module handles the various Haml executables (`haml`, `sass`, `
|
6
|
+
# This module handles the various Haml executables (`haml`, `sass`, `css2sass`, etc).
|
6
7
|
module Exec
|
7
8
|
# An abstract class that encapsulates the executable code for all three executables.
|
8
9
|
class Generic
|
@@ -14,35 +15,23 @@ module Haml
|
|
14
15
|
|
15
16
|
# Parses the command-line arguments and runs the executable.
|
16
17
|
# Calls `Kernel#exit` at the end, so it never returns.
|
17
|
-
#
|
18
|
-
# @see #parse
|
19
18
|
def parse!
|
20
19
|
begin
|
21
|
-
|
20
|
+
@opts = OptionParser.new(&method(:set_opts))
|
21
|
+
@opts.parse!(@args)
|
22
|
+
|
23
|
+
process_result
|
24
|
+
|
25
|
+
@options
|
22
26
|
rescue Exception => e
|
23
27
|
raise e if @options[:trace] || e.is_a?(SystemExit)
|
24
28
|
|
25
|
-
$stderr.
|
26
|
-
$stderr.puts "#{e.message}"
|
27
|
-
$stderr.puts " Use --trace for backtrace."
|
29
|
+
$stderr.puts e.message
|
28
30
|
exit 1
|
29
31
|
end
|
30
32
|
exit 0
|
31
33
|
end
|
32
34
|
|
33
|
-
# Parses the command-line arguments and runs the executable.
|
34
|
-
# This does not handle exceptions or exit the program.
|
35
|
-
#
|
36
|
-
# @see #parse!
|
37
|
-
def parse
|
38
|
-
@opts = OptionParser.new(&method(:set_opts))
|
39
|
-
@opts.parse!(@args)
|
40
|
-
|
41
|
-
process_result
|
42
|
-
|
43
|
-
@options
|
44
|
-
end
|
45
|
-
|
46
35
|
# @return [String] A description of the executable
|
47
36
|
def to_s
|
48
37
|
@opts.to_s
|
@@ -59,8 +48,8 @@ module Haml
|
|
59
48
|
# SyntaxErrors have weird line reporting
|
60
49
|
# when there's trailing whitespace,
|
61
50
|
# which there is for Haml documents.
|
62
|
-
return
|
63
|
-
|
51
|
+
return exception.message.scan(/:(\d+)/).first.first if exception.is_a?(::SyntaxError)
|
52
|
+
exception.backtrace[0].scan(/:(\d+)/).first.first
|
64
53
|
end
|
65
54
|
|
66
55
|
# Tells optparse how to parse the arguments
|
@@ -79,8 +68,10 @@ module Haml
|
|
79
68
|
@options[:trace] = true
|
80
69
|
end
|
81
70
|
|
82
|
-
|
83
|
-
|
71
|
+
if RbConfig::CONFIG['host_os'] =~ /mswin|windows/i
|
72
|
+
opts.on('--unix-newlines', 'Use Unix-style newlines in written files.') do
|
73
|
+
@options[:unix_newlines] = true
|
74
|
+
end
|
84
75
|
end
|
85
76
|
|
86
77
|
opts.on_tail("-?", "-h", "--help", "Show this message") do
|
@@ -102,50 +93,21 @@ module Haml
|
|
102
93
|
# so they can run their respective programs.
|
103
94
|
def process_result
|
104
95
|
input, output = @options[:input], @options[:output]
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
96
|
+
input_file, output_file = if input
|
97
|
+
[nil, open_file(@args[0], 'w')]
|
98
|
+
else
|
99
|
+
@options[:filename] = @args[0]
|
100
|
+
[open_file(@args[0]), open_file(@args[1], 'w')]
|
101
|
+
end
|
102
|
+
|
103
|
+
input ||= input_file
|
104
|
+
output ||= output_file
|
105
|
+
input ||= $stdin
|
106
|
+
output ||= $stdout
|
113
107
|
|
114
108
|
@options[:input], @options[:output] = input, output
|
115
109
|
end
|
116
110
|
|
117
|
-
COLORS = { :red => 31, :green => 32, :yellow => 33 }
|
118
|
-
|
119
|
-
# Prints a status message about performing the given action,
|
120
|
-
# colored using the given color (via terminal escapes) if possible.
|
121
|
-
#
|
122
|
-
# @param name [#to_s] A short name for the action being performed.
|
123
|
-
# Shouldn't be longer than 11 characters.
|
124
|
-
# @param color [Symbol] The name of the color to use for this action.
|
125
|
-
# Can be `:red`, `:green`, or `:yellow`.
|
126
|
-
def puts_action(name, color, arg)
|
127
|
-
printf color(color, "%11s %s\n"), name, arg
|
128
|
-
end
|
129
|
-
|
130
|
-
# Wraps the given string in terminal escapes
|
131
|
-
# causing it to have the given color.
|
132
|
-
# If terminal esapes aren't supported on this platform,
|
133
|
-
# just returns the string instead.
|
134
|
-
#
|
135
|
-
# @param color [Symbol] The name of the color to use.
|
136
|
-
# Can be `:red`, `:green`, or `:yellow`.
|
137
|
-
# @param str [String] The string to wrap in the given color.
|
138
|
-
# @return [String] The wrapped string.
|
139
|
-
def color(color, str)
|
140
|
-
raise "[BUG] Unrecognized color #{color}" unless COLORS[color]
|
141
|
-
|
142
|
-
# Almost any real Unix terminal will support color,
|
143
|
-
# so we just filter for Windows terms (which don't set TERM)
|
144
|
-
# and not-real terminals, which aren't ttys.
|
145
|
-
return str if ENV["TERM"].nil? || ENV["TERM"].empty? || !STDOUT.tty?
|
146
|
-
return "\e[#{COLORS[color]}m#{str}\e[0m"
|
147
|
-
end
|
148
|
-
|
149
111
|
private
|
150
112
|
|
151
113
|
def open_file(filename, flag = 'r')
|
@@ -153,17 +115,6 @@ module Haml
|
|
153
115
|
flag = 'wb' if @options[:unix_newlines] && flag == 'w'
|
154
116
|
File.open(filename, flag)
|
155
117
|
end
|
156
|
-
|
157
|
-
def handle_load_error(err)
|
158
|
-
dep = err.message[/^no such file to load -- (.*)/, 1]
|
159
|
-
raise err if @options[:trace] || dep.nil? || dep.empty?
|
160
|
-
$stderr.puts <<MESSAGE
|
161
|
-
Required dependency #{dep} not found!
|
162
|
-
Run "gem install #{dep}" to get it.
|
163
|
-
Use --trace for backtrace.
|
164
|
-
MESSAGE
|
165
|
-
exit 1
|
166
|
-
end
|
167
118
|
end
|
168
119
|
|
169
120
|
# An abstrac class that encapsulates the code
|
@@ -198,29 +149,18 @@ END
|
|
198
149
|
opts.on('--rails RAILS_DIR', "Install Haml and Sass from the Gem to a Rails project") do |dir|
|
199
150
|
original_dir = dir
|
200
151
|
|
201
|
-
env = File.join(dir, "config", "environment.rb")
|
202
|
-
if File.exists?(File.join(dir, "Gemfile"))
|
203
|
-
puts("haml --rails isn't needed for Rails 3 or greater.",
|
204
|
-
"Add 'gem \"haml\"' to your Gemfile instead.", "",
|
205
|
-
"haml --rails will no longer work in the next version of #{@name}.", "")
|
206
|
-
elsif File.exists?(env) && File.open(env) {|env| env.grep(/config\.gem/)}
|
207
|
-
puts("haml --rails isn't needed for Rails 2.1 or greater.",
|
208
|
-
"Add 'config.gem \"haml\"' to config/environment.rb instead.", "",
|
209
|
-
"haml --rails will no longer work in the next version of #{@name}.", "")
|
210
|
-
end
|
211
|
-
|
212
152
|
dir = File.join(dir, 'vendor', 'plugins')
|
213
153
|
|
214
154
|
unless File.exists?(dir)
|
215
155
|
puts "Directory #{dir} doesn't exist"
|
216
|
-
exit
|
156
|
+
exit
|
217
157
|
end
|
218
158
|
|
219
159
|
dir = File.join(dir, 'haml')
|
220
160
|
|
221
161
|
if File.exists?(dir)
|
222
162
|
print "Directory #{dir} already exists, overwrite [y/N]? "
|
223
|
-
exit
|
163
|
+
exit if gets !~ /y/i
|
224
164
|
FileUtils.rm_rf(dir)
|
225
165
|
end
|
226
166
|
|
@@ -228,7 +168,7 @@ END
|
|
228
168
|
Dir.mkdir(dir)
|
229
169
|
rescue SystemCallError
|
230
170
|
puts "Cannot create #{dir}"
|
231
|
-
exit
|
171
|
+
exit
|
232
172
|
end
|
233
173
|
|
234
174
|
File.open(File.join(dir, 'init.rb'), 'w') do |file|
|
@@ -278,35 +218,10 @@ END
|
|
278
218
|
def set_opts(opts)
|
279
219
|
super
|
280
220
|
|
281
|
-
opts.on('--scss',
|
282
|
-
'Use the CSS-superset SCSS syntax.') do
|
283
|
-
@options[:for_engine][:syntax] = :scss
|
284
|
-
end
|
285
|
-
opts.on('--watch', 'Watch files or directories for changes.',
|
286
|
-
'The location of the generated CSS can be set using a colon:',
|
287
|
-
' sass --watch input.sass:output.css',
|
288
|
-
' sass --watch input-dir:output-dir') do
|
289
|
-
@options[:watch] = true
|
290
|
-
end
|
291
|
-
opts.on('--update', 'Compile files or directories to CSS.',
|
292
|
-
'Locations are set like --watch.') do
|
293
|
-
@options[:update] = true
|
294
|
-
end
|
295
|
-
opts.on('--stop-on-error', 'If a file fails to compile, exit immediately.',
|
296
|
-
'Only meaningful for --watch and --update.') do
|
297
|
-
@options[:stop_on_error] = true
|
298
|
-
end
|
299
221
|
opts.on('-t', '--style NAME',
|
300
222
|
'Output style. Can be nested (default), compact, compressed, or expanded.') do |name|
|
301
223
|
@options[:for_engine][:style] = name.to_sym
|
302
224
|
end
|
303
|
-
opts.on('-q', '--quiet', 'Silence warnings during compilation.') do
|
304
|
-
@options[:for_engine][:quiet] = true
|
305
|
-
end
|
306
|
-
opts.on('-g', '--debug-info',
|
307
|
-
'Emit extra information in the generated CSS that can be used by the FireSass Firebug plugin.') do
|
308
|
-
@options[:for_engine][:debug_info] = true
|
309
|
-
end
|
310
225
|
opts.on('-l', '--line-numbers', '--line-comments',
|
311
226
|
'Emit comments in the generated CSS indicating the corresponding sass line.') do
|
312
227
|
@options[:for_engine][:line_numbers] = true
|
@@ -318,44 +233,30 @@ END
|
|
318
233
|
opts.on('-I', '--load-path PATH', 'Add a sass import path.') do |path|
|
319
234
|
@options[:for_engine][:load_paths] << path
|
320
235
|
end
|
321
|
-
opts.on('-r', '--require LIB', 'Require a Ruby library before running Sass.') do |lib|
|
322
|
-
require lib
|
323
|
-
end
|
324
236
|
opts.on('--cache-location PATH', 'The path to put cached Sass files. Defaults to .sass-cache.') do |loc|
|
325
237
|
@options[:for_engine][:cache_location] = loc
|
326
238
|
end
|
327
239
|
opts.on('-C', '--no-cache', "Don't cache to sassc files.") do
|
328
240
|
@options[:for_engine][:cache] = false
|
329
241
|
end
|
330
|
-
|
331
|
-
unless ::Haml::Util.ruby1_8?
|
332
|
-
opts.on('-E encoding', 'Specify the default encoding for Sass files.') do |encoding|
|
333
|
-
Encoding.default_external = encoding
|
334
|
-
end
|
335
|
-
end
|
336
242
|
end
|
337
243
|
|
338
244
|
# Processes the options set by the command-line arguments,
|
339
245
|
# and runs the Sass compiler appropriately.
|
340
246
|
def process_result
|
341
|
-
if
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
@options[:update] = true
|
347
|
-
end
|
247
|
+
if @options[:interactive]
|
248
|
+
require 'sass'
|
249
|
+
require 'sass/repl'
|
250
|
+
::Sass::Repl.new(@options).run
|
251
|
+
return
|
348
252
|
end
|
349
253
|
|
350
|
-
return interactive if @options[:interactive]
|
351
|
-
return watch_or_update if @options[:watch] || @options[:update]
|
352
254
|
super
|
353
255
|
|
354
256
|
begin
|
355
257
|
input = @options[:input]
|
356
258
|
output = @options[:output]
|
357
259
|
|
358
|
-
@options[:for_engine][:syntax] ||= :scss if input.is_a?(File) && input.path =~ /\.scss$/
|
359
260
|
tree =
|
360
261
|
if input.is_a?(File) && !@options[:check_syntax]
|
361
262
|
::Sass::Files.tree_for(input.path, @options[:for_engine])
|
@@ -372,105 +273,9 @@ END
|
|
372
273
|
output.close() if output.is_a? File
|
373
274
|
rescue ::Sass::SyntaxError => e
|
374
275
|
raise e if @options[:trace]
|
375
|
-
raise e.
|
276
|
+
raise "Syntax error on line #{get_line e}: #{e.message}"
|
376
277
|
end
|
377
278
|
end
|
378
|
-
|
379
|
-
private
|
380
|
-
|
381
|
-
def interactive
|
382
|
-
require 'sass'
|
383
|
-
require 'sass/repl'
|
384
|
-
::Sass::Repl.new(@options).run
|
385
|
-
end
|
386
|
-
|
387
|
-
def watch_or_update
|
388
|
-
require 'sass'
|
389
|
-
require 'sass/plugin'
|
390
|
-
::Sass::Plugin.options.merge! @options[:for_engine]
|
391
|
-
::Sass::Plugin.options[:unix_newlines] = @options[:unix_newlines]
|
392
|
-
|
393
|
-
raise <<MSG if @args.empty?
|
394
|
-
What files should I watch? Did you mean something like:
|
395
|
-
sass --watch input.sass:output.css
|
396
|
-
sass --watch input-dir:output-dir
|
397
|
-
MSG
|
398
|
-
|
399
|
-
if !colon_path?(@args[0]) && probably_dest_dir?(@args[1])
|
400
|
-
flag = @options[:update] ? "--update" : "--watch"
|
401
|
-
err =
|
402
|
-
if !File.exist?(@args[1])
|
403
|
-
"doesn't exist"
|
404
|
-
elsif @args[1] =~ /\.css$/
|
405
|
-
"is a CSS file"
|
406
|
-
end
|
407
|
-
raise <<MSG if err
|
408
|
-
File #{@args[1]} #{err}.
|
409
|
-
Did you mean: sass #{flag} #{@args[0]}:#{@args[1]}
|
410
|
-
MSG
|
411
|
-
end
|
412
|
-
|
413
|
-
dirs, files = @args.map {|name| split_colon_path(name)}.
|
414
|
-
partition {|i, _| File.directory? i}
|
415
|
-
files.map! {|from, to| [from, to || from.gsub(/\..*?$/, '.css')]}
|
416
|
-
dirs.map! {|from, to| [from, to || from]}
|
417
|
-
::Sass::Plugin.options[:template_location] = dirs
|
418
|
-
|
419
|
-
::Sass::Plugin.on_updating_stylesheet do |_, css|
|
420
|
-
if File.exists? css
|
421
|
-
puts_action :overwrite, :yellow, css
|
422
|
-
else
|
423
|
-
puts_action :create, :green, css
|
424
|
-
end
|
425
|
-
end
|
426
|
-
|
427
|
-
had_error = false
|
428
|
-
::Sass::Plugin.on_creating_directory {|dirname| puts_action :directory, :green, dirname}
|
429
|
-
::Sass::Plugin.on_deleting_css {|filename| puts_action :delete, :yellow, filename}
|
430
|
-
::Sass::Plugin.on_compilation_error do |error, _, _|
|
431
|
-
raise error unless error.is_a?(::Sass::SyntaxError) && !@options[:stop_on_error]
|
432
|
-
had_error = true
|
433
|
-
puts_action :error, :red, "#{error.sass_filename} (Line #{error.sass_line}: #{error.message})"
|
434
|
-
end
|
435
|
-
|
436
|
-
if @options[:update]
|
437
|
-
::Sass::Plugin.update_stylesheets(files)
|
438
|
-
exit 1 if had_error
|
439
|
-
return
|
440
|
-
end
|
441
|
-
|
442
|
-
puts ">>> Sass is watching for changes. Press Ctrl-C to stop."
|
443
|
-
|
444
|
-
::Sass::Plugin.on_template_modified {|template| puts ">>> Change detected to: #{template}"}
|
445
|
-
::Sass::Plugin.on_template_created {|template| puts ">>> New template detected: #{template}"}
|
446
|
-
::Sass::Plugin.on_template_deleted {|template| puts ">>> Deleted template detected: #{template}"}
|
447
|
-
|
448
|
-
::Sass::Plugin.watch(files)
|
449
|
-
end
|
450
|
-
|
451
|
-
def colon_path?(path)
|
452
|
-
!split_colon_path(path)[1].nil?
|
453
|
-
end
|
454
|
-
|
455
|
-
def split_colon_path(path)
|
456
|
-
one, two = path.split(':', 2)
|
457
|
-
if one && two && ::Haml::Util.windows? &&
|
458
|
-
one =~ /\A[A-Za-z]\Z/ && two =~ /\A[\/\\]/
|
459
|
-
# If we're on Windows and we were passed a drive letter path,
|
460
|
-
# don't split on that colon.
|
461
|
-
one2, two = two.split(':', 2)
|
462
|
-
one = one + ':' + one2
|
463
|
-
end
|
464
|
-
return one, two
|
465
|
-
end
|
466
|
-
|
467
|
-
# Whether path is likely to be meant as the destination
|
468
|
-
# in a source:dest pair.
|
469
|
-
def probably_dest_dir?(path)
|
470
|
-
return false unless path
|
471
|
-
return false if colon_path?(path)
|
472
|
-
return Dir.glob(File.join(path, "*.s[ca]ss")).empty?
|
473
|
-
end
|
474
279
|
end
|
475
280
|
|
476
281
|
# The `haml` executable.
|
@@ -504,11 +309,6 @@ MSG
|
|
504
309
|
@options[:for_engine][:escape_html] = true
|
505
310
|
end
|
506
311
|
|
507
|
-
opts.on('-q', '--double-quote-attributes',
|
508
|
-
'Set attribute wrapper to double-quotes (default is single).') do
|
509
|
-
@options[:for_engine][:attr_wrapper] = '"'
|
510
|
-
end
|
511
|
-
|
512
312
|
opts.on('-r', '--require FILE', "Same as 'ruby -r'.") do |file|
|
513
313
|
@options[:requires] << file
|
514
314
|
end
|
@@ -517,14 +317,6 @@ MSG
|
|
517
317
|
@options[:load_paths] << path
|
518
318
|
end
|
519
319
|
|
520
|
-
unless ::Haml::Util.ruby1_8?
|
521
|
-
opts.on('-E ex[:in]', 'Specify the default external and internal character encodings.') do |encoding|
|
522
|
-
external, internal = encoding.split(':')
|
523
|
-
Encoding.default_external = external if external && !external.empty?
|
524
|
-
Encoding.default_internal = internal if internal && !internal.empty?
|
525
|
-
end
|
526
|
-
end
|
527
|
-
|
528
320
|
opts.on('--debug', "Print out the precompiled Ruby source.") do
|
529
321
|
@options[:debug] = true
|
530
322
|
end
|
@@ -576,7 +368,17 @@ MSG
|
|
576
368
|
# @param args [Array<String>] The command-line arguments
|
577
369
|
def initialize(args)
|
578
370
|
super
|
371
|
+
|
579
372
|
@module_opts = {}
|
373
|
+
|
374
|
+
begin
|
375
|
+
require 'haml/html'
|
376
|
+
rescue LoadError => err
|
377
|
+
dep = err.message.scan(/^no such file to load -- (.*)/)[0]
|
378
|
+
raise err if @options[:trace] || dep.nil? || dep.empty?
|
379
|
+
$stderr.puts "Required dependency #{dep} not found!\n Use --trace for backtrace."
|
380
|
+
exit 1
|
381
|
+
end
|
580
382
|
end
|
581
383
|
|
582
384
|
# Tells optparse how to parse the arguments.
|
@@ -591,20 +393,12 @@ Description: Transforms an HTML file into corresponding Haml code.
|
|
591
393
|
Options:
|
592
394
|
END
|
593
395
|
|
594
|
-
opts.on('-
|
595
|
-
@module_opts[:
|
396
|
+
opts.on('-r', '--rhtml', 'Parse RHTML tags.') do
|
397
|
+
@module_opts[:rhtml] = true
|
596
398
|
end
|
597
399
|
|
598
|
-
opts.on('--no-
|
599
|
-
@options[:
|
600
|
-
end
|
601
|
-
|
602
|
-
opts.on('-r', '--rhtml', 'Deprecated; same as --erb.') do
|
603
|
-
@module_opts[:erb] = true
|
604
|
-
end
|
605
|
-
|
606
|
-
opts.on('--no-rhtml', "Deprecated; same as --no-erb.") do
|
607
|
-
@options[:no_erb] = true
|
400
|
+
opts.on('--no-rhtml', "Don't parse RHTML tags.") do
|
401
|
+
@options[:no_rhtml] = true
|
608
402
|
end
|
609
403
|
|
610
404
|
opts.on('-x', '--xhtml', 'Parse the input using the more strict XHTML parser.') do
|
@@ -619,31 +413,25 @@ END
|
|
619
413
|
def process_result
|
620
414
|
super
|
621
415
|
|
622
|
-
require 'haml/html'
|
623
|
-
|
624
416
|
input = @options[:input]
|
625
417
|
output = @options[:output]
|
626
418
|
|
627
|
-
@module_opts[:
|
628
|
-
@module_opts[:
|
419
|
+
@module_opts[:rhtml] ||= input.respond_to?(:path) && input.path =~ /\.(rhtml|erb)$/
|
420
|
+
@module_opts[:rhtml] &&= @options[:no_rhtml] != false
|
629
421
|
|
630
422
|
output.write(::Haml::HTML.new(input, @module_opts).render)
|
631
|
-
rescue ::Haml::Error => e
|
632
|
-
raise "#{e.is_a?(::Haml::SyntaxError) ? "Syntax error" : "Error"} on line " +
|
633
|
-
"#{get_line e}: #{e.message}"
|
634
|
-
rescue LoadError => err
|
635
|
-
handle_load_error(err)
|
636
423
|
end
|
637
424
|
end
|
638
425
|
|
639
|
-
# The `
|
640
|
-
class
|
426
|
+
# The `css2sass` executable.
|
427
|
+
class CSS2Sass < Generic
|
641
428
|
# @param args [Array<String>] The command-line arguments
|
642
429
|
def initialize(args)
|
643
430
|
super
|
644
|
-
|
645
|
-
@
|
646
|
-
|
431
|
+
|
432
|
+
@module_opts = {}
|
433
|
+
|
434
|
+
require 'sass/css'
|
647
435
|
end
|
648
436
|
|
649
437
|
# Tells optparse how to parse the arguments.
|
@@ -651,67 +439,18 @@ END
|
|
651
439
|
# @param opts [OptionParser]
|
652
440
|
def set_opts(opts)
|
653
441
|
opts.banner = <<END
|
654
|
-
Usage:
|
442
|
+
Usage: css2sass [options] [INPUT] [OUTPUT]
|
655
443
|
|
656
|
-
Description:
|
657
|
-
Converts between CSS, Sass, and SCSS files.
|
658
|
-
E.g. converts from SCSS to Sass,
|
659
|
-
or converts from CSS to SCSS (adding appropriate nesting).
|
444
|
+
Description: Transforms a CSS file into corresponding Sass code.
|
660
445
|
|
661
446
|
Options:
|
662
447
|
END
|
663
448
|
|
664
|
-
opts.on('
|
665
|
-
|
666
|
-
'sass2 is the same as sass, but updates more old syntax to new.',
|
667
|
-
'By default, this is inferred from the input filename.',
|
668
|
-
'If there is none, defaults to css.') do |name|
|
669
|
-
@options[:from] = name.downcase.to_sym
|
670
|
-
unless [:css, :scss, :sass, :less, :sass2].include?(@options[:from])
|
671
|
-
raise "Unknown format for sass-convert --from: #{name}"
|
672
|
-
end
|
673
|
-
try_less_note if @options[:from] == :less
|
674
|
-
end
|
675
|
-
|
676
|
-
opts.on('-T', '--to FORMAT',
|
677
|
-
'The format to convert to. Can be scss or sass.',
|
678
|
-
'By default, this is inferred from the output filename.',
|
679
|
-
'If there is none, defaults to sass.') do |name|
|
680
|
-
@options[:to] = name.downcase.to_sym
|
681
|
-
unless [:scss, :sass].include?(@options[:to])
|
682
|
-
raise "Unknown format for sass-convert --to: #{name}"
|
683
|
-
end
|
684
|
-
end
|
685
|
-
|
686
|
-
opts.on('-R', '--recursive',
|
687
|
-
'Convert all the files in a directory. Requires --from and --to.') do
|
688
|
-
@options[:recursive] = true
|
449
|
+
opts.on('--old', 'Output the old-style ":prop val" property syntax') do
|
450
|
+
@module_opts[:old] = true
|
689
451
|
end
|
690
452
|
|
691
|
-
opts.
|
692
|
-
'Convert a file to its own syntax.',
|
693
|
-
'This can be used to update some deprecated syntax.') do
|
694
|
-
@options[:in_place] = true
|
695
|
-
end
|
696
|
-
|
697
|
-
opts.on('--dasherize', 'Convert underscores to dashes') do
|
698
|
-
@options[:for_tree][:dasherize] = true
|
699
|
-
end
|
700
|
-
|
701
|
-
opts.on('--old', 'Output the old-style ":prop val" property syntax.',
|
702
|
-
'Only meaningful when generating Sass.') do
|
703
|
-
@options[:for_tree][:old] = true
|
704
|
-
end
|
705
|
-
|
706
|
-
opts.on('-C', '--no-cache', "Don't cache to sassc files.") do
|
707
|
-
@options[:for_engine][:read_cache] = false
|
708
|
-
end
|
709
|
-
|
710
|
-
unless ::Haml::Util.ruby1_8?
|
711
|
-
opts.on('-E encoding', 'Specify the default encoding for Sass and CSS files.') do |encoding|
|
712
|
-
Encoding.default_external = encoding
|
713
|
-
end
|
714
|
-
end
|
453
|
+
opts.on_tail('-a', '--alternate', 'Ignored') {}
|
715
454
|
|
716
455
|
super
|
717
456
|
end
|
@@ -719,143 +458,12 @@ END
|
|
719
458
|
# Processes the options set by the command-line arguments,
|
720
459
|
# and runs the CSS compiler appropriately.
|
721
460
|
def process_result
|
722
|
-
require 'sass'
|
723
|
-
|
724
|
-
if @options[:recursive]
|
725
|
-
process_directory
|
726
|
-
return
|
727
|
-
end
|
728
|
-
|
729
461
|
super
|
462
|
+
|
730
463
|
input = @options[:input]
|
731
|
-
raise "Error: '#{input.path}' is a directory (did you mean to use --recursive?)" if File.directory?(input)
|
732
464
|
output = @options[:output]
|
733
|
-
output = input if @options[:in_place]
|
734
|
-
process_file(input, output)
|
735
|
-
end
|
736
|
-
|
737
|
-
private
|
738
|
-
|
739
|
-
def process_directory
|
740
|
-
unless input = @options[:input] = @args.shift
|
741
|
-
raise "Error: directory required when using --recursive."
|
742
|
-
end
|
743
|
-
|
744
|
-
output = @options[:output] = @args.shift
|
745
|
-
raise "Error: --from required when using --recursive." unless @options[:from]
|
746
|
-
raise "Error: --to required when using --recursive." unless @options[:to]
|
747
|
-
raise "Error: '#{@options[:input]}' is not a directory" unless File.directory?(@options[:input])
|
748
|
-
if @options[:output] && File.exists?(@options[:output]) && !File.directory?(@options[:output])
|
749
|
-
raise "Error: '#{@options[:output]}' is not a directory"
|
750
|
-
end
|
751
|
-
@options[:output] ||= @options[:input]
|
752
|
-
|
753
|
-
from = @options[:from]
|
754
|
-
from = :sass if from == :sass2
|
755
|
-
if @options[:to] == @options[:from] && !@options[:in_place]
|
756
|
-
fmt = @options[:from]
|
757
|
-
raise "Error: converting from #{fmt} to #{fmt} without --in-place"
|
758
|
-
end
|
759
|
-
|
760
|
-
ext = @options[:from]
|
761
|
-
ext = :sass if ext == :sass2
|
762
|
-
Dir.glob("#{@options[:input]}/**/*.#{ext}") do |f|
|
763
|
-
output =
|
764
|
-
if @options[:in_place]
|
765
|
-
f
|
766
|
-
elsif @options[:output]
|
767
|
-
output_name = f.gsub(/\.(c|sa|sc|le)ss$/, ".#{@options[:to]}")
|
768
|
-
output_name[0...@options[:input].size] = @options[:output]
|
769
|
-
output_name
|
770
|
-
else
|
771
|
-
f.gsub(/\.(c|sa|sc|le)ss$/, ".#{@options[:to]}")
|
772
|
-
end
|
773
|
-
|
774
|
-
unless File.directory?(File.dirname(output))
|
775
|
-
puts_action :directory, :green, File.dirname(output)
|
776
|
-
FileUtils.mkdir_p(File.dirname(output))
|
777
|
-
end
|
778
|
-
puts_action :convert, :green, f
|
779
|
-
if File.exists?(output)
|
780
|
-
puts_action :overwrite, :yellow, output
|
781
|
-
else
|
782
|
-
puts_action :create, :green, output
|
783
|
-
end
|
784
|
-
|
785
|
-
input = open_file(f)
|
786
|
-
output = @options[:in_place] ? input : open_file(output, "w")
|
787
|
-
process_file(input, output)
|
788
|
-
end
|
789
|
-
end
|
790
|
-
|
791
|
-
def process_file(input, output)
|
792
|
-
if input.is_a?(File)
|
793
|
-
@options[:from] ||=
|
794
|
-
case input.path
|
795
|
-
when /\.scss$/; :scss
|
796
|
-
when /\.sass$/; :sass
|
797
|
-
when /\.less$/; :less
|
798
|
-
when /\.css$/; :css
|
799
|
-
end
|
800
|
-
elsif @options[:in_place]
|
801
|
-
raise "Error: the --in-place option requires a filename."
|
802
|
-
end
|
803
|
-
|
804
|
-
if output.is_a?(File)
|
805
|
-
@options[:to] ||=
|
806
|
-
case output.path
|
807
|
-
when /\.scss$/; :scss
|
808
|
-
when /\.sass$/; :sass
|
809
|
-
end
|
810
|
-
end
|
811
|
-
|
812
|
-
if @options[:from] == :sass2
|
813
|
-
@options[:from] = :sass
|
814
|
-
@options[:for_engine][:sass2] = true
|
815
|
-
end
|
816
|
-
|
817
|
-
@options[:from] ||= :css
|
818
|
-
@options[:to] ||= :sass
|
819
|
-
@options[:for_engine][:syntax] = @options[:from]
|
820
|
-
|
821
|
-
out =
|
822
|
-
::Haml::Util.silence_haml_warnings do
|
823
|
-
if @options[:from] == :css
|
824
|
-
require 'sass/css'
|
825
|
-
::Sass::CSS.new(input.read, @options[:for_tree]).render(@options[:to])
|
826
|
-
elsif @options[:from] == :less
|
827
|
-
require 'sass/less'
|
828
|
-
try_less_note
|
829
|
-
input = input.read if input.is_a?(IO) && !input.is_a?(File) # Less is dumb
|
830
|
-
Less::Engine.new(input).to_tree.to_sass_tree.send("to_#{@options[:to]}", @options[:for_tree])
|
831
|
-
else
|
832
|
-
if input.is_a?(File)
|
833
|
-
::Sass::Files.tree_for(input.path, @options[:for_engine])
|
834
|
-
else
|
835
|
-
::Sass::Engine.new(input.read, @options[:for_engine]).to_tree
|
836
|
-
end.send("to_#{@options[:to]}", @options[:for_tree])
|
837
|
-
end
|
838
|
-
end
|
839
|
-
|
840
|
-
output = File.open(input.path, 'w') if @options[:in_place]
|
841
|
-
output.write(out)
|
842
|
-
rescue ::Sass::SyntaxError => e
|
843
|
-
raise e if @options[:trace]
|
844
|
-
file = " of #{e.sass_filename}" if e.sass_filename
|
845
|
-
raise "Error on line #{e.sass_line}#{file}: #{e.message}\n Use --trace for backtrace"
|
846
|
-
rescue LoadError => err
|
847
|
-
handle_load_error(err)
|
848
|
-
end
|
849
465
|
|
850
|
-
|
851
|
-
def try_less_note
|
852
|
-
return if @@less_note_printed
|
853
|
-
@@less_note_printed = true
|
854
|
-
warn <<NOTE
|
855
|
-
* NOTE: Sass and Less are different languages, and they work differently.
|
856
|
-
* I'll do my best to translate, but some features -- especially mixins --
|
857
|
-
* should be checked by hand.
|
858
|
-
NOTE
|
466
|
+
output.write(::Sass::CSS.new(input, @module_opts).render)
|
859
467
|
end
|
860
468
|
end
|
861
469
|
end
|