From 8d5c0df1438306405f6c2935bd995e572a948ddb Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 18 Aug 2017 22:23:07 +0100 Subject: [PATCH 1/3] Move things back into gulpfile --- gulp-tasks/clean.js | 8 ----- gulp-tasks/fonts.js | 6 ---- gulp-tasks/scripts.js | 11 ------- gulp-tasks/styles.js | 16 ---------- gulp-tasks/watch.js | 8 ----- gulpfile.js | 71 +++++++++++++++++++++++++++++++------------ 6 files changed, 52 insertions(+), 68 deletions(-) delete mode 100644 gulp-tasks/clean.js delete mode 100644 gulp-tasks/fonts.js delete mode 100644 gulp-tasks/scripts.js delete mode 100644 gulp-tasks/styles.js delete mode 100644 gulp-tasks/watch.js diff --git a/gulp-tasks/clean.js b/gulp-tasks/clean.js deleted file mode 100644 index 305354f8..00000000 --- a/gulp-tasks/clean.js +++ /dev/null @@ -1,8 +0,0 @@ -var del = require('del'); - -module.exports = function (gulp, plugins, config) { - return function () { - del.sync('source/assets/{css,fonts,js}'); - del.sync('output_*/assets/{css,fonts,js}'); - } -} diff --git a/gulp-tasks/fonts.js b/gulp-tasks/fonts.js deleted file mode 100644 index 0c4f12a8..00000000 --- a/gulp-tasks/fonts.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = function (gulp, plugins, config) { - return function () { - return gulp.src('node_modules/font-awesome/fonts/*') - .pipe(gulp.dest(config.fonts.outputDir)); - } -} diff --git a/gulp-tasks/scripts.js b/gulp-tasks/scripts.js deleted file mode 100644 index ac72da18..00000000 --- a/gulp-tasks/scripts.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = function (gulp, plugins, config, sourceFiles, outputFile) { - return function () { - return gulp.src(sourceFiles) - .pipe(plugins.plumber()) - .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) - .pipe(plugins.concat(outputFile)) - .pipe(plugins.if(config.production, plugins.uglify())) - .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) - .pipe(gulp.dest(config.js.outputDir)); - } -} diff --git a/gulp-tasks/styles.js b/gulp-tasks/styles.js deleted file mode 100644 index 66dae1c0..00000000 --- a/gulp-tasks/styles.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = function (gulp, plugins, config, sourceFiles, outputFile) { - return function () { - return gulp.src(sourceFiles) - .pipe(plugins.plumber()) - .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) - .pipe(plugins.sassGlob()) - .pipe(plugins.sass()) - .pipe(plugins.autoprefixer(config.sass.autoprefixer)) - .pipe(plugins.concat(outputFile)) - .pipe(plugins.if(config.production, plugins.purifycss(config.sass.purifyCss))) - .pipe(plugins.if(config.production, plugins.cleanCss())) - .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) - .pipe(plugins.if(!config.production, plugins.refresh())) - .pipe(gulp.dest(config.sass.outputDir)); - } -} diff --git a/gulp-tasks/watch.js b/gulp-tasks/watch.js deleted file mode 100644 index 16afc37b..00000000 --- a/gulp-tasks/watch.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = function (gulp, plugins, config) { - return function () { - plugins.refresh.listen(); - - gulp.watch(config.sass.sourceDir + config.sass.pattern, ['styles']); - gulp.watch(config.js.sourceDir + config.js.pattern, ['scripts']); - } -} diff --git a/gulpfile.js b/gulpfile.js index 05d763f0..c2583a3c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,38 +3,71 @@ var gulp = require('gulp'); var plugins = require('gulp-load-plugins')(); var config = require('./gulpfile.config')(plugins); +var del = require('del'); -function getTask(task) { - return require('./gulp-tasks/' + task)(gulp, plugins, config); -} +var app = {}; -function addStyle(sourceFiles, outputFile) { - return require('./gulp-tasks/styles')(gulp, plugins, config, sourceFiles, outputFile); -} +app.copy = function (sourceFiles, destination) { + return gulp.src(sourceFiles) + .pipe(gulp.dest(destination)); +}; -function addScript(sourceFiles, outputFile) { - return require('./gulp-tasks/scripts')(gulp, plugins, config, sourceFiles, outputFile); -} +app.sass = function (sourceFiles, outputFile) { + return gulp.src(sourceFiles) + .pipe(plugins.plumber()) + .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) + .pipe(plugins.sassGlob()) + .pipe(plugins.sass()) + .pipe(plugins.autoprefixer(config.sass.autoprefixer)) + .pipe(plugins.concat(outputFile)) + .pipe(plugins.if(config.production, plugins.purifycss(config.sass.purifyCss))) + .pipe(plugins.if(config.production, plugins.cleanCss())) + .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) + .pipe(plugins.if(!config.production, plugins.refresh())) + .pipe(gulp.dest(config.sass.outputDir)); +}; + +app.js = function (sourceFiles, outputFile) { + return gulp.src(sourceFiles) + .pipe(plugins.plumber()) + .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) + .pipe(plugins.concat(outputFile)) + .pipe(plugins.if(config.production, plugins.uglify())) + .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) + .pipe(gulp.dest(config.js.outputDir)); +}; + +gulp.task('clean', function () { + del.sync('source/assets/{css,fonts,js}'); + del.sync('output_*/assets/{css,fonts,js}'); +}); -gulp.task('clean', getTask('clean')); gulp.task('default', ['clean', 'fonts', 'styles', 'scripts']); -gulp.task('fonts', getTask('fonts')); -gulp.task('styles', - addStyle([ +gulp.task('fonts', function () { + return app.copy('node_modules/font-awesome/fonts/*', config.fonts.outputDir); +}); + +gulp.task('styles', function () { + return app.sass([ 'node_modules/font-awesome/css/font-awesome.css', 'node_modules/prismjs/themes/prism-twilight.css', config.sass.sourceDir + '/main.sass' - ], 'site.css') -); + ], 'site.css'); +}); -gulp.task('scripts', - addScript([ +gulp.task('scripts', function () { + return app.js([ 'node_modules/jquery/dist/jquery.js', 'node_modules/prismjs/prism.js', 'node_modules/prismjs/components/prism-{apacheconf,bsash,css,diff,ini,json,nginx,php,sass,scss,sql,less,twig,xml,yaml}.js', config.js.sourceDir + '/**/*.js' ], 'site.js') -); +}); -gulp.task('watch', ['default'], getTask('watch')); +gulp.task('watch', ['default'], function () { + plugins.refresh.listen(); + + gulp.watch(config.sass.sourceDir + config.sass.pattern, ['styles']); + gulp.watch(config.js.sourceDir + config.js.pattern, ['scripts']); +}); From 733a34f19d4b916e4855e3626962b50ab12a433f Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 19 Aug 2017 00:28:44 +0100 Subject: [PATCH 2/3] Split stylesheets --- assets/sass/{pages/_about.sass => about.sass} | 0 assets/sass/{pages/_blog.sass => blog.sass} | 2 -- .../_experience.sass => experience.sass} | 7 ++----- assets/sass/main.sass | 8 -------- assets/sass/{pages/_post.sass => post.sass} | 0 .../{pages/_project.sass => project.sass} | 3 ++- assets/sass/{pages/_talk.sass => talk.sass} | 3 +++ .../_testimonials.sass => testimonials.sass} | 0 gulpfile.js | 19 +++++++++++++++---- source/_layouts/default.html.twig | 2 +- source/_layouts/post.html.twig | 4 ++++ source/_layouts/project.html.twig | 4 ++++ source/_layouts/talk.html.twig | 4 ++++ source/blog.html | 4 ++++ source/experience.html.twig | 4 ++++ source/index.md | 5 +++++ source/testimonials.html.twig | 4 ++++ 17 files changed, 52 insertions(+), 21 deletions(-) rename assets/sass/{pages/_about.sass => about.sass} (100%) rename assets/sass/{pages/_blog.sass => blog.sass} (74%) rename assets/sass/{pages/_experience.sass => experience.sass} (77%) rename assets/sass/{pages/_post.sass => post.sass} (100%) rename assets/sass/{pages/_project.sass => project.sass} (70%) rename assets/sass/{pages/_talk.sass => talk.sass} (62%) rename assets/sass/{pages/_testimonials.sass => testimonials.sass} (100%) diff --git a/assets/sass/pages/_about.sass b/assets/sass/about.sass similarity index 100% rename from assets/sass/pages/_about.sass rename to assets/sass/about.sass diff --git a/assets/sass/pages/_blog.sass b/assets/sass/blog.sass similarity index 74% rename from assets/sass/pages/_blog.sass rename to assets/sass/blog.sass index 671624e2..7ec9953b 100644 --- a/assets/sass/pages/_blog.sass +++ b/assets/sass/blog.sass @@ -1,10 +1,8 @@ .page--blog__list ul.posts - //list-style: none margin-bottom: 2em margin-left: 0 margin-top: 0 - //padding-left: 0 .post border-bottom: 1px solid #CCC diff --git a/assets/sass/pages/_experience.sass b/assets/sass/experience.sass similarity index 77% rename from assets/sass/pages/_experience.sass rename to assets/sass/experience.sass index 9ee361fb..a0146a41 100644 --- a/assets/sass/pages/_experience.sass +++ b/assets/sass/experience.sass @@ -1,8 +1,5 @@ -@import '../mixins' - -.experience-item - // margin-bottom: $padding-large-vertical * 3 - +clearfix +@import "node_modules/bulma/sass/utilities/initial-variables" +@import "node_modules/bulma/sass/utilities/mixins" .experience-item-website margin-bottom: 2px diff --git a/assets/sass/main.sass b/assets/sass/main.sass index 13a83134..6f65e373 100644 --- a/assets/sass/main.sass +++ b/assets/sass/main.sass @@ -19,11 +19,3 @@ $primary: $blue @import 'components/badges' @import 'components/footer' @import 'components/meetups' - -@import "pages/about" -@import "pages/blog" -@import "pages/experience" -@import "pages/post" -@import "pages/project" -@import "pages/talk" -@import "pages/testimonials" diff --git a/assets/sass/pages/_post.sass b/assets/sass/post.sass similarity index 100% rename from assets/sass/pages/_post.sass rename to assets/sass/post.sass diff --git a/assets/sass/pages/_project.sass b/assets/sass/project.sass similarity index 70% rename from assets/sass/pages/_project.sass rename to assets/sass/project.sass index 4a92b125..44b68114 100644 --- a/assets/sass/pages/_project.sass +++ b/assets/sass/project.sass @@ -1,4 +1,5 @@ -@import '../mixins' +@import "node_modules/bulma/sass/utilities/initial-variables" +@import "node_modules/bulma/sass/utilities/mixins" .project-company &.has-logo diff --git a/assets/sass/pages/_talk.sass b/assets/sass/talk.sass similarity index 62% rename from assets/sass/pages/_talk.sass rename to assets/sass/talk.sass index 76aa2d22..55af4694 100644 --- a/assets/sass/pages/_talk.sass +++ b/assets/sass/talk.sass @@ -1,3 +1,6 @@ +@import "node_modules/bulma/sass/utilities/initial-variables" +@import "node_modules/bulma/sass/utilities/mixins" + .talk-slides background: url('../images/loading.gif') no-repeat center min-height: 275px diff --git a/assets/sass/pages/_testimonials.sass b/assets/sass/testimonials.sass similarity index 100% rename from assets/sass/pages/_testimonials.sass rename to assets/sass/testimonials.sass diff --git a/gulpfile.js b/gulpfile.js index c2583a3c..b44a10bb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -49,15 +49,26 @@ gulp.task('fonts', function () { }); gulp.task('styles', function () { - return app.sass([ + app.sass([ 'node_modules/font-awesome/css/font-awesome.css', - 'node_modules/prismjs/themes/prism-twilight.css', config.sass.sourceDir + '/main.sass' - ], 'site.css'); + ], 'main.css'); + + app.sass([ + 'node_modules/prismjs/themes/prism-twilight.css', + config.sass.sourceDir + '/post.sass' + ], 'post.css') + + app.sass(config.sass.sourceDir + '/about.sass', 'about.css'); + app.sass(config.sass.sourceDir + '/blog.sass', 'blog.css'); + app.sass(config.sass.sourceDir + '/experience.sass', 'experience.css'); + app.sass(config.sass.sourceDir + '/project.sass', 'project.css'); + app.sass(config.sass.sourceDir + '/talk.sass', 'talk.css'); + app.sass(config.sass.sourceDir + '/testimonials.sass', 'testimonials.css'); }); gulp.task('scripts', function () { - return app.js([ + app.js([ 'node_modules/jquery/dist/jquery.js', 'node_modules/prismjs/prism.js', 'node_modules/prismjs/components/prism-{apacheconf,bsash,css,diff,ini,json,nginx,php,sass,scss,sql,less,twig,xml,yaml}.js', diff --git a/source/_layouts/default.html.twig b/source/_layouts/default.html.twig index ae49bd9b..cb3a0167 100644 --- a/source/_layouts/default.html.twig +++ b/source/_layouts/default.html.twig @@ -13,7 +13,7 @@ {% include 'og' with { og: page.meta.og } %} - + {% block stylesheets '' %} {% for size in site.apple_touch_icon_sizes %} diff --git a/source/_layouts/post.html.twig b/source/_layouts/post.html.twig index 4f5dd97d..146ce0e8 100644 --- a/source/_layouts/post.html.twig +++ b/source/_layouts/post.html.twig @@ -10,3 +10,7 @@ {% include 'post/pager' %} {% include 'post/about-author' %} {% endblock %} + +{% block stylesheets %} + +{% endblock %} diff --git a/source/_layouts/project.html.twig b/source/_layouts/project.html.twig index 87e6a135..c7c424ff 100644 --- a/source/_layouts/project.html.twig +++ b/source/_layouts/project.html.twig @@ -11,3 +11,7 @@ {% include 'project/skills' %} {% include 'project/company' %} {% endblock %} + +{% block stylesheets %} + +{% endblock %} diff --git a/source/_layouts/talk.html.twig b/source/_layouts/talk.html.twig index 951a9897..72e7499e 100644 --- a/source/_layouts/talk.html.twig +++ b/source/_layouts/talk.html.twig @@ -46,3 +46,7 @@ } %} {% endblock %} + +{% block stylesheets %} + +{% endblock %} diff --git a/source/blog.html b/source/blog.html index 0d99a12f..28a6a06b 100644 --- a/source/blog.html +++ b/source/blog.html @@ -43,3 +43,7 @@ use: [posts] {% endblock %} {% block body_classes 'page--blog page--blog__list' %} + +{% block stylesheets %} + +{% endblock %} diff --git a/source/experience.html.twig b/source/experience.html.twig index 85782f61..2b9e2d19 100644 --- a/source/experience.html.twig +++ b/source/experience.html.twig @@ -47,3 +47,7 @@ redirect: {% endfor %} {% endblock %} + +{% block stylesheets %} + +{% endblock %} diff --git a/source/index.md b/source/index.md index a02481da..ce97ae52 100644 --- a/source/index.md +++ b/source/index.md @@ -49,6 +49,11 @@ I’m a webmaster and documentation maintainer for [Drupal.org][42], and a provi - IRC (freenode) - {{ site.irc.name }} {% endblock %} +{% block stylesheets %} + +{% endblock %} + + [1]: https://www.google.com/#q=opdavies [2]: https://www.drupal.org [3]: http://symfony.com diff --git a/source/testimonials.html.twig b/source/testimonials.html.twig index 386fc0b0..8c534b31 100644 --- a/source/testimonials.html.twig +++ b/source/testimonials.html.twig @@ -30,3 +30,7 @@ use: [posts] {% endblock %} {% block body_classes 'page--testimonials' %} + +{% block stylesheets %} + +{% endblock %} From 5a78ca28ec2adc14913c6170a74068526c72ce38 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 19 Aug 2017 00:38:46 +0100 Subject: [PATCH 3/3] Split scripts --- gulpfile.js | 8 ++++++-- source/_layouts/default.html.twig | 2 +- source/_layouts/post.html.twig | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index b44a10bb..388a446d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -68,12 +68,16 @@ gulp.task('styles', function () { }); gulp.task('scripts', function () { + app.js([ + 'node_modules/jquery/dist/jquery.js', + config.js.sourceDir + '/**/*.js' + ], 'main.js') + app.js([ 'node_modules/jquery/dist/jquery.js', 'node_modules/prismjs/prism.js', 'node_modules/prismjs/components/prism-{apacheconf,bsash,css,diff,ini,json,nginx,php,sass,scss,sql,less,twig,xml,yaml}.js', - config.js.sourceDir + '/**/*.js' - ], 'site.js') + ], 'post.js') }); gulp.task('watch', ['default'], function () { diff --git a/source/_layouts/default.html.twig b/source/_layouts/default.html.twig index cb3a0167..0adc3bbe 100644 --- a/source/_layouts/default.html.twig +++ b/source/_layouts/default.html.twig @@ -60,7 +60,7 @@ - + {% if site.google_analytics_tracking_id %} diff --git a/source/_layouts/post.html.twig b/source/_layouts/post.html.twig index 146ce0e8..08413d9d 100644 --- a/source/_layouts/post.html.twig +++ b/source/_layouts/post.html.twig @@ -14,3 +14,7 @@ {% block stylesheets %} {% endblock %} + +{% block scripts %} + +{% endblock %}