Browse Source

Add composer.json, correct npm packages, more

pull/1208/head
jlukic 10 years ago
parent
commit
6afe8741c9
24 changed files with 245 additions and 103 deletions
  1. 4
      composer.json
  2. 4
      dist/components/button.css
  3. 2
      dist/components/button.min.css
  4. 2
      dist/components/card.css
  5. 2
      dist/components/card.min.css
  6. 6
      dist/components/checkbox.css
  7. 2
      dist/components/checkbox.min.css
  8. 6
      dist/components/dropdown.css
  9. 2
      dist/components/dropdown.min.css
  10. 20
      dist/components/form.css
  11. 2
      dist/components/form.min.css
  12. 16
      dist/components/image.css
  13. 2
      dist/components/image.min.css
  14. 2
      dist/components/input.css
  15. 2
      dist/components/input.min.css
  16. 2
      dist/components/segment.css
  17. 2
      dist/components/segment.min.css
  18. 60
      dist/semantic.css
  19. 2
      dist/semantic.min.css
  20. 156
      gulpfile.js
  21. 8
      tasks/admin/release.js
  22. 21
      tasks/admin/templates/README.md
  23. 3
      tasks/admin/templates/bower.json
  24. 20
      tasks/admin/templates/composer.json

4
composer.json

@ -1,8 +1,8 @@
{
"name": "semantic/ui",
"version" : "0.3.5",
"version" : "1.0.0",
"description" : "Semantic empowers designers and developers by creating a shared vocabulary for UI.",
"homepage" : "http://www.semantic-ui.com",
"homepage" : "http://beta.semantic-ui.com",
"authors": [
{
"name" : "Jack Lukic",

4
dist/components/button.css

@ -660,7 +660,7 @@
background: rgba(0, 0, 0, 0.05) !important;
box-shadow: '' !important;
color: rgba(0, 0, 0, 0.8);
box-shadow: rgba(39, 41, 43, 0.2);
box-shadow: rgba(39, 41, 43, 0.3);
}
.ui.basic.buttons .button.active:hover,
.ui.basic.button.active:hover {
@ -675,7 +675,7 @@
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(39, 41, 43, 0.15) inset inset;
}
.ui.basic.buttons .button.active {
box-shadow: rgba(39, 41, 43, 0.2) inset;
box-shadow: rgba(39, 41, 43, 0.3) inset;
}
/* Standard Basic Inverted */

2
dist/components/button.min.css
File diff suppressed because it is too large
View File

2
dist/components/card.css

@ -391,7 +391,7 @@ a.ui.card:hover,
z-index: 5;
background: '';
border: none;
box-shadow: 0px 0.2em 0px 0px #bebebf, 0px 0px 0px 1px rgba(39, 41, 43, 0.2);
box-shadow: 0px 0.2em 0px 0px #bebebf, 0px 0px 0px 1px rgba(39, 41, 43, 0.3);
}
/*--------------

2
dist/components/card.min.css
File diff suppressed because it is too large
View File

6
dist/components/checkbox.css

@ -126,7 +126,7 @@
.ui.checkbox .box:hover::before,
.ui.checkbox label:hover::before {
background: #ffffff;
border: 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid rgba(39, 41, 43, 0.3);
}
.ui.checkbox label:hover,
.ui.checkbox + label:hover {
@ -140,7 +140,7 @@
.ui.checkbox .box:active::before,
.ui.checkbox label:active::before {
background: #f5f5f5;
border: 1px solid 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid 1px solid rgba(39, 41, 43, 0.3);
}
.ui.checkbox input:active ~ label {
color: rgba(0, 0, 0, 0.8);
@ -153,7 +153,7 @@
.ui.checkbox input:focus ~ .box:before,
.ui.checkbox input:focus ~ label:before {
background: #f5f5f5;
border: 1px solid 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid 1px solid rgba(39, 41, 43, 0.3);
}
.ui.checkbox input:focus ~ label {
color: rgba(0, 0, 0, 0.8);

2
dist/components/checkbox.min.css
File diff suppressed because it is too large
View File

6
dist/components/dropdown.css

@ -355,17 +355,17 @@ select.ui.dropdown {
/* Hover */
.ui.selection.dropdown:hover {
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
}
/* Visible Hover */
.ui.selection.visible.dropdown:hover {
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
}
.ui.selection.visible.dropdown:hover .menu {
border: 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid rgba(39, 41, 43, 0.3);
box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.08);
}

2
dist/components/dropdown.min.css
File diff suppressed because it is too large
View File

20
dist/components/form.css

@ -70,7 +70,7 @@
vertical-align: middle;
margin: 0em 1em 0em 0em;
color: rgba(0, 0, 0, 0.8);
font-size: 1em;
font-size: 0.9em;
font-weight: bold;
text-transform: none;
}
@ -278,17 +278,17 @@
.ui.form input[type="url"]:focus,
.ui.form input[type="tel"]:focus {
color: rgba(0, 0, 0, 0.85);
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
border-radius: 0em 0.2857rem 0.2857rem 0em;
background: #ffffff;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.2) inset;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.3) inset;
}
.ui.form textarea:focus {
color: rgba(0, 0, 0, 0.85);
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
border-radius: 0em 0.2857rem 0.2857rem 0em;
background: #ffffff;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.2) inset;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.3) inset;
-webkit-appearance: none;
}
@ -563,6 +563,9 @@
.ui.form .grouped.fields:last-child {
margin-bottom: 0em;
}
.ui.form .grouped.fields > label {
font-size: 0.9em;
}
.ui.form .grouped.fields .field {
display: block;
float: none;
@ -775,11 +778,14 @@
margin-top: 0em;
margin-bottom: 0em;
vertical-align: middle;
font-size: 1em;
font-size: 0.9em;
}
.ui.form .inline.fields .field > input,
.ui.form .inline.field > input {
font-size: 1em;
font-size: 0.9em;
}
.ui.form .inline.fields .field > .ui.checkbox label {
padding-left: 1.75em;
}
/* Label */

2
dist/components/form.min.css
File diff suppressed because it is too large
View File

16
dist/components/image.css

@ -179,49 +179,49 @@ img.ui.bordered.image {
.ui.mini.images img,
.ui.mini.image {
width: 20px;
font-size: 0.7142rem;
font-size: 0.7em;
}
.ui.tiny.images .image,
.ui.tiny.images img,
.ui.tiny.image {
width: 80px;
font-size: 0.8571rem;
font-size: 0.8em;
}
.ui.small.images .image,
.ui.small.images img,
.ui.small.image {
width: 150px;
font-size: 0.9285rem;
font-size: 0.875em;
}
.ui.medium.images .image,
.ui.medium.images img,
.ui.medium.image {
width: 300px;
font-size: 1rem;
font-size: 1em;
}
.ui.large.images .image,
.ui.large.images img,
.ui.large.image {
width: 450px;
font-size: 1.1428rem;
font-size: 1.125em;
}
.ui.big.images .image,
.ui.big.images img,
.ui.big.image {
width: 600px;
font-size: 1.2857rem;
font-size: 1.25em;
}
.ui.huge.images .image,
.ui.huge.images img,
.ui.huge.image {
width: 800px;
font-size: 1.4285rem;
font-size: 1.375em;
}
.ui.massive.images .image,
.ui.massive.images img,
.ui.massive.image {
width: 960px;
font-size: 1.7142rem;
font-size: 1.5em;
}

2
dist/components/image.min.css

@ -8,4 +8,4 @@
* http://opensource.org/licenses/MIT
*
*/
.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block;background:0 0}.ui.image img{display:block;max-width:100%;height:auto}.ui.disabled.image{cursor:default;opacity:.3}.ui.inline.image,.ui.inline.image img{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image img,.ui.rounded.images .image,.ui.rounded.images img{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.images .image,.ui.bordered.images img,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image img,.ui.circular.images .image,.ui.circular.images img{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.images,.ui.fluid.images img{display:block;width:100%}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.images .image,.ui.avatar.images img{margin-right:.25em;display:inline-block;width:2.5em;height:2.5em;border-radius:500rem}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img{width:20px;font-size:.7142rem}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img{width:80px;font-size:.8571rem}.ui.small.image,.ui.small.images .image,.ui.small.images img{width:150px;font-size:.9285rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img{width:300px;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img{width:450px;font-size:1.1428rem}.ui.big.image,.ui.big.images .image,.ui.big.images img{width:600px;font-size:1.2857rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img{width:800px;font-size:1.4285rem}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img{width:960px;font-size:1.7142rem}.ui.images{font-size:0;margin:0 -.25rem}.ui.images .image,.ui.images img{display:inline-block;margin:0 .25rem .5rem}
.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block;background:0 0}.ui.image img{display:block;max-width:100%;height:auto}.ui.disabled.image{cursor:default;opacity:.3}.ui.inline.image,.ui.inline.image img{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image img,.ui.rounded.images .image,.ui.rounded.images img{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.images .image,.ui.bordered.images img,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image img,.ui.circular.images .image,.ui.circular.images img{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.images,.ui.fluid.images img{display:block;width:100%}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.images .image,.ui.avatar.images img{margin-right:.25em;display:inline-block;width:2.5em;height:2.5em;border-radius:500rem}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img{width:20px;font-size:.7em}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img{width:80px;font-size:.8em}.ui.small.image,.ui.small.images .image,.ui.small.images img{width:150px;font-size:.875em}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img{width:300px;font-size:1em}.ui.large.image,.ui.large.images .image,.ui.large.images img{width:450px;font-size:1.125em}.ui.big.image,.ui.big.images .image,.ui.big.images img{width:600px;font-size:1.25em}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img{width:800px;font-size:1.375em}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img{width:960px;font-size:1.5em}.ui.images{font-size:0;margin:0 -.25rem}.ui.images .image,.ui.images img{display:inline-block;margin:0 .25rem .5rem}

2
dist/components/input.css

@ -93,7 +93,7 @@
.ui.input.focus input,
.ui.input input:focus {
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
background: '';
color: rgba(0, 0, 0, 0.8);
box-shadow: none;

2
dist/components/input.min.css
File diff suppressed because it is too large
View File

2
dist/components/segment.css

@ -202,7 +202,7 @@
.ui.stacked.inverted.segment:after,
.ui.stacked.inverted.segment:before {
background-color: rgba(0, 0, 0, 0.03);
border-top: 1px solid rgba(39, 41, 43, 0.2);
border-top: 1px solid rgba(39, 41, 43, 0.3);
}
/*-------------------

2
dist/components/segment.min.css
File diff suppressed because it is too large
View File

60
dist/semantic.css

@ -1110,7 +1110,7 @@
background: rgba(0, 0, 0, 0.05) !important;
box-shadow: '' !important;
color: rgba(0, 0, 0, 0.8);
box-shadow: rgba(39, 41, 43, 0.2);
box-shadow: rgba(39, 41, 43, 0.3);
}
.ui.basic.buttons .button.active:hover,
@ -1129,7 +1129,7 @@
}
.ui.basic.buttons .button.active {
box-shadow: rgba(39, 41, 43, 0.2) inset;
box-shadow: rgba(39, 41, 43, 0.3) inset;
}
/* Standard Basic Inverted */
@ -3497,7 +3497,7 @@ a.ui.card:hover,
z-index: 5;
background: '';
border: none;
box-shadow: 0px 0.2em 0px 0px #bebebf, 0px 0px 0px 1px rgba(39, 41, 43, 0.2);
box-shadow: 0px 0.2em 0px 0px #bebebf, 0px 0px 0px 1px rgba(39, 41, 43, 0.3);
}
/*--------------
@ -4396,7 +4396,7 @@ a.ui.card:hover,
.ui.checkbox .box:hover::before,
.ui.checkbox label:hover::before {
background: #ffffff;
border: 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid rgba(39, 41, 43, 0.3);
}
.ui.checkbox label:hover,
@ -4411,7 +4411,7 @@ a.ui.card:hover,
.ui.checkbox .box:active::before,
.ui.checkbox label:active::before {
background: #f5f5f5;
border: 1px solid 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid 1px solid rgba(39, 41, 43, 0.3);
}
.ui.checkbox input:active ~ label {
@ -4425,7 +4425,7 @@ a.ui.card:hover,
.ui.checkbox input:focus ~ .box:before,
.ui.checkbox input:focus ~ label:before {
background: #f5f5f5;
border: 1px solid 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid 1px solid rgba(39, 41, 43, 0.3);
}
.ui.checkbox input:focus ~ label {
@ -5858,19 +5858,19 @@ select.ui.dropdown {
/* Hover */
.ui.selection.dropdown:hover {
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
}
/* Visible Hover */
.ui.selection.visible.dropdown:hover {
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08);
}
.ui.selection.visible.dropdown:hover .menu {
border: 1px solid rgba(39, 41, 43, 0.2);
border: 1px solid rgba(39, 41, 43, 0.3);
box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.08);
}
@ -8080,7 +8080,7 @@ i.flag.zimbabwe:before {
vertical-align: middle;
margin: 0em 1em 0em 0em;
color: rgba(0, 0, 0, 0.8);
font-size: 1em;
font-size: 0.9em;
font-weight: bold;
text-transform: none;
}
@ -8302,18 +8302,18 @@ i.flag.zimbabwe:before {
.ui.form input[type="url"]:focus,
.ui.form input[type="tel"]:focus {
color: rgba(0, 0, 0, 0.85);
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
border-radius: 0em 0.2857rem 0.2857rem 0em;
background: #ffffff;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.2) inset;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.3) inset;
}
.ui.form textarea:focus {
color: rgba(0, 0, 0, 0.85);
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
border-radius: 0em 0.2857rem 0.2857rem 0em;
background: #ffffff;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.2) inset;
box-shadow: 1px 0em 0em 0em rgba(39, 41, 43, 0.3) inset;
-webkit-appearance: none;
}
@ -8605,6 +8605,10 @@ i.flag.zimbabwe:before {
margin-bottom: 0em;
}
.ui.form .grouped.fields > label {
font-size: 0.9em;
}
.ui.form .grouped.fields .field {
display: block;
float: none;
@ -8854,12 +8858,16 @@ i.flag.zimbabwe:before {
margin-top: 0em;
margin-bottom: 0em;
vertical-align: middle;
font-size: 1em;
font-size: 0.9em;
}
.ui.form .inline.fields .field > input,
.ui.form .inline.field > input {
font-size: 1em;
font-size: 0.9em;
}
.ui.form .inline.fields .field > .ui.checkbox label {
padding-left: 1.75em;
}
/* Label */
@ -13774,56 +13782,56 @@ img.ui.bordered.image {
.ui.mini.images img,
.ui.mini.image {
width: 20px;
font-size: 0.7142rem;
font-size: 0.7em;
}
.ui.tiny.images .image,
.ui.tiny.images img,
.ui.tiny.image {
width: 80px;
font-size: 0.8571rem;
font-size: 0.8em;
}
.ui.small.images .image,
.ui.small.images img,
.ui.small.image {
width: 150px;
font-size: 0.9285rem;
font-size: 0.875em;
}
.ui.medium.images .image,
.ui.medium.images img,
.ui.medium.image {
width: 300px;
font-size: 1rem;
font-size: 1em;
}
.ui.large.images .image,
.ui.large.images img,
.ui.large.image {
width: 450px;
font-size: 1.1428rem;
font-size: 1.125em;
}
.ui.big.images .image,
.ui.big.images img,
.ui.big.image {
width: 600px;
font-size: 1.2857rem;
font-size: 1.25em;
}
.ui.huge.images .image,
.ui.huge.images img,
.ui.huge.image {
width: 800px;
font-size: 1.4285rem;
font-size: 1.375em;
}
.ui.massive.images .image,
.ui.massive.images img,
.ui.massive.image {
width: 960px;
font-size: 1.7142rem;
font-size: 1.5em;
}
/*******************************
@ -13942,7 +13950,7 @@ img.ui.bordered.image {
.ui.input.focus input,
.ui.input input:focus {
border-color: rgba(39, 41, 43, 0.2);
border-color: rgba(39, 41, 43, 0.3);
background: '';
color: rgba(0, 0, 0, 0.8);
box-shadow: none;
@ -22336,7 +22344,7 @@ th {
.ui.stacked.inverted.segment:after,
.ui.stacked.inverted.segment:before {
background-color: rgba(0, 0, 0, 0.03);
border-top: 1px solid rgba(39, 41, 43, 0.2);
border-top: 1px solid rgba(39, 41, 43, 0.3);
}
/*-------------------

2
dist/semantic.min.css
File diff suppressed because it is too large
View File

156
gulpfile.js

@ -121,7 +121,7 @@ var
version = package.version;
// create glob for matching filenames from selected components
// create glob for matching filenames from components in semantic.json
componentGlob = (typeof config.components == 'object')
? (config.components.length > 1)
? '{' + config.components.join(',') + '}'
@ -639,10 +639,8 @@ gulp.task('release', false, function() {
});
// gulp build
runSequence('update git');
//runSequence('build', 'create repos', 'update git');
// release-component
//runSequence('create repos');
runSequence('build', 'create repos', 'update git');
// #Create SCSS Version
// #Create RTL Release
@ -685,41 +683,93 @@ gulp.task('create repos', false, function(callback) {
var
outputDirectory = 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),
repoName = release.repoRoot + capitalizedComponent,
gitURL = 'git@github.com:' + release.org + '/' + repoName + '.git',
repoURL = 'https://github.com/' + release.org + '/' + repoName + '/',
regExp = {
spacedVersions : /(###.*\n)\n+(?=###)/gm,
spacedLists : /(^- .*\n)\n+(?=^-)/gm,
trim : /^\s+|\s+$/g,
unrelatedNotes : new RegExp('^((?!(^.*(' + component + ').*$|###.*)).)*$', 'gmi'),
whitespace : /\n\s*\n\s*\n/gm
},
matchReplace = {
spacedVersions : '',
spacedLists : '$1',
trim : '',
unrelatedNotes : '',
whitespace : '\n\n'
match : {
// readme
name : '{component}',
titleName : '{Component}',
// 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,
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',
notes : component + ' create release notes',
package : component + ' create package.json'
task = {
all : component + ' creating',
repo : component + ' create repo',
bower : component + ' create bower.json',
readme : component + ' create README',
readme : component + ' create README',
npm : component + ' create NPM Module',
notes : component + ' create release notes',
composer : component + ' create composer.json',
package : component + ' create package.json'
}
;
// create component repo
// copy dist files into output folder adjusting asset paths
gulp.task(task.repo, false, function() {
// copy dist files into output folder adjusting asset paths
gulp.src(release.source + component + '.*')
return gulp.src(release.source + component + '.*')
.pipe(plumber())
.pipe(flatten())
.pipe(replace(release.paths.source, release.paths.output))
.pipe(gulp.dest(outputDirectory)) // pipe to output directory
.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))
;
});
@ -732,10 +782,17 @@ gulp.task('create repos', false, function(callback) {
bower.name = repoName;
bower.description = capitalizedComponent + ' - Semantic UI';
if(isJavascript) {
bower.main = [
component + '.js',
component + '.css'
];
if(isCSS) {
bower.main = [
component + '.js',
component + '.css'
];
}
else {
bower.main = [
component + '.js'
];
}
bower.dependencies = {
jquery: '>=1.8'
};
@ -761,9 +818,10 @@ gulp.task('create repos', false, function(callback) {
package.dependencies = {
jquery: 'x.x.x'
};
package.main = component + '.js';
package.main = 'index.js';
}
package.name = repoName;
package.version = version;
package.title = 'Semantic UI - ' + capitalizedComponent;
package.description = 'Single component release of ' + component;
package.repository = {
@ -776,17 +834,38 @@ gulp.task('create repos', false, function(callback) {
;
});
// extend composer.json
gulp.task(task.composer, false, function() {
return gulp.src(release.templates.composer)
.pipe(plumber())
.pipe(flatten())
.pipe(jeditor(function(composer) {
if(isJavascript) {
composer.dependencies = {
jquery: 'x.x.x'
};
composer.main = component + '.js';
}
composer.name = 'semantic/' + component;
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.unrelatedNotes, matchReplace.unrelatedNotes))
.pipe(replace(regExp.whitespace, matchReplace.whitespace))
.pipe(replace(regExp.spacedVersions, matchReplace.spacedVersions))
.pipe(replace(regExp.spacedLists, matchReplace.spacedLists))
.pipe(replace(regExp.trim, matchReplace.trim))
.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))
;
});
@ -795,8 +874,11 @@ gulp.task('create repos', false, function(callback) {
gulp.task(task.all, false, function(callback) {
runSequence([
task.repo,
task.npm,
task.bower,
task.readme,
task.package,
task.composer,
task.notes
], callback);
});

8
tasks/admin/release.js

@ -15,9 +15,11 @@ module.exports = {
},
templates: {
bower : './tasks/admin/templates/bower.json',
package : './tasks/admin/templates/package.json',
notes : './RELEASE-NOTES.md'
bower : './tasks/admin/templates/bower.json',
composer : './tasks/admin/templates/composer.json',
package : './tasks/admin/templates/package.json',
readme : './tasks/admin/templates/README.md',
notes : './RELEASE-NOTES.md'
},
org : 'Semantic-Org',

21
tasks/admin/templates/README.md

@ -0,0 +1,21 @@
# 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 in this repository.
#### To install with Bower
```
bower install semantic-ui-{component}
```
#### To install with NPM
```
npm install semantic-ui-{component}
```
## Addendum
This element's definitions (required class names, html structures) are available in the [Beta UI Docs](http://beta.semantic-ui.com)
Please consider checking out [all the benefits to theming](http://learnsemantic.com/guide/expert.html) before using these stand-alone releases.

3
tasks/admin/templates/bower.json

@ -6,6 +6,9 @@
"name" : "Jack Lukic",
"web" : "http://www.jacklukic.com"
},
"ignore": [
"./index.js"
],
"keywords": [
"semantic",
"ui",

20
tasks/admin/templates/composer.json

@ -0,0 +1,20 @@
{
"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"
}
Loading…
Cancel
Save