From 9121483a854dfa98dae0f34fbb36bbba830bd20d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 3 Apr 2017 20:33:40 +0200 Subject: [PATCH] build fixes --- .travis.yml | 6 +- _src/_assets/img/avatar.jpeg | Bin 5677 -> 5169 bytes _src/_assets/styl/_kremalicious/content.styl | 1 + gulpfile.babel.js | 87 ++++++++++++++----- package.json | 5 +- 5 files changed, 70 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index e0a20d9f..dc78f487 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,19 +3,19 @@ dist: trusty language: ruby rvm: - - 2.4.0 + - 2.3 cache: bundler: true directories: - $TRAVIS_BUILD_DIR/node_modules - $TRAVIS_BUILD_DIR/bower_components - - $TRAVIS_BUILD_DIR/_site/media/gen + - $TRAVIS_BUILD_DIR/_site/media addons: artifacts: paths: - - $TRAVIS_BUILD_DIR/_site/media/gen + - $TRAVIS_BUILD_DIR/_site/media apt: packages: - libgsl0ldbl diff --git a/_src/_assets/img/avatar.jpeg b/_src/_assets/img/avatar.jpeg index 5d00b9fab3d6b87b11c7f6ba42eeeb9226cc2a28..ef6d4a3ab1664476023ae6d843cae889c7eddd43 100644 GIT binary patch literal 5169 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 Y3Y9Obj;`XMxcm+dTNX7p!FLP)1vBbJ)c^nh literal 5677 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 TjdXP)!ZL`P*u5ex(%ioRg!I48 diff --git a/_src/_assets/styl/_kremalicious/content.styl b/_src/_assets/styl/_kremalicious/content.styl index 44c1348a..f35eb2e6 100644 --- a/_src/_assets/styl/_kremalicious/content.styl +++ b/_src/_assets/styl/_kremalicious/content.styl @@ -113,6 +113,7 @@ @extend .h4 img:not(.hentry__teaser img) + @extend .media-frame margin-bottom: ($spacer/2) p:last-child diff --git a/gulpfile.babel.js b/gulpfile.babel.js index 7fac552f..d46691ea 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -1,16 +1,17 @@ 'use strict' -// load plugins -const $ = require('gulp-load-plugins')() - -// manually import modules that won't get picked up by gulp-load-plugins -import { src, dest, watch, parallel, series } from 'gulp' -import del from 'del' -import pkg from './package.json' -import parallelize from 'concurrent-transform' -import browser from 'browser-sync' +import { src, dest, parallel, series, watch } from 'gulp' +import plugins from 'gulp-load-plugins' +import del from 'del' +import pkg from './package.json' +import parallelize from 'concurrent-transform' +import browser from 'browser-sync' import autoprefixer from 'autoprefixer' -import cssnano from 'cssnano' +import cssnano from 'cssnano' +import critical from 'critical' + +// load plugins +const $ = plugins() // handle errors const onError = (error) => { @@ -116,7 +117,7 @@ export const clean = () => del([ DIST + '**/*', DIST + '.*', // delete all hidden files - '!' + DIST + '/media/**' + '!' + DIST + '/media' ]) @@ -140,6 +141,7 @@ export const jekyll = (done) => { jekyll.on('error', (error) => onError() ).on('close', done) } + // // HTML // @@ -180,6 +182,33 @@ export const css = () => .pipe(dest(DIST + '/assets/css/')) .pipe(browser.stream()) +// inline critical-path CSS +export const criticalCss = (done) => { + if (isProduction) { + critical.generate({ + base: DIST, + src: 'index.html', + dest: 'index.html', + inline: true, + minify: true, + dimensions: [{ + height: 320, + width: 480 + }, { + height: 600, + width: 650 + }, { + height: 700, + width: 960 + }, { + height: 900, + width: 1400 + }] + }) + } + done() +} + // // Scripts @@ -219,12 +248,12 @@ export const icons = () => src(iconset.icons) // -// Copy images +// Images // export const images = () => src([ SRC + '/_assets/img/**/*', - '!' + SRC + '/_assets/img/entypo/**/*' + '!' + SRC + '/_assets/img/entypo' ]) .pipe($.if(isProduction, $.imagemin({ optimizationLevel: 5, // png @@ -235,12 +264,22 @@ export const images = () => }))) .pipe(dest(DIST + '/assets/img/')) +// optimize Jekyll generated images +export const imagesGenerated = () => src(DIST + '/media/gen/**/*') + .pipe($.if(isProduction, $.imagemin({ + optimizationLevel: 5, // png + progressive: true, // jpg + interlaced: true, // gif + multipass: true, // svg + svgoPlugins: [{ removeViewBox: false }] + }))) + .pipe(dest(DIST + '/media/gen/')) + // // Copy fonts // export const fonts = () => src(SRC + '/_assets/fonts/**/*') - .pipe($.if(isProduction, $.rev())) .pipe(dest(DIST + '/assets/fonts/')) @@ -248,7 +287,7 @@ export const fonts = () => src(SRC + '/_assets/fonts/**/*') // Copy media // export const media = () => src(SRC + '/_media/**/*') - .pipe(dest(DIST + '/assets/media/')) + .pipe(dest(DIST + '/media/')) // @@ -257,7 +296,7 @@ export const media = () => src(SRC + '/_media/**/*') export const rev = (done) => { // globbing is slow so do everything conditionally for faster dev build if (isProduction) { - return src(DIST + '/assets/**/*.{css,js,png,jpg,jpeg,svg,eot,ttf,woff}') + return src(DIST + '/assets/**/*.{css,js,png,jpg,jpeg,svg,eot,ttf,woff,woff2}') .pipe($.rev()) .pipe(dest(DIST + '/assets/')) // output rev manifest for next replace task @@ -273,10 +312,10 @@ export const rev = (done) => { // from a manifest file // export const revReplace = (done) => { - let manifest = src(DIST + '/assets/rev-manifest.json') - // globbing is slow so do everything conditionally for faster dev build if (isProduction) { + let manifest = src(DIST + '/assets/rev-manifest.json') + return src(DIST + '/**/*.{html,css,js}') .pipe($.revReplace({ manifest: manifest })) .pipe(dest(DIST)) @@ -302,11 +341,11 @@ export const server = (done) => { // Watch for file changes // export const watchSrc = () => { - watch(SRC + '_assets/styl/**/*.styl').on('all', series(css)) - watch(SRC + '_assets/js/**/*.js').on('all', series(js, browser.reload)) - watch(SRC + '_assets/img/**/*.{png,jpg,jpeg,gif,webp}').on('all', series(images, browser.reload)) - watch(SRC + '_assets/img/**/*.{svg}').on('all', series(icons, browser.reload)) - watch(SRC + '_media/**/*').on('all', series(media, browser.reload)) + watch(SRC + '/_assets/styl/**/*.styl').on('all', series(css)) + watch(SRC + '/_assets/js/**/*.js').on('all', series(js, browser.reload)) + watch(SRC + '/_assets/img/**/*.{png,jpg,jpeg,gif,webp}').on('all', series(images, browser.reload)) + watch(SRC + '/_assets/img/**/*.{svg}').on('all', series(icons, browser.reload)) + watch(SRC + '/_media/**/*').on('all', series(media, browser.reload)) watch([SRC + '/**/*.{html,xml,json,txt,md,yml}', './*.yml', SRC + '_includes/svg/*']).on('all', series('build', browser.reload)) } @@ -333,7 +372,7 @@ export const buildBanner = (done) => { // `gulp build` is the development build // `gulp build --production` is the production build // -export const build = series(buildBanner, clean, jekyll, parallel(html, css, js, images, icons, fonts, media), rev, revReplace) +export const build = series(buildBanner, clean, jekyll, parallel(html, css, js, images, imagesGenerated, icons, fonts, media), rev, revReplace, criticalCss) // // Build site, run server, and watch for file changes diff --git a/package.json b/package.json index b64e5bff..c36c0983 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "description": "Blog of Matthias Kretschmann", "homepage": "https://kremalicious.com", "license": "MIT", - "main": "gulpfile.js", + "main": "gulpfile.babel.js", "scripts": { "start": "gulp", "build": "gulp build --production" @@ -19,7 +19,7 @@ "normalize-css": ">=2.3.1", "normalize-opentype.css": ">=0.2.4", "picturefill": ">=2.3.1", - "simple-jekyll-search": ">=1.1.4", + "simple-jekyll-search": "1.1.8", "svg4everybody": ">=0.0.2", "vex-js": ">=2.3.4", "webcomponents.js": ">=0.7.1" @@ -30,6 +30,7 @@ "babel-preset-es2015": "^6.24.0", "browser-sync": ">=2.10.0", "concurrent-transform": ">=1.0.0", + "critical": ">=0.8.4", "cssnano": ">=3.6.2", "del": ">=1.2.0", "gulp": "github:gulpjs/gulp#4.0",