From 488f7fb77c88285b8bf0864e1b18b7511cf4d34a Mon Sep 17 00:00:00 2001 From: Bruce Coddington Date: Sun, 9 Aug 2015 20:27:05 -0500 Subject: [PATCH] moved semantic into client assets and removed build updated packages updated links for react-select --- .gitignore | 10 - client/assets/less/lib/select/custom.less | 10 +- client/assets/less/lib/select/variables.less | 11 +- .../src/definitions/behaviors/api.js | 0 .../src/definitions/behaviors/colorize.js | 0 .../src/definitions/behaviors/form.js | 0 .../src/definitions/behaviors/state.js | 0 .../src/definitions/behaviors/visibility.js | 0 .../src/definitions/behaviors/visit.js | 0 .../definitions/collections/breadcrumb.less | 0 .../src/definitions/collections/form.less | 0 .../src/definitions/collections/grid.less | 0 .../src/definitions/collections/menu.less | 0 .../src/definitions/collections/message.less | 0 .../src/definitions/collections/table.less | 0 .../src/definitions/elements/button.less | 0 .../src/definitions/elements/divider.less | 0 .../src/definitions/elements/flag.less | 0 .../src/definitions/elements/header.less | 0 .../src/definitions/elements/icon.less | 0 .../src/definitions/elements/image.less | 0 .../src/definitions/elements/input.less | 0 .../src/definitions/elements/label.less | 0 .../src/definitions/elements/list.less | 0 .../src/definitions/elements/loader.less | 0 .../src/definitions/elements/rail.less | 0 .../src/definitions/elements/reveal.less | 0 .../src/definitions/elements/segment.less | 0 .../src/definitions/elements/step.less | 0 .../src/definitions/globals/reset.less | 0 .../semantic}/src/definitions/globals/site.js | 0 .../src/definitions/globals/site.less | 0 .../src/definitions/modules/accordion.js | 0 .../src/definitions/modules/accordion.less | 0 .../src/definitions/modules/checkbox.js | 0 .../src/definitions/modules/checkbox.less | 0 .../src/definitions/modules/dimmer.js | 0 .../src/definitions/modules/dimmer.less | 0 .../src/definitions/modules/dropdown.js | 0 .../src/definitions/modules/dropdown.less | 0 .../src/definitions/modules/modal.js | 0 .../src/definitions/modules/modal.less | 0 .../semantic}/src/definitions/modules/nag.js | 0 .../src/definitions/modules/nag.less | 0 .../src/definitions/modules/popup.js | 0 .../src/definitions/modules/popup.less | 0 .../src/definitions/modules/progress.js | 0 .../src/definitions/modules/progress.less | 0 .../src/definitions/modules/rating.js | 0 .../src/definitions/modules/rating.less | 0 .../src/definitions/modules/search.js | 0 .../src/definitions/modules/search.less | 0 .../src/definitions/modules/shape.js | 0 .../src/definitions/modules/shape.less | 0 .../src/definitions/modules/sidebar.js | 0 .../src/definitions/modules/sidebar.less | 0 .../src/definitions/modules/sticky.js | 0 .../src/definitions/modules/sticky.less | 0 .../semantic}/src/definitions/modules/tab.js | 0 .../src/definitions/modules/tab.less | 0 .../src/definitions/modules/transition.js | 0 .../src/definitions/modules/transition.less | 0 .../src/definitions/modules/video.js | 0 .../src/definitions/modules/video.less | 0 .../semantic}/src/definitions/views/ad.less | 0 .../semantic}/src/definitions/views/card.less | 0 .../src/definitions/views/comment.less | 0 .../semantic}/src/definitions/views/feed.less | 0 .../semantic}/src/definitions/views/item.less | 0 .../src/definitions/views/statistic.less | 0 .../less/lib/semantic}/src/semantic.less | 0 .../src/site/collections/breadcrumb.overrides | 0 .../src/site/collections/breadcrumb.variables | 0 .../src/site/collections/form.overrides | 0 .../src/site/collections/form.variables | 0 .../src/site/collections/grid.overrides | 0 .../src/site/collections/grid.variables | 0 .../src/site/collections/menu.overrides | 0 .../src/site/collections/menu.variables | 0 .../src/site/collections/message.overrides | 0 .../src/site/collections/message.variables | 0 .../src/site/collections/table.overrides | 0 .../src/site/collections/table.variables | 0 .../src/site/elements/button.overrides | 0 .../src/site/elements/button.variables | 0 .../src/site/elements/divider.overrides | 0 .../src/site/elements/divider.variables | 0 .../src/site/elements/flag.overrides | 0 .../src/site/elements/flag.variables | 0 .../src/site/elements/header.overrides | 0 .../src/site/elements/header.variables | 0 .../src/site/elements/icon.overrides | 0 .../src/site/elements/icon.variables | 0 .../src/site/elements/image.overrides | 0 .../src/site/elements/image.variables | 0 .../src/site/elements/input.overrides | 0 .../src/site/elements/input.variables | 0 .../src/site/elements/label.overrides | 0 .../src/site/elements/label.variables | 0 .../src/site/elements/list.overrides | 0 .../src/site/elements/list.variables | 0 .../src/site/elements/loader.overrides | 0 .../src/site/elements/loader.variables | 0 .../src/site/elements/rail.overrides | 0 .../src/site/elements/rail.variables | 0 .../src/site/elements/reveal.overrides | 0 .../src/site/elements/reveal.variables | 0 .../src/site/elements/segment.overrides | 0 .../src/site/elements/segment.variables | 0 .../src/site/elements/step.overrides | 0 .../src/site/elements/step.variables | 0 .../src/site/globals/reset.overrides | 0 .../src/site/globals/reset.variables | 0 .../semantic}/src/site/globals/site.overrides | 0 .../semantic}/src/site/globals/site.variables | 0 .../src/site/modules/accordion.overrides | 0 .../src/site/modules/accordion.variables | 0 .../src/site/modules/chatroom.overrides | 0 .../src/site/modules/chatroom.variables | 0 .../src/site/modules/checkbox.overrides | 0 .../src/site/modules/checkbox.variables | 0 .../src/site/modules/dimmer.overrides | 0 .../src/site/modules/dimmer.variables | 0 .../src/site/modules/dropdown.overrides | 0 .../src/site/modules/dropdown.variables | 0 .../src/site/modules/modal.overrides | 0 .../src/site/modules/modal.variables | 0 .../semantic}/src/site/modules/nag.overrides | 0 .../semantic}/src/site/modules/nag.variables | 0 .../src/site/modules/popup.overrides | 0 .../src/site/modules/popup.variables | 0 .../src/site/modules/progress.overrides | 0 .../src/site/modules/progress.variables | 0 .../src/site/modules/rating.overrides | 0 .../src/site/modules/rating.variables | 0 .../src/site/modules/search.overrides | 0 .../src/site/modules/search.variables | 0 .../src/site/modules/shape.overrides | 0 .../src/site/modules/shape.variables | 0 .../src/site/modules/sidebar.overrides | 0 .../src/site/modules/sidebar.variables | 0 .../src/site/modules/sticky.overrides | 0 .../src/site/modules/sticky.variables | 0 .../semantic}/src/site/modules/tab.overrides | 0 .../semantic}/src/site/modules/tab.variables | 0 .../src/site/modules/transition.overrides | 0 .../src/site/modules/transition.variables | 0 .../src/site/modules/video.overrides | 0 .../src/site/modules/video.variables | 0 .../lib/semantic}/src/site/views/ad.overrides | 0 .../lib/semantic}/src/site/views/ad.variables | 0 .../semantic}/src/site/views/card.overrides | 0 .../semantic}/src/site/views/card.variables | 0 .../src/site/views/comment.overrides | 0 .../src/site/views/comment.variables | 0 .../semantic}/src/site/views/feed.overrides | 0 .../semantic}/src/site/views/feed.variables | 0 .../semantic}/src/site/views/item.overrides | 0 .../semantic}/src/site/views/item.variables | 0 .../src/site/views/statistic.overrides | 0 .../src/site/views/statistic.variables | 0 .../less/lib/semantic}/src/theme.config | 0 .../assets/less/lib/semantic}/src/theme.less | 0 .../themes/amazon/elements/button.overrides | 0 .../themes/amazon/elements/button.variables | 0 .../src/themes/basic/assets/fonts/icons.eot | Bin .../src/themes/basic/assets/fonts/icons.svg | 0 .../src/themes/basic/assets/fonts/icons.ttf | Bin .../src/themes/basic/assets/fonts/icons.woff | Bin .../themes/basic/collections/table.overrides | 0 .../themes/basic/collections/table.variables | 0 .../themes/basic/elements/button.overrides | 0 .../themes/basic/elements/button.variables | 0 .../src/themes/basic/elements/icon.overrides | 0 .../src/themes/basic/elements/icon.variables | 0 .../src/themes/basic/elements/step.overrides | 0 .../src/themes/basic/elements/step.variables | 0 .../src/themes/basic/globals/reset.overrides | 0 .../src/themes/basic/globals/reset.variables | 0 .../themes/basic/modules/progress.overrides | 0 .../themes/basic/modules/progress.variables | 0 .../src/themes/basic/views/card.overrides | 0 .../src/themes/basic/views/card.variables | 0 .../themes/bookish/elements/header.overrides | 0 .../themes/bookish/elements/header.variables | 0 .../bootstrap3/elements/button.overrides | 0 .../bootstrap3/elements/button.variables | 0 .../themes/chubby/collections/form.overrides | 0 .../themes/chubby/collections/form.variables | 0 .../themes/chubby/elements/button.overrides | 0 .../themes/chubby/elements/button.variables | 0 .../themes/chubby/elements/header.overrides | 0 .../themes/chubby/elements/header.variables | 0 .../themes/chubby/modules/accordion.overrides | 0 .../themes/chubby/modules/accordion.variables | 0 .../src/themes/chubby/views/comment.overrides | 0 .../src/themes/chubby/views/comment.variables | 0 .../classic/collections/table.overrides | 0 .../classic/collections/table.variables | 0 .../themes/classic/elements/button.overrides | 0 .../themes/classic/elements/button.variables | 0 .../themes/classic/elements/header.overrides | 0 .../themes/classic/elements/header.variables | 0 .../themes/classic/modules/progress.overrides | 0 .../themes/classic/modules/progress.variables | 0 .../src/themes/classic/views/card.overrides | 0 .../src/themes/classic/views/card.variables | 0 .../src/themes/default/assets/fonts/icons.eot | Bin .../src/themes/default/assets/fonts/icons.svg | 0 .../src/themes/default/assets/fonts/icons.ttf | Bin .../themes/default/assets/fonts/icons.woff | Bin .../themes/default/assets/fonts/icons.woff2 | Bin .../themes/default/assets/images/flags.png | Bin .../default/collections/breadcrumb.overrides | 0 .../default/collections/breadcrumb.variables | 0 .../themes/default/collections/form.overrides | 0 .../themes/default/collections/form.variables | 0 .../themes/default/collections/grid.overrides | 0 .../themes/default/collections/grid.variables | 0 .../themes/default/collections/menu.overrides | 0 .../themes/default/collections/menu.variables | 0 .../default/collections/message.overrides | 0 .../default/collections/message.variables | 0 .../default/collections/table.overrides | 0 .../default/collections/table.variables | 0 .../themes/default/elements/button.overrides | 0 .../themes/default/elements/button.variables | 0 .../themes/default/elements/divider.overrides | 0 .../themes/default/elements/divider.variables | 0 .../themes/default/elements/flag.overrides | 0 .../themes/default/elements/flag.variables | 0 .../themes/default/elements/header.overrides | 0 .../themes/default/elements/header.variables | 0 .../themes/default/elements/icon.overrides | 0 .../themes/default/elements/icon.variables | 0 .../themes/default/elements/image.overrides | 0 .../themes/default/elements/image.variables | 0 .../themes/default/elements/input.overrides | 0 .../themes/default/elements/input.variables | 0 .../themes/default/elements/label.overrides | 0 .../themes/default/elements/label.variables | 0 .../themes/default/elements/list.overrides | 0 .../themes/default/elements/list.variables | 0 .../themes/default/elements/loader.overrides | 0 .../themes/default/elements/loader.variables | 0 .../themes/default/elements/rail.overrides | 0 .../themes/default/elements/rail.variables | 0 .../themes/default/elements/reveal.overrides | 0 .../themes/default/elements/reveal.variables | 0 .../themes/default/elements/segment.overrides | 0 .../themes/default/elements/segment.variables | 0 .../themes/default/elements/step.overrides | 0 .../themes/default/elements/step.variables | 0 .../themes/default/globals/reset.overrides | 0 .../themes/default/globals/reset.variables | 0 .../src/themes/default/globals/site.overrides | 0 .../src/themes/default/globals/site.variables | 0 .../default/modules/accordion.overrides | 0 .../default/modules/accordion.variables | 0 .../themes/default/modules/chatroom.overrides | 0 .../themes/default/modules/chatroom.variables | 0 .../themes/default/modules/checkbox.overrides | 0 .../themes/default/modules/checkbox.variables | 0 .../themes/default/modules/dimmer.overrides | 0 .../themes/default/modules/dimmer.variables | 0 .../themes/default/modules/dropdown.overrides | 0 .../themes/default/modules/dropdown.variables | 0 .../themes/default/modules/modal.overrides | 0 .../themes/default/modules/modal.variables | 0 .../src/themes/default/modules/nag.overrides | 0 .../src/themes/default/modules/nag.variables | 0 .../themes/default/modules/popup.overrides | 0 .../themes/default/modules/popup.variables | 0 .../themes/default/modules/progress.overrides | 0 .../themes/default/modules/progress.variables | 0 .../themes/default/modules/rating.overrides | 0 .../themes/default/modules/rating.variables | 0 .../themes/default/modules/search.overrides | 0 .../themes/default/modules/search.variables | 0 .../themes/default/modules/shape.overrides | 0 .../themes/default/modules/shape.variables | 0 .../themes/default/modules/sidebar.overrides | 0 .../themes/default/modules/sidebar.variables | 0 .../themes/default/modules/sticky.overrides | 0 .../themes/default/modules/sticky.variables | 0 .../src/themes/default/modules/tab.overrides | 0 .../src/themes/default/modules/tab.variables | 0 .../default/modules/transition.overrides | 0 .../default/modules/transition.variables | 0 .../themes/default/modules/video.overrides | 0 .../themes/default/modules/video.variables | 0 .../src/themes/default/views/ad.overrides | 0 .../src/themes/default/views/ad.variables | 0 .../src/themes/default/views/card.overrides | 0 .../src/themes/default/views/card.variables | 0 .../themes/default/views/comment.overrides | 0 .../themes/default/views/comment.variables | 0 .../src/themes/default/views/feed.overrides | 0 .../src/themes/default/views/feed.variables | 0 .../src/themes/default/views/item.overrides | 0 .../src/themes/default/views/item.variables | 0 .../themes/default/views/statistic.overrides | 0 .../themes/default/views/statistic.variables | 0 .../src/themes/duo/elements/loader.overrides | 0 .../src/themes/duo/elements/loader.variables | 0 .../fixed-width/collections/grid.overrides | 0 .../fixed-width/collections/grid.variables | 0 .../fixed-width/modules/modal.overrides | 0 .../fixed-width/modules/modal.variables | 0 .../themes/flat/collections/form.overrides | 0 .../themes/flat/collections/form.variables | 0 .../src/themes/flat/globals/site.overrides | 0 .../src/themes/flat/globals/site.variables | 0 .../themes/github/collections/form.overrides | 0 .../themes/github/collections/form.variables | 0 .../themes/github/collections/menu.overrides | 0 .../themes/github/collections/menu.variables | 0 .../github/collections/message.overrides | 0 .../github/collections/message.variables | 0 .../themes/github/elements/button.overrides | 0 .../themes/github/elements/button.variables | 0 .../themes/github/elements/segment.overrides | 0 .../themes/github/elements/segment.variables | 0 .../src/themes/github/elements/step.overrides | 0 .../src/themes/github/elements/step.variables | 0 .../gmail/collections/message.overrides | 0 .../gmail/collections/message.variables | 0 .../themes/material/elements/button.overrides | 0 .../themes/material/elements/button.variables | 0 .../themes/material/elements/header.overrides | 0 .../themes/material/elements/header.variables | 0 .../themes/material/globals/site.overrides | 0 .../themes/material/globals/site.variables | 0 .../themes/material/modules/modal.overrides | 0 .../themes/material/modules/modal.variables | 0 .../themes/pulsar/elements/loader.overrides | 0 .../themes/pulsar/elements/loader.variables | 0 .../themes/raised/elements/button.overrides | 0 .../themes/raised/elements/button.variables | 0 .../themes/resetcss/globals/reset.overrides | 0 .../themes/resetcss/globals/reset.variables | 0 .../themes/round/elements/button.overrides | 0 .../themes/round/elements/button.variables | 0 .../src/themes/rtl/globals/site.overrides | 0 .../src/themes/rtl/globals/site.variables | 0 .../themes/striped/modules/progress.overrides | 0 .../themes/striped/modules/progress.variables | 0 .../src/themes/timeline/views/feed.overrides | 0 .../src/themes/timeline/views/feed.variables | 0 .../themes/twitter/elements/button.overrides | 0 .../themes/twitter/elements/button.variables | 0 client/assets/less/style.less | 8 +- gulpfile.js | 7 +- package.json | 66 +- semantic.json | 21 - semantic/tasks/README.md | 17 - semantic/tasks/admin/components/create.js | 332 -------- semantic/tasks/admin/components/init.js | 170 ---- semantic/tasks/admin/components/update.js | 184 ----- semantic/tasks/admin/distributions/create.js | 216 ----- semantic/tasks/admin/distributions/init.js | 170 ---- semantic/tasks/admin/distributions/update.js | 182 ----- semantic/tasks/admin/publish.js | 25 - semantic/tasks/admin/register.js | 55 -- semantic/tasks/admin/release.js | 29 - semantic/tasks/build.js | 138 ---- semantic/tasks/check-install.js | 28 - semantic/tasks/clean.js | 14 - semantic/tasks/collections/README.md | 16 - semantic/tasks/collections/admin.js | 49 -- semantic/tasks/collections/internal.js | 214 ----- semantic/tasks/config/admin/github.js | 38 - semantic/tasks/config/admin/oauth.example.js | 10 - semantic/tasks/config/admin/release.js | 110 --- .../tasks/config/admin/templates/README.md | 29 - .../tasks/config/admin/templates/bower.json | 29 - .../admin/templates/component-package.js | 14 - .../config/admin/templates/composer.json | 20 - .../config/admin/templates/css-package.js | 33 - .../config/admin/templates/less-package.js | 21 - .../tasks/config/admin/templates/package.json | 17 - semantic/tasks/config/defaults.js | 116 --- semantic/tasks/config/docs.js | 24 - semantic/tasks/config/npm/gulpfile.js | 59 -- semantic/tasks/config/project/config.js | 135 ---- semantic/tasks/config/project/install.js | 762 ------------------ semantic/tasks/config/project/release.js | 61 -- semantic/tasks/config/project/tasks.js | 125 --- semantic/tasks/config/user.js | 58 -- semantic/tasks/docs/build.js | 158 ---- semantic/tasks/docs/serve.js | 236 ------ semantic/tasks/install.js | 391 --------- semantic/tasks/rtl/build.js | 132 --- semantic/tasks/rtl/watch.js | 221 ----- semantic/tasks/version.js | 11 - semantic/tasks/watch.js | 225 ------ 396 files changed, 51 insertions(+), 4956 deletions(-) rename {semantic => client/assets/less/lib/semantic}/src/definitions/behaviors/api.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/behaviors/colorize.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/behaviors/form.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/behaviors/state.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/behaviors/visibility.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/behaviors/visit.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/collections/breadcrumb.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/collections/form.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/collections/grid.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/collections/menu.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/collections/message.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/collections/table.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/button.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/divider.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/flag.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/header.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/icon.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/image.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/input.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/label.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/list.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/loader.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/rail.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/reveal.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/segment.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/elements/step.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/globals/reset.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/globals/site.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/globals/site.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/accordion.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/accordion.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/checkbox.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/checkbox.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/dimmer.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/dimmer.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/dropdown.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/dropdown.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/modal.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/modal.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/nag.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/nag.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/popup.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/popup.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/progress.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/progress.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/rating.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/rating.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/search.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/search.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/shape.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/shape.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/sidebar.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/sidebar.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/sticky.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/sticky.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/tab.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/tab.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/transition.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/transition.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/video.js (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/modules/video.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/views/ad.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/views/card.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/views/comment.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/views/feed.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/views/item.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/definitions/views/statistic.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/semantic.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/breadcrumb.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/breadcrumb.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/form.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/form.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/grid.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/grid.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/menu.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/menu.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/message.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/message.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/table.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/collections/table.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/divider.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/divider.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/flag.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/flag.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/header.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/header.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/icon.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/icon.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/image.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/image.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/input.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/input.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/label.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/label.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/list.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/list.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/loader.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/loader.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/rail.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/rail.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/reveal.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/reveal.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/segment.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/segment.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/step.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/elements/step.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/globals/reset.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/globals/reset.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/globals/site.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/globals/site.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/accordion.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/accordion.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/chatroom.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/chatroom.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/checkbox.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/checkbox.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/dimmer.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/dimmer.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/dropdown.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/dropdown.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/modal.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/modal.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/nag.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/nag.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/popup.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/popup.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/progress.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/progress.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/rating.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/rating.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/search.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/search.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/shape.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/shape.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/sidebar.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/sidebar.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/sticky.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/sticky.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/tab.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/tab.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/transition.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/transition.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/video.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/modules/video.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/ad.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/ad.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/card.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/card.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/comment.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/comment.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/feed.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/feed.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/item.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/item.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/statistic.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/site/views/statistic.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/theme.config (100%) rename {semantic => client/assets/less/lib/semantic}/src/theme.less (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/amazon/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/amazon/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/assets/fonts/icons.eot (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/assets/fonts/icons.svg (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/assets/fonts/icons.ttf (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/assets/fonts/icons.woff (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/collections/table.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/collections/table.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/elements/icon.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/elements/icon.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/elements/step.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/elements/step.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/globals/reset.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/globals/reset.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/modules/progress.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/modules/progress.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/views/card.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/basic/views/card.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/bookish/elements/header.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/bookish/elements/header.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/bootstrap3/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/bootstrap3/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/collections/form.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/collections/form.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/elements/header.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/elements/header.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/modules/accordion.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/modules/accordion.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/views/comment.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/chubby/views/comment.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/collections/table.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/collections/table.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/elements/header.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/elements/header.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/modules/progress.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/modules/progress.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/views/card.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/classic/views/card.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/assets/fonts/icons.eot (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/assets/fonts/icons.svg (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/assets/fonts/icons.ttf (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/assets/fonts/icons.woff (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/assets/fonts/icons.woff2 (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/assets/images/flags.png (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/breadcrumb.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/breadcrumb.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/form.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/form.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/grid.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/grid.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/menu.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/menu.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/message.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/message.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/table.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/collections/table.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/divider.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/divider.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/flag.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/flag.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/header.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/header.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/icon.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/icon.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/image.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/image.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/input.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/input.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/label.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/label.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/list.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/list.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/loader.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/loader.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/rail.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/rail.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/reveal.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/reveal.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/segment.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/segment.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/step.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/elements/step.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/globals/reset.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/globals/reset.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/globals/site.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/globals/site.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/accordion.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/accordion.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/chatroom.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/chatroom.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/checkbox.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/checkbox.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/dimmer.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/dimmer.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/dropdown.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/dropdown.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/modal.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/modal.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/nag.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/nag.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/popup.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/popup.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/progress.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/progress.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/rating.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/rating.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/search.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/search.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/shape.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/shape.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/sidebar.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/sidebar.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/sticky.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/sticky.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/tab.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/tab.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/transition.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/transition.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/video.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/modules/video.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/ad.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/ad.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/card.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/card.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/comment.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/comment.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/feed.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/feed.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/item.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/item.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/statistic.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/default/views/statistic.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/duo/elements/loader.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/duo/elements/loader.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/fixed-width/collections/grid.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/fixed-width/collections/grid.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/fixed-width/modules/modal.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/fixed-width/modules/modal.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/flat/collections/form.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/flat/collections/form.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/flat/globals/site.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/flat/globals/site.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/collections/form.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/collections/form.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/collections/menu.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/collections/menu.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/collections/message.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/collections/message.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/elements/segment.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/elements/segment.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/elements/step.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/github/elements/step.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/gmail/collections/message.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/gmail/collections/message.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/elements/header.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/elements/header.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/globals/site.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/globals/site.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/modules/modal.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/material/modules/modal.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/pulsar/elements/loader.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/pulsar/elements/loader.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/raised/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/raised/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/resetcss/globals/reset.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/resetcss/globals/reset.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/round/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/round/elements/button.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/rtl/globals/site.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/rtl/globals/site.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/striped/modules/progress.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/striped/modules/progress.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/timeline/views/feed.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/timeline/views/feed.variables (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/twitter/elements/button.overrides (100%) rename {semantic => client/assets/less/lib/semantic}/src/themes/twitter/elements/button.variables (100%) delete mode 100755 semantic.json delete mode 100755 semantic/tasks/README.md delete mode 100755 semantic/tasks/admin/components/create.js delete mode 100755 semantic/tasks/admin/components/init.js delete mode 100755 semantic/tasks/admin/components/update.js delete mode 100755 semantic/tasks/admin/distributions/create.js delete mode 100755 semantic/tasks/admin/distributions/init.js delete mode 100755 semantic/tasks/admin/distributions/update.js delete mode 100755 semantic/tasks/admin/publish.js delete mode 100755 semantic/tasks/admin/register.js delete mode 100755 semantic/tasks/admin/release.js delete mode 100755 semantic/tasks/build.js delete mode 100755 semantic/tasks/check-install.js delete mode 100755 semantic/tasks/clean.js delete mode 100755 semantic/tasks/collections/README.md delete mode 100755 semantic/tasks/collections/admin.js delete mode 100755 semantic/tasks/collections/internal.js delete mode 100755 semantic/tasks/config/admin/github.js delete mode 100755 semantic/tasks/config/admin/oauth.example.js delete mode 100755 semantic/tasks/config/admin/release.js delete mode 100755 semantic/tasks/config/admin/templates/README.md delete mode 100755 semantic/tasks/config/admin/templates/bower.json delete mode 100755 semantic/tasks/config/admin/templates/component-package.js delete mode 100755 semantic/tasks/config/admin/templates/composer.json delete mode 100755 semantic/tasks/config/admin/templates/css-package.js delete mode 100755 semantic/tasks/config/admin/templates/less-package.js delete mode 100755 semantic/tasks/config/admin/templates/package.json delete mode 100755 semantic/tasks/config/defaults.js delete mode 100755 semantic/tasks/config/docs.js delete mode 100755 semantic/tasks/config/npm/gulpfile.js delete mode 100755 semantic/tasks/config/project/config.js delete mode 100755 semantic/tasks/config/project/install.js delete mode 100755 semantic/tasks/config/project/release.js delete mode 100755 semantic/tasks/config/project/tasks.js delete mode 100755 semantic/tasks/config/user.js delete mode 100755 semantic/tasks/docs/build.js delete mode 100755 semantic/tasks/docs/serve.js delete mode 100755 semantic/tasks/install.js delete mode 100755 semantic/tasks/rtl/build.js delete mode 100755 semantic/tasks/rtl/watch.js delete mode 100755 semantic/tasks/version.js delete mode 100755 semantic/tasks/watch.js diff --git a/.gitignore b/.gitignore index 1eeefdb..ed20375 100644 --- a/.gitignore +++ b/.gitignore @@ -5,12 +5,6 @@ client/dist/* node_modules/* -client/test-reports/* - -client/docs/* - -client/assets/js/* - client/cache.manifest .idea/* @@ -23,8 +17,4 @@ dist api/data/db/* -semantic/dist/* - -semantic/node_modules/* - npm-debug.log diff --git a/client/assets/less/lib/select/custom.less b/client/assets/less/lib/select/custom.less index e0d28c9..81dc52a 100644 --- a/client/assets/less/lib/select/custom.less +++ b/client/assets/less/lib/select/custom.less @@ -35,11 +35,11 @@ Ensure you have the following variables set before importing this file: @select-home: "../../../../../node_modules/react-select/less"; -@import "@{select-home}/select-control.less"; -@import "@{select-home}/select-menu.less"; -@import "@{select-home}/select-mixins.less"; -@import "@{select-home}/select-multi.less"; -@import "@{select-home}/select-spinner.less"; +@import "@{select-home}/control.less"; +@import "@{select-home}/menu.less"; +@import "@{select-home}/mixins.less"; +@import "@{select-home}/multi.less"; +@import "@{select-home}/spinner.less"; .ui.form { diff --git a/client/assets/less/lib/select/variables.less b/client/assets/less/lib/select/variables.less index 42e86a4..bb1544d 100644 --- a/client/assets/less/lib/select/variables.less +++ b/client/assets/less/lib/select/variables.less @@ -6,10 +6,11 @@ * MIT License: https://github.com/keystonejs/react-select */ -// +// // Select Variables -// ------------------------------ +// ------------------------------------------------------------ +@select-input-bg: #fff; @select-text-color: #333; @select-input-border-color: #ccc; @select-input-border-radius: 4px; @@ -28,6 +29,7 @@ @select-option-color: lighten(@select-text-color, 20%); @select-option-focused-color: @select-text-color; @select-option-focused-bg: #f2f9fc; // pale blue +@select-option-disabled-color: lighten(@select-text-color, 60%); @select-noresults-color: lighten(@select-text-color, 40%); @@ -44,6 +46,10 @@ @select-item-border-color: darken(@select-item-bg, 10%); @select-item-hover-color: darken(@select-item-color, 5%); // pale blue @select-item-hover-bg: darken(@select-item-bg, 5%); +@select-item-disabled-color: #888; +@select-item-disabled-bg: #f2f2f2; +@select-item-disabled-border-color: darken(@select-item-disabled-bg, 10%); + // wrapper @@ -51,4 +57,3 @@ .Select { position: relative; } - diff --git a/semantic/src/definitions/behaviors/api.js b/client/assets/less/lib/semantic/src/definitions/behaviors/api.js similarity index 100% rename from semantic/src/definitions/behaviors/api.js rename to client/assets/less/lib/semantic/src/definitions/behaviors/api.js diff --git a/semantic/src/definitions/behaviors/colorize.js b/client/assets/less/lib/semantic/src/definitions/behaviors/colorize.js similarity index 100% rename from semantic/src/definitions/behaviors/colorize.js rename to client/assets/less/lib/semantic/src/definitions/behaviors/colorize.js diff --git a/semantic/src/definitions/behaviors/form.js b/client/assets/less/lib/semantic/src/definitions/behaviors/form.js similarity index 100% rename from semantic/src/definitions/behaviors/form.js rename to client/assets/less/lib/semantic/src/definitions/behaviors/form.js diff --git a/semantic/src/definitions/behaviors/state.js b/client/assets/less/lib/semantic/src/definitions/behaviors/state.js similarity index 100% rename from semantic/src/definitions/behaviors/state.js rename to client/assets/less/lib/semantic/src/definitions/behaviors/state.js diff --git a/semantic/src/definitions/behaviors/visibility.js b/client/assets/less/lib/semantic/src/definitions/behaviors/visibility.js similarity index 100% rename from semantic/src/definitions/behaviors/visibility.js rename to client/assets/less/lib/semantic/src/definitions/behaviors/visibility.js diff --git a/semantic/src/definitions/behaviors/visit.js b/client/assets/less/lib/semantic/src/definitions/behaviors/visit.js similarity index 100% rename from semantic/src/definitions/behaviors/visit.js rename to client/assets/less/lib/semantic/src/definitions/behaviors/visit.js diff --git a/semantic/src/definitions/collections/breadcrumb.less b/client/assets/less/lib/semantic/src/definitions/collections/breadcrumb.less similarity index 100% rename from semantic/src/definitions/collections/breadcrumb.less rename to client/assets/less/lib/semantic/src/definitions/collections/breadcrumb.less diff --git a/semantic/src/definitions/collections/form.less b/client/assets/less/lib/semantic/src/definitions/collections/form.less similarity index 100% rename from semantic/src/definitions/collections/form.less rename to client/assets/less/lib/semantic/src/definitions/collections/form.less diff --git a/semantic/src/definitions/collections/grid.less b/client/assets/less/lib/semantic/src/definitions/collections/grid.less similarity index 100% rename from semantic/src/definitions/collections/grid.less rename to client/assets/less/lib/semantic/src/definitions/collections/grid.less diff --git a/semantic/src/definitions/collections/menu.less b/client/assets/less/lib/semantic/src/definitions/collections/menu.less similarity index 100% rename from semantic/src/definitions/collections/menu.less rename to client/assets/less/lib/semantic/src/definitions/collections/menu.less diff --git a/semantic/src/definitions/collections/message.less b/client/assets/less/lib/semantic/src/definitions/collections/message.less similarity index 100% rename from semantic/src/definitions/collections/message.less rename to client/assets/less/lib/semantic/src/definitions/collections/message.less diff --git a/semantic/src/definitions/collections/table.less b/client/assets/less/lib/semantic/src/definitions/collections/table.less similarity index 100% rename from semantic/src/definitions/collections/table.less rename to client/assets/less/lib/semantic/src/definitions/collections/table.less diff --git a/semantic/src/definitions/elements/button.less b/client/assets/less/lib/semantic/src/definitions/elements/button.less similarity index 100% rename from semantic/src/definitions/elements/button.less rename to client/assets/less/lib/semantic/src/definitions/elements/button.less diff --git a/semantic/src/definitions/elements/divider.less b/client/assets/less/lib/semantic/src/definitions/elements/divider.less similarity index 100% rename from semantic/src/definitions/elements/divider.less rename to client/assets/less/lib/semantic/src/definitions/elements/divider.less diff --git a/semantic/src/definitions/elements/flag.less b/client/assets/less/lib/semantic/src/definitions/elements/flag.less similarity index 100% rename from semantic/src/definitions/elements/flag.less rename to client/assets/less/lib/semantic/src/definitions/elements/flag.less diff --git a/semantic/src/definitions/elements/header.less b/client/assets/less/lib/semantic/src/definitions/elements/header.less similarity index 100% rename from semantic/src/definitions/elements/header.less rename to client/assets/less/lib/semantic/src/definitions/elements/header.less diff --git a/semantic/src/definitions/elements/icon.less b/client/assets/less/lib/semantic/src/definitions/elements/icon.less similarity index 100% rename from semantic/src/definitions/elements/icon.less rename to client/assets/less/lib/semantic/src/definitions/elements/icon.less diff --git a/semantic/src/definitions/elements/image.less b/client/assets/less/lib/semantic/src/definitions/elements/image.less similarity index 100% rename from semantic/src/definitions/elements/image.less rename to client/assets/less/lib/semantic/src/definitions/elements/image.less diff --git a/semantic/src/definitions/elements/input.less b/client/assets/less/lib/semantic/src/definitions/elements/input.less similarity index 100% rename from semantic/src/definitions/elements/input.less rename to client/assets/less/lib/semantic/src/definitions/elements/input.less diff --git a/semantic/src/definitions/elements/label.less b/client/assets/less/lib/semantic/src/definitions/elements/label.less similarity index 100% rename from semantic/src/definitions/elements/label.less rename to client/assets/less/lib/semantic/src/definitions/elements/label.less diff --git a/semantic/src/definitions/elements/list.less b/client/assets/less/lib/semantic/src/definitions/elements/list.less similarity index 100% rename from semantic/src/definitions/elements/list.less rename to client/assets/less/lib/semantic/src/definitions/elements/list.less diff --git a/semantic/src/definitions/elements/loader.less b/client/assets/less/lib/semantic/src/definitions/elements/loader.less similarity index 100% rename from semantic/src/definitions/elements/loader.less rename to client/assets/less/lib/semantic/src/definitions/elements/loader.less diff --git a/semantic/src/definitions/elements/rail.less b/client/assets/less/lib/semantic/src/definitions/elements/rail.less similarity index 100% rename from semantic/src/definitions/elements/rail.less rename to client/assets/less/lib/semantic/src/definitions/elements/rail.less diff --git a/semantic/src/definitions/elements/reveal.less b/client/assets/less/lib/semantic/src/definitions/elements/reveal.less similarity index 100% rename from semantic/src/definitions/elements/reveal.less rename to client/assets/less/lib/semantic/src/definitions/elements/reveal.less diff --git a/semantic/src/definitions/elements/segment.less b/client/assets/less/lib/semantic/src/definitions/elements/segment.less similarity index 100% rename from semantic/src/definitions/elements/segment.less rename to client/assets/less/lib/semantic/src/definitions/elements/segment.less diff --git a/semantic/src/definitions/elements/step.less b/client/assets/less/lib/semantic/src/definitions/elements/step.less similarity index 100% rename from semantic/src/definitions/elements/step.less rename to client/assets/less/lib/semantic/src/definitions/elements/step.less diff --git a/semantic/src/definitions/globals/reset.less b/client/assets/less/lib/semantic/src/definitions/globals/reset.less similarity index 100% rename from semantic/src/definitions/globals/reset.less rename to client/assets/less/lib/semantic/src/definitions/globals/reset.less diff --git a/semantic/src/definitions/globals/site.js b/client/assets/less/lib/semantic/src/definitions/globals/site.js similarity index 100% rename from semantic/src/definitions/globals/site.js rename to client/assets/less/lib/semantic/src/definitions/globals/site.js diff --git a/semantic/src/definitions/globals/site.less b/client/assets/less/lib/semantic/src/definitions/globals/site.less similarity index 100% rename from semantic/src/definitions/globals/site.less rename to client/assets/less/lib/semantic/src/definitions/globals/site.less diff --git a/semantic/src/definitions/modules/accordion.js b/client/assets/less/lib/semantic/src/definitions/modules/accordion.js similarity index 100% rename from semantic/src/definitions/modules/accordion.js rename to client/assets/less/lib/semantic/src/definitions/modules/accordion.js diff --git a/semantic/src/definitions/modules/accordion.less b/client/assets/less/lib/semantic/src/definitions/modules/accordion.less similarity index 100% rename from semantic/src/definitions/modules/accordion.less rename to client/assets/less/lib/semantic/src/definitions/modules/accordion.less diff --git a/semantic/src/definitions/modules/checkbox.js b/client/assets/less/lib/semantic/src/definitions/modules/checkbox.js similarity index 100% rename from semantic/src/definitions/modules/checkbox.js rename to client/assets/less/lib/semantic/src/definitions/modules/checkbox.js diff --git a/semantic/src/definitions/modules/checkbox.less b/client/assets/less/lib/semantic/src/definitions/modules/checkbox.less similarity index 100% rename from semantic/src/definitions/modules/checkbox.less rename to client/assets/less/lib/semantic/src/definitions/modules/checkbox.less diff --git a/semantic/src/definitions/modules/dimmer.js b/client/assets/less/lib/semantic/src/definitions/modules/dimmer.js similarity index 100% rename from semantic/src/definitions/modules/dimmer.js rename to client/assets/less/lib/semantic/src/definitions/modules/dimmer.js diff --git a/semantic/src/definitions/modules/dimmer.less b/client/assets/less/lib/semantic/src/definitions/modules/dimmer.less similarity index 100% rename from semantic/src/definitions/modules/dimmer.less rename to client/assets/less/lib/semantic/src/definitions/modules/dimmer.less diff --git a/semantic/src/definitions/modules/dropdown.js b/client/assets/less/lib/semantic/src/definitions/modules/dropdown.js similarity index 100% rename from semantic/src/definitions/modules/dropdown.js rename to client/assets/less/lib/semantic/src/definitions/modules/dropdown.js diff --git a/semantic/src/definitions/modules/dropdown.less b/client/assets/less/lib/semantic/src/definitions/modules/dropdown.less similarity index 100% rename from semantic/src/definitions/modules/dropdown.less rename to client/assets/less/lib/semantic/src/definitions/modules/dropdown.less diff --git a/semantic/src/definitions/modules/modal.js b/client/assets/less/lib/semantic/src/definitions/modules/modal.js similarity index 100% rename from semantic/src/definitions/modules/modal.js rename to client/assets/less/lib/semantic/src/definitions/modules/modal.js diff --git a/semantic/src/definitions/modules/modal.less b/client/assets/less/lib/semantic/src/definitions/modules/modal.less similarity index 100% rename from semantic/src/definitions/modules/modal.less rename to client/assets/less/lib/semantic/src/definitions/modules/modal.less diff --git a/semantic/src/definitions/modules/nag.js b/client/assets/less/lib/semantic/src/definitions/modules/nag.js similarity index 100% rename from semantic/src/definitions/modules/nag.js rename to client/assets/less/lib/semantic/src/definitions/modules/nag.js diff --git a/semantic/src/definitions/modules/nag.less b/client/assets/less/lib/semantic/src/definitions/modules/nag.less similarity index 100% rename from semantic/src/definitions/modules/nag.less rename to client/assets/less/lib/semantic/src/definitions/modules/nag.less diff --git a/semantic/src/definitions/modules/popup.js b/client/assets/less/lib/semantic/src/definitions/modules/popup.js similarity index 100% rename from semantic/src/definitions/modules/popup.js rename to client/assets/less/lib/semantic/src/definitions/modules/popup.js diff --git a/semantic/src/definitions/modules/popup.less b/client/assets/less/lib/semantic/src/definitions/modules/popup.less similarity index 100% rename from semantic/src/definitions/modules/popup.less rename to client/assets/less/lib/semantic/src/definitions/modules/popup.less diff --git a/semantic/src/definitions/modules/progress.js b/client/assets/less/lib/semantic/src/definitions/modules/progress.js similarity index 100% rename from semantic/src/definitions/modules/progress.js rename to client/assets/less/lib/semantic/src/definitions/modules/progress.js diff --git a/semantic/src/definitions/modules/progress.less b/client/assets/less/lib/semantic/src/definitions/modules/progress.less similarity index 100% rename from semantic/src/definitions/modules/progress.less rename to client/assets/less/lib/semantic/src/definitions/modules/progress.less diff --git a/semantic/src/definitions/modules/rating.js b/client/assets/less/lib/semantic/src/definitions/modules/rating.js similarity index 100% rename from semantic/src/definitions/modules/rating.js rename to client/assets/less/lib/semantic/src/definitions/modules/rating.js diff --git a/semantic/src/definitions/modules/rating.less b/client/assets/less/lib/semantic/src/definitions/modules/rating.less similarity index 100% rename from semantic/src/definitions/modules/rating.less rename to client/assets/less/lib/semantic/src/definitions/modules/rating.less diff --git a/semantic/src/definitions/modules/search.js b/client/assets/less/lib/semantic/src/definitions/modules/search.js similarity index 100% rename from semantic/src/definitions/modules/search.js rename to client/assets/less/lib/semantic/src/definitions/modules/search.js diff --git a/semantic/src/definitions/modules/search.less b/client/assets/less/lib/semantic/src/definitions/modules/search.less similarity index 100% rename from semantic/src/definitions/modules/search.less rename to client/assets/less/lib/semantic/src/definitions/modules/search.less diff --git a/semantic/src/definitions/modules/shape.js b/client/assets/less/lib/semantic/src/definitions/modules/shape.js similarity index 100% rename from semantic/src/definitions/modules/shape.js rename to client/assets/less/lib/semantic/src/definitions/modules/shape.js diff --git a/semantic/src/definitions/modules/shape.less b/client/assets/less/lib/semantic/src/definitions/modules/shape.less similarity index 100% rename from semantic/src/definitions/modules/shape.less rename to client/assets/less/lib/semantic/src/definitions/modules/shape.less diff --git a/semantic/src/definitions/modules/sidebar.js b/client/assets/less/lib/semantic/src/definitions/modules/sidebar.js similarity index 100% rename from semantic/src/definitions/modules/sidebar.js rename to client/assets/less/lib/semantic/src/definitions/modules/sidebar.js diff --git a/semantic/src/definitions/modules/sidebar.less b/client/assets/less/lib/semantic/src/definitions/modules/sidebar.less similarity index 100% rename from semantic/src/definitions/modules/sidebar.less rename to client/assets/less/lib/semantic/src/definitions/modules/sidebar.less diff --git a/semantic/src/definitions/modules/sticky.js b/client/assets/less/lib/semantic/src/definitions/modules/sticky.js similarity index 100% rename from semantic/src/definitions/modules/sticky.js rename to client/assets/less/lib/semantic/src/definitions/modules/sticky.js diff --git a/semantic/src/definitions/modules/sticky.less b/client/assets/less/lib/semantic/src/definitions/modules/sticky.less similarity index 100% rename from semantic/src/definitions/modules/sticky.less rename to client/assets/less/lib/semantic/src/definitions/modules/sticky.less diff --git a/semantic/src/definitions/modules/tab.js b/client/assets/less/lib/semantic/src/definitions/modules/tab.js similarity index 100% rename from semantic/src/definitions/modules/tab.js rename to client/assets/less/lib/semantic/src/definitions/modules/tab.js diff --git a/semantic/src/definitions/modules/tab.less b/client/assets/less/lib/semantic/src/definitions/modules/tab.less similarity index 100% rename from semantic/src/definitions/modules/tab.less rename to client/assets/less/lib/semantic/src/definitions/modules/tab.less diff --git a/semantic/src/definitions/modules/transition.js b/client/assets/less/lib/semantic/src/definitions/modules/transition.js similarity index 100% rename from semantic/src/definitions/modules/transition.js rename to client/assets/less/lib/semantic/src/definitions/modules/transition.js diff --git a/semantic/src/definitions/modules/transition.less b/client/assets/less/lib/semantic/src/definitions/modules/transition.less similarity index 100% rename from semantic/src/definitions/modules/transition.less rename to client/assets/less/lib/semantic/src/definitions/modules/transition.less diff --git a/semantic/src/definitions/modules/video.js b/client/assets/less/lib/semantic/src/definitions/modules/video.js similarity index 100% rename from semantic/src/definitions/modules/video.js rename to client/assets/less/lib/semantic/src/definitions/modules/video.js diff --git a/semantic/src/definitions/modules/video.less b/client/assets/less/lib/semantic/src/definitions/modules/video.less similarity index 100% rename from semantic/src/definitions/modules/video.less rename to client/assets/less/lib/semantic/src/definitions/modules/video.less diff --git a/semantic/src/definitions/views/ad.less b/client/assets/less/lib/semantic/src/definitions/views/ad.less similarity index 100% rename from semantic/src/definitions/views/ad.less rename to client/assets/less/lib/semantic/src/definitions/views/ad.less diff --git a/semantic/src/definitions/views/card.less b/client/assets/less/lib/semantic/src/definitions/views/card.less similarity index 100% rename from semantic/src/definitions/views/card.less rename to client/assets/less/lib/semantic/src/definitions/views/card.less diff --git a/semantic/src/definitions/views/comment.less b/client/assets/less/lib/semantic/src/definitions/views/comment.less similarity index 100% rename from semantic/src/definitions/views/comment.less rename to client/assets/less/lib/semantic/src/definitions/views/comment.less diff --git a/semantic/src/definitions/views/feed.less b/client/assets/less/lib/semantic/src/definitions/views/feed.less similarity index 100% rename from semantic/src/definitions/views/feed.less rename to client/assets/less/lib/semantic/src/definitions/views/feed.less diff --git a/semantic/src/definitions/views/item.less b/client/assets/less/lib/semantic/src/definitions/views/item.less similarity index 100% rename from semantic/src/definitions/views/item.less rename to client/assets/less/lib/semantic/src/definitions/views/item.less diff --git a/semantic/src/definitions/views/statistic.less b/client/assets/less/lib/semantic/src/definitions/views/statistic.less similarity index 100% rename from semantic/src/definitions/views/statistic.less rename to client/assets/less/lib/semantic/src/definitions/views/statistic.less diff --git a/semantic/src/semantic.less b/client/assets/less/lib/semantic/src/semantic.less similarity index 100% rename from semantic/src/semantic.less rename to client/assets/less/lib/semantic/src/semantic.less diff --git a/semantic/src/site/collections/breadcrumb.overrides b/client/assets/less/lib/semantic/src/site/collections/breadcrumb.overrides similarity index 100% rename from semantic/src/site/collections/breadcrumb.overrides rename to client/assets/less/lib/semantic/src/site/collections/breadcrumb.overrides diff --git a/semantic/src/site/collections/breadcrumb.variables b/client/assets/less/lib/semantic/src/site/collections/breadcrumb.variables similarity index 100% rename from semantic/src/site/collections/breadcrumb.variables rename to client/assets/less/lib/semantic/src/site/collections/breadcrumb.variables diff --git a/semantic/src/site/collections/form.overrides b/client/assets/less/lib/semantic/src/site/collections/form.overrides similarity index 100% rename from semantic/src/site/collections/form.overrides rename to client/assets/less/lib/semantic/src/site/collections/form.overrides diff --git a/semantic/src/site/collections/form.variables b/client/assets/less/lib/semantic/src/site/collections/form.variables similarity index 100% rename from semantic/src/site/collections/form.variables rename to client/assets/less/lib/semantic/src/site/collections/form.variables diff --git a/semantic/src/site/collections/grid.overrides b/client/assets/less/lib/semantic/src/site/collections/grid.overrides similarity index 100% rename from semantic/src/site/collections/grid.overrides rename to client/assets/less/lib/semantic/src/site/collections/grid.overrides diff --git a/semantic/src/site/collections/grid.variables b/client/assets/less/lib/semantic/src/site/collections/grid.variables similarity index 100% rename from semantic/src/site/collections/grid.variables rename to client/assets/less/lib/semantic/src/site/collections/grid.variables diff --git a/semantic/src/site/collections/menu.overrides b/client/assets/less/lib/semantic/src/site/collections/menu.overrides similarity index 100% rename from semantic/src/site/collections/menu.overrides rename to client/assets/less/lib/semantic/src/site/collections/menu.overrides diff --git a/semantic/src/site/collections/menu.variables b/client/assets/less/lib/semantic/src/site/collections/menu.variables similarity index 100% rename from semantic/src/site/collections/menu.variables rename to client/assets/less/lib/semantic/src/site/collections/menu.variables diff --git a/semantic/src/site/collections/message.overrides b/client/assets/less/lib/semantic/src/site/collections/message.overrides similarity index 100% rename from semantic/src/site/collections/message.overrides rename to client/assets/less/lib/semantic/src/site/collections/message.overrides diff --git a/semantic/src/site/collections/message.variables b/client/assets/less/lib/semantic/src/site/collections/message.variables similarity index 100% rename from semantic/src/site/collections/message.variables rename to client/assets/less/lib/semantic/src/site/collections/message.variables diff --git a/semantic/src/site/collections/table.overrides b/client/assets/less/lib/semantic/src/site/collections/table.overrides similarity index 100% rename from semantic/src/site/collections/table.overrides rename to client/assets/less/lib/semantic/src/site/collections/table.overrides diff --git a/semantic/src/site/collections/table.variables b/client/assets/less/lib/semantic/src/site/collections/table.variables similarity index 100% rename from semantic/src/site/collections/table.variables rename to client/assets/less/lib/semantic/src/site/collections/table.variables diff --git a/semantic/src/site/elements/button.overrides b/client/assets/less/lib/semantic/src/site/elements/button.overrides similarity index 100% rename from semantic/src/site/elements/button.overrides rename to client/assets/less/lib/semantic/src/site/elements/button.overrides diff --git a/semantic/src/site/elements/button.variables b/client/assets/less/lib/semantic/src/site/elements/button.variables similarity index 100% rename from semantic/src/site/elements/button.variables rename to client/assets/less/lib/semantic/src/site/elements/button.variables diff --git a/semantic/src/site/elements/divider.overrides b/client/assets/less/lib/semantic/src/site/elements/divider.overrides similarity index 100% rename from semantic/src/site/elements/divider.overrides rename to client/assets/less/lib/semantic/src/site/elements/divider.overrides diff --git a/semantic/src/site/elements/divider.variables b/client/assets/less/lib/semantic/src/site/elements/divider.variables similarity index 100% rename from semantic/src/site/elements/divider.variables rename to client/assets/less/lib/semantic/src/site/elements/divider.variables diff --git a/semantic/src/site/elements/flag.overrides b/client/assets/less/lib/semantic/src/site/elements/flag.overrides similarity index 100% rename from semantic/src/site/elements/flag.overrides rename to client/assets/less/lib/semantic/src/site/elements/flag.overrides diff --git a/semantic/src/site/elements/flag.variables b/client/assets/less/lib/semantic/src/site/elements/flag.variables similarity index 100% rename from semantic/src/site/elements/flag.variables rename to client/assets/less/lib/semantic/src/site/elements/flag.variables diff --git a/semantic/src/site/elements/header.overrides b/client/assets/less/lib/semantic/src/site/elements/header.overrides similarity index 100% rename from semantic/src/site/elements/header.overrides rename to client/assets/less/lib/semantic/src/site/elements/header.overrides diff --git a/semantic/src/site/elements/header.variables b/client/assets/less/lib/semantic/src/site/elements/header.variables similarity index 100% rename from semantic/src/site/elements/header.variables rename to client/assets/less/lib/semantic/src/site/elements/header.variables diff --git a/semantic/src/site/elements/icon.overrides b/client/assets/less/lib/semantic/src/site/elements/icon.overrides similarity index 100% rename from semantic/src/site/elements/icon.overrides rename to client/assets/less/lib/semantic/src/site/elements/icon.overrides diff --git a/semantic/src/site/elements/icon.variables b/client/assets/less/lib/semantic/src/site/elements/icon.variables similarity index 100% rename from semantic/src/site/elements/icon.variables rename to client/assets/less/lib/semantic/src/site/elements/icon.variables diff --git a/semantic/src/site/elements/image.overrides b/client/assets/less/lib/semantic/src/site/elements/image.overrides similarity index 100% rename from semantic/src/site/elements/image.overrides rename to client/assets/less/lib/semantic/src/site/elements/image.overrides diff --git a/semantic/src/site/elements/image.variables b/client/assets/less/lib/semantic/src/site/elements/image.variables similarity index 100% rename from semantic/src/site/elements/image.variables rename to client/assets/less/lib/semantic/src/site/elements/image.variables diff --git a/semantic/src/site/elements/input.overrides b/client/assets/less/lib/semantic/src/site/elements/input.overrides similarity index 100% rename from semantic/src/site/elements/input.overrides rename to client/assets/less/lib/semantic/src/site/elements/input.overrides diff --git a/semantic/src/site/elements/input.variables b/client/assets/less/lib/semantic/src/site/elements/input.variables similarity index 100% rename from semantic/src/site/elements/input.variables rename to client/assets/less/lib/semantic/src/site/elements/input.variables diff --git a/semantic/src/site/elements/label.overrides b/client/assets/less/lib/semantic/src/site/elements/label.overrides similarity index 100% rename from semantic/src/site/elements/label.overrides rename to client/assets/less/lib/semantic/src/site/elements/label.overrides diff --git a/semantic/src/site/elements/label.variables b/client/assets/less/lib/semantic/src/site/elements/label.variables similarity index 100% rename from semantic/src/site/elements/label.variables rename to client/assets/less/lib/semantic/src/site/elements/label.variables diff --git a/semantic/src/site/elements/list.overrides b/client/assets/less/lib/semantic/src/site/elements/list.overrides similarity index 100% rename from semantic/src/site/elements/list.overrides rename to client/assets/less/lib/semantic/src/site/elements/list.overrides diff --git a/semantic/src/site/elements/list.variables b/client/assets/less/lib/semantic/src/site/elements/list.variables similarity index 100% rename from semantic/src/site/elements/list.variables rename to client/assets/less/lib/semantic/src/site/elements/list.variables diff --git a/semantic/src/site/elements/loader.overrides b/client/assets/less/lib/semantic/src/site/elements/loader.overrides similarity index 100% rename from semantic/src/site/elements/loader.overrides rename to client/assets/less/lib/semantic/src/site/elements/loader.overrides diff --git a/semantic/src/site/elements/loader.variables b/client/assets/less/lib/semantic/src/site/elements/loader.variables similarity index 100% rename from semantic/src/site/elements/loader.variables rename to client/assets/less/lib/semantic/src/site/elements/loader.variables diff --git a/semantic/src/site/elements/rail.overrides b/client/assets/less/lib/semantic/src/site/elements/rail.overrides similarity index 100% rename from semantic/src/site/elements/rail.overrides rename to client/assets/less/lib/semantic/src/site/elements/rail.overrides diff --git a/semantic/src/site/elements/rail.variables b/client/assets/less/lib/semantic/src/site/elements/rail.variables similarity index 100% rename from semantic/src/site/elements/rail.variables rename to client/assets/less/lib/semantic/src/site/elements/rail.variables diff --git a/semantic/src/site/elements/reveal.overrides b/client/assets/less/lib/semantic/src/site/elements/reveal.overrides similarity index 100% rename from semantic/src/site/elements/reveal.overrides rename to client/assets/less/lib/semantic/src/site/elements/reveal.overrides diff --git a/semantic/src/site/elements/reveal.variables b/client/assets/less/lib/semantic/src/site/elements/reveal.variables similarity index 100% rename from semantic/src/site/elements/reveal.variables rename to client/assets/less/lib/semantic/src/site/elements/reveal.variables diff --git a/semantic/src/site/elements/segment.overrides b/client/assets/less/lib/semantic/src/site/elements/segment.overrides similarity index 100% rename from semantic/src/site/elements/segment.overrides rename to client/assets/less/lib/semantic/src/site/elements/segment.overrides diff --git a/semantic/src/site/elements/segment.variables b/client/assets/less/lib/semantic/src/site/elements/segment.variables similarity index 100% rename from semantic/src/site/elements/segment.variables rename to client/assets/less/lib/semantic/src/site/elements/segment.variables diff --git a/semantic/src/site/elements/step.overrides b/client/assets/less/lib/semantic/src/site/elements/step.overrides similarity index 100% rename from semantic/src/site/elements/step.overrides rename to client/assets/less/lib/semantic/src/site/elements/step.overrides diff --git a/semantic/src/site/elements/step.variables b/client/assets/less/lib/semantic/src/site/elements/step.variables similarity index 100% rename from semantic/src/site/elements/step.variables rename to client/assets/less/lib/semantic/src/site/elements/step.variables diff --git a/semantic/src/site/globals/reset.overrides b/client/assets/less/lib/semantic/src/site/globals/reset.overrides similarity index 100% rename from semantic/src/site/globals/reset.overrides rename to client/assets/less/lib/semantic/src/site/globals/reset.overrides diff --git a/semantic/src/site/globals/reset.variables b/client/assets/less/lib/semantic/src/site/globals/reset.variables similarity index 100% rename from semantic/src/site/globals/reset.variables rename to client/assets/less/lib/semantic/src/site/globals/reset.variables diff --git a/semantic/src/site/globals/site.overrides b/client/assets/less/lib/semantic/src/site/globals/site.overrides similarity index 100% rename from semantic/src/site/globals/site.overrides rename to client/assets/less/lib/semantic/src/site/globals/site.overrides diff --git a/semantic/src/site/globals/site.variables b/client/assets/less/lib/semantic/src/site/globals/site.variables similarity index 100% rename from semantic/src/site/globals/site.variables rename to client/assets/less/lib/semantic/src/site/globals/site.variables diff --git a/semantic/src/site/modules/accordion.overrides b/client/assets/less/lib/semantic/src/site/modules/accordion.overrides similarity index 100% rename from semantic/src/site/modules/accordion.overrides rename to client/assets/less/lib/semantic/src/site/modules/accordion.overrides diff --git a/semantic/src/site/modules/accordion.variables b/client/assets/less/lib/semantic/src/site/modules/accordion.variables similarity index 100% rename from semantic/src/site/modules/accordion.variables rename to client/assets/less/lib/semantic/src/site/modules/accordion.variables diff --git a/semantic/src/site/modules/chatroom.overrides b/client/assets/less/lib/semantic/src/site/modules/chatroom.overrides similarity index 100% rename from semantic/src/site/modules/chatroom.overrides rename to client/assets/less/lib/semantic/src/site/modules/chatroom.overrides diff --git a/semantic/src/site/modules/chatroom.variables b/client/assets/less/lib/semantic/src/site/modules/chatroom.variables similarity index 100% rename from semantic/src/site/modules/chatroom.variables rename to client/assets/less/lib/semantic/src/site/modules/chatroom.variables diff --git a/semantic/src/site/modules/checkbox.overrides b/client/assets/less/lib/semantic/src/site/modules/checkbox.overrides similarity index 100% rename from semantic/src/site/modules/checkbox.overrides rename to client/assets/less/lib/semantic/src/site/modules/checkbox.overrides diff --git a/semantic/src/site/modules/checkbox.variables b/client/assets/less/lib/semantic/src/site/modules/checkbox.variables similarity index 100% rename from semantic/src/site/modules/checkbox.variables rename to client/assets/less/lib/semantic/src/site/modules/checkbox.variables diff --git a/semantic/src/site/modules/dimmer.overrides b/client/assets/less/lib/semantic/src/site/modules/dimmer.overrides similarity index 100% rename from semantic/src/site/modules/dimmer.overrides rename to client/assets/less/lib/semantic/src/site/modules/dimmer.overrides diff --git a/semantic/src/site/modules/dimmer.variables b/client/assets/less/lib/semantic/src/site/modules/dimmer.variables similarity index 100% rename from semantic/src/site/modules/dimmer.variables rename to client/assets/less/lib/semantic/src/site/modules/dimmer.variables diff --git a/semantic/src/site/modules/dropdown.overrides b/client/assets/less/lib/semantic/src/site/modules/dropdown.overrides similarity index 100% rename from semantic/src/site/modules/dropdown.overrides rename to client/assets/less/lib/semantic/src/site/modules/dropdown.overrides diff --git a/semantic/src/site/modules/dropdown.variables b/client/assets/less/lib/semantic/src/site/modules/dropdown.variables similarity index 100% rename from semantic/src/site/modules/dropdown.variables rename to client/assets/less/lib/semantic/src/site/modules/dropdown.variables diff --git a/semantic/src/site/modules/modal.overrides b/client/assets/less/lib/semantic/src/site/modules/modal.overrides similarity index 100% rename from semantic/src/site/modules/modal.overrides rename to client/assets/less/lib/semantic/src/site/modules/modal.overrides diff --git a/semantic/src/site/modules/modal.variables b/client/assets/less/lib/semantic/src/site/modules/modal.variables similarity index 100% rename from semantic/src/site/modules/modal.variables rename to client/assets/less/lib/semantic/src/site/modules/modal.variables diff --git a/semantic/src/site/modules/nag.overrides b/client/assets/less/lib/semantic/src/site/modules/nag.overrides similarity index 100% rename from semantic/src/site/modules/nag.overrides rename to client/assets/less/lib/semantic/src/site/modules/nag.overrides diff --git a/semantic/src/site/modules/nag.variables b/client/assets/less/lib/semantic/src/site/modules/nag.variables similarity index 100% rename from semantic/src/site/modules/nag.variables rename to client/assets/less/lib/semantic/src/site/modules/nag.variables diff --git a/semantic/src/site/modules/popup.overrides b/client/assets/less/lib/semantic/src/site/modules/popup.overrides similarity index 100% rename from semantic/src/site/modules/popup.overrides rename to client/assets/less/lib/semantic/src/site/modules/popup.overrides diff --git a/semantic/src/site/modules/popup.variables b/client/assets/less/lib/semantic/src/site/modules/popup.variables similarity index 100% rename from semantic/src/site/modules/popup.variables rename to client/assets/less/lib/semantic/src/site/modules/popup.variables diff --git a/semantic/src/site/modules/progress.overrides b/client/assets/less/lib/semantic/src/site/modules/progress.overrides similarity index 100% rename from semantic/src/site/modules/progress.overrides rename to client/assets/less/lib/semantic/src/site/modules/progress.overrides diff --git a/semantic/src/site/modules/progress.variables b/client/assets/less/lib/semantic/src/site/modules/progress.variables similarity index 100% rename from semantic/src/site/modules/progress.variables rename to client/assets/less/lib/semantic/src/site/modules/progress.variables diff --git a/semantic/src/site/modules/rating.overrides b/client/assets/less/lib/semantic/src/site/modules/rating.overrides similarity index 100% rename from semantic/src/site/modules/rating.overrides rename to client/assets/less/lib/semantic/src/site/modules/rating.overrides diff --git a/semantic/src/site/modules/rating.variables b/client/assets/less/lib/semantic/src/site/modules/rating.variables similarity index 100% rename from semantic/src/site/modules/rating.variables rename to client/assets/less/lib/semantic/src/site/modules/rating.variables diff --git a/semantic/src/site/modules/search.overrides b/client/assets/less/lib/semantic/src/site/modules/search.overrides similarity index 100% rename from semantic/src/site/modules/search.overrides rename to client/assets/less/lib/semantic/src/site/modules/search.overrides diff --git a/semantic/src/site/modules/search.variables b/client/assets/less/lib/semantic/src/site/modules/search.variables similarity index 100% rename from semantic/src/site/modules/search.variables rename to client/assets/less/lib/semantic/src/site/modules/search.variables diff --git a/semantic/src/site/modules/shape.overrides b/client/assets/less/lib/semantic/src/site/modules/shape.overrides similarity index 100% rename from semantic/src/site/modules/shape.overrides rename to client/assets/less/lib/semantic/src/site/modules/shape.overrides diff --git a/semantic/src/site/modules/shape.variables b/client/assets/less/lib/semantic/src/site/modules/shape.variables similarity index 100% rename from semantic/src/site/modules/shape.variables rename to client/assets/less/lib/semantic/src/site/modules/shape.variables diff --git a/semantic/src/site/modules/sidebar.overrides b/client/assets/less/lib/semantic/src/site/modules/sidebar.overrides similarity index 100% rename from semantic/src/site/modules/sidebar.overrides rename to client/assets/less/lib/semantic/src/site/modules/sidebar.overrides diff --git a/semantic/src/site/modules/sidebar.variables b/client/assets/less/lib/semantic/src/site/modules/sidebar.variables similarity index 100% rename from semantic/src/site/modules/sidebar.variables rename to client/assets/less/lib/semantic/src/site/modules/sidebar.variables diff --git a/semantic/src/site/modules/sticky.overrides b/client/assets/less/lib/semantic/src/site/modules/sticky.overrides similarity index 100% rename from semantic/src/site/modules/sticky.overrides rename to client/assets/less/lib/semantic/src/site/modules/sticky.overrides diff --git a/semantic/src/site/modules/sticky.variables b/client/assets/less/lib/semantic/src/site/modules/sticky.variables similarity index 100% rename from semantic/src/site/modules/sticky.variables rename to client/assets/less/lib/semantic/src/site/modules/sticky.variables diff --git a/semantic/src/site/modules/tab.overrides b/client/assets/less/lib/semantic/src/site/modules/tab.overrides similarity index 100% rename from semantic/src/site/modules/tab.overrides rename to client/assets/less/lib/semantic/src/site/modules/tab.overrides diff --git a/semantic/src/site/modules/tab.variables b/client/assets/less/lib/semantic/src/site/modules/tab.variables similarity index 100% rename from semantic/src/site/modules/tab.variables rename to client/assets/less/lib/semantic/src/site/modules/tab.variables diff --git a/semantic/src/site/modules/transition.overrides b/client/assets/less/lib/semantic/src/site/modules/transition.overrides similarity index 100% rename from semantic/src/site/modules/transition.overrides rename to client/assets/less/lib/semantic/src/site/modules/transition.overrides diff --git a/semantic/src/site/modules/transition.variables b/client/assets/less/lib/semantic/src/site/modules/transition.variables similarity index 100% rename from semantic/src/site/modules/transition.variables rename to client/assets/less/lib/semantic/src/site/modules/transition.variables diff --git a/semantic/src/site/modules/video.overrides b/client/assets/less/lib/semantic/src/site/modules/video.overrides similarity index 100% rename from semantic/src/site/modules/video.overrides rename to client/assets/less/lib/semantic/src/site/modules/video.overrides diff --git a/semantic/src/site/modules/video.variables b/client/assets/less/lib/semantic/src/site/modules/video.variables similarity index 100% rename from semantic/src/site/modules/video.variables rename to client/assets/less/lib/semantic/src/site/modules/video.variables diff --git a/semantic/src/site/views/ad.overrides b/client/assets/less/lib/semantic/src/site/views/ad.overrides similarity index 100% rename from semantic/src/site/views/ad.overrides rename to client/assets/less/lib/semantic/src/site/views/ad.overrides diff --git a/semantic/src/site/views/ad.variables b/client/assets/less/lib/semantic/src/site/views/ad.variables similarity index 100% rename from semantic/src/site/views/ad.variables rename to client/assets/less/lib/semantic/src/site/views/ad.variables diff --git a/semantic/src/site/views/card.overrides b/client/assets/less/lib/semantic/src/site/views/card.overrides similarity index 100% rename from semantic/src/site/views/card.overrides rename to client/assets/less/lib/semantic/src/site/views/card.overrides diff --git a/semantic/src/site/views/card.variables b/client/assets/less/lib/semantic/src/site/views/card.variables similarity index 100% rename from semantic/src/site/views/card.variables rename to client/assets/less/lib/semantic/src/site/views/card.variables diff --git a/semantic/src/site/views/comment.overrides b/client/assets/less/lib/semantic/src/site/views/comment.overrides similarity index 100% rename from semantic/src/site/views/comment.overrides rename to client/assets/less/lib/semantic/src/site/views/comment.overrides diff --git a/semantic/src/site/views/comment.variables b/client/assets/less/lib/semantic/src/site/views/comment.variables similarity index 100% rename from semantic/src/site/views/comment.variables rename to client/assets/less/lib/semantic/src/site/views/comment.variables diff --git a/semantic/src/site/views/feed.overrides b/client/assets/less/lib/semantic/src/site/views/feed.overrides similarity index 100% rename from semantic/src/site/views/feed.overrides rename to client/assets/less/lib/semantic/src/site/views/feed.overrides diff --git a/semantic/src/site/views/feed.variables b/client/assets/less/lib/semantic/src/site/views/feed.variables similarity index 100% rename from semantic/src/site/views/feed.variables rename to client/assets/less/lib/semantic/src/site/views/feed.variables diff --git a/semantic/src/site/views/item.overrides b/client/assets/less/lib/semantic/src/site/views/item.overrides similarity index 100% rename from semantic/src/site/views/item.overrides rename to client/assets/less/lib/semantic/src/site/views/item.overrides diff --git a/semantic/src/site/views/item.variables b/client/assets/less/lib/semantic/src/site/views/item.variables similarity index 100% rename from semantic/src/site/views/item.variables rename to client/assets/less/lib/semantic/src/site/views/item.variables diff --git a/semantic/src/site/views/statistic.overrides b/client/assets/less/lib/semantic/src/site/views/statistic.overrides similarity index 100% rename from semantic/src/site/views/statistic.overrides rename to client/assets/less/lib/semantic/src/site/views/statistic.overrides diff --git a/semantic/src/site/views/statistic.variables b/client/assets/less/lib/semantic/src/site/views/statistic.variables similarity index 100% rename from semantic/src/site/views/statistic.variables rename to client/assets/less/lib/semantic/src/site/views/statistic.variables diff --git a/semantic/src/theme.config b/client/assets/less/lib/semantic/src/theme.config similarity index 100% rename from semantic/src/theme.config rename to client/assets/less/lib/semantic/src/theme.config diff --git a/semantic/src/theme.less b/client/assets/less/lib/semantic/src/theme.less similarity index 100% rename from semantic/src/theme.less rename to client/assets/less/lib/semantic/src/theme.less diff --git a/semantic/src/themes/amazon/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/amazon/elements/button.overrides similarity index 100% rename from semantic/src/themes/amazon/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/amazon/elements/button.overrides diff --git a/semantic/src/themes/amazon/elements/button.variables b/client/assets/less/lib/semantic/src/themes/amazon/elements/button.variables similarity index 100% rename from semantic/src/themes/amazon/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/amazon/elements/button.variables diff --git a/semantic/src/themes/basic/assets/fonts/icons.eot b/client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.eot similarity index 100% rename from semantic/src/themes/basic/assets/fonts/icons.eot rename to client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.eot diff --git a/semantic/src/themes/basic/assets/fonts/icons.svg b/client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.svg similarity index 100% rename from semantic/src/themes/basic/assets/fonts/icons.svg rename to client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.svg diff --git a/semantic/src/themes/basic/assets/fonts/icons.ttf b/client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.ttf similarity index 100% rename from semantic/src/themes/basic/assets/fonts/icons.ttf rename to client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.ttf diff --git a/semantic/src/themes/basic/assets/fonts/icons.woff b/client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.woff similarity index 100% rename from semantic/src/themes/basic/assets/fonts/icons.woff rename to client/assets/less/lib/semantic/src/themes/basic/assets/fonts/icons.woff diff --git a/semantic/src/themes/basic/collections/table.overrides b/client/assets/less/lib/semantic/src/themes/basic/collections/table.overrides similarity index 100% rename from semantic/src/themes/basic/collections/table.overrides rename to client/assets/less/lib/semantic/src/themes/basic/collections/table.overrides diff --git a/semantic/src/themes/basic/collections/table.variables b/client/assets/less/lib/semantic/src/themes/basic/collections/table.variables similarity index 100% rename from semantic/src/themes/basic/collections/table.variables rename to client/assets/less/lib/semantic/src/themes/basic/collections/table.variables diff --git a/semantic/src/themes/basic/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/basic/elements/button.overrides similarity index 100% rename from semantic/src/themes/basic/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/basic/elements/button.overrides diff --git a/semantic/src/themes/basic/elements/button.variables b/client/assets/less/lib/semantic/src/themes/basic/elements/button.variables similarity index 100% rename from semantic/src/themes/basic/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/basic/elements/button.variables diff --git a/semantic/src/themes/basic/elements/icon.overrides b/client/assets/less/lib/semantic/src/themes/basic/elements/icon.overrides similarity index 100% rename from semantic/src/themes/basic/elements/icon.overrides rename to client/assets/less/lib/semantic/src/themes/basic/elements/icon.overrides diff --git a/semantic/src/themes/basic/elements/icon.variables b/client/assets/less/lib/semantic/src/themes/basic/elements/icon.variables similarity index 100% rename from semantic/src/themes/basic/elements/icon.variables rename to client/assets/less/lib/semantic/src/themes/basic/elements/icon.variables diff --git a/semantic/src/themes/basic/elements/step.overrides b/client/assets/less/lib/semantic/src/themes/basic/elements/step.overrides similarity index 100% rename from semantic/src/themes/basic/elements/step.overrides rename to client/assets/less/lib/semantic/src/themes/basic/elements/step.overrides diff --git a/semantic/src/themes/basic/elements/step.variables b/client/assets/less/lib/semantic/src/themes/basic/elements/step.variables similarity index 100% rename from semantic/src/themes/basic/elements/step.variables rename to client/assets/less/lib/semantic/src/themes/basic/elements/step.variables diff --git a/semantic/src/themes/basic/globals/reset.overrides b/client/assets/less/lib/semantic/src/themes/basic/globals/reset.overrides similarity index 100% rename from semantic/src/themes/basic/globals/reset.overrides rename to client/assets/less/lib/semantic/src/themes/basic/globals/reset.overrides diff --git a/semantic/src/themes/basic/globals/reset.variables b/client/assets/less/lib/semantic/src/themes/basic/globals/reset.variables similarity index 100% rename from semantic/src/themes/basic/globals/reset.variables rename to client/assets/less/lib/semantic/src/themes/basic/globals/reset.variables diff --git a/semantic/src/themes/basic/modules/progress.overrides b/client/assets/less/lib/semantic/src/themes/basic/modules/progress.overrides similarity index 100% rename from semantic/src/themes/basic/modules/progress.overrides rename to client/assets/less/lib/semantic/src/themes/basic/modules/progress.overrides diff --git a/semantic/src/themes/basic/modules/progress.variables b/client/assets/less/lib/semantic/src/themes/basic/modules/progress.variables similarity index 100% rename from semantic/src/themes/basic/modules/progress.variables rename to client/assets/less/lib/semantic/src/themes/basic/modules/progress.variables diff --git a/semantic/src/themes/basic/views/card.overrides b/client/assets/less/lib/semantic/src/themes/basic/views/card.overrides similarity index 100% rename from semantic/src/themes/basic/views/card.overrides rename to client/assets/less/lib/semantic/src/themes/basic/views/card.overrides diff --git a/semantic/src/themes/basic/views/card.variables b/client/assets/less/lib/semantic/src/themes/basic/views/card.variables similarity index 100% rename from semantic/src/themes/basic/views/card.variables rename to client/assets/less/lib/semantic/src/themes/basic/views/card.variables diff --git a/semantic/src/themes/bookish/elements/header.overrides b/client/assets/less/lib/semantic/src/themes/bookish/elements/header.overrides similarity index 100% rename from semantic/src/themes/bookish/elements/header.overrides rename to client/assets/less/lib/semantic/src/themes/bookish/elements/header.overrides diff --git a/semantic/src/themes/bookish/elements/header.variables b/client/assets/less/lib/semantic/src/themes/bookish/elements/header.variables similarity index 100% rename from semantic/src/themes/bookish/elements/header.variables rename to client/assets/less/lib/semantic/src/themes/bookish/elements/header.variables diff --git a/semantic/src/themes/bootstrap3/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/bootstrap3/elements/button.overrides similarity index 100% rename from semantic/src/themes/bootstrap3/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/bootstrap3/elements/button.overrides diff --git a/semantic/src/themes/bootstrap3/elements/button.variables b/client/assets/less/lib/semantic/src/themes/bootstrap3/elements/button.variables similarity index 100% rename from semantic/src/themes/bootstrap3/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/bootstrap3/elements/button.variables diff --git a/semantic/src/themes/chubby/collections/form.overrides b/client/assets/less/lib/semantic/src/themes/chubby/collections/form.overrides similarity index 100% rename from semantic/src/themes/chubby/collections/form.overrides rename to client/assets/less/lib/semantic/src/themes/chubby/collections/form.overrides diff --git a/semantic/src/themes/chubby/collections/form.variables b/client/assets/less/lib/semantic/src/themes/chubby/collections/form.variables similarity index 100% rename from semantic/src/themes/chubby/collections/form.variables rename to client/assets/less/lib/semantic/src/themes/chubby/collections/form.variables diff --git a/semantic/src/themes/chubby/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/chubby/elements/button.overrides similarity index 100% rename from semantic/src/themes/chubby/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/chubby/elements/button.overrides diff --git a/semantic/src/themes/chubby/elements/button.variables b/client/assets/less/lib/semantic/src/themes/chubby/elements/button.variables similarity index 100% rename from semantic/src/themes/chubby/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/chubby/elements/button.variables diff --git a/semantic/src/themes/chubby/elements/header.overrides b/client/assets/less/lib/semantic/src/themes/chubby/elements/header.overrides similarity index 100% rename from semantic/src/themes/chubby/elements/header.overrides rename to client/assets/less/lib/semantic/src/themes/chubby/elements/header.overrides diff --git a/semantic/src/themes/chubby/elements/header.variables b/client/assets/less/lib/semantic/src/themes/chubby/elements/header.variables similarity index 100% rename from semantic/src/themes/chubby/elements/header.variables rename to client/assets/less/lib/semantic/src/themes/chubby/elements/header.variables diff --git a/semantic/src/themes/chubby/modules/accordion.overrides b/client/assets/less/lib/semantic/src/themes/chubby/modules/accordion.overrides similarity index 100% rename from semantic/src/themes/chubby/modules/accordion.overrides rename to client/assets/less/lib/semantic/src/themes/chubby/modules/accordion.overrides diff --git a/semantic/src/themes/chubby/modules/accordion.variables b/client/assets/less/lib/semantic/src/themes/chubby/modules/accordion.variables similarity index 100% rename from semantic/src/themes/chubby/modules/accordion.variables rename to client/assets/less/lib/semantic/src/themes/chubby/modules/accordion.variables diff --git a/semantic/src/themes/chubby/views/comment.overrides b/client/assets/less/lib/semantic/src/themes/chubby/views/comment.overrides similarity index 100% rename from semantic/src/themes/chubby/views/comment.overrides rename to client/assets/less/lib/semantic/src/themes/chubby/views/comment.overrides diff --git a/semantic/src/themes/chubby/views/comment.variables b/client/assets/less/lib/semantic/src/themes/chubby/views/comment.variables similarity index 100% rename from semantic/src/themes/chubby/views/comment.variables rename to client/assets/less/lib/semantic/src/themes/chubby/views/comment.variables diff --git a/semantic/src/themes/classic/collections/table.overrides b/client/assets/less/lib/semantic/src/themes/classic/collections/table.overrides similarity index 100% rename from semantic/src/themes/classic/collections/table.overrides rename to client/assets/less/lib/semantic/src/themes/classic/collections/table.overrides diff --git a/semantic/src/themes/classic/collections/table.variables b/client/assets/less/lib/semantic/src/themes/classic/collections/table.variables similarity index 100% rename from semantic/src/themes/classic/collections/table.variables rename to client/assets/less/lib/semantic/src/themes/classic/collections/table.variables diff --git a/semantic/src/themes/classic/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/classic/elements/button.overrides similarity index 100% rename from semantic/src/themes/classic/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/classic/elements/button.overrides diff --git a/semantic/src/themes/classic/elements/button.variables b/client/assets/less/lib/semantic/src/themes/classic/elements/button.variables similarity index 100% rename from semantic/src/themes/classic/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/classic/elements/button.variables diff --git a/semantic/src/themes/classic/elements/header.overrides b/client/assets/less/lib/semantic/src/themes/classic/elements/header.overrides similarity index 100% rename from semantic/src/themes/classic/elements/header.overrides rename to client/assets/less/lib/semantic/src/themes/classic/elements/header.overrides diff --git a/semantic/src/themes/classic/elements/header.variables b/client/assets/less/lib/semantic/src/themes/classic/elements/header.variables similarity index 100% rename from semantic/src/themes/classic/elements/header.variables rename to client/assets/less/lib/semantic/src/themes/classic/elements/header.variables diff --git a/semantic/src/themes/classic/modules/progress.overrides b/client/assets/less/lib/semantic/src/themes/classic/modules/progress.overrides similarity index 100% rename from semantic/src/themes/classic/modules/progress.overrides rename to client/assets/less/lib/semantic/src/themes/classic/modules/progress.overrides diff --git a/semantic/src/themes/classic/modules/progress.variables b/client/assets/less/lib/semantic/src/themes/classic/modules/progress.variables similarity index 100% rename from semantic/src/themes/classic/modules/progress.variables rename to client/assets/less/lib/semantic/src/themes/classic/modules/progress.variables diff --git a/semantic/src/themes/classic/views/card.overrides b/client/assets/less/lib/semantic/src/themes/classic/views/card.overrides similarity index 100% rename from semantic/src/themes/classic/views/card.overrides rename to client/assets/less/lib/semantic/src/themes/classic/views/card.overrides diff --git a/semantic/src/themes/classic/views/card.variables b/client/assets/less/lib/semantic/src/themes/classic/views/card.variables similarity index 100% rename from semantic/src/themes/classic/views/card.variables rename to client/assets/less/lib/semantic/src/themes/classic/views/card.variables diff --git a/semantic/src/themes/default/assets/fonts/icons.eot b/client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.eot similarity index 100% rename from semantic/src/themes/default/assets/fonts/icons.eot rename to client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.eot diff --git a/semantic/src/themes/default/assets/fonts/icons.svg b/client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.svg similarity index 100% rename from semantic/src/themes/default/assets/fonts/icons.svg rename to client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.svg diff --git a/semantic/src/themes/default/assets/fonts/icons.ttf b/client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.ttf similarity index 100% rename from semantic/src/themes/default/assets/fonts/icons.ttf rename to client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.ttf diff --git a/semantic/src/themes/default/assets/fonts/icons.woff b/client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.woff similarity index 100% rename from semantic/src/themes/default/assets/fonts/icons.woff rename to client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.woff diff --git a/semantic/src/themes/default/assets/fonts/icons.woff2 b/client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.woff2 similarity index 100% rename from semantic/src/themes/default/assets/fonts/icons.woff2 rename to client/assets/less/lib/semantic/src/themes/default/assets/fonts/icons.woff2 diff --git a/semantic/src/themes/default/assets/images/flags.png b/client/assets/less/lib/semantic/src/themes/default/assets/images/flags.png similarity index 100% rename from semantic/src/themes/default/assets/images/flags.png rename to client/assets/less/lib/semantic/src/themes/default/assets/images/flags.png diff --git a/semantic/src/themes/default/collections/breadcrumb.overrides b/client/assets/less/lib/semantic/src/themes/default/collections/breadcrumb.overrides similarity index 100% rename from semantic/src/themes/default/collections/breadcrumb.overrides rename to client/assets/less/lib/semantic/src/themes/default/collections/breadcrumb.overrides diff --git a/semantic/src/themes/default/collections/breadcrumb.variables b/client/assets/less/lib/semantic/src/themes/default/collections/breadcrumb.variables similarity index 100% rename from semantic/src/themes/default/collections/breadcrumb.variables rename to client/assets/less/lib/semantic/src/themes/default/collections/breadcrumb.variables diff --git a/semantic/src/themes/default/collections/form.overrides b/client/assets/less/lib/semantic/src/themes/default/collections/form.overrides similarity index 100% rename from semantic/src/themes/default/collections/form.overrides rename to client/assets/less/lib/semantic/src/themes/default/collections/form.overrides diff --git a/semantic/src/themes/default/collections/form.variables b/client/assets/less/lib/semantic/src/themes/default/collections/form.variables similarity index 100% rename from semantic/src/themes/default/collections/form.variables rename to client/assets/less/lib/semantic/src/themes/default/collections/form.variables diff --git a/semantic/src/themes/default/collections/grid.overrides b/client/assets/less/lib/semantic/src/themes/default/collections/grid.overrides similarity index 100% rename from semantic/src/themes/default/collections/grid.overrides rename to client/assets/less/lib/semantic/src/themes/default/collections/grid.overrides diff --git a/semantic/src/themes/default/collections/grid.variables b/client/assets/less/lib/semantic/src/themes/default/collections/grid.variables similarity index 100% rename from semantic/src/themes/default/collections/grid.variables rename to client/assets/less/lib/semantic/src/themes/default/collections/grid.variables diff --git a/semantic/src/themes/default/collections/menu.overrides b/client/assets/less/lib/semantic/src/themes/default/collections/menu.overrides similarity index 100% rename from semantic/src/themes/default/collections/menu.overrides rename to client/assets/less/lib/semantic/src/themes/default/collections/menu.overrides diff --git a/semantic/src/themes/default/collections/menu.variables b/client/assets/less/lib/semantic/src/themes/default/collections/menu.variables similarity index 100% rename from semantic/src/themes/default/collections/menu.variables rename to client/assets/less/lib/semantic/src/themes/default/collections/menu.variables diff --git a/semantic/src/themes/default/collections/message.overrides b/client/assets/less/lib/semantic/src/themes/default/collections/message.overrides similarity index 100% rename from semantic/src/themes/default/collections/message.overrides rename to client/assets/less/lib/semantic/src/themes/default/collections/message.overrides diff --git a/semantic/src/themes/default/collections/message.variables b/client/assets/less/lib/semantic/src/themes/default/collections/message.variables similarity index 100% rename from semantic/src/themes/default/collections/message.variables rename to client/assets/less/lib/semantic/src/themes/default/collections/message.variables diff --git a/semantic/src/themes/default/collections/table.overrides b/client/assets/less/lib/semantic/src/themes/default/collections/table.overrides similarity index 100% rename from semantic/src/themes/default/collections/table.overrides rename to client/assets/less/lib/semantic/src/themes/default/collections/table.overrides diff --git a/semantic/src/themes/default/collections/table.variables b/client/assets/less/lib/semantic/src/themes/default/collections/table.variables similarity index 100% rename from semantic/src/themes/default/collections/table.variables rename to client/assets/less/lib/semantic/src/themes/default/collections/table.variables diff --git a/semantic/src/themes/default/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/button.overrides similarity index 100% rename from semantic/src/themes/default/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/button.overrides diff --git a/semantic/src/themes/default/elements/button.variables b/client/assets/less/lib/semantic/src/themes/default/elements/button.variables similarity index 100% rename from semantic/src/themes/default/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/button.variables diff --git a/semantic/src/themes/default/elements/divider.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/divider.overrides similarity index 100% rename from semantic/src/themes/default/elements/divider.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/divider.overrides diff --git a/semantic/src/themes/default/elements/divider.variables b/client/assets/less/lib/semantic/src/themes/default/elements/divider.variables similarity index 100% rename from semantic/src/themes/default/elements/divider.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/divider.variables diff --git a/semantic/src/themes/default/elements/flag.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/flag.overrides similarity index 100% rename from semantic/src/themes/default/elements/flag.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/flag.overrides diff --git a/semantic/src/themes/default/elements/flag.variables b/client/assets/less/lib/semantic/src/themes/default/elements/flag.variables similarity index 100% rename from semantic/src/themes/default/elements/flag.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/flag.variables diff --git a/semantic/src/themes/default/elements/header.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/header.overrides similarity index 100% rename from semantic/src/themes/default/elements/header.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/header.overrides diff --git a/semantic/src/themes/default/elements/header.variables b/client/assets/less/lib/semantic/src/themes/default/elements/header.variables similarity index 100% rename from semantic/src/themes/default/elements/header.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/header.variables diff --git a/semantic/src/themes/default/elements/icon.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/icon.overrides similarity index 100% rename from semantic/src/themes/default/elements/icon.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/icon.overrides diff --git a/semantic/src/themes/default/elements/icon.variables b/client/assets/less/lib/semantic/src/themes/default/elements/icon.variables similarity index 100% rename from semantic/src/themes/default/elements/icon.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/icon.variables diff --git a/semantic/src/themes/default/elements/image.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/image.overrides similarity index 100% rename from semantic/src/themes/default/elements/image.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/image.overrides diff --git a/semantic/src/themes/default/elements/image.variables b/client/assets/less/lib/semantic/src/themes/default/elements/image.variables similarity index 100% rename from semantic/src/themes/default/elements/image.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/image.variables diff --git a/semantic/src/themes/default/elements/input.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/input.overrides similarity index 100% rename from semantic/src/themes/default/elements/input.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/input.overrides diff --git a/semantic/src/themes/default/elements/input.variables b/client/assets/less/lib/semantic/src/themes/default/elements/input.variables similarity index 100% rename from semantic/src/themes/default/elements/input.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/input.variables diff --git a/semantic/src/themes/default/elements/label.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/label.overrides similarity index 100% rename from semantic/src/themes/default/elements/label.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/label.overrides diff --git a/semantic/src/themes/default/elements/label.variables b/client/assets/less/lib/semantic/src/themes/default/elements/label.variables similarity index 100% rename from semantic/src/themes/default/elements/label.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/label.variables diff --git a/semantic/src/themes/default/elements/list.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/list.overrides similarity index 100% rename from semantic/src/themes/default/elements/list.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/list.overrides diff --git a/semantic/src/themes/default/elements/list.variables b/client/assets/less/lib/semantic/src/themes/default/elements/list.variables similarity index 100% rename from semantic/src/themes/default/elements/list.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/list.variables diff --git a/semantic/src/themes/default/elements/loader.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/loader.overrides similarity index 100% rename from semantic/src/themes/default/elements/loader.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/loader.overrides diff --git a/semantic/src/themes/default/elements/loader.variables b/client/assets/less/lib/semantic/src/themes/default/elements/loader.variables similarity index 100% rename from semantic/src/themes/default/elements/loader.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/loader.variables diff --git a/semantic/src/themes/default/elements/rail.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/rail.overrides similarity index 100% rename from semantic/src/themes/default/elements/rail.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/rail.overrides diff --git a/semantic/src/themes/default/elements/rail.variables b/client/assets/less/lib/semantic/src/themes/default/elements/rail.variables similarity index 100% rename from semantic/src/themes/default/elements/rail.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/rail.variables diff --git a/semantic/src/themes/default/elements/reveal.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/reveal.overrides similarity index 100% rename from semantic/src/themes/default/elements/reveal.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/reveal.overrides diff --git a/semantic/src/themes/default/elements/reveal.variables b/client/assets/less/lib/semantic/src/themes/default/elements/reveal.variables similarity index 100% rename from semantic/src/themes/default/elements/reveal.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/reveal.variables diff --git a/semantic/src/themes/default/elements/segment.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/segment.overrides similarity index 100% rename from semantic/src/themes/default/elements/segment.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/segment.overrides diff --git a/semantic/src/themes/default/elements/segment.variables b/client/assets/less/lib/semantic/src/themes/default/elements/segment.variables similarity index 100% rename from semantic/src/themes/default/elements/segment.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/segment.variables diff --git a/semantic/src/themes/default/elements/step.overrides b/client/assets/less/lib/semantic/src/themes/default/elements/step.overrides similarity index 100% rename from semantic/src/themes/default/elements/step.overrides rename to client/assets/less/lib/semantic/src/themes/default/elements/step.overrides diff --git a/semantic/src/themes/default/elements/step.variables b/client/assets/less/lib/semantic/src/themes/default/elements/step.variables similarity index 100% rename from semantic/src/themes/default/elements/step.variables rename to client/assets/less/lib/semantic/src/themes/default/elements/step.variables diff --git a/semantic/src/themes/default/globals/reset.overrides b/client/assets/less/lib/semantic/src/themes/default/globals/reset.overrides similarity index 100% rename from semantic/src/themes/default/globals/reset.overrides rename to client/assets/less/lib/semantic/src/themes/default/globals/reset.overrides diff --git a/semantic/src/themes/default/globals/reset.variables b/client/assets/less/lib/semantic/src/themes/default/globals/reset.variables similarity index 100% rename from semantic/src/themes/default/globals/reset.variables rename to client/assets/less/lib/semantic/src/themes/default/globals/reset.variables diff --git a/semantic/src/themes/default/globals/site.overrides b/client/assets/less/lib/semantic/src/themes/default/globals/site.overrides similarity index 100% rename from semantic/src/themes/default/globals/site.overrides rename to client/assets/less/lib/semantic/src/themes/default/globals/site.overrides diff --git a/semantic/src/themes/default/globals/site.variables b/client/assets/less/lib/semantic/src/themes/default/globals/site.variables similarity index 100% rename from semantic/src/themes/default/globals/site.variables rename to client/assets/less/lib/semantic/src/themes/default/globals/site.variables diff --git a/semantic/src/themes/default/modules/accordion.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/accordion.overrides similarity index 100% rename from semantic/src/themes/default/modules/accordion.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/accordion.overrides diff --git a/semantic/src/themes/default/modules/accordion.variables b/client/assets/less/lib/semantic/src/themes/default/modules/accordion.variables similarity index 100% rename from semantic/src/themes/default/modules/accordion.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/accordion.variables diff --git a/semantic/src/themes/default/modules/chatroom.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/chatroom.overrides similarity index 100% rename from semantic/src/themes/default/modules/chatroom.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/chatroom.overrides diff --git a/semantic/src/themes/default/modules/chatroom.variables b/client/assets/less/lib/semantic/src/themes/default/modules/chatroom.variables similarity index 100% rename from semantic/src/themes/default/modules/chatroom.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/chatroom.variables diff --git a/semantic/src/themes/default/modules/checkbox.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/checkbox.overrides similarity index 100% rename from semantic/src/themes/default/modules/checkbox.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/checkbox.overrides diff --git a/semantic/src/themes/default/modules/checkbox.variables b/client/assets/less/lib/semantic/src/themes/default/modules/checkbox.variables similarity index 100% rename from semantic/src/themes/default/modules/checkbox.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/checkbox.variables diff --git a/semantic/src/themes/default/modules/dimmer.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/dimmer.overrides similarity index 100% rename from semantic/src/themes/default/modules/dimmer.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/dimmer.overrides diff --git a/semantic/src/themes/default/modules/dimmer.variables b/client/assets/less/lib/semantic/src/themes/default/modules/dimmer.variables similarity index 100% rename from semantic/src/themes/default/modules/dimmer.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/dimmer.variables diff --git a/semantic/src/themes/default/modules/dropdown.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/dropdown.overrides similarity index 100% rename from semantic/src/themes/default/modules/dropdown.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/dropdown.overrides diff --git a/semantic/src/themes/default/modules/dropdown.variables b/client/assets/less/lib/semantic/src/themes/default/modules/dropdown.variables similarity index 100% rename from semantic/src/themes/default/modules/dropdown.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/dropdown.variables diff --git a/semantic/src/themes/default/modules/modal.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/modal.overrides similarity index 100% rename from semantic/src/themes/default/modules/modal.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/modal.overrides diff --git a/semantic/src/themes/default/modules/modal.variables b/client/assets/less/lib/semantic/src/themes/default/modules/modal.variables similarity index 100% rename from semantic/src/themes/default/modules/modal.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/modal.variables diff --git a/semantic/src/themes/default/modules/nag.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/nag.overrides similarity index 100% rename from semantic/src/themes/default/modules/nag.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/nag.overrides diff --git a/semantic/src/themes/default/modules/nag.variables b/client/assets/less/lib/semantic/src/themes/default/modules/nag.variables similarity index 100% rename from semantic/src/themes/default/modules/nag.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/nag.variables diff --git a/semantic/src/themes/default/modules/popup.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/popup.overrides similarity index 100% rename from semantic/src/themes/default/modules/popup.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/popup.overrides diff --git a/semantic/src/themes/default/modules/popup.variables b/client/assets/less/lib/semantic/src/themes/default/modules/popup.variables similarity index 100% rename from semantic/src/themes/default/modules/popup.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/popup.variables diff --git a/semantic/src/themes/default/modules/progress.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/progress.overrides similarity index 100% rename from semantic/src/themes/default/modules/progress.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/progress.overrides diff --git a/semantic/src/themes/default/modules/progress.variables b/client/assets/less/lib/semantic/src/themes/default/modules/progress.variables similarity index 100% rename from semantic/src/themes/default/modules/progress.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/progress.variables diff --git a/semantic/src/themes/default/modules/rating.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/rating.overrides similarity index 100% rename from semantic/src/themes/default/modules/rating.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/rating.overrides diff --git a/semantic/src/themes/default/modules/rating.variables b/client/assets/less/lib/semantic/src/themes/default/modules/rating.variables similarity index 100% rename from semantic/src/themes/default/modules/rating.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/rating.variables diff --git a/semantic/src/themes/default/modules/search.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/search.overrides similarity index 100% rename from semantic/src/themes/default/modules/search.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/search.overrides diff --git a/semantic/src/themes/default/modules/search.variables b/client/assets/less/lib/semantic/src/themes/default/modules/search.variables similarity index 100% rename from semantic/src/themes/default/modules/search.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/search.variables diff --git a/semantic/src/themes/default/modules/shape.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/shape.overrides similarity index 100% rename from semantic/src/themes/default/modules/shape.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/shape.overrides diff --git a/semantic/src/themes/default/modules/shape.variables b/client/assets/less/lib/semantic/src/themes/default/modules/shape.variables similarity index 100% rename from semantic/src/themes/default/modules/shape.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/shape.variables diff --git a/semantic/src/themes/default/modules/sidebar.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/sidebar.overrides similarity index 100% rename from semantic/src/themes/default/modules/sidebar.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/sidebar.overrides diff --git a/semantic/src/themes/default/modules/sidebar.variables b/client/assets/less/lib/semantic/src/themes/default/modules/sidebar.variables similarity index 100% rename from semantic/src/themes/default/modules/sidebar.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/sidebar.variables diff --git a/semantic/src/themes/default/modules/sticky.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/sticky.overrides similarity index 100% rename from semantic/src/themes/default/modules/sticky.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/sticky.overrides diff --git a/semantic/src/themes/default/modules/sticky.variables b/client/assets/less/lib/semantic/src/themes/default/modules/sticky.variables similarity index 100% rename from semantic/src/themes/default/modules/sticky.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/sticky.variables diff --git a/semantic/src/themes/default/modules/tab.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/tab.overrides similarity index 100% rename from semantic/src/themes/default/modules/tab.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/tab.overrides diff --git a/semantic/src/themes/default/modules/tab.variables b/client/assets/less/lib/semantic/src/themes/default/modules/tab.variables similarity index 100% rename from semantic/src/themes/default/modules/tab.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/tab.variables diff --git a/semantic/src/themes/default/modules/transition.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/transition.overrides similarity index 100% rename from semantic/src/themes/default/modules/transition.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/transition.overrides diff --git a/semantic/src/themes/default/modules/transition.variables b/client/assets/less/lib/semantic/src/themes/default/modules/transition.variables similarity index 100% rename from semantic/src/themes/default/modules/transition.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/transition.variables diff --git a/semantic/src/themes/default/modules/video.overrides b/client/assets/less/lib/semantic/src/themes/default/modules/video.overrides similarity index 100% rename from semantic/src/themes/default/modules/video.overrides rename to client/assets/less/lib/semantic/src/themes/default/modules/video.overrides diff --git a/semantic/src/themes/default/modules/video.variables b/client/assets/less/lib/semantic/src/themes/default/modules/video.variables similarity index 100% rename from semantic/src/themes/default/modules/video.variables rename to client/assets/less/lib/semantic/src/themes/default/modules/video.variables diff --git a/semantic/src/themes/default/views/ad.overrides b/client/assets/less/lib/semantic/src/themes/default/views/ad.overrides similarity index 100% rename from semantic/src/themes/default/views/ad.overrides rename to client/assets/less/lib/semantic/src/themes/default/views/ad.overrides diff --git a/semantic/src/themes/default/views/ad.variables b/client/assets/less/lib/semantic/src/themes/default/views/ad.variables similarity index 100% rename from semantic/src/themes/default/views/ad.variables rename to client/assets/less/lib/semantic/src/themes/default/views/ad.variables diff --git a/semantic/src/themes/default/views/card.overrides b/client/assets/less/lib/semantic/src/themes/default/views/card.overrides similarity index 100% rename from semantic/src/themes/default/views/card.overrides rename to client/assets/less/lib/semantic/src/themes/default/views/card.overrides diff --git a/semantic/src/themes/default/views/card.variables b/client/assets/less/lib/semantic/src/themes/default/views/card.variables similarity index 100% rename from semantic/src/themes/default/views/card.variables rename to client/assets/less/lib/semantic/src/themes/default/views/card.variables diff --git a/semantic/src/themes/default/views/comment.overrides b/client/assets/less/lib/semantic/src/themes/default/views/comment.overrides similarity index 100% rename from semantic/src/themes/default/views/comment.overrides rename to client/assets/less/lib/semantic/src/themes/default/views/comment.overrides diff --git a/semantic/src/themes/default/views/comment.variables b/client/assets/less/lib/semantic/src/themes/default/views/comment.variables similarity index 100% rename from semantic/src/themes/default/views/comment.variables rename to client/assets/less/lib/semantic/src/themes/default/views/comment.variables diff --git a/semantic/src/themes/default/views/feed.overrides b/client/assets/less/lib/semantic/src/themes/default/views/feed.overrides similarity index 100% rename from semantic/src/themes/default/views/feed.overrides rename to client/assets/less/lib/semantic/src/themes/default/views/feed.overrides diff --git a/semantic/src/themes/default/views/feed.variables b/client/assets/less/lib/semantic/src/themes/default/views/feed.variables similarity index 100% rename from semantic/src/themes/default/views/feed.variables rename to client/assets/less/lib/semantic/src/themes/default/views/feed.variables diff --git a/semantic/src/themes/default/views/item.overrides b/client/assets/less/lib/semantic/src/themes/default/views/item.overrides similarity index 100% rename from semantic/src/themes/default/views/item.overrides rename to client/assets/less/lib/semantic/src/themes/default/views/item.overrides diff --git a/semantic/src/themes/default/views/item.variables b/client/assets/less/lib/semantic/src/themes/default/views/item.variables similarity index 100% rename from semantic/src/themes/default/views/item.variables rename to client/assets/less/lib/semantic/src/themes/default/views/item.variables diff --git a/semantic/src/themes/default/views/statistic.overrides b/client/assets/less/lib/semantic/src/themes/default/views/statistic.overrides similarity index 100% rename from semantic/src/themes/default/views/statistic.overrides rename to client/assets/less/lib/semantic/src/themes/default/views/statistic.overrides diff --git a/semantic/src/themes/default/views/statistic.variables b/client/assets/less/lib/semantic/src/themes/default/views/statistic.variables similarity index 100% rename from semantic/src/themes/default/views/statistic.variables rename to client/assets/less/lib/semantic/src/themes/default/views/statistic.variables diff --git a/semantic/src/themes/duo/elements/loader.overrides b/client/assets/less/lib/semantic/src/themes/duo/elements/loader.overrides similarity index 100% rename from semantic/src/themes/duo/elements/loader.overrides rename to client/assets/less/lib/semantic/src/themes/duo/elements/loader.overrides diff --git a/semantic/src/themes/duo/elements/loader.variables b/client/assets/less/lib/semantic/src/themes/duo/elements/loader.variables similarity index 100% rename from semantic/src/themes/duo/elements/loader.variables rename to client/assets/less/lib/semantic/src/themes/duo/elements/loader.variables diff --git a/semantic/src/themes/fixed-width/collections/grid.overrides b/client/assets/less/lib/semantic/src/themes/fixed-width/collections/grid.overrides similarity index 100% rename from semantic/src/themes/fixed-width/collections/grid.overrides rename to client/assets/less/lib/semantic/src/themes/fixed-width/collections/grid.overrides diff --git a/semantic/src/themes/fixed-width/collections/grid.variables b/client/assets/less/lib/semantic/src/themes/fixed-width/collections/grid.variables similarity index 100% rename from semantic/src/themes/fixed-width/collections/grid.variables rename to client/assets/less/lib/semantic/src/themes/fixed-width/collections/grid.variables diff --git a/semantic/src/themes/fixed-width/modules/modal.overrides b/client/assets/less/lib/semantic/src/themes/fixed-width/modules/modal.overrides similarity index 100% rename from semantic/src/themes/fixed-width/modules/modal.overrides rename to client/assets/less/lib/semantic/src/themes/fixed-width/modules/modal.overrides diff --git a/semantic/src/themes/fixed-width/modules/modal.variables b/client/assets/less/lib/semantic/src/themes/fixed-width/modules/modal.variables similarity index 100% rename from semantic/src/themes/fixed-width/modules/modal.variables rename to client/assets/less/lib/semantic/src/themes/fixed-width/modules/modal.variables diff --git a/semantic/src/themes/flat/collections/form.overrides b/client/assets/less/lib/semantic/src/themes/flat/collections/form.overrides similarity index 100% rename from semantic/src/themes/flat/collections/form.overrides rename to client/assets/less/lib/semantic/src/themes/flat/collections/form.overrides diff --git a/semantic/src/themes/flat/collections/form.variables b/client/assets/less/lib/semantic/src/themes/flat/collections/form.variables similarity index 100% rename from semantic/src/themes/flat/collections/form.variables rename to client/assets/less/lib/semantic/src/themes/flat/collections/form.variables diff --git a/semantic/src/themes/flat/globals/site.overrides b/client/assets/less/lib/semantic/src/themes/flat/globals/site.overrides similarity index 100% rename from semantic/src/themes/flat/globals/site.overrides rename to client/assets/less/lib/semantic/src/themes/flat/globals/site.overrides diff --git a/semantic/src/themes/flat/globals/site.variables b/client/assets/less/lib/semantic/src/themes/flat/globals/site.variables similarity index 100% rename from semantic/src/themes/flat/globals/site.variables rename to client/assets/less/lib/semantic/src/themes/flat/globals/site.variables diff --git a/semantic/src/themes/github/collections/form.overrides b/client/assets/less/lib/semantic/src/themes/github/collections/form.overrides similarity index 100% rename from semantic/src/themes/github/collections/form.overrides rename to client/assets/less/lib/semantic/src/themes/github/collections/form.overrides diff --git a/semantic/src/themes/github/collections/form.variables b/client/assets/less/lib/semantic/src/themes/github/collections/form.variables similarity index 100% rename from semantic/src/themes/github/collections/form.variables rename to client/assets/less/lib/semantic/src/themes/github/collections/form.variables diff --git a/semantic/src/themes/github/collections/menu.overrides b/client/assets/less/lib/semantic/src/themes/github/collections/menu.overrides similarity index 100% rename from semantic/src/themes/github/collections/menu.overrides rename to client/assets/less/lib/semantic/src/themes/github/collections/menu.overrides diff --git a/semantic/src/themes/github/collections/menu.variables b/client/assets/less/lib/semantic/src/themes/github/collections/menu.variables similarity index 100% rename from semantic/src/themes/github/collections/menu.variables rename to client/assets/less/lib/semantic/src/themes/github/collections/menu.variables diff --git a/semantic/src/themes/github/collections/message.overrides b/client/assets/less/lib/semantic/src/themes/github/collections/message.overrides similarity index 100% rename from semantic/src/themes/github/collections/message.overrides rename to client/assets/less/lib/semantic/src/themes/github/collections/message.overrides diff --git a/semantic/src/themes/github/collections/message.variables b/client/assets/less/lib/semantic/src/themes/github/collections/message.variables similarity index 100% rename from semantic/src/themes/github/collections/message.variables rename to client/assets/less/lib/semantic/src/themes/github/collections/message.variables diff --git a/semantic/src/themes/github/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/github/elements/button.overrides similarity index 100% rename from semantic/src/themes/github/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/github/elements/button.overrides diff --git a/semantic/src/themes/github/elements/button.variables b/client/assets/less/lib/semantic/src/themes/github/elements/button.variables similarity index 100% rename from semantic/src/themes/github/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/github/elements/button.variables diff --git a/semantic/src/themes/github/elements/segment.overrides b/client/assets/less/lib/semantic/src/themes/github/elements/segment.overrides similarity index 100% rename from semantic/src/themes/github/elements/segment.overrides rename to client/assets/less/lib/semantic/src/themes/github/elements/segment.overrides diff --git a/semantic/src/themes/github/elements/segment.variables b/client/assets/less/lib/semantic/src/themes/github/elements/segment.variables similarity index 100% rename from semantic/src/themes/github/elements/segment.variables rename to client/assets/less/lib/semantic/src/themes/github/elements/segment.variables diff --git a/semantic/src/themes/github/elements/step.overrides b/client/assets/less/lib/semantic/src/themes/github/elements/step.overrides similarity index 100% rename from semantic/src/themes/github/elements/step.overrides rename to client/assets/less/lib/semantic/src/themes/github/elements/step.overrides diff --git a/semantic/src/themes/github/elements/step.variables b/client/assets/less/lib/semantic/src/themes/github/elements/step.variables similarity index 100% rename from semantic/src/themes/github/elements/step.variables rename to client/assets/less/lib/semantic/src/themes/github/elements/step.variables diff --git a/semantic/src/themes/gmail/collections/message.overrides b/client/assets/less/lib/semantic/src/themes/gmail/collections/message.overrides similarity index 100% rename from semantic/src/themes/gmail/collections/message.overrides rename to client/assets/less/lib/semantic/src/themes/gmail/collections/message.overrides diff --git a/semantic/src/themes/gmail/collections/message.variables b/client/assets/less/lib/semantic/src/themes/gmail/collections/message.variables similarity index 100% rename from semantic/src/themes/gmail/collections/message.variables rename to client/assets/less/lib/semantic/src/themes/gmail/collections/message.variables diff --git a/semantic/src/themes/material/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/material/elements/button.overrides similarity index 100% rename from semantic/src/themes/material/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/material/elements/button.overrides diff --git a/semantic/src/themes/material/elements/button.variables b/client/assets/less/lib/semantic/src/themes/material/elements/button.variables similarity index 100% rename from semantic/src/themes/material/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/material/elements/button.variables diff --git a/semantic/src/themes/material/elements/header.overrides b/client/assets/less/lib/semantic/src/themes/material/elements/header.overrides similarity index 100% rename from semantic/src/themes/material/elements/header.overrides rename to client/assets/less/lib/semantic/src/themes/material/elements/header.overrides diff --git a/semantic/src/themes/material/elements/header.variables b/client/assets/less/lib/semantic/src/themes/material/elements/header.variables similarity index 100% rename from semantic/src/themes/material/elements/header.variables rename to client/assets/less/lib/semantic/src/themes/material/elements/header.variables diff --git a/semantic/src/themes/material/globals/site.overrides b/client/assets/less/lib/semantic/src/themes/material/globals/site.overrides similarity index 100% rename from semantic/src/themes/material/globals/site.overrides rename to client/assets/less/lib/semantic/src/themes/material/globals/site.overrides diff --git a/semantic/src/themes/material/globals/site.variables b/client/assets/less/lib/semantic/src/themes/material/globals/site.variables similarity index 100% rename from semantic/src/themes/material/globals/site.variables rename to client/assets/less/lib/semantic/src/themes/material/globals/site.variables diff --git a/semantic/src/themes/material/modules/modal.overrides b/client/assets/less/lib/semantic/src/themes/material/modules/modal.overrides similarity index 100% rename from semantic/src/themes/material/modules/modal.overrides rename to client/assets/less/lib/semantic/src/themes/material/modules/modal.overrides diff --git a/semantic/src/themes/material/modules/modal.variables b/client/assets/less/lib/semantic/src/themes/material/modules/modal.variables similarity index 100% rename from semantic/src/themes/material/modules/modal.variables rename to client/assets/less/lib/semantic/src/themes/material/modules/modal.variables diff --git a/semantic/src/themes/pulsar/elements/loader.overrides b/client/assets/less/lib/semantic/src/themes/pulsar/elements/loader.overrides similarity index 100% rename from semantic/src/themes/pulsar/elements/loader.overrides rename to client/assets/less/lib/semantic/src/themes/pulsar/elements/loader.overrides diff --git a/semantic/src/themes/pulsar/elements/loader.variables b/client/assets/less/lib/semantic/src/themes/pulsar/elements/loader.variables similarity index 100% rename from semantic/src/themes/pulsar/elements/loader.variables rename to client/assets/less/lib/semantic/src/themes/pulsar/elements/loader.variables diff --git a/semantic/src/themes/raised/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/raised/elements/button.overrides similarity index 100% rename from semantic/src/themes/raised/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/raised/elements/button.overrides diff --git a/semantic/src/themes/raised/elements/button.variables b/client/assets/less/lib/semantic/src/themes/raised/elements/button.variables similarity index 100% rename from semantic/src/themes/raised/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/raised/elements/button.variables diff --git a/semantic/src/themes/resetcss/globals/reset.overrides b/client/assets/less/lib/semantic/src/themes/resetcss/globals/reset.overrides similarity index 100% rename from semantic/src/themes/resetcss/globals/reset.overrides rename to client/assets/less/lib/semantic/src/themes/resetcss/globals/reset.overrides diff --git a/semantic/src/themes/resetcss/globals/reset.variables b/client/assets/less/lib/semantic/src/themes/resetcss/globals/reset.variables similarity index 100% rename from semantic/src/themes/resetcss/globals/reset.variables rename to client/assets/less/lib/semantic/src/themes/resetcss/globals/reset.variables diff --git a/semantic/src/themes/round/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/round/elements/button.overrides similarity index 100% rename from semantic/src/themes/round/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/round/elements/button.overrides diff --git a/semantic/src/themes/round/elements/button.variables b/client/assets/less/lib/semantic/src/themes/round/elements/button.variables similarity index 100% rename from semantic/src/themes/round/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/round/elements/button.variables diff --git a/semantic/src/themes/rtl/globals/site.overrides b/client/assets/less/lib/semantic/src/themes/rtl/globals/site.overrides similarity index 100% rename from semantic/src/themes/rtl/globals/site.overrides rename to client/assets/less/lib/semantic/src/themes/rtl/globals/site.overrides diff --git a/semantic/src/themes/rtl/globals/site.variables b/client/assets/less/lib/semantic/src/themes/rtl/globals/site.variables similarity index 100% rename from semantic/src/themes/rtl/globals/site.variables rename to client/assets/less/lib/semantic/src/themes/rtl/globals/site.variables diff --git a/semantic/src/themes/striped/modules/progress.overrides b/client/assets/less/lib/semantic/src/themes/striped/modules/progress.overrides similarity index 100% rename from semantic/src/themes/striped/modules/progress.overrides rename to client/assets/less/lib/semantic/src/themes/striped/modules/progress.overrides diff --git a/semantic/src/themes/striped/modules/progress.variables b/client/assets/less/lib/semantic/src/themes/striped/modules/progress.variables similarity index 100% rename from semantic/src/themes/striped/modules/progress.variables rename to client/assets/less/lib/semantic/src/themes/striped/modules/progress.variables diff --git a/semantic/src/themes/timeline/views/feed.overrides b/client/assets/less/lib/semantic/src/themes/timeline/views/feed.overrides similarity index 100% rename from semantic/src/themes/timeline/views/feed.overrides rename to client/assets/less/lib/semantic/src/themes/timeline/views/feed.overrides diff --git a/semantic/src/themes/timeline/views/feed.variables b/client/assets/less/lib/semantic/src/themes/timeline/views/feed.variables similarity index 100% rename from semantic/src/themes/timeline/views/feed.variables rename to client/assets/less/lib/semantic/src/themes/timeline/views/feed.variables diff --git a/semantic/src/themes/twitter/elements/button.overrides b/client/assets/less/lib/semantic/src/themes/twitter/elements/button.overrides similarity index 100% rename from semantic/src/themes/twitter/elements/button.overrides rename to client/assets/less/lib/semantic/src/themes/twitter/elements/button.overrides diff --git a/semantic/src/themes/twitter/elements/button.variables b/client/assets/less/lib/semantic/src/themes/twitter/elements/button.variables similarity index 100% rename from semantic/src/themes/twitter/elements/button.variables rename to client/assets/less/lib/semantic/src/themes/twitter/elements/button.variables diff --git a/client/assets/less/style.less b/client/assets/less/style.less index d1e99b6..7a6c86a 100644 --- a/client/assets/less/style.less +++ b/client/assets/less/style.less @@ -1,9 +1,7 @@ -@semantic-home: "../../../semantic/src"; - // Import semantic ui variables -@import "@{semantic-home}/site/globals/site.variables"; -@import "@{semantic-home}/themes/default/globals/site.variables"; -@import "@{semantic-home}/themes/material/globals/site.variables"; +@import "lib/semantic/src/site/globals/site.variables"; +@import "lib/semantic/src/themes/default/globals/site.variables"; +@import "lib/semantic/src/themes/material/globals/site.variables"; // import site variables @import "app/site.variables"; diff --git a/gulpfile.js b/gulpfile.js index ef6f541..cf4f044 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -145,7 +145,7 @@ gulp.task('less', ['clean:css'], function () { gulp.task('concat:css', ['less'], function () { return gulp.src([ './node_modules/nprogress/nprogress.css', - './semantic/dist/semantic.css', + './client/less/lib/semantic/dist/semantic.css', dist('/css/style.css') ]) .pipe(concat('style.css')) @@ -157,7 +157,7 @@ gulp.task('concat:css', ['less'], function () { .on('error', gutil.log.bind(gutil, 'Error concatenating CSS')); }); -gulp.task('build:css', ['semantic:build', 'less'], function () { +gulp.task('build:css', ['less'], function () { return gulp.start('concat:css'); }); @@ -201,9 +201,6 @@ gulp.task('uglify', ['watchify'], function () { .on('error', gutil.log.bind(gutil, 'Error during minification.')); }); -gulp.task('semantic:build', require('./semantic/tasks/build')); -gulp.task('semantic:watch', require('./semantic/tasks/watch')); - // helper to navigate to the dist assets dir function dist(dest) { return './client/dist/assets' + dest; diff --git a/package.json b/package.json index 3902ec6..597cc5e 100644 --- a/package.json +++ b/package.json @@ -14,39 +14,44 @@ }, "browserify-shim": "./config/shims.js", "dependencies": { - "axios": "^0.5.2", + "axios": "^0.5.4", + "bcrypt": "^0.8.4", + "better-console": "^0.2.4", + "boom": "^2.8.0", + "classnames": "^2.1.3", "es6-promise": "^2.0.1", + "extend": "^3.0.0", "flux": "^2.0.1", "font-awesome": "^4.3.0", + "good": "^6.3.0", + "good-console": "^5.0.2", + "hapi": "^8.2.0", + "hapi-auth-basic": "^3.0.0", + "hapi-auth-cookie": "^3.0.1", + "hoek": "^2.11.0", "jade": "^1.9.2", - "joi": "^5.1.0", + "joi": "^6.6.1", "keymirror": "^0.1.1", "lodash": "^3.5.0", "moment": "^2.9.0", "nedb": "^1.1.1", - "nprogress": "^0.1.6", - "object-assign": "^2.0.0", + "nprogress": "^0.2.0", + "object-assign": "^3.0.0", "open": "0.0.5", "q": "^1.2.0", - "react": "^0.12.2", - "react-classes": "^1.1.0", - "react-router": "^0.12.0", - "react-select": "^0.3.2", - "tether": "^0.6.5", + "react": "^0.13.3", + "react-router": "^0.13.3", + "react-select": "^0.6.1", + "tether": "^1.1.0", + "through2": "^2.0.0", "tracer": "^0.7.3", - "winston": "^0.9.0" + "winston": "^1.0.1" }, "devDependencies": { - "bcrypt": "^0.8.1", - "better-console": "^0.2.4", - "boom": "^2.6.1", - "browserify": "^9.0.3", - "browserify-shim": "^3.8.3", - "chai": "^2.1.0", + "browserify": "^11.0.1", + "browserify-shim": "^3.8.10", + "chai": "^3.2.0", "del": "^1.1.1", - "extend": "^2.0.0", - "good": "^5.1.2", - "good-console": "^4.1.0", "gulp": "^3.8.11", "gulp-autoprefixer": "^2.1.0", "gulp-changed": "^1.2.1", @@ -76,32 +81,27 @@ "gulp-uglify": "^1.1.0", "gulp-util": "^3.0.3", "gulp-watch": "^4.1.1", - "hapi": "^8.2.0", - "hapi-auth-basic": "^2.0.0", - "hapi-auth-cookie": "^2.0.0", - "hoek": "^2.11.0", - "karma": "^0.12.31", + "karma": "^0.13.8", "karma-bro": "^0.11.1", - "karma-chrome-launcher": "^0.1.7", + "karma-chrome-launcher": "^0.2.0", "karma-firefox-launcher": "^0.1.4", - "karma-mocha": "^0.1.10", + "karma-mocha": "^0.2.0", "karma-mocha-reporter": "^1.0.0", - "karma-phantomjs-launcher": "^0.1.4", - "lazypipe": "^0.2.2", + "karma-phantomjs-launcher": "^0.2.1", + "lazypipe": "^1.0.1", "merge-stream": "^0.1.7", "mocha": "^2.2.1", - "protractor": "^1.7.0", + "protractor": "^2.1.0", "proxyquire": "^1.4.0", "proxyquire-universal": "^1.0.3", - "proxyquireify": "^1.2.2", + "proxyquireify": "^3.0.0", "reactify": "^1.0.0", "require-dot-file": "^0.4.0", "sinon": "^1.12.2", "sinon-chai": "^2.7.0", - "through2": "^0.6.3", "vinyl-buffer": "^1.0.0", "vinyl-source-stream": "^1.0.0", - "walkdir": "0.0.7", - "watchify": "^2.4.0" + "walkdir": "0.0.10", + "watchify": "^3.3.1" } } diff --git a/semantic.json b/semantic.json deleted file mode 100755 index cb63356..0000000 --- a/semantic.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "base": "semantic/", - "paths": { - "source": { - "config": "src/theme.config", - "definitions": "src/definitions/", - "site": "src/site/", - "themes": "src/themes/" - }, - "output": { - "packaged": "dist/", - "uncompressed": "dist/components/", - "compressed": "dist/components/", - "themes": "dist/themes/" - }, - "clean": "dist/" - }, - "permission": false, - "rtl": false, - "version": "1.9.3" -} \ No newline at end of file diff --git a/semantic/tasks/README.md b/semantic/tasks/README.md deleted file mode 100755 index 9dc33c7..0000000 --- a/semantic/tasks/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## Tasks - -* Watch - Compile only changed files from source -* Build - Build all files from source -* Version - Output version number -* Install - Run Installer to Set-up Paths - -## How to use - -These tasks can be imported into your own gulpfile allowing you to avoid using Semantic's build tools - -```javascript -var - watch = require('path/to/semantic/tasks/watch') -; -gulp.task('watch ui', 'Watch Semantic UI', watch)); -``` \ No newline at end of file diff --git a/semantic/tasks/admin/components/create.js b/semantic/tasks/admin/components/create.js deleted file mode 100755 index 4a2e15c..0000000 --- a/semantic/tasks/admin/components/create.js +++ /dev/null @@ -1,332 +0,0 @@ -/******************************* - Create Component Repos -*******************************/ - -/* - This will create individual component repositories for each SUI component - - * copy component files from release - * create commonjs files as index.js for NPM release - * create release notes that filter only items related to component - * custom package.json file from template - * create bower.json from template - * create README from template - * create meteor.js file -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - del = require('del'), - fs = require('fs'), - path = require('path'), - runSequence = require('run-sequence'), - - // admin dependencies - concatFileNames = require('gulp-concat-filenames'), - debug = require('gulp-debug'), - flatten = require('gulp-flatten'), - git = require('gulp-git'), - jsonEditor = require('gulp-json-editor'), - plumber = require('gulp-plumber'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - tap = require('gulp-tap'), - util = require('gulp-util'), - - // config - config = require('../../config/user'), - release = require('../../config/admin/release'), - project = require('../../config/project/release'), - - // shorthand - version = project.version, - output = config.paths.output - -; - - -module.exports = function(callback) { - var - stream, - index, - tasks = [] - ; - - for(index in release.components) { - - var - component = release.components[index] - ; - - // streams... designed to save time and make coding fun... - (function(component) { - - var - outputDirectory = path.join(release.outputRoot, component), - isJavascript = fs.existsSync(output.compressed + component + '.js'), - isCSS = fs.existsSync(output.compressed + component + '.css'), - capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1), - packageName = release.packageRoot + component, - repoName = release.componentRepoRoot + capitalizedComponent, - gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git', - repoURL = 'https://github.com/' + release.org + '/' + repoName + '/', - concatSettings = { - newline : '', - root : outputDirectory, - prepend : " '", - append : "'," - }, - regExp = { - match : { - // templated values - name : '{component}', - titleName : '{Component}', - version : '{version}', - files : '{files}', - // release notes - spacedVersions : /(###.*\n)\n+(?=###)/gm, - spacedLists : /(^- .*\n)\n+(?=^-)/gm, - trim : /^\s+|\s+$/g, - unrelatedNotes : new RegExp('^((?!(^.*(' + component + ').*$|###.*)).)*$', 'gmi'), - whitespace : /\n\s*\n\s*\n/gm, - // npm - export : /\$\.fn\.\w+\s*=\s*function\(parameters\)\s*{/g, - formExport : /\$\.fn\.\w+\s*=\s*function\(fields, parameters\)\s*{/g, - settingsExport : /\$\.fn\.\w+\.settings\s*=/g, - settingsReference : /\$\.fn\.\w+\.settings/g, - trailingComma : /,(?=[^,]*$)/, - jQuery : /jQuery/g, - }, - replace : { - // readme - name : component, - titleName : capitalizedComponent, - // release notes - spacedVersions : '', - spacedLists : '$1', - trim : '', - unrelatedNotes : '', - whitespace : '\n\n', - // npm - export : 'module.exports = function(parameters) {\n var _module = module;\n', - formExport : 'module.exports = function(fields, parameters) {\n var _module = module;\n', - settingsExport : 'module.exports.settings =', - settingsReference : '_module.exports.settings', - jQuery : 'require("jquery")' - } - }, - task = { - all : component + ' creating', - repo : component + ' create repo', - bower : component + ' create bower.json', - readme : component + ' create README', - npm : component + ' create NPM Module', - notes : component + ' create release notes', - composer : component + ' create composer.json', - package : component + ' create package.json', - meteor : component + ' create meteor package.js', - }, - // paths to includable assets - manifest = { - assets : outputDirectory + '/assets/**/' + component + '?(s).*', - component : outputDirectory + '/' + component + '+(.js|.css)' - } - ; - - // copy dist files into output folder adjusting asset paths - gulp.task(task.repo, false, function() { - return gulp.src(release.source + component + '.*') - .pipe(plumber()) - .pipe(flatten()) - .pipe(replace(release.paths.source, release.paths.output)) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // create npm module - gulp.task(task.npm, false, function() { - return gulp.src(release.source + component + '!(*.min|*.map).js') - .pipe(plumber()) - .pipe(flatten()) - .pipe(replace(regExp.match.export, regExp.replace.export)) - .pipe(replace(regExp.match.formExport, regExp.replace.formExport)) - .pipe(replace(regExp.match.settingsExport, regExp.replace.settingsExport)) - .pipe(replace(regExp.match.settingsReference, regExp.replace.settingsReference)) - .pipe(replace(regExp.match.jQuery, regExp.replace.jQuery)) - .pipe(rename('index.js')) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // create readme - gulp.task(task.readme, false, function() { - return gulp.src(release.templates.readme) - .pipe(plumber()) - .pipe(flatten()) - .pipe(replace(regExp.match.name, regExp.replace.name)) - .pipe(replace(regExp.match.titleName, regExp.replace.titleName)) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // extend bower.json - gulp.task(task.bower, false, function() { - return gulp.src(release.templates.bower) - .pipe(plumber()) - .pipe(flatten()) - .pipe(jsonEditor(function(bower) { - bower.name = packageName; - bower.description = capitalizedComponent + ' - Semantic UI'; - if(isJavascript) { - if(isCSS) { - bower.main = [ - component + '.js', - component + '.css' - ]; - } - else { - bower.main = [ - component + '.js' - ]; - } - bower.dependencies = { - jquery: '>=1.8' - }; - } - else { - bower.main = [ - component + '.css' - ]; - } - return bower; - })) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // extend package.json - gulp.task(task.package, false, function() { - return gulp.src(release.templates.package) - .pipe(plumber()) - .pipe(flatten()) - .pipe(jsonEditor(function(package) { - if(isJavascript) { - package.dependencies = { - jquery: 'x.x.x' - }; - package.main = 'index.js'; - } - package.name = packageName; - if(version) { - package.version = version; - } - package.title = 'Semantic UI - ' + capitalizedComponent; - package.description = 'Single component release of ' + component; - package.repository = { - type : 'git', - url : gitURL - }; - return package; - })) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // extend composer.json - gulp.task(task.composer, false, function() { - return gulp.src(release.templates.composer) - .pipe(plumber()) - .pipe(flatten()) - .pipe(jsonEditor(function(composer) { - if(isJavascript) { - composer.dependencies = { - jquery: 'x.x.x' - }; - composer.main = component + '.js'; - } - composer.name = 'semantic/' + component; - if(version) { - composer.version = version; - } - composer.description = 'Single component release of ' + component; - return composer; - })) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // create release notes - gulp.task(task.notes, false, function() { - return gulp.src(release.templates.notes) - .pipe(plumber()) - .pipe(flatten()) - // Remove release notes for lines not mentioning component - .pipe(replace(regExp.match.unrelatedNotes, regExp.replace.unrelatedNotes)) - .pipe(replace(regExp.match.whitespace, regExp.replace.whitespace)) - .pipe(replace(regExp.match.spacedVersions, regExp.replace.spacedVersions)) - .pipe(replace(regExp.match.spacedLists, regExp.replace.spacedLists)) - .pipe(replace(regExp.match.trim, regExp.replace.trim)) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - // Creates meteor package.js - gulp.task(task.meteor, function() { - var - filenames = '' - ; - return gulp.src(manifest.component) - .pipe(concatFileNames('empty.txt', concatSettings)) - .pipe(tap(function(file) { - filenames += file.contents; - })) - .on('end', function() { - gulp.src(manifest.assets) - .pipe(concatFileNames('empty.txt', concatSettings)) - .pipe(tap(function(file) { - filenames += file.contents; - })) - .on('end', function() { - // remove trailing slash - filenames = filenames.replace(regExp.match.trailingComma, '').trim(); - gulp.src(release.templates.meteor.component) - .pipe(plumber()) - .pipe(flatten()) - .pipe(replace(regExp.match.name, regExp.replace.name)) - .pipe(replace(regExp.match.titleName, regExp.replace.titleName)) - .pipe(replace(regExp.match.version, version)) - .pipe(replace(regExp.match.files, filenames)) - .pipe(rename(release.files.meteor)) - .pipe(gulp.dest(outputDirectory)) - ; - }) - ; - }) - ; - }); - - - // synchronous tasks in orchestrator? I think not - gulp.task(task.all, false, function(callback) { - runSequence([ - task.repo, - task.npm, - task.bower, - task.readme, - task.package, - task.composer, - task.notes, - task.meteor - ], callback); - }); - - tasks.push(task.all); - - })(component); - } - - runSequence(tasks, callback); -}; \ No newline at end of file diff --git a/semantic/tasks/admin/components/init.js b/semantic/tasks/admin/components/init.js deleted file mode 100755 index 7f836d3..0000000 --- a/semantic/tasks/admin/components/init.js +++ /dev/null @@ -1,170 +0,0 @@ -/******************************* - Init Repos -*******************************/ - -/* - - This task pulls the latest version of each component from GitHub - - * Creates new repo if doesnt exist (locally & GitHub) - * Adds remote it doesnt exists - * Pulls latest changes from repo - -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - del = require('del'), - fs = require('fs'), - path = require('path'), - git = require('gulp-git'), - githubAPI = require('github'), - mkdirp = require('mkdirp'), - - // admin files - github = require('../../config/admin/github.js'), - release = require('../../config/admin/release'), - project = require('../../config/project/release'), - - - // oAuth configuration for GitHub - oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js') - ? require('../../config/admin/oauth') - : false, - - // shorthand - version = project.version -; - -module.exports = function(callback) { - - var - index = -1, - total = release.components.length, - timer, - stream, - stepRepo - ; - - if(!oAuth) { - console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); - return; - } - - // Do Git commands synchronously per component, to avoid issues - stepRepo = function() { - - index = index + 1; - - if(index >= total) { - callback(); - return; - } - - var - component = release.components[index] - outputDirectory = path.resolve(release.outputRoot + component), - capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1), - repoName = release.componentRepoRoot + capitalizedComponent, - - gitOptions = { cwd: outputDirectory }, - pullOptions = { args: '-q', cwd: outputDirectory, quiet: true }, - resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true }, - - gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git', - repoURL = 'https://github.com/' + release.org + '/' + repoName + '/', - localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git')) - ; - - console.log('Processing repository: ' + outputDirectory); - - // create folder if doesn't exist - if( !fs.existsSync(outputDirectory) ) { - mkdirp.sync(outputDirectory); - } - - // clean folder - if(release.outputRoot.search('../repos') == 0) { - console.info('Cleaning dir', outputDirectory); - del.sync([outputDirectory + '**/*'], {silent: true, force: true}); - } - - // set-up local repo - function setupRepo() { - if(localRepoSetup) { - addRemote(); - } - else { - initRepo(); - } - } - - function initRepo() { - console.info('Initializing repository for ' + component); - git.init(gitOptions, function(error) { - if(error) { - console.error('Error initializing repo', error); - } - addRemote(); - }); - } - - function createRepo() { - console.info('Creating GitHub repo ' + repoURL); - github.repos.createFromOrg({ - org : release.org, - name : repoName, - homepage : release.homepage - }, function() { - setupRepo(); - }); - } - - function addRemote() { - console.info('Adding remote origin as ' + gitURL); - git.addRemote('origin', gitURL, gitOptions, function(){ - pullFiles(); - }); - } - - function pullFiles() { - console.info('Pulling ' + component + ' files'); - git.pull('origin', 'master', pullOptions, function(error) { - resetFiles(); - }); - } - - function resetFiles() { - console.info('Resetting files to head'); - git.reset('HEAD', resetOptions, function(error) { - nextRepo(); - }); - } - - function nextRepo() { - //console.log('Sleeping for 1 second...'); - // avoid rate throttling - global.clearTimeout(timer); - timer = global.setTimeout(function() { - stepRepo() - }, 0); - } - - - if(localRepoSetup) { - pullFiles(); - } - else { - setupRepo(); - // createRepo() only use to create remote repo (easier to do manually) - } - - }; - - stepRepo(); - - -}; diff --git a/semantic/tasks/admin/components/update.js b/semantic/tasks/admin/components/update.js deleted file mode 100755 index a8ff643..0000000 --- a/semantic/tasks/admin/components/update.js +++ /dev/null @@ -1,184 +0,0 @@ -/******************************* - Update Repos -*******************************/ - -/* - - This task update all SUI individual component repos with new versions of components - - * Commits changes from create repo - * Pushes changes to GitHub - * Tag new releases if version changed in main repo - -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - fs = require('fs'), - path = require('path'), - git = require('gulp-git'), - githubAPI = require('github'), - requireDotFile = require('require-dot-file'), - - // admin files - github = require('../../config/admin/github.js'), - release = require('../../config/admin/release'), - project = require('../../config/project/release'), - - - // oAuth configuration for GitHub - oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js') - ? require('../../config/admin/oauth') - : false, - - // shorthand - version = project.version -; - -module.exports = function(callback) { - - var - index = -1, - total = release.components.length, - timer, - stream, - stepRepo - ; - - if(!oAuth) { - console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); - return; - } - - // Do Git commands synchronously per component, to avoid issues - stepRepo = function() { - - index = index + 1; - if(index >= total) { - callback(); - return; - } - - var - component = release.components[index] - outputDirectory = path.resolve(path.join(release.outputRoot, component)), - capitalizedComponent = component.charAt(0).toUpperCase() + component.slice(1), - repoName = release.componentRepoRoot + capitalizedComponent, - - gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git', - repoURL = 'https://github.com/' + release.org + '/' + repoName + '/', - - commitArgs = (oAuth.name !== undefined && oAuth.email !== undefined) - ? '--author "' + oAuth.name + ' <' + oAuth.email + '>"' - : '', - - componentPackage = fs.existsSync(outputDirectory + 'package.json' ) - ? require(outputDirectory + 'package.json') - : false, - - isNewVersion = (version && componentPackage.version != version), - - commitMessage = (isNewVersion) - ? 'Updated component to version ' + version - : 'Updated files from main repo', - - gitOptions = { cwd: outputDirectory }, - commitOptions = { args: commitArgs, cwd: outputDirectory }, - releaseOptions = { tag_name: version, owner: release.org, repo: repoName }, - - fileModeOptions = { args : 'config core.fileMode false', cwd: outputDirectory }, - usernameOptions = { args : 'config user.name "' + oAuth.name + '"', cwd: outputDirectory }, - emailOptions = { args : 'config user.email "' + oAuth.email + '"', cwd: outputDirectory }, - versionOptions = { args : 'rev-parse --verify HEAD', cwd: outputDirectory }, - - localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git')), - canProceed = true - ; - - - console.info('Processing repository:' + outputDirectory); - - function setConfig() { - git.exec(fileModeOptions, function() { - git.exec(usernameOptions, function () { - git.exec(emailOptions, function () { - commitFiles(); - }); - }); - }); - } - - - // standard path - function commitFiles() { - // commit files - console.info('Committing ' + component + ' files', commitArgs); - gulp.src('**/*', gitOptions) - .pipe(git.add(gitOptions)) - .pipe(git.commit(commitMessage, commitOptions)) - .on('error', function(error) { - // canProceed = false; bug in git commit - }) - .on('finish', function(callback) { - if(canProceed) { - pushFiles(); - } - else { - console.info('Nothing new to commit'); - nextRepo(); - } - }) - ; - } - - // push changes to remote - function pushFiles() { - console.info('Pushing files for ' + component); - git.push('origin', 'master', { args: '', cwd: outputDirectory }, function(error) { - console.info('Push completed successfully'); - getSHA(); - }); - } - - // gets SHA of last commit - function getSHA() { - git.exec(versionOptions, function(error, version) { - version = version.trim(); - createRelease(version); - }); - } - - // create release on GitHub.com - function createRelease(version) { - if(version) { - releaseOptions.target_commitish = version; - } - github.releases.createRelease(releaseOptions, function() { - nextRepo(); - }); - } - - // Steps to next repository - function nextRepo() { - console.log('Sleeping for 1 second...'); - // avoid rate throttling - global.clearTimeout(timer); - timer = global.setTimeout(stepRepo, 500); - } - - - if(localRepoSetup) { - setConfig(); - } - else { - console.error('Repository must be setup before running update components'); - } - - }; - - stepRepo(); - -}; diff --git a/semantic/tasks/admin/distributions/create.js b/semantic/tasks/admin/distributions/create.js deleted file mode 100755 index 5fa895b..0000000 --- a/semantic/tasks/admin/distributions/create.js +++ /dev/null @@ -1,216 +0,0 @@ -/******************************* - Create Distributions -*******************************/ - -/* - This will create individual distribution repositories for each SUI distribution - - * copy distribution files to release - * update package.json file -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - del = require('del'), - fs = require('fs'), - path = require('path'), - runSequence = require('run-sequence'), - mergeStream = require('merge-stream'), - - // admin dependencies - concatFileNames = require('gulp-concat-filenames'), - debug = require('gulp-debug'), - flatten = require('gulp-flatten'), - git = require('gulp-git'), - jsonEditor = require('gulp-json-editor'), - plumber = require('gulp-plumber'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - tap = require('gulp-tap'), - - // config - config = require('../../config/user'), - release = require('../../config/admin/release'), - project = require('../../config/project/release'), - - // shorthand - version = project.version, - output = config.paths.output - -; - - -module.exports = function(callback) { - var - stream, - index, - tasks = [] - ; - - for(index in release.distributions) { - - var - distribution = release.distributions[index] - ; - - // streams... designed to save time and make coding fun... - (function(distribution) { - - var - distLowerCase = distribution.toLowerCase(), - outputDirectory = path.join(release.outputRoot, distLowerCase), - packageFile = path.join(outputDirectory, release.files.npm), - repoName = release.distRepoRoot + distribution, - regExp = { - match : { - files : '{files}', - version : '{version}' - } - }, - task = { - all : distribution + ' copying files', - repo : distribution + ' create repo', - meteor : distribution + ' create meteor package.js', - package : distribution + ' create package.json' - }, - gatherFiles, - createList - ; - - // get files for meteor - gatherFiles = function(dir) { - var - dir = dir || path.resolve('.'), - list = fs.readdirSync(dir), - omitted = [ - '.git', - 'node_modules', - 'package.js', - 'LICENSE', - 'README.md', - 'package.json', - 'bower.json', - '.gitignore' - ] - files = [] - ; - list.forEach(function(file) { - var - isOmitted = (omitted.indexOf(file) > -1), - filePath = path.join(dir, file), - stat = fs.statSync(filePath) - ; - if(!isOmitted) { - if(stat && stat.isDirectory()) { - files = files.concat(gatherFiles(filePath)); - } - else { - files.push(filePath.replace(outputDirectory + path.sep, '')); - } - } - }) - return files - }; - - // spaces out list correctly - createList = function(files) { - var filenames = ''; - for(file in files) { - if(file == (files.length - 1) ) { - filenames += "'" + files[file] + "'"; - } - else { - filenames += "'" + files[file] + "',\n "; - } - } - return filenames; - }; - - - gulp.task(task.meteor, function() { - var - files = gatherFiles(outputDirectory) - filenames = createList(files) - ; - gulp.src(release.templates.meteor[distLowerCase]) - .pipe(plumber()) - .pipe(flatten()) - .pipe(replace(regExp.match.version, version)) - .pipe(replace(regExp.match.files, filenames)) - .pipe(rename(release.files.meteor)) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - if(distribution == 'CSS') { - gulp.task(task.repo, function() { - var - themes, - component, - releases - ; - themes = gulp.src('dist/themes/default/**/*', { base: 'dist/' }) - .pipe(gulp.dest(outputDirectory)) - ; - components = gulp.src('dist/components/*', { base: 'dist/' }) - .pipe(gulp.dest(outputDirectory)) - ; - releases = gulp.src('dist/*', { base: 'dist/' }) - .pipe(gulp.dest(outputDirectory)) - ; - return mergeStream(themes, components, releases); - }); - } - else if(distribution == 'LESS') { - gulp.task(task.repo, function() { - var - definitions, - themeImport, - themeConfig, - siteTheme, - themes - ; - definitions = gulp.src('src/definitions/**/*', { base: 'src/' }) - .pipe(gulp.dest(outputDirectory)) - ; - themeImport = gulp.src('src/theme.less', { base: 'src/' }) - .pipe(gulp.dest(outputDirectory)) - ; - themeConfig = gulp.src('src/theme.config.example', { base: 'src/' }) - .pipe(gulp.dest(outputDirectory)) - ; - siteTheme = gulp.src('src/_site/**/*', { base: 'src/' }) - .pipe(gulp.dest(outputDirectory)) - ; - themes = gulp.src('src/themes/**/*', { base: 'src/' }) - .pipe(gulp.dest(outputDirectory)) - ; - return mergeStream(definitions, themeImport, themeConfig, siteTheme, themes); - }); - } - - // extend package.json - gulp.task(task.package, function() { - return gulp.src(packageFile) - .pipe(plumber()) - .pipe(jsonEditor(function(package) { - if(version) { - package.version = version; - } - return package; - })) - .pipe(gulp.dest(outputDirectory)) - ; - }); - - tasks.push(task.meteor); - tasks.push(task.repo); - tasks.push(task.package); - - })(distribution); - } - runSequence(tasks, callback); -}; \ No newline at end of file diff --git a/semantic/tasks/admin/distributions/init.js b/semantic/tasks/admin/distributions/init.js deleted file mode 100755 index d188f7a..0000000 --- a/semantic/tasks/admin/distributions/init.js +++ /dev/null @@ -1,170 +0,0 @@ -/******************************* - Init Dist Repos -*******************************/ - -/* - - This task pulls the latest version of distribution from GitHub - - * Creates new repo if doesnt exist (locally & GitHub) - * Adds remote it doesnt exists - * Pulls latest changes from repo - -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - del = require('del'), - fs = require('fs'), - path = require('path'), - git = require('gulp-git'), - githubAPI = require('github'), - mkdirp = require('mkdirp'), - - // admin files - github = require('../../config/admin/github.js'), - release = require('../../config/admin/release'), - project = require('../../config/project/release'), - - - // oAuth configuration for GitHub - oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js') - ? require('../../config/admin/oauth') - : false, - - // shorthand - version = project.version -; - -module.exports = function(callback) { - - var - index = -1, - total = release.distributions.length, - timer, - stream, - stepRepo - ; - - if(!oAuth) { - console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); - return; - } - - // Do Git commands synchronously per component, to avoid issues - stepRepo = function() { - - index = index + 1; - - if(index >= total) { - callback(); - return; - } - - var - component = release.distributions[index], - lowerCaseComponent = component.toLowerCase(), - outputDirectory = path.resolve(release.outputRoot + lowerCaseComponent), - repoName = release.distRepoRoot + component, - - gitOptions = { cwd: outputDirectory }, - pullOptions = { args: '-q', cwd: outputDirectory, quiet: true }, - resetOptions = { args: '-q --hard', cwd: outputDirectory, quiet: true }, - - gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git', - repoURL = 'https://github.com/' + release.org + '/' + repoName + '/', - localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git')) - ; - - console.log('Processing repository: ' + outputDirectory); - - // create folder if doesn't exist - if( !fs.existsSync(outputDirectory) ) { - mkdirp.sync(outputDirectory); - } - - // clean folder - if(release.outputRoot.search('../repos') == 0) { - console.info('Cleaning dir', outputDirectory); - del.sync([outputDirectory + '**/*'], {silent: true, force: true}); - } - - // set-up local repo - function setupRepo() { - if(localRepoSetup) { - addRemote(); - } - else { - initRepo(); - } - } - - function initRepo() { - console.info('Initializing repository for ' + component); - git.init(gitOptions, function(error) { - if(error) { - console.error('Error initializing repo', error); - } - addRemote(); - }); - } - - function createRepo() { - console.info('Creating GitHub repo ' + repoURL); - github.repos.createFromOrg({ - org : release.org, - name : repoName, - homepage : release.homepage - }, function() { - setupRepo(); - }); - } - - function addRemote() { - console.info('Adding remote origin as ' + gitURL); - git.addRemote('origin', gitURL, gitOptions, function(){ - pullFiles(); - }); - } - - function pullFiles() { - console.info('Pulling ' + component + ' files'); - git.pull('origin', 'master', pullOptions, function(error) { - resetFiles(); - }); - } - - function resetFiles() { - console.info('Resetting files to head'); - git.reset('HEAD', resetOptions, function(error) { - nextRepo(); - }); - } - - function nextRepo() { - //console.log('Sleeping for 1 second...'); - // avoid rate throttling - global.clearTimeout(timer); - timer = global.setTimeout(function() { - stepRepo() - }, 0); - } - - - if(localRepoSetup) { - pullFiles(); - } - else { - setupRepo(); - // createRepo() only use to create remote repo (easier to do manually) - } - - }; - - stepRepo(); - - -}; diff --git a/semantic/tasks/admin/distributions/update.js b/semantic/tasks/admin/distributions/update.js deleted file mode 100755 index 8a9bcbb..0000000 --- a/semantic/tasks/admin/distributions/update.js +++ /dev/null @@ -1,182 +0,0 @@ -/******************************* - Update Repos -*******************************/ - -/* - - This task update all SUI individual distribution repos with new versions of distributions - - * Commits changes from create repo - * Pushes changes to GitHub - * Tag new releases if version changed in main repo - -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - fs = require('fs'), - path = require('path'), - git = require('gulp-git'), - githubAPI = require('github'), - requireDotFile = require('require-dot-file'), - - // admin files - github = require('../../config/admin/github.js'), - release = require('../../config/admin/release'), - project = require('../../config/project/release'), - - - // oAuth configuration for GitHub - oAuth = fs.existsSync(__dirname + '/../../config/admin/oauth.js') - ? require('../../config/admin/oauth') - : false, - - // shorthand - version = project.version -; - -module.exports = function(callback) { - - var - index = -1, - total = release.distributions.length, - timer, - stream, - stepRepo - ; - - if(!oAuth) { - console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); - return; - } - - // Do Git commands synchronously per distribution, to avoid issues - stepRepo = function() { - - index = index + 1; - if(index >= total) { - callback(); - return; - } - - var - distribution = release.distributions[index], - outputDirectory = path.resolve(path.join(release.outputRoot, distribution.toLowerCase() )), - repoName = release.distRepoRoot + distribution, - - gitURL = 'https://github.com/' + release.org + '/' + repoName + '.git', - repoURL = 'https://github.com/' + release.org + '/' + repoName + '/', - - commitArgs = (oAuth.name !== undefined && oAuth.email !== undefined) - ? '--author "' + oAuth.name + ' <' + oAuth.email + '>"' - : '', - - distributionPackage = fs.existsSync(outputDirectory + 'package.json' ) - ? require(outputDirectory + 'package.json') - : false, - - isNewVersion = (version && distributionPackage.version != version), - - commitMessage = (isNewVersion) - ? 'Updated distribution to version ' + version - : 'Updated files from main repo', - - gitOptions = { cwd: outputDirectory }, - commitOptions = { args: commitArgs, cwd: outputDirectory }, - releaseOptions = { tag_name: version, owner: release.org, repo: repoName }, - - fileModeOptions = { args : 'config core.fileMode false', cwd: outputDirectory }, - usernameOptions = { args : 'config user.name "' + oAuth.name + '"', cwd: outputDirectory }, - emailOptions = { args : 'config user.email "' + oAuth.email + '"', cwd: outputDirectory }, - versionOptions = { args : 'rev-parse --verify HEAD', cwd: outputDirectory }, - - localRepoSetup = fs.existsSync(path.join(outputDirectory, '.git')), - canProceed = true - ; - - - console.info('Processing repository:' + outputDirectory); - - function setConfig() { - git.exec(fileModeOptions, function() { - git.exec(usernameOptions, function () { - git.exec(emailOptions, function () { - commitFiles(); - }); - }); - }); - } - - // standard path - function commitFiles() { - // commit files - console.info('Committing ' + distribution + ' files', commitArgs); - gulp.src('**/*', gitOptions) - .pipe(git.add(gitOptions)) - .pipe(git.commit(commitMessage, commitOptions)) - .on('error', function(error) { - // canProceed = false; bug in git commit - }) - .on('finish', function(callback) { - if(canProceed) { - pushFiles(); - } - else { - console.info('Nothing new to commit'); - nextRepo(); - } - }) - ; - } - - // push changes to remote - function pushFiles() { - console.info('Pushing files for ' + distribution); - git.push('origin', 'master', { args: '', cwd: outputDirectory }, function(error) { - console.info('Push completed successfully'); - getSHA(); - }); - } - - // gets SHA of last commit - function getSHA() { - git.exec(versionOptions, function(error, version) { - version = version.trim(); - createRelease(version); - }); - } - - // create release on GitHub.com - function createRelease(version) { - if(version) { - releaseOptions.target_commitish = version; - } - github.releases.createRelease(releaseOptions, function() { - nextRepo(); - }); - } - - // Steps to next repository - function nextRepo() { - console.log('Sleeping for 1 second...'); - // avoid rate throttling - global.clearTimeout(timer); - timer = global.setTimeout(stepRepo, 500); - } - - - if(localRepoSetup) { - setConfig(); - } - else { - console.error('Repository must be setup before running update distributions'); - } - - }; - - stepRepo(); - -}; diff --git a/semantic/tasks/admin/publish.js b/semantic/tasks/admin/publish.js deleted file mode 100755 index e80c86a..0000000 --- a/semantic/tasks/admin/publish.js +++ /dev/null @@ -1,25 +0,0 @@ -/******************************* - Release All -*******************************/ - -/* - This task update all SUI individual component repos with new versions of components - - * Commits changes from create components to GitHub and Tags - -*/ - -var - runSequence = require('run-sequence') -; - -/* Release All */ -module.exports = function(callback) { - - runSequence( - 'update distributions', // commit less/css versions to github - 'update components', // commit components to github - callback - ); - -}; \ No newline at end of file diff --git a/semantic/tasks/admin/register.js b/semantic/tasks/admin/register.js deleted file mode 100755 index 12ef1c3..0000000 --- a/semantic/tasks/admin/register.js +++ /dev/null @@ -1,55 +0,0 @@ -/******************************* - Register PM -*******************************/ - -/* - Task to register component repos with Package Managers - * Registers component with bower - * Registers component with NPM -*/ - -var - // node dependencies - process = require('child_process'), - - // config - release = require('../config/admin/release'), - - // register components and distributions - repos = release.distributions.concat(release.components), - total = repos.length, - index = -1, - - stream, - stepRepo -; - -module.exports = function(callback) { - - console.log('Registering repos with package managers'); - - // Do Git commands synchronously per component, to avoid issues - stepRepo = function() { - index = index + 1; - if(index >= total) { - callback(); - return; - } - var - repo = repos[index].toLowerCase(), - outputDirectory = release.outputRoot + repo + '/', - exec = process.exec, - execSettings = {cwd: outputDirectory}, - updateNPM = 'npm publish' - ; - - /* Register with NPM */ - exec(updateNPM, execSettings, function(err, stdout, stderr) { - console.log(err, stdout, stderr); - stepRepo(); - }); - - }; - stepRepo(); -}; - diff --git a/semantic/tasks/admin/release.js b/semantic/tasks/admin/release.js deleted file mode 100755 index a247e8b..0000000 --- a/semantic/tasks/admin/release.js +++ /dev/null @@ -1,29 +0,0 @@ -/******************************* - Release -*******************************/ - -/* - This task update all SUI individual component repos with new versions of components - - * Initializes repositories with current versions - * Creates local files at ../distributions/ with each repo for release - -*/ - -var - runSequence = require('run-sequence') -; - -/* Release All */ -module.exports = function(callback) { - - runSequence( - //'build', // build Semantic - 'init distributions', // sync with current github version - 'create distributions', // update each repo with changes from master repo - 'init components', // sync with current github version - 'create components', // update each repo - callback - ); - -}; \ No newline at end of file diff --git a/semantic/tasks/build.js b/semantic/tasks/build.js deleted file mode 100755 index 91ea9a1..0000000 --- a/semantic/tasks/build.js +++ /dev/null @@ -1,138 +0,0 @@ -/******************************* - Build Task -*******************************/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - fs = require('fs'), - - // gulp dependencies - autoprefixer = require('gulp-autoprefixer'), - chmod = require('gulp-chmod'), - clone = require('gulp-clone'), - flatten = require('gulp-flatten'), - gulpif = require('gulp-if'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - uglify = require('gulp-uglify'), - - // config - config = require('./config/user'), - tasks = require('./config/project/tasks'), - install = require('./config/project/install'), - - // shorthand - globs = config.globs, - assets = config.paths.assets, - output = config.paths.output, - source = config.paths.source, - - banner = tasks.banner, - comments = tasks.regExp.comments, - log = tasks.log, - settings = tasks.settings -; - -// add internal tasks (concat release) -require('./collections/internal')(gulp); - -module.exports = function(callback) { - - var - stream, - compressedStream, - uncompressedStream - ; - - console.info('Building Semantic'); - - if( !install.isSetup() ) { - console.error('Cannot build files. Run "gulp install" to set-up Semantic'); - return; - } - - // check for right-to-left language - if(config.rtl === true || config.rtl === 'Yes') { - gulp.start('build-rtl'); - return; - } - - // unified css stream - stream = gulp.src(source.definitions + '/**/' + globs.components + '.less') - .pipe(plumber()) - .pipe(less(settings.less)) - .pipe(autoprefixer(settings.prefix)) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) - .pipe(flatten()) - ; - - // two concurrent streams from same source to concat release - uncompressedStream = stream.pipe(clone()); - //compressedStream = stream.pipe(clone()); - - // uncompressed component css - uncompressedStream - .pipe(plumber()) - .pipe(replace(assets.source, assets.uncompressed)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .on('end', function() { - callback(); - gulp.start('package uncompressed css'); - }) - ; - - // compressed component css - // compressedStream = stream - // .pipe(plumber()) - // .pipe(clone()) - // .pipe(replace(assets.source, assets.compressed)) - // .pipe(minifyCSS(settings.minify)) - // .pipe(rename(settings.rename.minCSS)) - // .pipe(gulpif(config.hasPermission, chmod(config.permission))) - // .pipe(gulp.dest(output.compressed)) - // .pipe(print(log.created)) - // .on('end', function() { - // callback(); - // gulp.start('package compressed css'); - // }) - // ; - - // copy assets - gulp.src(source.themes + '/**/assets/**/' + globs.components + '?(s).*') - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.themes)) - ; - - // copy source javascript - // gulp.src(source.definitions + '/**/' + globs.components + '.js') - // .pipe(plumber()) - // .pipe(flatten()) - // .pipe(replace(comments.license.in, comments.license.out)) - // .pipe(gulp.dest(output.uncompressed)) - // .pipe(gulpif(config.hasPermission, chmod(config.permission))) - // .pipe(print(log.created)) - // .pipe(uglify(settings.uglify)) - // .pipe(rename(settings.rename.minJS)) - // .pipe(gulp.dest(output.compressed)) - // .pipe(gulpif(config.hasPermission, chmod(config.permission))) - // .pipe(print(log.created)) - // .on('end', function() { - // gulp.start('package compressed js'); - // gulp.start('package uncompressed js'); - // }) - // ; - -}; diff --git a/semantic/tasks/check-install.js b/semantic/tasks/check-install.js deleted file mode 100755 index 9bab87e..0000000 --- a/semantic/tasks/check-install.js +++ /dev/null @@ -1,28 +0,0 @@ -/******************************* - Check Install -*******************************/ - -var - // node dependencies - gulp = require('gulp'), - fs = require('fs'), - console = require('better-console'), - install = require('./config/project/install') -; - -// export task -module.exports = function() { - - setTimeout(function() { - if( !install.isSetup() ) { - console.log('Starting install...'); - gulp.start('install'); - return; - } - else { - gulp.start('watch'); - } - }, 50); // Delay to allow console.clear to remove messages from check event - - -}; \ No newline at end of file diff --git a/semantic/tasks/clean.js b/semantic/tasks/clean.js deleted file mode 100755 index 340cd6c..0000000 --- a/semantic/tasks/clean.js +++ /dev/null @@ -1,14 +0,0 @@ -/******************************* - Clean Task -*******************************/ - -var - del = require('del'), - config = require('./config/user'), - tasks = require('./config/project/tasks') -; - -// cleans distribution files -module.exports = function(callback) { - return del([config.paths.clean], tasks.settings.del, callback); -}; \ No newline at end of file diff --git a/semantic/tasks/collections/README.md b/semantic/tasks/collections/README.md deleted file mode 100755 index 1cae511..0000000 --- a/semantic/tasks/collections/README.md +++ /dev/null @@ -1,16 +0,0 @@ -## How to use - -These are collections of tasks that are imported together. - -To import them into gulp: -```javascript -var - gulp = require('gulp'), - // modified to point to semantic folder - install = require('tasks/collections/install') -; -gulp = install(gulp); - -// tasks are now injected and ready to be used -gulp.start('install'); -``` \ No newline at end of file diff --git a/semantic/tasks/collections/admin.js b/semantic/tasks/collections/admin.js deleted file mode 100755 index a384d1f..0000000 --- a/semantic/tasks/collections/admin.js +++ /dev/null @@ -1,49 +0,0 @@ -/******************************* - Admin Task Collection -*******************************/ - -/* - This are tasks to be run by project maintainers - - Creating Component Repos - - Syncing with GitHub via APIs - - Modifying package files -*/ - -/******************************* - Tasks -*******************************/ - - -module.exports = function(gulp) { - var - // less/css distributions - initComponents = require('../admin/components/init'), - createComponents = require('../admin/components/create'), - updateComponents = require('../admin/components/update'), - - // single component releases - initDistributions = require('../admin/distributions/init'), - createDistributions = require('../admin/distributions/create'), - updateDistributions = require('../admin/distributions/update'), - - release = require('../admin/release'), - publish = require('../admin/publish'), - register = require('../admin/register') - ; - - /* Release */ - gulp.task('init distributions', 'Grabs each component from GitHub', initDistributions); - gulp.task('create distributions', 'Updates files in each repo', createDistributions); - gulp.task('init components', 'Grabs each component from GitHub', initComponents); - gulp.task('create components', 'Updates files in each repo', createComponents); - - /* Publish */ - gulp.task('update distributions', 'Commits component updates from create to GitHub', updateDistributions); - gulp.task('update components', 'Commits component updates from create to GitHub', updateComponents); - - /* Tasks */ - gulp.task('release', 'Stages changes in GitHub repos for all distributions', release); - gulp.task('publish', 'Publishes all releases (components, package)', publish); - gulp.task('register', 'Registers all packages with NPM', register); - -}; \ No newline at end of file diff --git a/semantic/tasks/collections/internal.js b/semantic/tasks/collections/internal.js deleted file mode 100755 index bb580fd..0000000 --- a/semantic/tasks/collections/internal.js +++ /dev/null @@ -1,214 +0,0 @@ -/******************************* - Internal Task Collection -*******************************/ - -/* These tasks create packaged files from **dist** components - Not intended to be called directly by a user because - these do not build fresh from **src** -*/ - -module.exports = function(gulp) { - - var - // node dependencies - fs = require('fs'), - chmod = require('gulp-chmod'), - concat = require('gulp-concat'), - concatCSS = require('gulp-concat-css'), - clone = require('gulp-clone'), - gulpif = require('gulp-if'), - header = require('gulp-header'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - uglify = require('gulp-uglify'), - - // user config - config = require('./../config/user'), - docsConfig = require('./../config/docs'), - - // install config - tasks = require('./../config/project/tasks'), - release = require('./../config/project/release'), - - // shorthand - globs = config.globs, - assets = config.paths.assets, - output = config.paths.output, - - banner = tasks.banner, - filenames = tasks.filenames, - log = tasks.log, - settings = tasks.settings - ; - - /*-------------- - Packaged - ---------------*/ - - gulp.task('package uncompressed css', function() { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package compressed css', function() { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(minifyCSS(settings.concatMinify)) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package uncompressed js', function() { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concat(filenames.concatenatedJS)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package compressed js', function() { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concat(filenames.concatenatedMinifiedJS)) - .pipe(uglify(settings.concatUglify)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - /*-------------- - RTL - ---------------*/ - - if(config.rtl) { - - gulp.task('package uncompressed rtl css', function () { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedRTLCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package compressed rtl css', function () { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedMinifiedRTLCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(minifyCSS(settings.concatMinify)) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package uncompressed docs css', function() { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package compressed docs css', function() { - return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) - .pipe(minifyCSS(settings.concatMinify)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.packaged)) - .pipe(print(log.created)) - ; - }); - - } - - /*-------------- - Docs - ---------------*/ - - var - docsOutput = docsConfig.paths.output - ; - - gulp.task('package uncompressed docs css', function() { - return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.css') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(docsOutput.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package compressed docs css', function() { - return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.css') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) - .pipe(minifyCSS(settings.concatMinify)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(docsOutput.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package uncompressed docs js', function() { - return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.js') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concat(filenames.concatenatedJS)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(docsOutput.packaged)) - .pipe(print(log.created)) - ; - }); - - gulp.task('package compressed docs js', function() { - return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.js') - .pipe(plumber()) - .pipe(replace(assets.uncompressed, assets.packaged)) - .pipe(concat(filenames.concatenatedMinifiedJS)) - .pipe(uglify(settings.concatUglify)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(docsOutput.packaged)) - .pipe(print(log.created)) - ; - }); - -}; \ No newline at end of file diff --git a/semantic/tasks/config/admin/github.js b/semantic/tasks/config/admin/github.js deleted file mode 100755 index a4d2bca..0000000 --- a/semantic/tasks/config/admin/github.js +++ /dev/null @@ -1,38 +0,0 @@ -/******************************* - GitHub Login -*******************************/ -/* - Logs into GitHub using OAuth -*/ - -var - fs = require('fs'), - path = require('path'), - githubAPI = require('github'), - - // stores oauth info for GitHub API - oAuthConfig = path.join(__dirname, 'oauth.js'), - oAuth = fs.existsSync(oAuthConfig) - ? require(oAuthConfig) - : false, - github -; - -if(!oAuth) { - console.log('here'); - console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); -} - -github = new githubAPI({ - version : '3.0.0', - debug : true, - protocol : 'https', - timeout : 5000 -}); - -github.authenticate({ - type: 'oauth', - token: oAuth.token -}); - -module.exports = github; \ No newline at end of file diff --git a/semantic/tasks/config/admin/oauth.example.js b/semantic/tasks/config/admin/oauth.example.js deleted file mode 100755 index 6268b7a..0000000 --- a/semantic/tasks/config/admin/oauth.example.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - Used to import GitHub Auth Token - To Automate GitHub Updates -*/ - -module.exports = { - token : 'AN-OAUTH2-TOKEN', - name : 'Your Name', - email : 'user@email.com' -}; \ No newline at end of file diff --git a/semantic/tasks/config/admin/release.js b/semantic/tasks/config/admin/release.js deleted file mode 100755 index af37835..0000000 --- a/semantic/tasks/config/admin/release.js +++ /dev/null @@ -1,110 +0,0 @@ -/******************************* - Release Settings -*******************************/ - -// release settings -module.exports = { - - // path to components for repos - source : './dist/components/', - - // modified asset paths for component repos - paths: { - source : '../themes/default/assets/', - output : 'assets/' - }, - - templates: { - bower : './tasks/config/admin/templates/bower.json', - composer : './tasks/config/admin/templates/composer.json', - package : './tasks/config/admin/templates/package.json', - meteor : { - css : './tasks/config/admin/templates/css-package.js', - component : './tasks/config/admin/templates/component-package.js', - less : './tasks/config/admin/templates/less-package.js', - }, - readme : './tasks/config/admin/templates/README.md', - notes : './RELEASE-NOTES.md' - }, - - org : 'Semantic-Org', - repo : 'Semantic-UI', - - // files created for package managers - files: { - composer : 'composer.json', - config : 'semantic.json', - npm : 'package.json', - meteor : 'package.js' - }, - - // root name for distribution repos - distRepoRoot : 'Semantic-UI-', - - // root name for single component repos - componentRepoRoot : 'UI-', - - // root name for package managers - packageRoot : 'semantic-ui-', - - // root path to repos - outputRoot : '../repos/', - - homepage : 'http://www.semantic-ui.com', - - // distributions that get separate repos - distributions: [ - 'LESS', - 'CSS' - ], - - // components that get separate repositories for bower/npm - components : [ - 'accordion', - 'ad', - 'api', - 'breadcrumb', - 'button', - 'card', - 'checkbox', - 'comment', - 'dimmer', - 'divider', - 'dropdown', - 'feed', - 'flag', - 'form', - 'grid', - 'header', - 'icon', - 'image', - 'input', - 'item', - 'label', - 'list', - 'loader', - 'menu', - 'message', - 'modal', - 'nag', - 'popup', - 'progress', - 'rail', - 'rating', - 'reset', - 'reveal', - 'search', - 'segment', - 'shape', - 'sidebar', - 'site', - 'statistic', - 'step', - 'sticky', - 'tab', - 'table', - 'transition', - 'video', - 'visibility' - ] -}; diff --git a/semantic/tasks/config/admin/templates/README.md b/semantic/tasks/config/admin/templates/README.md deleted file mode 100755 index c3ee5b3..0000000 --- a/semantic/tasks/config/admin/templates/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Semantic {Component} - -This repository contains pre-compiled {component} files using the default themes. This is intended for use in projects that do not need all the bells and whistles of Semantic UI, and want to keep file size to a minimum. - -For the latest changes please see the [Release Notes](https://github.com/Semantic-Org/UI-{Component}/blob/master/RELEASE-NOTES.md) - -If you're looking for the full version of Semantic including all components and build tools [check out the main project repository](https://github.com/Semantic-Org/Semantic-UI/tree/1.0) - -#### To install with Bower -``` -bower install semantic-ui-{component} -``` - -#### To install with NPM -``` -npm install semantic-ui-{component} -``` - -#### To install with Meteor -``` -meteor add semantic:ui-{component} -``` - - -## Addendum - -This element's definitions (required class names, html structures) are available in the [UI Docs](http://www.semantic-ui.com) - -Please consider checking out [all the benefits to theming](http://www.learnsemantic.com/guide/expert.html) before using these stand-alone releases. diff --git a/semantic/tasks/config/admin/templates/bower.json b/semantic/tasks/config/admin/templates/bower.json deleted file mode 100755 index ab4951a..0000000 --- a/semantic/tasks/config/admin/templates/bower.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name" : "Component", - "description" : "Component distribution", - "homepage" : "http://www.semantic-ui.com", - "author": { - "name" : "Jack Lukic", - "web" : "http://www.jacklukic.com" - }, - "ignore": [ - "./index.js" - ], - "keywords": [ - "semantic", - "ui", - "css3", - "framework" - ], - "license" : [ - "http://semantic-ui.mit-license.org/" - ], - "ignore": [ - "docs", - "node", - "server", - "spec", - "src", - "test" - ] -} diff --git a/semantic/tasks/config/admin/templates/component-package.js b/semantic/tasks/config/admin/templates/component-package.js deleted file mode 100755 index 74cd51b..0000000 --- a/semantic/tasks/config/admin/templates/component-package.js +++ /dev/null @@ -1,14 +0,0 @@ - -Package.describe({ - name : 'semantic:ui-{component}', - summary : 'Semantic UI - {Component}: Single component release', - version : '{version}', - git : 'git://github.com/Semantic-Org/UI-{Component}.git', -}); - -Package.onUse(function(api) { - api.versionsFrom('1.0'); - api.addFiles([ - {files} - ], 'client'); -}); diff --git a/semantic/tasks/config/admin/templates/composer.json b/semantic/tasks/config/admin/templates/composer.json deleted file mode 100755 index b47d2e1..0000000 --- a/semantic/tasks/config/admin/templates/composer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name" : "semantic/ui", - "description" : "Semantic empowers designers and developers by creating a shared vocabulary for UI.", - "homepage" : "http://www.semantic-ui.com", - "authors": [ - { - "name" : "Jack Lukic", - "email": "jacklukic@gmail.com", - "web" : "http://www.jacklukic.com", - "role" : "Creator" - } - ], - "keywords": [ - "semantic", - "ui", - "css", - "framework" - ], - "license" : "MIT" -} \ No newline at end of file diff --git a/semantic/tasks/config/admin/templates/css-package.js b/semantic/tasks/config/admin/templates/css-package.js deleted file mode 100755 index 483b77e..0000000 --- a/semantic/tasks/config/admin/templates/css-package.js +++ /dev/null @@ -1,33 +0,0 @@ -var - where = 'client' // Adds files only to the client -; - -Package.describe({ - name : 'semantic:ui-css', - summary : 'Semantic UI - CSS Release of Semantic UI', - version : '{version}', - git : 'git://github.com/Semantic-Org/Semantic-UI-CSS.git', -}); - -Package.onUse(function(api) { - - api.versionsFrom('1.0'); - - api.addFiles([ - // icons - 'themes/default/assets/fonts/icons.eot', - 'themes/default/assets/fonts/icons.otf', - 'themes/default/assets/fonts/icons.svg', - 'themes/default/assets/fonts/icons.ttf', - 'themes/default/assets/fonts/icons.woff', - 'themes/default/assets/fonts/icons.woff2', - - // flags - 'themes/default/assets/images/flags.png', - - // release - 'semantic.css', - 'semantic.js' - ], 'client'); - -}); diff --git a/semantic/tasks/config/admin/templates/less-package.js b/semantic/tasks/config/admin/templates/less-package.js deleted file mode 100755 index e2f8a25..0000000 --- a/semantic/tasks/config/admin/templates/less-package.js +++ /dev/null @@ -1,21 +0,0 @@ -var - where = 'client' // Adds files only to the client -; - -Package.describe({ - name : 'semantic:ui', - summary : 'Semantic UI - LESS Release of Semantic UI', - version : '{version}', - git : 'git://github.com/Semantic-Org/Semantic-UI-LESS.git', -}); - -Package.onUse(function(api) { - - api.versionsFrom('1.0'); - api.use('less', 'client'); - - api.addFiles([ - {files} - ], 'client'); - -}); diff --git a/semantic/tasks/config/admin/templates/package.json b/semantic/tasks/config/admin/templates/package.json deleted file mode 100755 index 5d96785..0000000 --- a/semantic/tasks/config/admin/templates/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "semantic", - "version": "1.0.0", - "title": "Semantic UI", - "description": "Semantic empowers designers and developers by creating a shared vocabulary for UI.", - "homepage": "http://www.semantic-ui.com", - "author": "Jack Lukic ", - "license": "MIT", - "repository": { - "type": "git", - "url": "git://github.com/Semantic-Org/Semantic-UI.git" - }, - "bugs": { - "url": "https://github.com/Semantic-Org/Semantic-UI/issues" - }, - "devDependencies": {} -} diff --git a/semantic/tasks/config/defaults.js b/semantic/tasks/config/defaults.js deleted file mode 100755 index 8a6988f..0000000 --- a/semantic/tasks/config/defaults.js +++ /dev/null @@ -1,116 +0,0 @@ -/******************************* - Default Paths -*******************************/ - -module.exports = { - - // base path added to all other paths - base : '', - - // base path when installed with npm - pmRoot: 'semantic/', - - // octal permission for output files, i.e. 644 (false does not adjust) - permission : 744, - - // whether to generate rtl files - rtl : false, - - // file paths - files: { - config : 'semantic.json', - site : 'src/site', - theme : 'src/theme.config' - }, - - // folder paths - paths: { - source: { - config : 'src/theme.config', - definitions : 'src/definitions/', - site : 'src/site/', - themes : 'src/themes/' - }, - output: { - packaged : 'dist/', - uncompressed : 'dist/components/', - compressed : 'dist/components/', - themes : 'dist/themes/' - }, - clean : 'dist/' - }, - - // components to include in package - components: [ - - // global - 'reset', - 'site', - - // elements - 'button', - 'divider', - 'flag', - 'header', - 'icon', - 'image', - 'input', - 'label', - 'list', - 'loader', - 'rail', - 'reveal', - 'segment', - 'step', - - // collections - 'breadcrumb', - 'form', - 'grid', - 'menu', - 'message', - 'table', - - // views - 'ad', - 'card', - 'comment', - 'feed', - 'item', - 'statistic', - - // modules - 'accordion', - 'checkbox', - 'dimmer', - 'dropdown', - 'modal', - 'nag', - 'popup', - 'progress', - 'rating', - 'search', - 'shape', - 'sidebar', - 'sticky', - 'tab', - 'transition', - 'video', - - // behaviors - 'api', - 'form', - 'state', - 'visibility' - ], - - // whether to load admin tasks - admin: false, - - // globs used for matching file patterns - globs : { - ignored : '!(*.min|*.map|*.rtl)', - ignoredRTL : '!(*.min|*.map)' - } - -}; diff --git a/semantic/tasks/config/docs.js b/semantic/tasks/config/docs.js deleted file mode 100755 index 23e53be..0000000 --- a/semantic/tasks/config/docs.js +++ /dev/null @@ -1,24 +0,0 @@ -/******************************* - Docs -*******************************/ - -/* Paths used for "serve-docs" and "build-docs" tasks */ -module.exports = { - base: '', - paths: { - source: { - config : 'src/theme.config', - definitions : 'src/definitions/', - site : 'src/site/', - themes : 'src/themes/' - }, - output: { - less : '../docs/out/src/', - packaged : '../docs/out/dist/', - uncompressed : '../docs/out/dist/components/', - compressed : '../docs/out/dist/components/', - themes : '../docs/out/dist/themes/' - }, - clean: '../docs/out/dist/' - } -}; \ No newline at end of file diff --git a/semantic/tasks/config/npm/gulpfile.js b/semantic/tasks/config/npm/gulpfile.js deleted file mode 100755 index fbf6afc..0000000 --- a/semantic/tasks/config/npm/gulpfile.js +++ /dev/null @@ -1,59 +0,0 @@ -/******************************* - Set-up -*******************************/ - -var - gulp = require('gulp-help')(require('gulp')), - - // read user config to know what task to load - config = require('./tasks/config/user'), - - // import tasks - build = require('./tasks/build'), - clean = require('./tasks/clean'), - version = require('./tasks/version'), - watch = require('./tasks/watch'), - - // docs tasks - serveDocs = require('./tasks/docs/serve'), - buildDocs = require('./tasks/docs/build'), - - // rtl - buildRTL = require('./tasks/rtl/build'), - watchRTL = require('./tasks/rtl/watch') -; - -/*-------------- - Common ----------------*/ - -gulp.task('default', false, [ - 'watch' -]); - -gulp.task('watch', 'Watch for site/theme changes', watch); -gulp.task('build', 'Builds all files from source', build); - -gulp.task('clean', 'Clean dist folder', clean); -gulp.task('version', 'Displays current version of Semantic', version); - -/*-------------- - Docs ----------------*/ - -/* - See usage instruction in Docs Readme - https://github.com/Semantic-Org/Semantic-UI-Docs/ -*/ - -gulp.task('serve-docs', 'Serve file changes to SUI Docs', serveDocs); -gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs); - -/*-------------- - RTL ----------------*/ - -if(config.rtl) { - gulp.task('watch-rtl', 'Build all files as RTL', watchRTL); - gulp.task('build-rtl', 'Watch files as RTL ', buildRTL); -} diff --git a/semantic/tasks/config/project/config.js b/semantic/tasks/config/project/config.js deleted file mode 100755 index dd956d7..0000000 --- a/semantic/tasks/config/project/config.js +++ /dev/null @@ -1,135 +0,0 @@ -/******************************* - Set-up -*******************************/ - -var - extend = require('extend'), - fs = require('fs'), - path = require('path'), - - defaults = require('../defaults') -; - - -/******************************* - Exports -*******************************/ - -module.exports = { - - getPath: function(file, directory) { - var - configPath, - walk = function(directory) { - var - nextDirectory = path.resolve( path.join(directory, path.sep, '..') ), - currentPath = path.normalize( path.join(directory, file) ) - ; - if( fs.existsSync(currentPath) ) { - // found file - configPath = path.normalize(directory); - return; - } - else { - // reached file system root, let's stop - if(nextDirectory == directory) { - return; - } - // otherwise recurse - walk(nextDirectory, file); - } - } - ; - - // start walk from outside require-dot-files directory - file = file || defaults.files.config; - directory = directory || path.join(__dirname, path.sep, '..'); - walk(directory); - return configPath || ''; - }, - - // adds additional derived values to a config object - addDerivedValues: function(config) { - - config = config || extend(false, {}, defaults); - - /*-------------- - File Paths - ---------------*/ - - var - configPath = this.getPath(), - sourcePaths = {}, - outputPaths = {}, - folder - ; - - // resolve paths (config location + base + path) - for(folder in config.paths.source) { - if(config.paths.source.hasOwnProperty(folder)) { - sourcePaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.source[folder])); - } - } - for(folder in config.paths.output) { - if(config.paths.output.hasOwnProperty(folder)) { - outputPaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.output[folder])); - } - } - - // set config paths to full paths - config.paths.source = sourcePaths; - config.paths.output = outputPaths; - - // resolve "clean" command path - config.paths.clean = path.resolve( path.join(configPath, config.base, config.paths.clean) ); - - /*-------------- - CSS URLs - ---------------*/ - - // determine asset paths in css by finding relative path between themes and output - // force forward slashes - - config.paths.assets = { - source : '../../themes', // source asset path is always the same - uncompressed : path.relative(config.paths.output.uncompressed, config.paths.output.themes).replace(/\\/g,'/'), - compressed : path.relative(config.paths.output.compressed, config.paths.output.themes).replace(/\\/g,'/'), - packaged : path.relative(config.paths.output.packaged, config.paths.output.themes).replace(/\\/g,'/') - }; - - - /*-------------- - Permission - ---------------*/ - - if(config.permission) { - config.hasPermissions = true; - } - else { - // pass blank object to avoid causing errors - config.permission = {}; - config.hasPermissions = false; - } - - /*-------------- - Globs - ---------------*/ - - if(!config.globs) { - config.globs = {}; - } - - // takes component object and creates file glob matching selected components - config.globs.components = (typeof config.components == 'object') - ? (config.components.length > 1) - ? '{' + config.components.join(',') + '}' - : config.components[0] - : '{' + defaults.components.join(',') + '}' - ; - - return config; - - } - -}; - diff --git a/semantic/tasks/config/project/install.js b/semantic/tasks/config/project/install.js deleted file mode 100755 index 17c0bb6..0000000 --- a/semantic/tasks/config/project/install.js +++ /dev/null @@ -1,762 +0,0 @@ -/******************************* - Set-up -*******************************/ - -var - fs = require('fs'), - path = require('path'), - defaults = require('../defaults'), - release = require('./release'), - - requireDotFile = require('require-dot-file') -; - -/******************************* - When to Ask -*******************************/ - -/* Preconditions for install questions */ - -var when = { - - // path - changeRoot: function(questions) { - return (questions.useRoot !== undefined && questions.useRoot !== true); - }, - - // permissions - changePermissions: function(questions) { - return (questions.changePermissions && questions.changePermissions === true); - }, - - // install - hasConfig: function() { - return requireDotFile('semantic.json'); - }, - - allowOverwrite: function(questions) { - return (questions.overwrite === undefined || questions.overwrite == 'yes'); - }, - notAuto: function(questions) { - return (questions.install !== 'auto' && (questions.overwrite === undefined || questions.overwrite == 'yes')); - }, - custom: function(questions) { - return (questions.install === 'custom' && (questions.overwrite === undefined || questions.overwrite == 'yes')); - }, - express: function(questions) { - return (questions.install === 'express' && (questions.overwrite === undefined || questions.overwrite == 'yes')); - }, - - // customize - customize: function(questions) { - return (questions.customize === true); - }, - primaryColor: function(questions) { - return (questions.primaryColor); - }, - secondaryColor: function(questions) { - return (questions.secondaryColor); - } -}; - -/******************************* - Response Filters -*******************************/ - -/* Filters to user input from install questions */ - -var filter = { - removeTrailingSlash: function(path) { - return path.replace(/(\/$|\\$)+/mg, ''); - } -}; - -/******************************* - Configuration -*******************************/ - -module.exports = { - - // check whether install is setup - isSetup: function() { - return when.hasConfig(); - }, - - // checks if files are in a PM directory - getPackageManager: function(directory) { - var - // returns last matching result (avoid sub-module detection) - walk = function(directory) { - var - pathArray = directory.split(path.sep), - folder = pathArray[pathArray.length - 1], - nextDirectory = path.join(directory, path.sep, '..') - ; - console.log(folder, nextDirectory); - if( folder == 'bower_components') { - return { - name: 'Bower', - root: nextDirectory - }; - } - else if(folder == 'node_modules') { - return { - name: 'NPM', - root: nextDirectory - }; - } - else if(folder == 'composer') { - return { - name: 'Composer', - root: nextDirectory - }; - } - if(path.resolve(directory) == path.resolve(nextDirectory)) { - return false; - } - // recurse downward - return walk(nextDirectory); - } - ; - // start walk from current directory if none specified - directory = directory || (__dirname + path.sep); - return walk(directory); - }, - - // checks if files is PMed submodule - isSubModule: function(directory) { - var - moduleFolders = 0, - walk = function(directory) { - var - pathArray = directory.split(path.sep), - folder = pathArray[pathArray.length - 2], - nextDirectory = path.join(directory, path.sep, '..') - ; - if( folder == 'bower_components') { - moduleFolders++; - } - else if(folder == 'node_modules') { - moduleFolders++; - } - else if(folder == 'composer') { - moduleFolders++; - } - if(path.resolve(directory) == path.resolve(nextDirectory)) { - return (moduleFolders > 1); - } - // recurse downward - return walk(nextDirectory); - } - ; - // start walk from current directory if none specified - directory = directory || (__dirname + path.sep); - return walk(directory); - }, - - - createJSON: function(answers) { - var - json = { - paths: { - source: {}, - output: {} - } - } - ; - - // add components - if(answers.components) { - json.components = answers.components; - } - - // add rtl choice - if(answers.rtl) { - json.rtl = answers.rtl; - } - - // add permissions - if(answers.permission) { - json.permission = answers.permission; - } - - // add path to semantic - if(answers.semanticRoot) { - json.base = path.normalize(answers.semanticRoot); - } - - // record version number to avoid re-installing on same version - json.version = release.version; - - // add dist folder paths - if(answers.dist) { - answers.dist = path.normalize(answers.dist); - - json.paths.output = { - packaged : path.normalize(answers.dist + '/'), - uncompressed : path.normalize(answers.dist + '/components/'), - compressed : path.normalize(answers.dist + '/components/'), - themes : path.normalize(answers.dist + '/themes/') - }; - } - - // add site path - if(answers.site) { - json.paths.source.site = path.normalize(answers.site + '/'); - } - if(answers.packaged) { - json.paths.output.packaged = path.normalize(answers.packaged + '/'); - } - if(answers.compressed) { - json.paths.output.compressed = path.normalize(answers.compressed + '/'); - } - if(answers.uncompressed) { - json.paths.output.uncompressed = path.normalize(answers.uncompressed + '/'); - } - return json; - }, - - // files cleaned up after install - setupFiles: [ - './src/theme.config.example', - './semantic.json.example', - './src/_site' - ], - - regExp: { - // used to match siteFolder variable in theme.less - siteVariable: /@siteFolder .*\'(.*)/mg - }, - - // source paths (relative to tasks/install.js ) - source: { - config : './semantic.json.example', - definitions : './src/definitions', - gulpFile : './gulpfile.js', - lessImport : './src/semantic.less', - site : './src/_site', - tasks : './tasks', - themeConfig : './src/theme.config.example', - themeImport : './src/theme.less', - themes : './src/themes', - userGulpFile : './tasks/config/npm/gulpfile.js' - }, - - // expected final filenames - files: { - config : 'semantic.json', - lessImport : 'src/semantic.less', - site : 'src/site', - themeConfig : 'src/theme.config', - themeImport : 'src/theme.less' - }, - - // folder paths to files relative to root - folders: { - config : './', - definitions : 'src/definitions/', - lessImport : 'src/', - modules : 'node_modules/', - site : 'src/site/', - tasks : 'tasks/', - themeConfig : 'src/', - themeImport : 'src/', - themes : 'src/themes/' - }, - - // questions asked during install - questions: { - - root: [ - { - type : 'list', - name : 'useRoot', - message : - ' \n' + - ' {packageMessage} \n' + - ' \n' + - ' Is this your project folder?\n' + - ' \033[92m{root}\033[0m \n' + - ' \n ' + - '\n', - choices: [ - { - name : 'Yes', - value : true - }, - { - name : 'No, let me specify', - value : false - } - ] - }, - { - type : 'input', - name : 'customRoot', - message : 'Please enter the absolute path to your project root', - default : '/my/project/path', - when : when.changeRoot - }, - { - type : 'input', - name : 'semanticRoot', - message : 'Where should we put Semantic UI inside your project?', - default : 'semantic/' - } - ], - - setup: [ - { - type: 'list', - name: 'overwrite', - message: 'It looks like you have a semantic.json file already.', - when: when.hasConfig, - choices: [ - { - name: 'Yes, extend my current settings.', - value: 'yes' - }, - { - name: 'Skip install', - value: 'no' - } - ] - }, - { - type: 'list', - name: 'install', - message: 'Set-up Semantic UI', - when: when.allowOverwrite, - choices: [ - { - name: 'Automatic (Use defaults locations and all components)', - value: 'auto' - }, - { - name: 'Express (Set components and output folder)', - value: 'express' - }, - { - name: 'Custom (Customize all src/dist values)', - value: 'custom' - } - ] - }, - { - type: 'checkbox', - name: 'components', - message: 'What components should we include in the package?', - - // duplicated manually from tasks/defaults.js with additional property - choices: [ - { name: "reset", checked: true }, - { name: "site", checked: true }, - { name: "button", checked: true }, - { name: "divider", checked: true }, - { name: "flag", checked: true }, - { name: "header", checked: true }, - { name: "icon", checked: true }, - { name: "image", checked: true }, - { name: "input", checked: true }, - { name: "label", checked: true }, - { name: "list", checked: true }, - { name: "loader", checked: true }, - { name: "rail", checked: true }, - { name: "reveal", checked: true }, - { name: "segment", checked: true }, - { name: "step", checked: true }, - { name: "breadcrumb", checked: true }, - { name: "form", checked: true }, - { name: "grid", checked: true }, - { name: "menu", checked: true }, - { name: "message", checked: true }, - { name: "table", checked: true }, - { name: "ad", checked: true }, - { name: "card", checked: true }, - { name: "comment", checked: true }, - { name: "feed", checked: true }, - { name: "item", checked: true }, - { name: "statistic", checked: true }, - { name: "accordion", checked: true }, - { name: "checkbox", checked: true }, - { name: "dimmer", checked: true }, - { name: "dropdown", checked: true }, - { name: "modal", checked: true }, - { name: "nag", checked: true }, - { name: "popup", checked: true }, - { name: "progress", checked: true }, - { name: "rating", checked: true }, - { name: "search", checked: true }, - { name: "shape", checked: true }, - { name: "sidebar", checked: true }, - { name: "sticky", checked: true }, - { name: "tab", checked: true }, - { name: "transition", checked: true }, - { name: "video", checked: true }, - { name: "api", checked: true }, - { name: "form", checked: true }, - { name: "state", checked: true }, - { name: "visibility", checked: true } - ], - when: when.notAuto - }, - { - type: 'list', - name: 'changePermisions', - when: when.notAuto, - message: 'Should we set permissions on outputted files?', - choices: [ - { - name: 'No', - value: false - }, - { - name: 'Yes', - value: true - }, - ] - }, - { - type: 'input', - name: 'permission', - message: 'What octal file permission should outputted files receive?', - default: defaults.permission, - when: when.changePermissions - }, - { - type: 'list', - name: 'rtl', - message: 'Do you use a RTL (Right-To-Left) language?', - when: when.notAuto, - choices: [ - { - name: 'No', - value: false - }, - { - name: 'Yes', - value: true - }, - ] - }, - { - type: 'input', - name: 'dist', - message: 'Where should we output Semantic UI?', - default: defaults.paths.output.packaged, - filter: filter.removeTrailingSlash, - when: when.express - }, - { - type: 'input', - name: 'site', - message: 'Where should we put your site folder?', - default: defaults.paths.source.site, - filter: filter.removeTrailingSlash, - when: when.custom - }, - { - type: 'input', - name: 'packaged', - message: 'Where should we output a packaged version?', - default: defaults.paths.output.packaged, - filter: filter.removeTrailingSlash, - when: when.custom - }, - { - type: 'input', - name: 'compressed', - message: 'Where should we output compressed components?', - default: defaults.paths.output.compressed, - filter: filter.removeTrailingSlash, - when: when.custom - }, - { - type: 'input', - name: 'uncompressed', - message: 'Where should we output uncompressed components?', - default: defaults.paths.output.uncompressed, - filter: filter.removeTrailingSlash, - when: when.custom - } - ], - - - cleanup: [ - { - type: 'list', - name: 'cleanup', - message: 'Should we remove set-up files?', - choices: [ - { - name: 'Yes (re-install will require redownloading semantic).', - value: 'yes' - }, - { - name: 'No Thanks', - value: 'no' - } - ] - }, - { - type: 'list', - name: 'build', - message: 'Do you want to build Semantic now?', - choices: [ - { - name: 'Yes', - value: 'yes' - }, - { - name: 'No', - value: 'no' - } - ] - }, - ], - site: [ - { - type: 'list', - name: 'customize', - message: 'You have not yet customized your site, can we help you do that?', - choices: [ - { - name: 'Yes, ask me a few questions', - value: true - }, - { - name: 'No I\'ll do it myself', - value: false - } - ] - }, - { - type: 'list', - name: 'headerFont', - message: 'Select your header font', - choices: [ - { - name: 'Helvetica Neue, Arial, sans-serif', - value: 'Helvetica Neue, Arial, sans-serif;' - }, - { - name: 'Lato (Google Fonts)', - value: 'Lato' - }, - { - name: 'Open Sans (Google Fonts)', - value: 'Open Sans' - }, - { - name: 'Source Sans Pro (Google Fonts)', - value: 'Source Sans Pro' - }, - { - name: 'Droid (Google Fonts)', - value: 'Droid' - }, - { - name: 'I\'ll choose on my own', - value: false - } - ], - when: when.customize - }, - { - type: 'list', - name: 'pageFont', - message: 'Select your page font', - choices: [ - { - name: 'Helvetica Neue, Arial, sans-serif', - value: 'Helvetica Neue, Arial, sans-serif;' - }, - { - name: 'Lato (Import from Google Fonts)', - value: 'Lato' - }, - { - name: 'Open Sans (Import from Google Fonts)', - value: 'Open Sans' - }, - { - name: 'Source Sans Pro (Import from Google Fonts)', - value: 'Source Sans Pro' - }, - { - name: 'Droid (Google Fonts)', - value: 'Droid' - }, - { - name: 'I\'ll choose on my own', - value: false - } - ], - when: when.customize - }, - { - type: 'list', - name: 'fontSize', - message: 'Select your base font size', - default: '14px', - choices: [ - { - name: '12px', - }, - { - name: '13px', - }, - { - name: '14px (Recommended)', - value: '14px' - }, - { - name: '15px', - }, - { - name: '16px', - }, - { - name: 'I\'ll choose on my own', - value: false - } - ], - when: when.customize - }, - { - type: 'list', - name: 'primaryColor', - message: 'Select the closest name for your primary brand color', - default: '14px', - choices: [ - { - name: 'Blue' - }, - { - name: 'Green' - }, - { - name: 'Orange' - }, - { - name: 'Pink' - }, - { - name: 'Purple' - }, - { - name: 'Red' - }, - { - name: 'Teal' - }, - { - name: 'Yellow' - }, - { - name: 'Black' - }, - { - name: 'I\'ll choose on my own', - value: false - } - ], - when: when.customize - }, - { - type: 'input', - name: 'PrimaryHex', - message: 'Enter a hexcode for your primary brand color', - when: when.primaryColor - }, - { - type: 'list', - name: 'secondaryColor', - message: 'Select the closest name for your secondary brand color', - default: '14px', - choices: [ - { - name: 'Blue' - }, - { - name: 'Green' - }, - { - name: 'Orange' - }, - { - name: 'Pink' - }, - { - name: 'Purple' - }, - { - name: 'Red' - }, - { - name: 'Teal' - }, - { - name: 'Yellow' - }, - { - name: 'Black' - }, - { - name: 'I\'ll choose on my own', - value: false - } - ], - when: when.customize - }, - { - type: 'input', - name: 'secondaryHex', - message: 'Enter a hexcode for your secondary brand color', - when: when.secondaryColor - } - ] - - }, - - settings: { - - /* Rename Files */ - rename: { - json : { extname : '.json' }, - }, - - /* Copy Install Folders */ - wrench: { - - // copy during npm update (default theme / definition) - update: { - forceDelete : true, - excludeHiddenUnix : true, - preserveFiles : false - }, - - // copy during first npm install - install: { - forceDelete : true, - excludeHiddenUnix : true, - preserveFiles : false - }, - - // copy for node_modules - modules: { - forceDelete : true, - excludeHiddenUnix : true, - preserveFiles : false - }, - - // copy for site theme - site: { - forceDelete : false, - excludeHiddenUnix : true, - preserveFiles : true - } - } - } - -}; diff --git a/semantic/tasks/config/project/release.js b/semantic/tasks/config/project/release.js deleted file mode 100755 index d0a2427..0000000 --- a/semantic/tasks/config/project/release.js +++ /dev/null @@ -1,61 +0,0 @@ -/******************************* - Release Config -*******************************/ - -var - requireDotFile = require('require-dot-file'), - config, - package, - version -; - - -/******************************* - Derived Values -*******************************/ - -try { - - config = requireDotFile('semantic.json'); - package = require('../../../package.json'); - - // looks for version in config or package.json (whichever is available) - version = (config && config.version !== undefined) - ? config.version - : package.version - ; - -} - -catch(error) { - // generate fake package - package = { - version: 'x.x' - }; -} - -/******************************* - Export -*******************************/ - -module.exports = { - - title : 'Semantic UI', - repository : 'https://github.com/Semantic-Org/Semantic-UI', - url : 'http://www.semantic-ui.com/', - - banner: '' - + ' /*' + '\n' - + ' * # <%= title %> - <%= version %>' + '\n' - + ' * <%= repository %>' + '\n' - + ' * <%= url %>' + '\n' - + ' *' + '\n' - + ' * Copyright 2014 Contributors' + '\n' - + ' * Released under the MIT license' + '\n' - + ' * http://opensource.org/licenses/MIT' + '\n' - + ' *' + '\n' - + ' */' + '\n', - - version : package.version - -}; diff --git a/semantic/tasks/config/project/tasks.js b/semantic/tasks/config/project/tasks.js deleted file mode 100755 index ed64ac8..0000000 --- a/semantic/tasks/config/project/tasks.js +++ /dev/null @@ -1,125 +0,0 @@ -var - config = require('../user'), - release = require('./release') -; - - -module.exports = { - - banner : release.banner, - - log: { - created: function(file) { - return 'Created: ' + file; - }, - modified: function(file) { - return 'Modified: ' + file; - } - }, - - filenames: { - concatenatedCSS : 'semantic.css', - concatenatedJS : 'semantic.js', - concatenatedMinifiedCSS : 'semantic.min.css', - concatenatedMinifiedJS : 'semantic.min.js', - concatenatedRTLCSS : 'semantic.rtl.css', - concatenatedMinifiedRTLCSS : 'semantic.rtl.min.css' - }, - - regExp: { - - comments: { - - // remove all comments from config files (.variable) - variables : { - in : /(\/\*[\s\S]+?\*\/+)[\s\S]+?\/\* End Config \*\//, - out : '$1', - }, - - // add version to first comment - license: { - in : /(^\/\*[\s\S]+)(# Semantic UI )([\s\S]+?\*\/)/, - out : '$1$2' + release.version + ' $3' - }, - - // adds uniform spacing around comments - large: { - in : /(\/\*\*\*\*[\s\S]+?\*\/)/mg, - out : '\n\n$1\n' - }, - small: { - in : /(\/\*---[\s\S]+?\*\/)/mg, - out : '\n$1\n' - }, - tiny: { - in : /(\/\* [\s\S]+? \*\/)/mg, - out : '\n$1' - } - }, - - theme: /.*\/themes\/.*?(?=\/)/mg - - }, - - settings: { - - /* Remove Files in Clean */ - del: { - silent : true - }, - - /* Comment Banners */ - header: { - title : release.title, - version : release.version, - repository : release.repository, - url : release.url - }, - - /* What Browsers to Prefix */ - prefix: { - browsers: [ - 'last 2 version', - '> 1%', - 'opera 12.1', - 'safari 6', - 'ie 9', - 'bb 10', - 'android 4' - ] - }, - - /* File Renames */ - rename: { - minJS : { extname : '.min.js' }, - minCSS : { extname : '.min.css' }, - rtlCSS : { extname : '.rtl.css' }, - rtlMinCSS : { extname : '.rtl.min.css' } - }, - - /* Minified CSS Concat */ - minify: { - processImport : false, - keepSpecialComments : 1 - }, - - /* Minified JS Settings */ - uglify: { - mangle : true, - preserveComments : 'some' - }, - - /* Minified Concat CSS Settings */ - concatMinify: { - processImport : false, - keepSpecialComments : false - }, - - /* Minified Concat JS */ - concatUglify: { - mangle : true, - preserveComments : false - } - - } -}; \ No newline at end of file diff --git a/semantic/tasks/config/user.js b/semantic/tasks/config/user.js deleted file mode 100755 index 7b7c16d..0000000 --- a/semantic/tasks/config/user.js +++ /dev/null @@ -1,58 +0,0 @@ -/******************************* - Set-up -*******************************/ - -var - // npm dependencies - extend = require('extend'), - fs = require('fs'), - path = require('path'), - requireDotFile = require('require-dot-file'), - - // semantic.json defaults - defaults = require('./defaults'), - config = require('./project/config'), - - // Final config object - gulpConfig = {}, - - // semantic.json settings - userConfig - -; - - -/******************************* - User Config -*******************************/ - -try { - // looks for config file across all parent directories - userConfig = requireDotFile('semantic.json'); -} -catch(error) { - if(error.code === 'MODULE_NOT_FOUND') { - console.error('No semantic.json config found'); - } -} - -// extend user config with defaults -gulpConfig = (!userConfig) - ? extend(true, {}, defaults) - : extend(false, {}, defaults, userConfig) -; - -/******************************* - Add Derived Values -*******************************/ - -// adds calculated values -config.addDerivedValues(gulpConfig); - - -/******************************* - Export -*******************************/ - -module.exports = gulpConfig; - diff --git a/semantic/tasks/docs/build.js b/semantic/tasks/docs/build.js deleted file mode 100755 index f71a2a7..0000000 --- a/semantic/tasks/docs/build.js +++ /dev/null @@ -1,158 +0,0 @@ -/******************************* - Build Docs -*******************************/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - fs = require('fs'), - - // gulp dependencies - autoprefixer = require('gulp-autoprefixer'), - chmod = require('gulp-chmod'), - clone = require('gulp-clone'), - flatten = require('gulp-flatten'), - gulpif = require('gulp-if'), - header = require('gulp-header'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - uglify = require('gulp-uglify'), - - // user config - config = require('../config/docs'), - - // install config - configSetup = require('../config/project/config'), - tasks = require('../config/project/tasks'), - install = require('../config/project/install'), - - // shorthand - globs, - assets, - output, - source, - - banner = tasks.banner, - comments = tasks.regExp.comments, - log = tasks.log, - settings = tasks.settings -; - -// add internal tasks (concat release) -require('../collections/internal')(gulp); - -module.exports = function(callback) { - - var - stream, - compressedStream, - uncompressedStream - ; - - // use a different config - config = configSetup.addDerivedValues(config); - - // shorthand - globs = config.globs; - assets = config.paths.assets; - output = config.paths.output; - source = config.paths.source; - - /*-------------- - Copy Source - ---------------*/ - - // copy src/ to server - gulp.src('src/**/*.*') - .pipe(gulp.dest(output.less)) - .pipe(print(log.created)) - ; - - - /*-------------- - Build - ---------------*/ - - console.info('Building Semantic for docs'); - - if( !install.isSetup() ) { - console.error('Cannot build files. Run "gulp install" to set-up Semantic'); - return; - } - - // unified css stream - stream = gulp.src(source.definitions + '/**/' + globs.components + '.less') - .pipe(plumber()) - .pipe(less(settings.less)) - .pipe(autoprefixer(settings.prefix)) - .pipe(flatten()) - ; - - // two concurrent streams from same source to concat release - uncompressedStream = stream.pipe(clone()); - compressedStream = stream.pipe(clone()); - - uncompressedStream - .pipe(plumber()) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) - .pipe(replace(assets.source, assets.uncompressed)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package uncompressed docs css'); - }) - ; - - compressedStream = stream - .pipe(plumber()) - .pipe(clone()) - .pipe(replace(assets.source, assets.compressed)) - .pipe(minifyCSS(settings.minify)) - .pipe(rename(settings.rename.minCSS)) - .pipe(header(banner, settings.header)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - callback(); - gulp.start('package compressed docs css'); - }) - ; - - // copy assets - gulp.src(source.themes + '/**/assets/**/' + globs.components + '?(s).*') - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.themes)) - ; - - // copy source javascript - gulp.src(source.definitions + '/**/' + globs.components + '.js') - .pipe(plumber()) - .pipe(flatten()) - .pipe(gulp.dest(output.uncompressed)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(print(log.created)) - .pipe(uglify(settings.uglify)) - .pipe(rename(settings.rename.minJS)) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.compressed)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed docs js'); - gulp.start('package uncompressed docs js'); - }) - ; - -}; \ No newline at end of file diff --git a/semantic/tasks/docs/serve.js b/semantic/tasks/docs/serve.js deleted file mode 100755 index 80cc752..0000000 --- a/semantic/tasks/docs/serve.js +++ /dev/null @@ -1,236 +0,0 @@ -/******************************* - Serve Docs -*******************************/ -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - fs = require('fs'), - - // gulp dependencies - autoprefixer = require('gulp-autoprefixer'), - chmod = require('gulp-chmod'), - clone = require('gulp-clone'), - gulpif = require('gulp-if'), - header = require('gulp-header'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - uglify = require('gulp-uglify'), - util = require('gulp-util'), - watch = require('gulp-watch'), - - // user config - config = require('../config/docs'), - - // task config - configSetup = require('../config/project/config'), - tasks = require('../config/project/tasks'), - install = require('../config/project/install'), - - // shorthand - banner = tasks.banner, - comments = tasks.regExp.comments, - log = tasks.log, - settings = tasks.settings, - - globs, - assets, - output, - source -; - -require('../collections/internal')(gulp); - -module.exports = function () { - - // use a different config - config = configSetup.addDerivedValues(config); - - // shorthand - globs = config.globs; - assets = config.paths.assets; - output = config.paths.output; - source = config.paths.source; - - - /*-------------- - Copy Source - ---------------*/ - - gulp - .watch([ - 'src/**/*.*' - ], function(file) { - console.clear(); - return gulp.src(file.path, { - base: 'src/' - }) - .pipe(gulp.dest(output.less)) - .pipe(print(log.created)) - ; - }) - ; - - /*-------------- - Watch CSS - ---------------*/ - - gulp - .watch([ - source.config, - source.definitions + '/**/*.less', - source.site + '/**/*.{overrides,variables}', - source.themes + '/**/*.{overrides,variables}' - ], function(file) { - - var - lessPath, - - stream, - compressedStream, - uncompressedStream, - - isDefinition, - isPackagedTheme, - isSiteTheme, - isConfig - ; - - // log modified file - gulp.src(file.path) - .pipe(print(log.modified)) - ; - - /*-------------- - Find Source - ---------------*/ - - // recompile on *.override , *.variable change - isConfig = (file.path.indexOf('theme.config') !== -1); - isPackagedTheme = (file.path.indexOf(source.themes) !== -1); - isSiteTheme = (file.path.indexOf(source.site) !== -1); - isDefinition = (file.path.indexOf(source.definitions) !== -1); - - if(isConfig) { - console.info('Change detected in theme config, rebuild docs with `build-docs`'); - // impossible to tell which file was updated in theme.config - return; - } - else if(isPackagedTheme) { - console.log('Change detected in packaged theme'); - lessPath = util.replaceExtension(file.path, '.less'); - lessPath = lessPath.replace(tasks.regExp.theme, source.definitions); - } - else if(isSiteTheme) { - console.log('Change detected in site theme'); - lessPath = util.replaceExtension(file.path, '.less'); - lessPath = lessPath.replace(source.site, source.definitions); - } - else { - console.log('Change detected in definition'); - lessPath = file.path; - } - - /*-------------- - Create CSS - ---------------*/ - - if( fs.existsSync(lessPath) ) { - - // unified css stream - stream = gulp.src(lessPath) - .pipe(plumber()) - .pipe(less(settings.less)) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) - .pipe(autoprefixer(settings.prefix)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - ; - - // use 2 concurrent streams from same pipe - uncompressedStream = stream.pipe(clone()); - compressedStream = stream.pipe(clone()); - - uncompressedStream - .pipe(plumber()) - .pipe(replace(assets.source, assets.uncompressed)) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package uncompressed docs css'); - }) - ; - - compressedStream = stream - .pipe(plumber()) - .pipe(replace(assets.source, assets.compressed)) - .pipe(minifyCSS(settings.minify)) - .pipe(rename(settings.rename.minCSS)) - .pipe(header(banner, settings.header)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed docs css'); - }) - ; - - } - else { - console.log('Cannot find UI definition at path', lessPath); - } - }) - ; - - /*-------------- - Watch JS - ---------------*/ - - gulp - .watch([ - source.definitions + '/**/*.js' - ], function(file) { - gulp.src(file.path) - .pipe(plumber()) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .pipe(uglify(settings.uglify)) - .pipe(rename(settings.rename.minJS)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed docs js'); - gulp.start('package uncompressed docs js'); - }) - ; - }) - ; - - /*-------------- - Watch Assets - ---------------*/ - - // only copy assets that match component names (or their plural) - gulp - .watch([ - source.themes + '/**/assets/**/' + globs.components + '?(s).*' - ], function(file) { - // copy assets - gulp.src(file.path, { base: source.themes }) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.themes)) - .pipe(print(log.created)) - ; - }) - ; - - -}; \ No newline at end of file diff --git a/semantic/tasks/install.js b/semantic/tasks/install.js deleted file mode 100755 index 7346a21..0000000 --- a/semantic/tasks/install.js +++ /dev/null @@ -1,391 +0,0 @@ -/******************************* - Install Task -*******************************/ - -/* - Install tasks - - For more notes - - * Runs automatically after npm update (hooks) - * (NPM) Install - Will ask for where to put semantic (outside pm folder) - * (NPM) Upgrade - Will look for semantic install, copy over files and update if new version - * Standard installer runs asking for paths to site files etc - -*/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - extend = require('extend'), - fs = require('fs'), - mkdirp = require('mkdirp'), - path = require('path'), - - // gulp dependencies - chmod = require('gulp-chmod'), - del = require('del'), - jsonEditor = require('gulp-json-editor'), - plumber = require('gulp-plumber'), - prompt = require('gulp-prompt'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - requireDotFile = require('require-dot-file'), - wrench = require('wrench'), - - // install config - install = require('./config/project/install'), - - // user config - config = require('./config/user'), - - // release config (name/title/etc) - release = require('./config/project/release'), - - // shorthand - questions = install.questions, - files = install.files, - folders = install.folders, - regExp = install.regExp, - settings = install.settings, - source = install.source -; - -// Export install task -module.exports = function () { - - var - currentConfig = requireDotFile('semantic.json'), - manager = install.getPackageManager(), - rootQuestions = questions.root - ; - - console.clear(); - - /* Test NPM - manager = { - name : 'NPM', - root : path.normalize(__dirname + '/../') - }; - */ - - /*-------------- - PM Config - ---------------*/ - - /* Don't do end user config if SUI is a sub-module */ - if( install.isSubModule() ) { - console.info('SUI is a sub-module, skipping end-user install'); - return; - } - - // run update scripts if semantic.json exists - if(currentConfig && manager.name === 'NPM') { - - var - updateFolder = path.join(manager.root, currentConfig.base), - updatePaths = { - config : path.join(manager.root, files.config), - tasks : path.join(updateFolder, folders.tasks), - themeImport : path.join(updateFolder, folders.themeImport), - definition : path.join(currentConfig.paths.source.definitions), - site : path.join(currentConfig.paths.source.site), - theme : path.join(currentConfig.paths.source.themes) - } - ; - - // duck-type if there is a project installed - if( fs.existsSync(updatePaths.definition) ) { - - // perform update if new version - if(currentConfig.version !== release.version) { - console.log('Updating Semantic UI from ' + currentConfig.version + ' to ' + release.version); - - console.info('Updating ui definitions...'); - wrench.copyDirSyncRecursive(source.definitions, updatePaths.definition, settings.wrench.update); - - console.info('Updating default theme...'); - wrench.copyDirSyncRecursive(source.themes, updatePaths.theme, settings.wrench.update); - - console.info('Updating tasks...'); - wrench.copyDirSyncRecursive(source.tasks, updatePaths.tasks, settings.wrench.update); - - console.info('Updating gulpfile.js'); - gulp.src(source.userGulpFile) - .pipe(plumber()) - .pipe(gulp.dest(updateFolder)) - ; - - // copy theme import - console.info('Updating theme import file'); - gulp.src(source.themeImport) - .pipe(plumber()) - .pipe(gulp.dest(updatePaths.themeImport)) - ; - - console.info('Adding new site theme files...'); - wrench.copyDirSyncRecursive(source.site, updatePaths.site, settings.wrench.site); - - console.info('Updating version...'); - - // update version number in semantic.json - gulp.src(updatePaths.config) - .pipe(plumber()) - .pipe(rename(settings.rename.json)) // preserve file extension - .pipe(jsonEditor({ - version: release.version - })) - .pipe(gulp.dest(manager.root)) - ; - - console.info('Update complete! Run "\033[92mgulp build\033[0m" to rebuild dist/ files.'); - - return; - } - else { - console.log('Current version of Semantic UI already installed'); - return; - } - - } - else { - console.error('Cannot locate files to update at path: ', updatePaths.definition); - console.log('Running installer'); - } - - } - - /*-------------- - Determine Root - ---------------*/ - - // PM that supports Build Tools (NPM Only Now) - if(manager.name == 'NPM') { - rootQuestions[0].message = rootQuestions[0].message - .replace('{packageMessage}', 'We detected you are using \033[92m' + manager.name + '\033[0m. Nice! ') - .replace('{root}', manager.root) - ; - // set default path to detected PM root - rootQuestions[0].default = manager.root; - rootQuestions[1].default = manager.root; - - // insert PM questions after "Install Type" question - Array.prototype.splice.apply(questions.setup, [2, 0].concat(rootQuestions)); - - // omit cleanup questions for managed install - questions.cleanup = []; - } - - /*-------------- - Set-up - ---------------*/ - - return gulp - .src('gulpfile.js') - .pipe(prompt.prompt(questions.setup, function(answers) { - - /*-------------- - Exit Conditions - ---------------*/ - - // if config exists and user specifies not to proceed - if(answers.overwrite !== undefined && answers.overwrite == 'no') { - return; - } - - console.clear(); - console.log('Installing'); - console.log('------------------------------'); - - - /*-------------- - Paths - ---------------*/ - - var - installPaths = { - config : files.config, - configFolder : folders.config, - site : answers.site || folders.site, - themeConfig : files.themeConfig, - themeConfigFolder : folders.themeConfig - }, - installFolder = false - ; - - /*-------------- - PM Install - ---------------*/ - - // Check if PM install - if(answers.useRoot || answers.customRoot) { - - // Set root to custom root path if set - if(answers.customRoot) { - if(answers.customRoot === '') { - console.log('Unable to proceed, invalid project root'); - return; - } - manager.root = answers.customRoot; - } - - // special install paths only for PM install - installPaths = extend(false, {}, installPaths, { - definition : folders.definitions, - lessImport : folders.lessImport, - tasks : folders.tasks, - theme : folders.themes, - themeImport : folders.themeImport - }); - - // add project root to semantic root - installFolder = path.join(manager.root, answers.semanticRoot); - - // add install folder to all output paths - for(var destination in installPaths) { - if( installPaths.hasOwnProperty(destination) ) { - // config goes in project root, rest in install folder - installPaths[destination] = (destination == 'config' || destination == 'configFolder') - ? path.normalize( path.join(manager.root, installPaths[destination]) ) - : path.normalize( path.join(installFolder, installPaths[destination]) ) - ; - } - } - - // create project folders - try { - mkdirp.sync(installFolder); - mkdirp.sync(installPaths.definition); - mkdirp.sync(installPaths.theme); - mkdirp.sync(installPaths.tasks); - } - catch(error) { - console.error('NPM does not have permissions to create folders at your specified path. Adjust your folders permissions and run "npm install" again'); - } - - console.log('Installing to \033[92m' + answers.semanticRoot + '\033[0m'); - - console.info('Copying UI definitions'); - wrench.copyDirSyncRecursive(source.definitions, installPaths.definition, settings.wrench.install); - wrench.copyDirSyncRecursive(source.themes, installPaths.theme, settings.wrench.install); - - console.info('Copying gulp tasks'); - wrench.copyDirSyncRecursive(source.tasks, installPaths.tasks, settings.wrench.install); - - // copy theme import - console.info('Adding theme files'); - gulp.src(source.themeImport) - .pipe(plumber()) - .pipe(gulp.dest(installPaths.themeImport)) - ; - gulp.src(source.lessImport) - .pipe(plumber()) - .pipe(gulp.dest(installPaths.lessImport)) - ; - - // create gulp file - console.info('Creating gulpfile.js'); - gulp.src(source.userGulpFile) - .pipe(plumber()) - .pipe(gulp.dest(installFolder)) - ; - - } - - /*-------------- - Site Theme - ---------------*/ - - // Copy _site templates folder to destination - if( fs.existsSync(installPaths.site) ) { - console.info('Site folder exists, merging files (no overwrite)', installPaths.site); - } - else { - console.info('Creating site theme folder', installPaths.site); - } - wrench.copyDirSyncRecursive(source.site, installPaths.site, settings.wrench.site); - - /*-------------- - Theme Config - ---------------*/ - - var - // determine path to site theme folder from theme config - // force CSS path variable to use forward slashes for paths - pathToSite = path.relative(path.resolve(installPaths.themeConfigFolder), path.resolve(installPaths.site)).replace(/\\/g,'/'), - siteVariable = "@siteFolder : '" + pathToSite + "/';" - ; - - // rewrite site variable in theme.less - console.info('Adjusting @siteFolder to: ', pathToSite + '/'); - - if(fs.existsSync(installPaths.themeConfig)) { - console.info('Modifying src/theme.config (LESS config)', installPaths.themeConfig); - gulp.src(installPaths.themeConfig) - .pipe(plumber()) - .pipe(replace(regExp.siteVariable, siteVariable)) - .pipe(gulp.dest(installPaths.themeConfigFolder)) - ; - } - else { - console.info('Creating src/theme.config (LESS config)', installPaths.themeConfig); - gulp.src(source.themeConfig) - .pipe(plumber()) - .pipe(rename({ extname : '' })) - .pipe(replace(regExp.siteVariable, siteVariable)) - .pipe(gulp.dest(installPaths.themeConfigFolder)) - ; - } - - /*-------------- - Semantic.json - ---------------*/ - - var - jsonConfig = install.createJSON(answers) - ; - - // adjust variables in theme.less - if( fs.existsSync(files.config) ) { - console.info('Extending config file (semantic.json)', installPaths.config); - gulp.src(installPaths.config) - .pipe(plumber()) - .pipe(rename(settings.rename.json)) // preserve file extension - .pipe(jsonEditor(jsonConfig)) - .pipe(gulp.dest(installPaths.configFolder)) - ; - } - else { - console.info('Creating config file (semantic.json)', installPaths.config); - gulp.src(source.config) - .pipe(plumber()) - .pipe(rename({ extname : '' })) // remove .template from ext - .pipe(jsonEditor(jsonConfig)) - .pipe(gulp.dest(installPaths.configFolder)) - ; - } - - // Completion Message - if(installFolder) { - console.log('Install complete! Navigate to \033[92m' + answers.semanticRoot + '\033[0m and run "\033[92mgulp build\033[0m" to build'); - } - else { - console.log(''); - console.log(''); - } - - })) - .pipe(prompt.prompt(questions.cleanup, function(answers) { - if(answers.cleanup == 'yes') { - del(install.setupFiles); - } - if(answers.build == 'yes') { - gulp.start('build'); - } - })) - ; - - -}; \ No newline at end of file diff --git a/semantic/tasks/rtl/build.js b/semantic/tasks/rtl/build.js deleted file mode 100755 index 46085e6..0000000 --- a/semantic/tasks/rtl/build.js +++ /dev/null @@ -1,132 +0,0 @@ -/******************************* - Build Task -*******************************/ - -var - gulp = require('gulp'), - - // node dependencies - fs = require('fs'), - - // gulp dependencies - autoprefixer = require('gulp-autoprefixer'), - chmod = require('gulp-chmod'), - clone = require('gulp-clone'), - flatten = require('gulp-flatten'), - gulpif = require('gulp-if'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - rtlcss = require('gulp-rtlcss'), - uglify = require('gulp-uglify'), - - // user config - config = require('../config/user'), - - // install config - tasks = require('../config/project/tasks'), - install = require('../config/project/install'), - - // shorthand - globs = config.globs, - assets = config.paths.assets, - output = config.paths.output, - source = config.paths.source, - - banner = tasks.banner, - comments = tasks.regExp.comments, - log = tasks.log, - settings = tasks.settings -; - -// add internal tasks (concat release) -require('../collections/internal')(gulp); - -module.exports = function(callback) { - - var - stream, - compressedStream, - uncompressedStream - ; - - console.info('Building Semantic'); - - if( !install.isSetup() ) { - console.error('Cannot build files. Run "gulp install" to set-up Semantic'); - return; - } - - // unified css stream - stream = gulp.src(source.definitions + '/**/' + globs.components + '.less') - .pipe(plumber()) - .pipe(less(settings.less)) - .pipe(autoprefixer(settings.prefix)) - .pipe(rtlcss()) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) - .pipe(flatten()) - ; - - // two concurrent streams from same source to concat release - uncompressedStream = stream.pipe(clone()); - compressedStream = stream.pipe(clone()); - - uncompressedStream - .pipe(plumber()) - .pipe(replace(assets.source, assets.uncompressed)) - .pipe(rename(settings.rename.rtlCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package uncompressed rtl css'); - }) - ; - - compressedStream = stream - .pipe(plumber()) - .pipe(clone()) - .pipe(replace(assets.source, assets.compressed)) - .pipe(minifyCSS(settings.minify)) - .pipe(rename(settings.rename.rtlMinCSS)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - callback(); - gulp.start('package compressed rtl css'); - }) - ; - - // copy assets - gulp.src(source.themes + '/**/assets/**/' + globs.components + '?(s).*') - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.themes)) - ; - - // copy source javascript - gulp.src(source.definitions + '/**/' + globs.components + '.js') - .pipe(plumber()) - .pipe(flatten()) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .pipe(uglify(settings.uglify)) - .pipe(rename(settings.rename.minJS)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed js'); - gulp.start('package uncompressed js'); - }) - ; - -}; \ No newline at end of file diff --git a/semantic/tasks/rtl/watch.js b/semantic/tasks/rtl/watch.js deleted file mode 100755 index 238d0e5..0000000 --- a/semantic/tasks/rtl/watch.js +++ /dev/null @@ -1,221 +0,0 @@ -/******************************* - Watch Task -*******************************/ - -var - gulp = require('gulp'), - - // node deps - console = require('better-console'), - fs = require('fs'), - - // gulp deps - autoprefixer = require('gulp-autoprefixer'), - chmod = require('gulp-chmod'), - clone = require('gulp-clone'), - gulpif = require('gulp-if'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - rtlcss = require('gulp-rtlcss'), - uglify = require('gulp-uglify'), - util = require('gulp-util'), - watch = require('gulp-watch'), - - // user config - config = require('../config/user'), - - // task config - tasks = require('../config/project/tasks'), - install = require('../config/project/install'), - - // shorthand - globs = config.globs, - assets = config.paths.assets, - output = config.paths.output, - source = config.paths.source, - - banner = tasks.banner, - comments = tasks.regExp.comments, - log = tasks.log, - settings = tasks.settings - -; - -// add internal tasks (concat release) -require('../collections/internal')(gulp); - -module.exports = function(callback) { - - if( !install.isSetup() ) { - console.error('Cannot watch files. Run "gulp install" to set-up Semantic'); - return; - } - - console.clear(); - console.log('Watching source files for changes'); - - /*-------------- - Watch CSS - ---------------*/ - - gulp - .watch([ - source.config, - source.definitions + '/**/*.less', - source.site + '/**/*.{overrides,variables}', - source.themes + '/**/*.{overrides,variables}' - ], function(file) { - - var - lessPath, - - stream, - compressedStream, - uncompressedStream, - - isDefinition, - isPackagedTheme, - isSiteTheme, - isConfig - ; - - // log modified file - gulp.src(file.path) - .pipe(print(log.modified)) - ; - - /*-------------- - Find Source - ---------------*/ - - // recompile on *.override , *.variable change - isConfig = (file.path.indexOf('.config') !== -1); - isPackagedTheme = (file.path.indexOf(source.themes) !== -1); - isSiteTheme = (file.path.indexOf(source.site) !== -1); - isDefinition = (file.path.indexOf(source.definitions) !== -1); - - - if(isConfig) { - console.log('Change detected in theme config'); - // cant tell which theme was changed in theme.config, rebuild all - gulp.start('build'); - } - else if(isPackagedTheme) { - console.log('Change detected in packaged theme'); - lessPath = lessPath.replace(tasks.regExp.theme, source.definitions); - lessPath = util.replaceExtension(file.path, '.less'); - } - else if(isSiteTheme) { - console.log('Change detected in site theme'); - lessPath = lessPath.replace(source.site, source.definitions); - lessPath = util.replaceExtension(file.path, '.less'); - } - else if(isDefinition) { - console.log('Change detected in definition'); - lessPath = util.replaceExtension(file.path, '.less'); - } - - /*-------------- - Create CSS - ---------------*/ - - if( fs.existsSync(lessPath) ) { - - // unified css stream - stream = gulp.src(lessPath) - .pipe(plumber()) - .pipe(less(settings.less)) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) - .pipe(autoprefixer(settings.prefix)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(rtlcss()) - ; - - // use 2 concurrent streams from same pipe - uncompressedStream = stream.pipe(clone()); - compressedStream = stream.pipe(clone()); - - uncompressedStream - .pipe(plumber()) - .pipe(replace(assets.source, assets.uncompressed)) - .pipe(rename(settings.rename.rtlCSS)) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package uncompressed rtl css'); - }) - ; - - compressedStream = stream - .pipe(plumber()) - .pipe(replace(assets.source, assets.compressed)) - .pipe(minifyCSS(settings.minify)) - .pipe(rename(settings.rename.minCSS)) - .pipe(rename(settings.rename.rtlMinCSS)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed rtl css'); - }) - ; - - } - else { - console.log('Cannot find UI definition at path', lessPath); - } - }) - ; - - /*-------------- - Watch JS - ---------------*/ - - gulp - .watch([ - source.definitions + '/**/*.js' - ], function(file) { - gulp.src(file.path) - .pipe(plumber()) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .pipe(uglify(settings.uglify)) - .pipe(rename(settings.rename.minJS)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed js'); - gulp.start('package uncompressed js'); - }) - ; - }) - ; - - /*-------------- - Watch Assets - ---------------*/ - - // only copy assets that match component names (or their plural) - gulp - .watch([ - source.themes + '/**/assets/**/' + globs.components + '?(s).*' - ], function(file) { - // copy assets - gulp.src(file.path, { base: source.themes }) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.themes)) - .pipe(print(log.created)) - ; - }) - ; - -}; \ No newline at end of file diff --git a/semantic/tasks/version.js b/semantic/tasks/version.js deleted file mode 100755 index df49f55..0000000 --- a/semantic/tasks/version.js +++ /dev/null @@ -1,11 +0,0 @@ -/******************************* - Version Task -*******************************/ - -var - release = require('./config/project/release') -; - -module.exports = function(callback) { - console.log(release.title + ' ' + release.version); -}; \ No newline at end of file diff --git a/semantic/tasks/watch.js b/semantic/tasks/watch.js deleted file mode 100755 index 098cdc1..0000000 --- a/semantic/tasks/watch.js +++ /dev/null @@ -1,225 +0,0 @@ -/******************************* - Watch Task -*******************************/ - -var - gulp = require('gulp'), - - // node dependencies - console = require('better-console'), - fs = require('fs'), - - // gulp dependencies - autoprefixer = require('gulp-autoprefixer'), - chmod = require('gulp-chmod'), - clone = require('gulp-clone'), - gulpif = require('gulp-if'), - less = require('gulp-less'), - minifyCSS = require('gulp-minify-css'), - plumber = require('gulp-plumber'), - print = require('gulp-print'), - rename = require('gulp-rename'), - replace = require('gulp-replace'), - uglify = require('gulp-uglify'), - util = require('gulp-util'), - watch = require('gulp-watch'), - - // user config - config = require('./config/user'), - - // task config - tasks = require('./config/project/tasks'), - install = require('./config/project/install'), - - // shorthand - globs = config.globs, - assets = config.paths.assets, - output = config.paths.output, - source = config.paths.source, - - banner = tasks.banner, - comments = tasks.regExp.comments, - log = tasks.log, - settings = tasks.settings - -; - -// add tasks that shouldn't be exposed to end-user -require('./collections/internal')(gulp); - - -// export task -module.exports = function(callback) { - - if( !install.isSetup() ) { - console.error('Cannot watch files. Run "gulp install" to set-up Semantic'); - return; - } - - // check for right-to-left language - if(config.rtl === true || config.rtl === 'Yes') { - gulp.start('watch-rtl'); - return; - } - - //console.clear(); - console.log('Watching source files for changes'); - - /*-------------- - Watch CSS - ---------------*/ - - gulp - .watch([ - source.config, - source.definitions + '/**/*.less', - source.site + '/**/*.{overrides,variables}', - source.themes + '/**/*.{overrides,variables}' - ], function(file) { - - var - lessPath, - - stream, - compressedStream, - uncompressedStream, - - isDefinition, - isPackagedTheme, - isSiteTheme, - isConfig - ; - - // log modified file - gulp.src(file.path) - .pipe(print(log.modified)) - ; - - /*-------------- - Find Source - ---------------*/ - - // recompile on *.override , *.variable change - isConfig = (file.path.indexOf('theme.config') !== -1); - isPackagedTheme = (file.path.indexOf(source.themes) !== -1); - isSiteTheme = (file.path.indexOf(source.site) !== -1); - isDefinition = (file.path.indexOf(source.definitions) !== -1); - - if(isConfig) { - console.info('Change detected in theme config'); - // impossible to tell which file was updated in theme.config, rebuild all - gulp.start('build'); - return; - } - else if(isPackagedTheme) { - console.log('Change detected in packaged theme'); - lessPath = util.replaceExtension(file.path, '.less'); - lessPath = lessPath.replace(tasks.regExp.theme, source.definitions); - } - else if(isSiteTheme) { - console.log('Change detected in site theme'); - lessPath = util.replaceExtension(file.path, '.less'); - lessPath = lessPath.replace(source.site, source.definitions); - } - else { - console.log('Change detected in definition'); - lessPath = file.path; - } - - /*-------------- - Create CSS - ---------------*/ - - if( fs.existsSync(lessPath) ) { - - // unified css stream - stream = gulp.src(lessPath) - .pipe(plumber()) - .pipe(less(settings.less)) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) - .pipe(autoprefixer(settings.prefix)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - ; - - // use 2 concurrent streams from same pipe - uncompressedStream = stream.pipe(clone()); - compressedStream = stream.pipe(clone()); - - uncompressedStream - .pipe(plumber()) - .pipe(replace(assets.source, assets.uncompressed)) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package uncompressed css'); - }) - ; - - compressedStream = stream - .pipe(plumber()) - .pipe(replace(assets.source, assets.compressed)) - .pipe(minifyCSS(settings.minify)) - .pipe(rename(settings.rename.minCSS)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed css'); - }) - ; - - } - else { - console.log('Cannot find UI definition at path', lessPath); - } - }) - ; - - /*-------------- - Watch JS - ---------------*/ - - gulp - .watch([ - source.definitions + '/**/*.js' - ], function(file) { - gulp.src(file.path) - .pipe(plumber()) - .pipe(replace(comments.license.in, comments.license.out)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.uncompressed)) - .pipe(print(log.created)) - .pipe(uglify(settings.uglify)) - .pipe(rename(settings.rename.minJS)) - .pipe(gulp.dest(output.compressed)) - .pipe(print(log.created)) - .on('end', function() { - gulp.start('package compressed js'); - gulp.start('package uncompressed js'); - }) - ; - }) - ; - - /*-------------- - Watch Assets - ---------------*/ - - // only copy assets that match component names (or their plural) - gulp - .watch([ - source.themes + '/**/assets/**/' + globs.components + '?(s).*' - ], function(file) { - // copy assets - gulp.src(file.path, { base: source.themes }) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) - .pipe(gulp.dest(output.themes)) - .pipe(print(log.created)) - ; - }) - ; - -}; \ No newline at end of file