less-rails-semantic_ui 1.0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.travis.yml +13 -0
- data/Appraisals +7 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +65 -0
- data/Rakefile +9 -0
- data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.eot +0 -0
- data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.svg +450 -0
- data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.ttf +0 -0
- data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.woff +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.eot +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.otf +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.svg +504 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.ttf +0 -0
- data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.woff +0 -0
- data/assets/images/semantic_ui/themes/default/assets/images/flags.png +0 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/api.js +839 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/colorize.js +272 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +795 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/state.js +690 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/visibility.js +951 -0
- data/assets/javascripts/semantic_ui/definitions/behaviors/visit.js +516 -0
- data/assets/javascripts/semantic_ui/definitions/globals/site.js +487 -0
- data/assets/javascripts/semantic_ui/definitions/modules/accordion.js +504 -0
- data/assets/javascripts/semantic_ui/definitions/modules/checkbox.js +469 -0
- data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +626 -0
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +1496 -0
- data/assets/javascripts/semantic_ui/definitions/modules/modal.js +809 -0
- data/assets/javascripts/semantic_ui/definitions/modules/nag.js +480 -0
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +1050 -0
- data/assets/javascripts/semantic_ui/definitions/modules/progress.js +652 -0
- data/assets/javascripts/semantic_ui/definitions/modules/rating.js +451 -0
- data/assets/javascripts/semantic_ui/definitions/modules/search.js +886 -0
- data/assets/javascripts/semantic_ui/definitions/modules/shape.js +830 -0
- data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +976 -0
- data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +768 -0
- data/assets/javascripts/semantic_ui/definitions/modules/tab.js +801 -0
- data/assets/javascripts/semantic_ui/definitions/modules/transition.js +865 -0
- data/assets/javascripts/semantic_ui/definitions/modules/video.js +539 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/breadcrumb.less +128 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +839 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +1201 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +1600 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/message.less +448 -0
- data/assets/stylesheets/semantic_ui/definitions/collections/table.less +877 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/button.less +2396 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/divider.less +262 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/flag.less +52 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/header.less +564 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +351 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/image.less +267 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/input.less +448 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/label.less +959 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/list.less +896 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/loader.less +268 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/rail.less +132 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/reveal.less +263 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +603 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/step.less +358 -0
- data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +45 -0
- data/assets/stylesheets/semantic_ui/definitions/globals/site.less +138 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/accordion.less +221 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +468 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +186 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +914 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +447 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/nag.less +165 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +296 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +404 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/rating.less +204 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/search.less +344 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/shape.less +158 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +464 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/sticky.less +80 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/tab.less +100 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/transition.less +95 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/video.less +131 -0
- data/assets/stylesheets/semantic_ui/definitions/views/ad.less +272 -0
- data/assets/stylesheets/semantic_ui/definitions/views/card.less +751 -0
- data/assets/stylesheets/semantic_ui/definitions/views/comment.less +262 -0
- data/assets/stylesheets/semantic_ui/definitions/views/feed.less +278 -0
- data/assets/stylesheets/semantic_ui/definitions/views/item.less +472 -0
- data/assets/stylesheets/semantic_ui/definitions/views/statistic.less +422 -0
- data/assets/stylesheets/semantic_ui/theme.less +48 -0
- data/assets/stylesheets/semantic_ui/themes/amazon/elements/button.overrides +46 -0
- data/assets/stylesheets/semantic_ui/themes/amazon/elements/button.variables +57 -0
- data/assets/stylesheets/semantic_ui/themes/basic/collections/table.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/basic/collections/table.variables +10 -0
- data/assets/stylesheets/semantic_ui/themes/basic/elements/button.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/basic/elements/button.variables +44 -0
- data/assets/stylesheets/semantic_ui/themes/basic/elements/icon.overrides +189 -0
- data/assets/stylesheets/semantic_ui/themes/basic/elements/icon.variables +5 -0
- data/assets/stylesheets/semantic_ui/themes/basic/elements/step.overrides +7 -0
- data/assets/stylesheets/semantic_ui/themes/basic/elements/step.variables +10 -0
- data/assets/stylesheets/semantic_ui/themes/basic/globals/reset.overrides +5 -0
- data/assets/stylesheets/semantic_ui/themes/basic/globals/reset.variables +3 -0
- data/assets/stylesheets/semantic_ui/themes/basic/modules/progress.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/basic/modules/progress.variables +15 -0
- data/assets/stylesheets/semantic_ui/themes/basic/views/card.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/basic/views/card.variables +34 -0
- data/assets/stylesheets/semantic_ui/themes/bookish/elements/header.overrides +15 -0
- data/assets/stylesheets/semantic_ui/themes/bookish/elements/header.variables +37 -0
- data/assets/stylesheets/semantic_ui/themes/bootstrap3/elements/button.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/bootstrap3/elements/button.variables +63 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/collections/form.overrides +8 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/collections/form.variables +9 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/elements/button.overrides +21 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/elements/button.variables +57 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/elements/header.overrides +5 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/elements/header.variables +21 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/modules/accordion.overrides +7 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/modules/accordion.variables +15 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/views/comment.overrides +12 -0
- data/assets/stylesheets/semantic_ui/themes/chubby/views/comment.variables +46 -0
- data/assets/stylesheets/semantic_ui/themes/classic/collections/table.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/classic/collections/table.variables +14 -0
- data/assets/stylesheets/semantic_ui/themes/classic/elements/button.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/classic/elements/button.variables +96 -0
- data/assets/stylesheets/semantic_ui/themes/classic/elements/header.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/classic/elements/header.variables +12 -0
- data/assets/stylesheets/semantic_ui/themes/classic/modules/progress.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/classic/modules/progress.variables +8 -0
- data/assets/stylesheets/semantic_ui/themes/classic/views/card.overrides +98 -0
- data/assets/stylesheets/semantic_ui/themes/classic/views/card.variables +22 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/breadcrumb.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/breadcrumb.variables +43 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/form.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/form.variables +189 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/grid.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/grid.variables +93 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +322 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/message.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/message.variables +88 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/table.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/collections/table.variables +228 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/button.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/button.variables +260 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/divider.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/divider.variables +54 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/flag.overrides +979 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/flag.variables +13 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/header.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/header.variables +126 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.overrides +661 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/icon.variables +34 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/image.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/image.variables +42 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/input.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/input.variables +114 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/label.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/label.variables +164 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/list.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/list.variables +204 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/loader.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/loader.variables +61 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/rail.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/rail.variables +24 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/reveal.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/reveal.variables +15 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/segment.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/segment.variables +100 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/step.overrides +16 -0
- data/assets/stylesheets/semantic_ui/themes/default/elements/step.variables +94 -0
- data/assets/stylesheets/semantic_ui/themes/default/globals/reset.overrides +434 -0
- data/assets/stylesheets/semantic_ui/themes/default/globals/reset.variables +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/globals/site.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +599 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/accordion.overrides +28 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/accordion.variables +101 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/chatroom.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/chatroom.variables +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.overrides +33 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.variables +139 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/dimmer.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/dimmer.variables +51 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.overrides +57 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +237 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/modal.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/modal.variables +147 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/nag.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/nag.variables +74 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/popup.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/popup.variables +95 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/progress.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/progress.variables +99 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/rating.overrides +69 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/rating.variables +65 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/search.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/search.variables +140 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/shape.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/shape.variables +35 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.variables +39 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.variables +12 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/tab.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/tab.variables +13 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/transition.overrides +445 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/transition.variables +10 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/video.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/video.variables +16 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/ad.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/ad.variables +13 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/card.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/card.variables +185 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/comment.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/comment.variables +104 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/feed.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/feed.variables +149 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/item.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/item.variables +152 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/statistic.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/default/views/statistic.variables +97 -0
- data/assets/stylesheets/semantic_ui/themes/duo/elements/loader.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/duo/elements/loader.variables +6 -0
- data/assets/stylesheets/semantic_ui/themes/fixed-width/collections/grid.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/fixed-width/collections/grid.variables +25 -0
- data/assets/stylesheets/semantic_ui/themes/fixed-width/modules/modal.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/fixed-width/modules/modal.variables +37 -0
- data/assets/stylesheets/semantic_ui/themes/flat/collections/form.overrides +24 -0
- data/assets/stylesheets/semantic_ui/themes/flat/collections/form.variables +74 -0
- data/assets/stylesheets/semantic_ui/themes/flat/globals/site.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/flat/globals/site.variables +106 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/form.overrides +16 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/form.variables +40 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/menu.overrides +7 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/menu.variables +66 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/message.overrides +11 -0
- data/assets/stylesheets/semantic_ui/themes/github/collections/message.variables +29 -0
- data/assets/stylesheets/semantic_ui/themes/github/elements/button.overrides +4 -0
- data/assets/stylesheets/semantic_ui/themes/github/elements/button.variables +77 -0
- data/assets/stylesheets/semantic_ui/themes/github/elements/segment.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/github/elements/segment.variables +41 -0
- data/assets/stylesheets/semantic_ui/themes/github/elements/step.overrides +26 -0
- data/assets/stylesheets/semantic_ui/themes/github/elements/step.variables +20 -0
- data/assets/stylesheets/semantic_ui/themes/gmail/collections/message.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/gmail/collections/message.variables +15 -0
- data/assets/stylesheets/semantic_ui/themes/material/elements/button.overrides +23 -0
- data/assets/stylesheets/semantic_ui/themes/material/elements/button.variables +87 -0
- data/assets/stylesheets/semantic_ui/themes/material/elements/header.overrides +15 -0
- data/assets/stylesheets/semantic_ui/themes/material/elements/header.variables +21 -0
- data/assets/stylesheets/semantic_ui/themes/material/globals/site.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/material/globals/site.variables +119 -0
- data/assets/stylesheets/semantic_ui/themes/material/modules/modal.overrides +6 -0
- data/assets/stylesheets/semantic_ui/themes/material/modules/modal.variables +15 -0
- data/assets/stylesheets/semantic_ui/themes/pulsar/elements/loader.overrides +70 -0
- data/assets/stylesheets/semantic_ui/themes/pulsar/elements/loader.variables +7 -0
- data/assets/stylesheets/semantic_ui/themes/raised/elements/button.overrides +3 -0
- data/assets/stylesheets/semantic_ui/themes/raised/elements/button.variables +26 -0
- data/assets/stylesheets/semantic_ui/themes/resetcss/globals/reset.overrides +52 -0
- data/assets/stylesheets/semantic_ui/themes/resetcss/globals/reset.variables +3 -0
- data/assets/stylesheets/semantic_ui/themes/round/elements/button.overrides +0 -0
- data/assets/stylesheets/semantic_ui/themes/round/elements/button.variables +138 -0
- data/assets/stylesheets/semantic_ui/themes/striped/modules/progress.overrides +29 -0
- data/assets/stylesheets/semantic_ui/themes/striped/modules/progress.variables +3 -0
- data/assets/stylesheets/semantic_ui/themes/timeline/views/feed.overrides +35 -0
- data/assets/stylesheets/semantic_ui/themes/timeline/views/feed.variables +40 -0
- data/assets/stylesheets/semantic_ui/themes/twitter/elements/button.overrides +13 -0
- data/assets/stylesheets/semantic_ui/themes/twitter/elements/button.variables +45 -0
- data/less-rails-semantic_ui.gemspec +28 -0
- data/lib/generators/semantic_ui/install/install_generator.rb +20 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/form.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/form.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/grid.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/grid.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/menu.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/menu.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/message.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/message.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/table.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/collections/table.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/button.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/button.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/divider.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/divider.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/flag.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/flag.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/header.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/header.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/icon.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/icon.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/image.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/image.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/input.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/input.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/label.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/label.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/list.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/list.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/loader.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/loader.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/rail.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/rail.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/reveal.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/reveal.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/segment.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/segment.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/step.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/elements/step.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/globals/reset.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/globals/reset.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/globals/site.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/globals/site.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/accordion.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/accordion.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/chatroom.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/chatroom.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/checkbox.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/checkbox.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/dimmer.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/dimmer.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/dropdown.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/dropdown.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/modal.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/modal.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/nag.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/nag.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/popup.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/popup.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/progress.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/progress.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/rating.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/rating.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/search.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/search.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/shape.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/shape.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sticky.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/sticky.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/tab.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/tab.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/transition.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/transition.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/video.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/modules/video.variables +0 -0
- data/lib/generators/semantic_ui/install/templates/config/views/ad.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/ad.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/card.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/card.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/comment.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/comment.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/feed.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/feed.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/item.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/item.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/statistic.overrides +3 -0
- data/lib/generators/semantic_ui/install/templates/config/views/statistic.variables +3 -0
- data/lib/generators/semantic_ui/install/templates/semantic_ui.css +52 -0
- data/lib/generators/semantic_ui/install/templates/semantic_ui.js +27 -0
- data/lib/generators/semantic_ui/install/templates/theme.config +87 -0
- data/lib/less/rails/semantic_ui.rb +2 -0
- data/lib/less/rails/semantic_ui/engine.rb +18 -0
- data/spec/dummy_app/.gitignore +1 -0
- data/spec/dummy_app/app/assets/javascripts/application.js +1 -0
- data/spec/dummy_app/app/assets/stylesheets/application.css +4 -0
- data/spec/dummy_app/init.rb +20 -0
- data/spec/generators/install_generator_spec.rb +80 -0
- data/spec/spec_helper.rb +1 -0
- data/tasks/templates/semantic_ui.css.erb +11 -0
- data/tasks/templates/semantic_ui.js.erb +7 -0
- data/tasks/update.rake +245 -0
- metadata +547 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
///////////////////////////////////////////////////////////////////////////////
|
2
|
+
// !!! AUTOMATICALLY GENERATED FILE. BE CAREFUL WHEN YOU MERGING CHANGES !!! //
|
3
|
+
///////////////////////////////////////////////////////////////////////////////
|
4
|
+
|
5
|
+
//= require semantic_ui/definitions/modules/accordion.js
|
6
|
+
//= require semantic_ui/definitions/behaviors/api.js
|
7
|
+
//= require semantic_ui/definitions/modules/checkbox.js
|
8
|
+
//= require semantic_ui/definitions/behaviors/colorize.js
|
9
|
+
//= require semantic_ui/definitions/modules/dimmer.js
|
10
|
+
//= require semantic_ui/definitions/modules/dropdown.js
|
11
|
+
//= require semantic_ui/definitions/behaviors/form.js
|
12
|
+
//= require semantic_ui/definitions/modules/modal.js
|
13
|
+
//= require semantic_ui/definitions/modules/nag.js
|
14
|
+
//= require semantic_ui/definitions/modules/popup.js
|
15
|
+
//= require semantic_ui/definitions/modules/progress.js
|
16
|
+
//= require semantic_ui/definitions/modules/rating.js
|
17
|
+
//= require semantic_ui/definitions/modules/search.js
|
18
|
+
//= require semantic_ui/definitions/modules/shape.js
|
19
|
+
//= require semantic_ui/definitions/modules/sidebar.js
|
20
|
+
//= require semantic_ui/definitions/globals/site.js
|
21
|
+
//= require semantic_ui/definitions/behaviors/state.js
|
22
|
+
//= require semantic_ui/definitions/modules/sticky.js
|
23
|
+
//= require semantic_ui/definitions/modules/tab.js
|
24
|
+
//= require semantic_ui/definitions/modules/transition.js
|
25
|
+
//= require semantic_ui/definitions/modules/video.js
|
26
|
+
//= require semantic_ui/definitions/behaviors/visibility.js
|
27
|
+
//= require semantic_ui/definitions/behaviors/visit.js
|
@@ -0,0 +1,87 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
/*******************************
|
4
|
+
Folders
|
5
|
+
*******************************/
|
6
|
+
|
7
|
+
/* Path to theme packages */
|
8
|
+
@themesFolder : 'semantic_ui/themes/';
|
9
|
+
|
10
|
+
/* Path to site override folder */
|
11
|
+
@siteFolder : 'semantic_ui/config/';
|
12
|
+
|
13
|
+
|
14
|
+
/*******************************
|
15
|
+
Theme Selection
|
16
|
+
*******************************/
|
17
|
+
|
18
|
+
/* To override a theme for an individual element
|
19
|
+
specify theme name below
|
20
|
+
|
21
|
+
Be sure to update the user folder name (see README)
|
22
|
+
*/
|
23
|
+
|
24
|
+
/* Global */
|
25
|
+
@site : 'default';
|
26
|
+
@reset : 'default';
|
27
|
+
|
28
|
+
/* Elements */
|
29
|
+
@button : 'default';
|
30
|
+
@container : 'default';
|
31
|
+
@icon : 'default';
|
32
|
+
@divider : 'default';
|
33
|
+
@flag : 'default';
|
34
|
+
@header : 'default';
|
35
|
+
@image : 'default';
|
36
|
+
@input : 'default';
|
37
|
+
@label : 'default';
|
38
|
+
@list : 'default';
|
39
|
+
@loader : 'default';
|
40
|
+
@progress : 'default';
|
41
|
+
@rail : 'default';
|
42
|
+
@reveal : 'default';
|
43
|
+
@segment : 'default';
|
44
|
+
@step : 'default';
|
45
|
+
|
46
|
+
/* Collections */
|
47
|
+
@breadcrumb : 'default';
|
48
|
+
@form : 'default';
|
49
|
+
@grid : 'default';
|
50
|
+
@menu : 'default';
|
51
|
+
@message : 'default';
|
52
|
+
@table : 'default';
|
53
|
+
|
54
|
+
/* Modules */
|
55
|
+
@accordion : 'default';
|
56
|
+
@chatroom : 'default';
|
57
|
+
@checkbox : 'default';
|
58
|
+
@dimmer : 'default';
|
59
|
+
@dropdown : 'default';
|
60
|
+
@modal : 'default';
|
61
|
+
@nag : 'default';
|
62
|
+
@popup : 'default';
|
63
|
+
@rating : 'default';
|
64
|
+
@search : 'default';
|
65
|
+
@shape : 'default';
|
66
|
+
@sidebar : 'default';
|
67
|
+
@sticky : 'default';
|
68
|
+
@tab : 'default';
|
69
|
+
@transition : 'default';
|
70
|
+
@video : 'default';
|
71
|
+
|
72
|
+
/* Views */
|
73
|
+
@ad : 'default';
|
74
|
+
@card : 'default';
|
75
|
+
@comment : 'default';
|
76
|
+
@feed : 'default';
|
77
|
+
@item : 'default';
|
78
|
+
@statistic : 'default';
|
79
|
+
|
80
|
+
|
81
|
+
/*******************************
|
82
|
+
Import Theme
|
83
|
+
*******************************/
|
84
|
+
|
85
|
+
@import "semantic_ui/theme.less";
|
86
|
+
|
87
|
+
/* End Config */
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails'
|
2
|
+
|
3
|
+
module Less
|
4
|
+
module Rails
|
5
|
+
module SemanticUI
|
6
|
+
class Engine < ::Rails::Engine
|
7
|
+
|
8
|
+
initializer 'less-rails-semantic_ui.assets.precompile' do |app|
|
9
|
+
%w(stylesheets javascripts fonts images).each do |sub|
|
10
|
+
app.config.assets.paths << root.join('assets', sub).to_s
|
11
|
+
end
|
12
|
+
app.config.assets.precompile << %r(semantic_ui/themes/.*\.(?:eot|svg|ttf|woff|png|gif)$)
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
log/
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require semantic_ui/semantic_ui
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'action_controller/railtie'
|
2
|
+
require 'action_view/railtie'
|
3
|
+
require 'sprockets/railtie'
|
4
|
+
|
5
|
+
require 'less/rails/semantic_ui'
|
6
|
+
|
7
|
+
module Dummy
|
8
|
+
class Application < ::Rails::Application
|
9
|
+
|
10
|
+
config.root = __dir__
|
11
|
+
config.active_support.deprecation = :stderr
|
12
|
+
config.cache_store = :memory_store
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
config.eager_load = false
|
15
|
+
|
16
|
+
config.assets.configure do |env|
|
17
|
+
env.cache = ActiveSupport::Cache.lookup_store(:memory_store)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rails/generators/testing/behaviour'
|
3
|
+
require 'generators/semantic_ui/install/install_generator'
|
4
|
+
|
5
|
+
describe SemanticUi::InstallGenerator do
|
6
|
+
include FileUtils
|
7
|
+
|
8
|
+
let(:generator) { SemanticUi::InstallGenerator }
|
9
|
+
|
10
|
+
let(:dummy_app) { Dummy::Application }
|
11
|
+
let(:dummy_assets) { dummy_app.assets }
|
12
|
+
let(:dummy_app_root) { File.expand_path('../dummy_app', __dir__) }
|
13
|
+
|
14
|
+
before_all do
|
15
|
+
capture(:stdout) do
|
16
|
+
generator.start([], destination_root: dummy_app_root)
|
17
|
+
end
|
18
|
+
|
19
|
+
dummy_app.initialize! unless dummy_app.initialized?
|
20
|
+
end
|
21
|
+
|
22
|
+
after_all do
|
23
|
+
rm_rf File.join(dummy_app.config.root, 'vendor')
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'installed files' do
|
27
|
+
|
28
|
+
helper :file_exists? do |file|
|
29
|
+
assert(File.exists?(file)) == true
|
30
|
+
end
|
31
|
+
|
32
|
+
let(:javascripts_dir) { File.join(dummy_app_root, 'vendor', 'assets', 'javascripts') }
|
33
|
+
let(:stylesheets_dir) { File.join(dummy_app_root, 'vendor', 'assets', 'stylesheets') }
|
34
|
+
|
35
|
+
it 'has semantic_ui.js' do
|
36
|
+
expect(File.join(javascripts_dir, 'semantic_ui', 'semantic_ui.js')).file_exists?
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'has semantic_ui.css' do
|
40
|
+
expect(File.join(stylesheets_dir, 'semantic_ui', 'semantic_ui.css')).file_exists?
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'has theme.config' do
|
44
|
+
expect(File.join(stylesheets_dir, 'semantic_ui', 'theme.config')).file_exists?
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'has config/**/*.overrides' do
|
48
|
+
expect(Dir[File.join(stylesheets_dir, 'semantic_ui', 'config', '**', '*.overrides')]).is.not.empty?
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'has config/**/*.variables' do
|
52
|
+
expect(Dir[File.join(stylesheets_dir, 'semantic_ui', 'config', '**', '*.variables')]).is.not.empty?
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
describe 'application.css' do
|
58
|
+
let(:application_css) { dummy_assets['application.css'].to_s.strip }
|
59
|
+
|
60
|
+
it 'should include semantic_ui.css' do
|
61
|
+
expect(application_css).to.include?('.ui.button')
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should include correct paths to images' do
|
65
|
+
expect(application_css).to.include?('/semantic_ui/themes/default/assets/images/flags.png')
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should include correct paths to fonts' do
|
69
|
+
expect(application_css).to.include?('/semantic_ui/themes/default/assets/fonts/icons.ttf')
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe 'application.js' do
|
74
|
+
let(:application_js) { dummy_assets['application.js'].to_s.strip }
|
75
|
+
|
76
|
+
it 'should include semantic_ui.js' do
|
77
|
+
expect(application_js).to.include?('$.site')
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'dummy_app/init'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/*
|
2
|
+
*******************************************************************************
|
3
|
+
** !!! AUTOMATICALLY GENERATED FILE. BE CAREFUL WHEN YOU MERGING CHANGES !!! **
|
4
|
+
*******************************************************************************
|
5
|
+
*/
|
6
|
+
|
7
|
+
/*
|
8
|
+
<% for relative_path in relative_paths -%>
|
9
|
+
*= require <%= relative_path %>
|
10
|
+
<% end -%>
|
11
|
+
*/
|
@@ -0,0 +1,7 @@
|
|
1
|
+
///////////////////////////////////////////////////////////////////////////////
|
2
|
+
// !!! AUTOMATICALLY GENERATED FILE. BE CAREFUL WHEN YOU MERGING CHANGES !!! //
|
3
|
+
///////////////////////////////////////////////////////////////////////////////
|
4
|
+
|
5
|
+
<% for relative_path in relative_paths -%>
|
6
|
+
//= require <%= relative_path %>
|
7
|
+
<% end -%>
|
data/tasks/update.rake
ADDED
@@ -0,0 +1,245 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
require 'json'
|
3
|
+
require 'active_support/all'
|
4
|
+
|
5
|
+
namespace :update do
|
6
|
+
|
7
|
+
desc 'Update Semantic UI version'
|
8
|
+
task :version, [:version] do |_, args|
|
9
|
+
version = args[:version]
|
10
|
+
|
11
|
+
checkout_repository
|
12
|
+
choose_version(version)
|
13
|
+
|
14
|
+
transform_sources
|
15
|
+
end
|
16
|
+
|
17
|
+
def paths
|
18
|
+
@gem_paths ||= Paths.new
|
19
|
+
end
|
20
|
+
|
21
|
+
def checkout_repository
|
22
|
+
if Dir.exist?(paths.tmp_semantic_ui)
|
23
|
+
sh %Q{cd '#{paths.tmp_semantic_ui}' && git fetch --quiet}
|
24
|
+
else
|
25
|
+
sh %Q{git clone --quiet git@github.com:Semantic-Org/Semantic-UI.git '#{paths.tmp_semantic_ui}'}
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def choose_version(version)
|
30
|
+
sh %Q{cd '#{paths.tmp_semantic_ui}' && git checkout --quiet #{version}}
|
31
|
+
end
|
32
|
+
|
33
|
+
def transform_sources
|
34
|
+
transform_definitions
|
35
|
+
transform_themes
|
36
|
+
|
37
|
+
apply_patches
|
38
|
+
|
39
|
+
generate_semantic_ui_js
|
40
|
+
generate_semantic_ui_css
|
41
|
+
end
|
42
|
+
|
43
|
+
def transform_definitions
|
44
|
+
Dir[File.join(paths.tmp_semantic_ui_definitions, '**/*.js')].each do |src|
|
45
|
+
copy_tree(src, File.dirname(paths.tmp_semantic_ui_definitions), paths.javascripts)
|
46
|
+
end
|
47
|
+
|
48
|
+
Dir[File.join(paths.tmp_semantic_ui_definitions, '**/*.less')].each do |src|
|
49
|
+
copy_tree(src, File.dirname(paths.tmp_semantic_ui_definitions), paths.stylesheets)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def transform_themes
|
54
|
+
Dir[File.join(paths.tmp_semantic_ui_themes, '**/*.{eot,otf,svg,ttf,woff}')].each do |src|
|
55
|
+
copy_tree(src, File.dirname(paths.tmp_semantic_ui_themes), paths.fonts)
|
56
|
+
end
|
57
|
+
|
58
|
+
Dir[File.join(paths.tmp_semantic_ui_themes, '**/*.{png,gif}')].each do |src|
|
59
|
+
copy_tree(src, File.dirname(paths.tmp_semantic_ui_themes), paths.images)
|
60
|
+
end
|
61
|
+
|
62
|
+
Dir[File.join(paths.tmp_semantic_ui_themes, '**/*.{overrides,variables}')].each do |src|
|
63
|
+
copy_tree(src, File.dirname(paths.tmp_semantic_ui_themes), paths.stylesheets)
|
64
|
+
end
|
65
|
+
|
66
|
+
cp(File.join(paths.tmp_semantic_ui_src, 'theme.less'), paths.stylesheets)
|
67
|
+
|
68
|
+
cp(File.join(paths.tmp_semantic_ui_src, 'theme.config.example'), File.join(paths.generator_templates, 'theme.config'))
|
69
|
+
|
70
|
+
Dir[File.join(paths.tmp_semantic_ui_site, '**/*.{overrides,variables}')].each do |src|
|
71
|
+
copy_tree(src, paths.tmp_semantic_ui_site, File.join(paths.generator_templates, 'config'))
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def apply_patches
|
76
|
+
patch_crlf_to_lf
|
77
|
+
|
78
|
+
patch_theme_config
|
79
|
+
patch_paths_to_theme_config
|
80
|
+
patch_dependencies_in_less
|
81
|
+
|
82
|
+
patch_asset_paths
|
83
|
+
patch_asset_helpers
|
84
|
+
end
|
85
|
+
|
86
|
+
def patch_crlf_to_lf
|
87
|
+
patch(File.join(paths.javascripts, '**/*')) do |content|
|
88
|
+
content.encode(content.encoding, universal_newline: true)
|
89
|
+
end
|
90
|
+
|
91
|
+
patch(File.join(paths.stylesheets, '**/*')) do |content|
|
92
|
+
content.encode(content.encoding, universal_newline: true)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def patch_theme_config
|
97
|
+
theme_config_file = File.join(paths.generator_templates, 'theme.config')
|
98
|
+
|
99
|
+
patch(theme_config_file) do |content|
|
100
|
+
content = must_be_changed(content) { |c| c.sub(%r{\/\*.*?\*\/}m, '') }
|
101
|
+
content = must_be_changed(content) { |c| c.gsub(%q{@themesFolder : 'themes/';}, %q{@themesFolder : 'semantic_ui/themes/';}) }
|
102
|
+
content = must_be_changed(content) { |c| c.gsub(%q{@siteFolder : '_site/';}, %q{@siteFolder : 'semantic_ui/config/';}) }
|
103
|
+
must_be_changed(content) { |c| c.gsub(%q{@import "theme.less";}, %q{@import "semantic_ui/theme.less";}) }
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
def patch_paths_to_theme_config
|
108
|
+
patch(File.join(paths.stylesheets, 'definitions', '**/*.less')) do |content|
|
109
|
+
must_be_changed(content) { |c| c.gsub(%q{@import '../../theme.config';}, %q{@import 'semantic_ui/theme.config';}) }
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def patch_dependencies_in_less
|
114
|
+
patch(File.join(paths.stylesheets, 'definitions', '**/*.less')) do |content|
|
115
|
+
if /@type\s*:\s*'(?<type>.*)'/ =~ content && /@element\s*:\s*'(?<element>.*)'/ =~ content
|
116
|
+
header = <<-HEADER.strip_heredoc
|
117
|
+
/*
|
118
|
+
*= depend_on semantic_ui/theme.config
|
119
|
+
*= depend_on semantic_ui/config/#{type.pluralize}/#{element}.overrides
|
120
|
+
*= depend_on semantic_ui/config/#{type.pluralize}/#{element}.variables
|
121
|
+
*/
|
122
|
+
|
123
|
+
HEADER
|
124
|
+
|
125
|
+
content = header + content
|
126
|
+
end
|
127
|
+
content
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def patch_asset_paths
|
132
|
+
patch(File.join(paths.stylesheets, 'themes', '**/*.variables')) do |content|
|
133
|
+
content.gsub(%r{^(@\w+Path\s*:\s*")\.\.\/\.\.(.*";)$}, %q{\1semantic_ui\2})
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def patch_asset_helpers
|
138
|
+
patch(File.join(paths.stylesheets, 'definitions', '**/*.less')) do |content|
|
139
|
+
content.gsub(%r{(url\()}, %q{asset-\1})
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
def generate_semantic_ui_js
|
144
|
+
relative_paths = search_relative_paths(File.join(paths.tmp_semantic_ui_definitions, '**/*.js'), paths.tmp_semantic_ui_src)
|
145
|
+
relative_paths = relative_paths.map { |relative_path| File.join('semantic_ui', relative_path) }
|
146
|
+
|
147
|
+
content = ErbRenderer.render_file(File.join('templates', 'semantic_ui.js.erb'), relative_paths: relative_paths)
|
148
|
+
File.write(File.join(paths.generator_templates, 'semantic_ui.js'), content)
|
149
|
+
end
|
150
|
+
|
151
|
+
def generate_semantic_ui_css
|
152
|
+
relative_paths = search_relative_paths(File.join(paths.tmp_semantic_ui_definitions, '**/*.less'), paths.tmp_semantic_ui_src)
|
153
|
+
relative_paths = relative_paths.map { |relative_path| File.join('semantic_ui', relative_path) }
|
154
|
+
|
155
|
+
content = ErbRenderer.render_file(File.join('templates', 'semantic_ui.css.erb'), relative_paths: relative_paths)
|
156
|
+
File.write(File.join(paths.generator_templates, 'semantic_ui.css'), content)
|
157
|
+
end
|
158
|
+
|
159
|
+
def search_relative_paths(file_pattern, base_dir)
|
160
|
+
less_files = Dir[file_pattern].sort_by { |less_file| File.basename(less_file) }
|
161
|
+
|
162
|
+
relative_paths = less_files.map do |less_file|
|
163
|
+
Pathname(less_file).relative_path_from(Pathname(base_dir))
|
164
|
+
end
|
165
|
+
relative_paths.compact
|
166
|
+
end
|
167
|
+
|
168
|
+
private
|
169
|
+
|
170
|
+
def copy_tree(src, src_dir, dest_dir)
|
171
|
+
dest_relative = Pathname(src).relative_path_from(Pathname(src_dir))
|
172
|
+
dest = File.join(dest_dir, dest_relative)
|
173
|
+
|
174
|
+
mkdir_p File.dirname(dest) unless Dir.exist?(File.dirname(dest))
|
175
|
+
cp_r src, dest
|
176
|
+
end
|
177
|
+
|
178
|
+
def patch(file_pattern, &block)
|
179
|
+
Dir[file_pattern].each do |file|
|
180
|
+
next if File.directory?(file)
|
181
|
+
|
182
|
+
File.write(file, File.open(file) { |f| block.call(f.read) })
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
def must_be_changed(content, &block)
|
187
|
+
new_content = block.call(content)
|
188
|
+
raise 'Content must be changed' if new_content == content
|
189
|
+
new_content
|
190
|
+
end
|
191
|
+
|
192
|
+
class Paths
|
193
|
+
attr_reader :root
|
194
|
+
attr_reader :config
|
195
|
+
|
196
|
+
attr_reader :tmp
|
197
|
+
attr_reader :tmp_semantic_ui
|
198
|
+
attr_reader :tmp_semantic_ui_src
|
199
|
+
attr_reader :tmp_semantic_ui_definitions
|
200
|
+
attr_reader :tmp_semantic_ui_themes
|
201
|
+
attr_reader :tmp_semantic_ui_site
|
202
|
+
|
203
|
+
attr_reader :fonts
|
204
|
+
attr_reader :images
|
205
|
+
attr_reader :javascripts
|
206
|
+
attr_reader :stylesheets
|
207
|
+
|
208
|
+
attr_reader :generator_templates
|
209
|
+
|
210
|
+
def initialize
|
211
|
+
@root = File.expand_path('..', __dir__)
|
212
|
+
@config = File.join(@root, 'config')
|
213
|
+
|
214
|
+
@tmp = File.join(@root, 'tmp')
|
215
|
+
@tmp_semantic_ui = File.join(@tmp, 'semantic-ui')
|
216
|
+
@tmp_semantic_ui_src = File.join(@tmp_semantic_ui, 'src')
|
217
|
+
@tmp_semantic_ui_definitions = File.join(@tmp_semantic_ui_src, 'definitions')
|
218
|
+
@tmp_semantic_ui_themes = File.join(@tmp_semantic_ui_src, 'themes')
|
219
|
+
@tmp_semantic_ui_site = File.join(@tmp_semantic_ui_src, '_site')
|
220
|
+
|
221
|
+
@fonts = File.join(@root, 'assets', 'fonts', 'semantic_ui')
|
222
|
+
@images = File.join(@root, 'assets', 'images', 'semantic_ui')
|
223
|
+
@javascripts = File.join(@root, 'assets', 'javascripts', 'semantic_ui')
|
224
|
+
@stylesheets = File.join(@root, 'assets', 'stylesheets', 'semantic_ui')
|
225
|
+
|
226
|
+
@generator_templates = File.join(@root, 'lib', 'generators', 'semantic_ui', 'install', 'templates')
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
class ErbRenderer < OpenStruct
|
231
|
+
def self.render(template, values = {})
|
232
|
+
ErbRenderer.new(values).render(template)
|
233
|
+
end
|
234
|
+
|
235
|
+
def self.render_file(file, values = {})
|
236
|
+
template = File.expand_path(file, __dir__)
|
237
|
+
ErbRenderer.new(values).render(File.read(template))
|
238
|
+
end
|
239
|
+
|
240
|
+
def render(template)
|
241
|
+
ERB.new(template, nil, '-').result(binding)
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
end
|