parent
3f1e728781
commit
4385f1acbc
425 changed files with 59924 additions and 37200 deletions
|
@ -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'
|
||||
};
|
|
@ -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'
|
||||
]
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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/'
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
};
|
||||
|
|
|
@ -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 = {
|
|||
}
|
||||
|
||||
}
|
||||
};
|
||||
};
|
Reference in a new issue