Update Semantic to 2.1

Ticket #56
This commit is contained in:
Tim Schumacher 2016-06-10 00:34:34 +02:00
parent 3f1e728781
commit 4385f1acbc
425 changed files with 59924 additions and 37200 deletions

View file

@ -4,7 +4,8 @@
*/
module.exports = {
token : 'AN-OAUTH2-TOKEN',
name : 'Your Name',
email : 'user@email.com'
token : 'AN-OAUTH2-TOKEN',
username : 'github-username',
name : 'Your Name',
email : 'user@email.com'
};

View file

@ -68,9 +68,11 @@ module.exports = {
'card',
'checkbox',
'comment',
'container',
'dimmer',
'divider',
'dropdown',
'embed',
'feed',
'flag',
'form',
@ -104,7 +106,6 @@ module.exports = {
'tab',
'table',
'transition',
'video',
'visibility'
]
};

View file

@ -4,6 +4,9 @@ This repository contains pre-compiled {component} files using the default themes
For the latest changes please see the [Release Notes](https://github.com/Semantic-Org/UI-{Component}/blob/master/RELEASE-NOTES.md)
**Special Note**
An update in `2.0.8` has fixed an issue which may have prevented some single component modules from working correctly. Please see notes in [this pull request](https://github.com/Semantic-Org/Semantic-UI/pull/2816).
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

View file

@ -13,10 +13,11 @@ Package.onUse(function(api) {
api.versionsFrom('1.0');
api.use('jquery', 'client');
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',

View file

@ -49,6 +49,7 @@ module.exports = {
// elements
'button',
'container',
'divider',
'flag',
'header',
@ -84,6 +85,7 @@ module.exports = {
'checkbox',
'dimmer',
'dropdown',
'embed',
'modal',
'nag',
'popup',
@ -95,7 +97,6 @@ module.exports = {
'sticky',
'tab',
'transition',
'video',
// behaviors
'api',

View file

@ -5,7 +5,11 @@
/* Paths used for "serve-docs" and "build-docs" tasks */
module.exports = {
base: '',
globs: {
eco: '**/*.html.eco'
},
paths: {
clean: '../docs/out/dist/',
source: {
config : 'src/theme.config',
definitions : 'src/definitions/',
@ -13,12 +17,16 @@ module.exports = {
themes : 'src/themes/'
},
output: {
examples : '../docs/out/examples/',
less : '../docs/out/src/',
metadata : '../docs/out/',
packaged : '../docs/out/dist/',
uncompressed : '../docs/out/dist/components/',
compressed : '../docs/out/dist/components/',
themes : '../docs/out/dist/themes/'
},
clean: '../docs/out/dist/'
template: {
eco: '../docs/server/documents/'
},
}
};
};

View file

@ -3,36 +3,48 @@
*******************************/
var
gulp = require('gulp-help')(require('gulp')),
gulp = require('gulp-help')(require('gulp')),
// read user config to know what task to load
config = require('./tasks/config/user'),
config = require('./tasks/config/user'),
// import tasks
build = require('./tasks/build'),
clean = require('./tasks/clean'),
version = require('./tasks/version'),
watch = require('./tasks/watch'),
// watch changes
watch = require('./tasks/watch'),
// build all files
build = require('./tasks/build'),
buildJS = require('./tasks/build/javascript'),
buildCSS = require('./tasks/build/css'),
buildAssets = require('./tasks/build/assets'),
// utility
clean = require('./tasks/clean'),
version = require('./tasks/version'),
// docs tasks
serveDocs = require('./tasks/docs/serve'),
buildDocs = require('./tasks/docs/build'),
serveDocs = require('./tasks/docs/serve'),
buildDocs = require('./tasks/docs/build'),
// rtl
buildRTL = require('./tasks/rtl/build'),
watchRTL = require('./tasks/rtl/watch')
buildRTL = require('./tasks/rtl/build'),
watchRTL = require('./tasks/rtl/watch')
;
/*--------------
Common
---------------*/
/*******************************
Tasks
*******************************/
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('build-javascript', 'Builds all javascript from source', buildJS);
gulp.task('build-css', 'Builds all css from source', buildCSS);
gulp.task('build-assets', 'Copies all assets from source', buildAssets);
gulp.task('clean', 'Clean dist folder', clean);
gulp.task('version', 'Displays current version of Semantic', version);
@ -42,13 +54,14 @@ gulp.task('version', 'Displays current version of Semantic', version);
---------------*/
/*
See usage instruction in Docs Readme
Lets you serve files to a local documentation instance
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
---------------*/
@ -56,4 +69,4 @@ gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs);
if(config.rtl) {
gulp.task('watch-rtl', 'Build all files as RTL', watchRTL);
gulp.task('build-rtl', 'Watch files as RTL ', buildRTL);
}
}

View file

@ -119,6 +119,13 @@ module.exports = {
config.globs = {};
}
// remove duplicates from component array
if(config.components instanceof Array) {
config.components = config.components.filter(function(component, index) {
return config.components.indexOf(component) == index;
});
}
// takes component object and creates file glob matching selected components
config.globs.components = (typeof config.components == 'object')
? (config.components.length > 1)

View file

@ -92,7 +92,6 @@ module.exports = {
folder = pathArray[pathArray.length - 1],
nextDirectory = path.join(directory, path.sep, '..')
;
console.log(folder, nextDirectory);
if( folder == 'bower_components') {
return {
name: 'Bower',
@ -228,7 +227,7 @@ module.exports = {
siteVariable: /@siteFolder .*\'(.*)/mg
},
// source paths (relative to tasks/install.js )
// source paths (when installing)
source: {
config : './semantic.json.example',
definitions : './src/definitions',
@ -239,6 +238,7 @@ module.exports = {
themeConfig : './src/theme.config.example',
themeImport : './src/theme.less',
themes : './src/themes',
defaultTheme : './src/themes/default',
userGulpFile : './tasks/config/npm/gulpfile.js'
},
@ -253,15 +253,17 @@ module.exports = {
// 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/'
config : './',
definitions : 'src/definitions/',
lessImport : 'src/',
modules : 'node_modules/',
site : 'src/site/',
tasks : 'tasks/',
themeConfig : 'src/',
themeImport : 'src/',
themes : 'src/themes/',
defaultTheme : 'default/' // only path that is relative to another directory and not root
},
// questions asked during install
@ -276,7 +278,7 @@ module.exports = {
' {packageMessage} \n' +
' \n' +
' Is this your project folder?\n' +
' \033[92m{root}\033[0m \n' +
' \x1b[92m{root}\x1b[0m \n' +
' \n ' +
'\n',
choices: [
@ -352,6 +354,7 @@ module.exports = {
{ name: "reset", checked: true },
{ name: "site", checked: true },
{ name: "button", checked: true },
{ name: "container", checked: true },
{ name: "divider", checked: true },
{ name: "flag", checked: true },
{ name: "header", checked: true },
@ -381,6 +384,7 @@ module.exports = {
{ name: "checkbox", checked: true },
{ name: "dimmer", checked: true },
{ name: "dropdown", checked: true },
{ name: "embed", checked: true },
{ name: "modal", checked: true },
{ name: "nag", checked: true },
{ name: "popup", checked: true },
@ -392,7 +396,6 @@ module.exports = {
{ 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 },
@ -437,6 +440,10 @@ module.exports = {
name: 'Yes',
value: true
},
{
name: 'Build Both',
value: 'both'
}
]
},
{
@ -729,33 +736,20 @@ module.exports = {
/* Copy Install Folders */
wrench: {
// copy during npm update (default theme / definition)
update: {
// overwrite existing files update & install (default theme / definition)
overwrite: {
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: {
// only create files that don't exist (site theme update)
merge: {
forceDelete : false,
excludeHiddenUnix : true,
preserveFiles : true
}
}
}

View file

@ -5,7 +5,7 @@
var
requireDotFile = require('require-dot-file'),
config,
package,
npmPackage,
version
;
@ -15,25 +15,29 @@ var
*******************************/
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
;
config = requireDotFile('semantic.json');
}
catch(error) {}
try {
npmPackage = require('../../../package.json');
}
catch(error) {
// generate fake package
package = {
npmPackage = {
name: 'Unknown',
version: 'x.x'
};
}
// looks for version in config or package.json (whichever is available)
version = (npmPackage && npmPackage.version !== undefined && npmPackage.name == 'semantic-ui')
? npmPackage.version
: config.version
;
/*******************************
Export
*******************************/
@ -56,6 +60,6 @@ module.exports = {
+ ' *' + '\n'
+ ' */' + '\n',
version : package.version
version : version
};

View file

@ -1,6 +1,7 @@
var
config = require('../user'),
release = require('./release')
console = require('better-console'),
config = require('./user'),
release = require('./project/release')
;
@ -57,7 +58,7 @@ module.exports = {
}
},
theme: /.*\/themes\/.*?(?=\/)/mg
theme: /.*(\/|\\)themes(\/|\\).*?(?=(\/|\\))/mg
},
@ -76,14 +77,46 @@ module.exports = {
url : release.url
},
plumber: {
less: {
errorHandler: function(error) {
var
regExp = {
variable : /@(\S.*?)\s/,
theme : /themes[\/\\]+(.*?)[\/\\].*/,
element : /[\/\\]([^\/\\*]*)\.overrides/
},
theme,
element
;
if(error.filename.match(/theme.less/)) {
if(error.line == 5) {
element = regExp.variable.exec(error.message)[1];
if(element) {
console.error('Missing theme.config value for ', element);
}
console.error('Most likely new UI was added in an update. You will need to add missing elements from theme.config.example');
}
if(error.line == 46) {
element = regExp.element.exec(error.message)[1];
theme = regExp.theme.exec(error.message)[1];
console.error(theme + ' is not an available theme for ' + element);
}
}
else {
console.log(error);
}
this.emit('end');
}
}
},
/* What Browsers to Prefix */
prefix: {
browsers: [
'last 2 version',
'last 2 versions',
'> 1%',
'opera 12.1',
'safari 6',
'ie 9',
'bb 10',
'android 4'
]
@ -124,4 +157,4 @@ module.exports = {
}
}
};
};