aboutsummaryrefslogtreecommitdiff
path: root/gulpfile.js
diff options
context:
space:
mode:
authorcodecalm <codecalm@gmail.com>2020-03-21 22:38:48 +0100
committercodecalm <codecalm@gmail.com>2020-03-21 22:38:48 +0100
commit3147e0427178f533d85f43c7629ba3c712d8e87b (patch)
tree134d8ce6846570a05348fbe19d34e10db62f41ba /gulpfile.js
parentMerge branches 'dev' and 'master' of https://github.com/tabler/tabler-icons i... (diff)
parentreadme fix (diff)
downloadtabler-icons-3147e0427178f533d85f43c7629ba3c712d8e87b.tar.xz
Merge branches 'dev' and 'master' of https://github.com/tabler/tabler-icons into dev
 Conflicts:  .github/icons.png  gulpfile.js
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js196
1 files changed, 84 insertions, 112 deletions
diff --git a/gulpfile.js b/gulpfile.js
index ab729be..7affc73 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -49,8 +49,9 @@ const createScreenshot = async (filePath) => {
const page = await browser.newPage();
await page.setViewport({
- height: 100,
- width: 100
+ height: 10,
+ width: 10,
+ deviceScaleFactor: 2
});
await page.goto(htmlFilePath);
@@ -68,6 +69,77 @@ const createScreenshot = async (filePath) => {
}
};
+
+const printChangelog = function(newIcons, modifiedIcons, renamedIcons) {
+ if(newIcons.length > 0) {
+ let str = '';
+ str += `${newIcons.length} new icons: `;
+
+ newIcons.forEach(function(icon, i){
+ str += `\`${icon}\``;
+
+ if((i + 1) <= newIcons.length - 1) {
+ str += ', '
+ }
+ });
+
+ console.log(str);
+ console.log('');
+ }
+
+ if(modifiedIcons.length > 0) {
+ let str = '';
+ str += `Fixed icons: `;
+
+ modifiedIcons.forEach(function(icon, i){
+ str += `\`${icon}\``;
+
+ if((i + 1) <= modifiedIcons.length - 1) {
+ str += ', '
+ }
+ });
+
+ console.log(str);
+ console.log('');
+ }
+
+ if(renamedIcons.length > 0) {
+ console.log(`Renamed icons: `);
+
+ renamedIcons.forEach(function(icon, i){
+ console.log(`- \`${icon[0]}\` renamed to \`${icon[1]}\``);
+ });
+ }
+};
+
+
+
+gulp.task('build-zip', function() {
+ const version = p.version;
+
+ return gulp.src('{icons/**/*,icons-png/**/*,tabler-sprite.svg,tabler-sprite-nostroke.svg}')
+ .pipe(zip(`tabler-icons-${version}.zip`))
+ .pipe(gulp.dest('packages'))
+});
+
+gulp.task('build-jekyll', function(cb){
+ cp.exec('bundle exec jekyll build', function() {
+ cb();
+ });
+});
+
+gulp.task('build-copy', function(cb){
+ cp.exec('mkdir -p icons/ && rm -fd ./icons/* && cp ./_site/icons/* ./icons', function() {
+ cb();
+ });
+});
+
+gulp.task('clean-png', function(cb){
+ cp.exec('rm -fd ./icons-png/*', function() {
+ cb();
+ });
+});
+
gulp.task('icons-sprite', function (cb) {
glob("_site/icons/*.svg", {}, function (er, files) {
@@ -143,15 +215,15 @@ gulp.task('icons-preview', function (cb) {
});
});
-gulp.task('icons-stroke', function (cb) {
+gulp.task('icons-stroke', gulp.series('build-jekyll', function (cb) {
const icon = "disabled",
strokes = ['.5', '1', '1.5', '2', '2.75'],
- svgFileContent = fs.readFileSync(`_site/icons/${icon}.svg`).toString(),
+ svgFileContent = fs.readFileSync(`icons/${icon}.svg`).toString(),
padding = 16,
paddingOuter = 5,
- iconSize = 64,
- width = (strokes.length * (iconSize + padding) - padding) + paddingOuter * 2,
+ iconSize = 32,
+ width = 882,
height = iconSize + paddingOuter * 2;
let svgContentSymbols = '',
@@ -174,10 +246,10 @@ gulp.task('icons-stroke', function (cb) {
const svgContent = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 ${width} ${height}" width="${width}" height="${height}" style="color: #354052"><rect x="0" y="0" width="${width}" height="${height}" fill="#fff"></rect>\n${svgContentSymbols}\n${svgContentIcons}\n</svg>`;
- fs.writeFileSync('icons-stroke.svg', svgContent);
- createScreenshot('icons-stroke.svg');
+ fs.writeFileSync('.github/icons-stroke.svg', svgContent);
+ createScreenshot('.github/icons-stroke.svg');
cb();
-});
+}));
gulp.task('optimize', function (cb) {
glob("src/_icons/*.svg", {}, function (er, files) {
@@ -202,6 +274,7 @@ gulp.task('optimize', function (cb) {
});
});
+
gulp.task('changelog-commit', function(cb) {
cp.exec('git status', function(err, ret) {
let newIcons = [], modifiedIcons = [], renamedIcons = [];
@@ -222,45 +295,7 @@ gulp.task('changelog-commit', function(cb) {
return newIcons.indexOf( el ) < 0;
});
- if(newIcons.length > 0) {
- let str = '';
- str += `${newIcons.length} new icons: `;
-
- newIcons.forEach(function(icon, i){
- str += `\`${icon}\``;
-
- if((i + 1) <= newIcons.length - 1) {
- str += ', '
- }
- });
-
- console.log(str);
- console.log('');
- }
-
- if(modifiedIcons.length > 0) {
- let str = '';
- str += `Fixed icons: `;
-
- modifiedIcons.forEach(function(icon, i){
- str += `\`${icon}\``;
-
- if((i + 1) <= modifiedIcons.length - 1) {
- str += ', '
- }
- });
-
- console.log(str);
- console.log('');
- }
-
- if(renamedIcons.length > 0) {
- console.log(`**Renamed icons: `);
-
- renamedIcons.forEach(function(icon, i){
- console.log(`- \`${icon[0]}\` renamed to \`${icon[1]}\``);
- });
- }
+ printChangelog(newIcons, modifiedIcons, renamedIcons);
cb();
});
@@ -288,75 +323,12 @@ gulp.task('changelog-diff', function(cb) {
return newIcons.indexOf( el ) < 0;
});
- if(newIcons.length > 0) {
- let str = '';
- str += `${newIcons.length} new icons: `;
-
- newIcons.forEach(function(icon, i){
- str += `\`${icon}\``;
-
- if((i + 1) <= newIcons.length - 1) {
- str += ', '
- }
- });
-
- console.log(str);
- console.log('');
- }
-
- if(modifiedIcons.length > 0) {
- let str = '';
- str += `Fixed icons: `;
-
- modifiedIcons.forEach(function(icon, i){
- str += `\`${icon}\``;
-
- if((i + 1) <= modifiedIcons.length - 1) {
- str += ', '
- }
- });
-
- console.log(str);
- console.log('');
- }
-
- if(renamedIcons.length > 0) {
- console.log(`**Renamed icons: `);
-
- renamedIcons.forEach(function(icon, i){
- console.log(`- \`${icon[0]}\` renamed to \`${icon[1]}\``);
- });
- }
+ printChangelog(newIcons, modifiedIcons, renamedIcons);
cb();
});
});
-gulp.task('build-zip', function() {
- const version = p.version;
-
- return gulp.src('{icons/**/*,icons-png/**/*,tabler-sprite.svg,tabler-sprite-nostroke.svg}')
- .pipe(zip(`tabler-icons-${version}.zip`))
- .pipe(gulp.dest('packages'))
-});
-
-gulp.task('build-jekyll', function(cb){
- cp.exec('bundle exec jekyll build', function() {
- cb();
- });
-});
-
-gulp.task('build-copy', function(cb){
- cp.exec('mkdir -p icons/ && rm -fd ./icons/* && cp ./_site/icons/* ./icons', function() {
- cb();
- });
-});
-
-gulp.task('clean-png', function(cb){
- cp.exec('rm -fd ./icons-png/*', function() {
- cb();
- });
-});
gulp.task('svg-to-png', gulp.series('build-jekyll', 'clean-png', async (cb) => {
let files = glob.sync("_site/icons/*.svg");