diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 7bd07061..00000000 --- a/Gruntfile.js +++ /dev/null @@ -1,338 +0,0 @@ -module.exports = function(grunt){ - 'use strict'; - - // config - var gruntConfig = { - src: '_src', - site: '_site', - build: '_build', - cdnurl: 'https://d2jlreog722xe2.cloudfront.net', - assets: { - stylus: 'assets/styl', - css: 'assets/css', - js: 'assets/js', - img: 'assets/img', - fonts: 'assets/fonts' - } - }; - - // banner - grunt.log.writeln(""); - grunt.log.writeln(" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); - grunt.log.writeln(""); - grunt.log.writeln(" (o) Just what do you think you're doing, Matthias? "); - grunt.log.writeln(""); - grunt.log.writeln(" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); - grunt.log.writeln(""); - - // Grunt config - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - config: gruntConfig, - - // clean everything - clean: { - site: [ - '<%= config.site %>/*', - '<%= config.site %>/.htaccess', - '!<%= config.site %>/media' - ], - build: [ - '<%= config.build %>/*', - '<%= config.build %>/.htaccess' - ] - }, - - // Jekyll - jekyll: { - options: { - src : '<%= config.src %>/', - config: './_config.yml' - }, - production: { - options: { - lsi: true - } - }, - development: { - options: { - drafts: true, - future: true, - //limit_posts: 5 - } - } - }, - - // Stylus - stylus: { - compile: { - options: { - 'include css': true, - compress: false - }, - files: { - '<%= config.site %>/<%= config.assets.css %>/kremalicious3.min.css' : '<%= config.src %>/<%= config.assets.stylus %>/kremalicious3.styl', - '<%= config.site %>/<%= config.assets.css %>/poststyle-2300.min.css' : '<%= config.src %>/<%= config.assets.stylus %>/poststyle-2300.styl' - } - } - }, - - // Post process css - postcss: { - options: { - processors: [ - // autoprefixer - require('autoprefixer-core')({browsers: 'last 2 versions'}), - // combine media queries - require('css-mqpacker'), - // css minification - require('csswring') - ] - }, - dist: { - src: '<%= config.site %>/<%= config.assets.css %>/*.css' - } - }, - - // Concatenate and minify js - uglify: { - options: { - report: 'min' - }, - production: { - files: { - '<%= config.site %>/<%= config.assets.js %>/picturefill.min.js': [ - 'node_modules/picturefill/dist/picturefill.js' - ], - '<%= config.site %>/<%= config.assets.js %>/CustomElements.min.js': [ - 'node_modules/webcomponents.js/CustomElements.js' - ], - '<%= config.site %>/<%= config.assets.js %>/kremalicious3.min.js': [ - 'node_modules/jquery/dist/jquery.js', - 'node_modules/masonry-layout/dist/masonry.pkgd.js', - 'node_modules/imagesloaded/imagesloaded.js', - 'bower_components/simple-jekyll-search/dest/jekyll-search.js', - 'bower_components/time-elements/time-elements.js', - '<%= config.src %>/<%= config.assets.js %>/app.js' - ] - } - } - }, - - // image optimization - imagemin: { - assets: { - files: [{ - expand: true, - cwd: '<%= config.site %>/<%= config.assets.img %>/', - src: ['**/*.{png,jpg,jpeg,gif}'], - dest: '<%= config.site %>/<%= config.assets.img %>/' - }] - }, - media: { - files: [{ - expand: true, - cwd: '<%= config.site %>/media/', - src: ['**/*.{png,gif}'], - dest: '<%= config.site %>/media/' - }] - }, - touchicons: { - files: [{ - expand: true, - cwd: '<%= config.site %>/', - src: ['*.png'], - dest: '<%= config.site %>/' - }] - } - }, - - // dev server - connect: { - server: { - options: { - port: 1337, - hostname: '*', - base: '<%= config.site %>' - } - } - }, - - // watch - watch: { - options: { - livereload: true - }, - stylus: { - files: ['<%= config.src %>/<%= config.assets.stylus %>/*.styl'], - tasks: ['stylus', 'postcss'] - }, - js: { - files: ['<%= config.src %>/<%= config.assets.js %>/*.js'], - tasks: ['uglify'] - }, - jekyll: { - files: [ - '<%= config.src %>/**/*.html', - '<%= config.src %>/*.xml', - '<%= config.src %>/*.json', - '<%= config.src %>/.htaccess', - '<%= config.src %>/_includes/**', - '<%= config.src %>/_layouts/**', - '<%= config.src %>/_posts/**', - '<%= config.src %>/_drafts/**' - ], - tasks: ['jekyll:development', 'stylus', 'postcss', 'uglify'] - }, - }, - - // assets versioning - rev: { - files: { - src: [ - '<%= config.build %>/assets/{css,js,img,fonts}/*.*' - ] - } - }, - - // updating assets paths in html/css - usemin: { - html: ['<%= config.build %>/**/*.html'], - css: ['<%= config.build %>/**/*.css'], - options: { - dirs: '<%= config.build %>', - basedir: '<%= config.build %>', - assetsDirs: ['<%= config.build %>', '<%= config.build %>/assets/{css,js,img,fonts}'] - } - }, - - // insert CDN url by replacing text strings - replace: { - html: { - src: ['<%= config.build %>/**/*.html'], - overwrite: true, - replacements: [ - { - from: '/assets/js/', - to: '<%= config.cdnurl %>/assets/js/' - }, - { - from: '/assets/img/', - to: '<%= config.cdnurl %>/assets/img/' - }, - { - from: '/media/', - to: '<%= config.cdnurl %>/media/' - }, - { - from: 'https://kremalicious.com<%= config.cdnurl %>/media/', - to: 'https://kremalicious.com/media/' - } - ] - }, - css: { - src: ['<%= config.build %>/<%= config.assets.css %>/*.css'], - overwrite: true, - replacements: [ - { - from: '../', - to: '<%= config.cdnurl %>/assets/' - } - ] - } - }, - - // rsync stuff around - rsync: { - options: { - recursive: true - }, - // copy media folder - copy_media: { - options: { - src: '<%= config.src %>/_media/', - dest: '<%= config.site %>/media', - exclude: ['**/gen'], - syncDestIgnoreExcl: true, - args: ['--update'] - } - }, - // copy build - copy_build: { - options: { - src: '<%= config.site %>/', - dest: '<%= config.build %>', - syncDest: true - } - }, - // deployment - deploy: { - options: { - syncDest: true, - src: '<%= config.build %>/', - dest: 'domains/kremalicious.com/html', - host: 'kremalicious', - ssh: true, - compareMode: 'checksum', - args: ['--verbose'] - } - } - } - - }); - - // Load NPM Tasks, smart code stolen from @bluemaex - require('fs').readdirSync('node_modules').filter(function (file) { - return file && file.indexOf('grunt-') > -1; - }).forEach(function (file) { - grunt.loadNpmTasks(file); - }); - - // Default Task, assets only - grunt.registerTask('default', [ - 'stylus', - 'postcss', - 'uglify', - 'connect', - 'watch' - ]); - - // Full Dev server - grunt.registerTask('server', [ - 'clean:site', - 'jekyll:development', - 'rsync:copy_media', - 'stylus', - 'postcss', - 'uglify', - 'connect', - 'watch' - ]); - - // Production build - grunt.registerTask('build', [ - 'clean', - 'jekyll:production', - 'rsync:copy_media', - 'stylus', - 'postcss', - 'uglify', - 'imagemin:assets', - 'imagemin:touchicons', - 'rsync:copy_build', - 'rev', - 'usemin', - 'replace' - ]); - - // Optimze media - grunt.registerTask('mediamin', [ - 'imagemin:media' - ]); - - // Deploy - grunt.registerTask('deploy', [ - 'rsync:deploy' - ]); - -}; diff --git a/README.md b/README.md index 24de2901..aa5a88fb 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,6 @@ Link | `rake link -- Title` Get up and running ------------------ -For various reasons the assets build process and Jekyll site generation is managed through Grunt instead of `jekyll` or `rake`. - -Both, `grunt server` and `grunt build`, use [grunt-jekyll](https://github.com/dannygarcia/grunt-jekyll) to first generate the site into the `_site` folder and the following Grunt tasks output into that folder. The build task copies everything over into the `_build`folder. - -The `media` folder holding the source post images is excluded from Jekyll site generation and rsynced around from `_src/_media` to `_site/media` before site generation starts. - -Image size generation for post teaser images and photos is done with [jekyll-picture-tag](https://github.com/robwierzbowski/jekyll-picture-tag), putting resized images into `_site/media/gen`. ### Install dependencies @@ -49,20 +42,18 @@ npm install ### Development build -This generates the site and assets with some Jekyll development options and starts a local dev server combined with a livereloading watch task under `http://localhost:1337`. - -**[jekyll-picture-tag](https://github.com/robwierzbowski/jekyll-picture-tag) makes site generation very slow at the moment.** During development, uncommenting [some lines](https://github.com/kremalicious/kremalicious3/blob/master/_src/_plugins/picture_tag.rb#L142-L144) in that plugin's file speeds up regeneration dramatically. Seriously, from like 10 min. to 10 sec. Downside: no teaser images or photos in the development build. +This generates the site and assets and starts a local dev server combined with a livereloading watch task under `http://localhost:1337`. ```bash -grunt server +gulp server ``` ### Production build -Runs almost the same tasks as `grunt server` but puts everything into the `_build` directory, versions all assets and optimizes all image assets. +Runs almost the same tasks as `gulp server` but additionally versions all assets and optimizes all image assets. ```bash -grunt build +gulp build ``` diff --git a/_config.yml b/_config.yml index c25ce8b2..acb72ecc 100644 --- a/_config.yml +++ b/_config.yml @@ -45,7 +45,6 @@ redcarpet: source: ./_src destination: ./_site -exclude: ['assets/styl', 'app.js'] keep_files: ['media', 'gen'] diff --git a/_src/assets/fonts/Google Android License.txt b/_src/_assets/fonts/Google Android License.txt similarity index 100% rename from _src/assets/fonts/Google Android License.txt rename to _src/_assets/fonts/Google Android License.txt diff --git a/_src/assets/fonts/Roboto-Regular-webfont.eot b/_src/_assets/fonts/Roboto-Regular-webfont.eot similarity index 100% rename from _src/assets/fonts/Roboto-Regular-webfont.eot rename to _src/_assets/fonts/Roboto-Regular-webfont.eot diff --git a/_src/assets/fonts/Roboto-Regular-webfont.svg b/_src/_assets/fonts/Roboto-Regular-webfont.svg similarity index 100% rename from _src/assets/fonts/Roboto-Regular-webfont.svg rename to _src/_assets/fonts/Roboto-Regular-webfont.svg diff --git a/_src/assets/fonts/Roboto-Regular-webfont.ttf b/_src/_assets/fonts/Roboto-Regular-webfont.ttf similarity index 100% rename from _src/assets/fonts/Roboto-Regular-webfont.ttf rename to _src/_assets/fonts/Roboto-Regular-webfont.ttf diff --git a/_src/assets/fonts/Roboto-Regular-webfont.woff b/_src/_assets/fonts/Roboto-Regular-webfont.woff similarity index 100% rename from _src/assets/fonts/Roboto-Regular-webfont.woff rename to _src/_assets/fonts/Roboto-Regular-webfont.woff diff --git a/_src/assets/fonts/entypo.eot b/_src/_assets/fonts/entypo.eot similarity index 100% rename from _src/assets/fonts/entypo.eot rename to _src/_assets/fonts/entypo.eot diff --git a/_src/assets/fonts/entypo.svg b/_src/_assets/fonts/entypo.svg similarity index 100% rename from _src/assets/fonts/entypo.svg rename to _src/_assets/fonts/entypo.svg diff --git a/_src/assets/fonts/entypo.ttf b/_src/_assets/fonts/entypo.ttf similarity index 100% rename from _src/assets/fonts/entypo.ttf rename to _src/_assets/fonts/entypo.ttf diff --git a/_src/assets/fonts/entypo.woff b/_src/_assets/fonts/entypo.woff similarity index 100% rename from _src/assets/fonts/entypo.woff rename to _src/_assets/fonts/entypo.woff diff --git a/_src/assets/img/avatar.jpeg b/_src/_assets/img/avatar.jpeg similarity index 100% rename from _src/assets/img/avatar.jpeg rename to _src/_assets/img/avatar.jpeg diff --git a/_src/assets/img/krlcus-cloud16.png b/_src/_assets/img/krlcus-cloud16.png similarity index 100% rename from _src/assets/img/krlcus-cloud16.png rename to _src/_assets/img/krlcus-cloud16.png diff --git a/_src/assets/img/krlcus-cloud32.png b/_src/_assets/img/krlcus-cloud32.png similarity index 100% rename from _src/assets/img/krlcus-cloud32.png rename to _src/_assets/img/krlcus-cloud32.png diff --git a/_src/assets/img/logo-kremalicious-g-profile.png b/_src/_assets/img/logo-kremalicious-g-profile.png similarity index 100% rename from _src/assets/img/logo-kremalicious-g-profile.png rename to _src/_assets/img/logo-kremalicious-g-profile.png diff --git a/_src/assets/img/logo.png b/_src/_assets/img/logo.png similarity index 100% rename from _src/assets/img/logo.png rename to _src/_assets/img/logo.png diff --git a/_src/assets/img/logo@2x.png b/_src/_assets/img/logo@2x.png similarity index 100% rename from _src/assets/img/logo@2x.png rename to _src/_assets/img/logo@2x.png diff --git a/_src/assets/img/logo@3x.png b/_src/_assets/img/logo@3x.png similarity index 100% rename from _src/assets/img/logo@3x.png rename to _src/_assets/img/logo@3x.png diff --git a/_src/assets/js/app.js b/_src/_assets/js/app.js similarity index 100% rename from _src/assets/js/app.js rename to _src/_assets/js/app.js diff --git a/_src/assets/styl/alerts.styl b/_src/_assets/styl/alerts.styl similarity index 100% rename from _src/assets/styl/alerts.styl rename to _src/_assets/styl/alerts.styl diff --git a/_src/assets/styl/animations.styl b/_src/_assets/styl/animations.styl similarity index 100% rename from _src/assets/styl/animations.styl rename to _src/_assets/styl/animations.styl diff --git a/_src/assets/styl/buttons.styl b/_src/_assets/styl/buttons.styl similarity index 100% rename from _src/assets/styl/buttons.styl rename to _src/_assets/styl/buttons.styl diff --git a/_src/assets/styl/code.styl b/_src/_assets/styl/code.styl similarity index 100% rename from _src/assets/styl/code.styl rename to _src/_assets/styl/code.styl diff --git a/_src/assets/styl/comments.styl b/_src/_assets/styl/comments.styl similarity index 100% rename from _src/assets/styl/comments.styl rename to _src/_assets/styl/comments.styl diff --git a/_src/assets/styl/content-featured.styl b/_src/_assets/styl/content-featured.styl similarity index 100% rename from _src/assets/styl/content-featured.styl rename to _src/_assets/styl/content-featured.styl diff --git a/_src/assets/styl/content-link.styl b/_src/_assets/styl/content-link.styl similarity index 100% rename from _src/assets/styl/content-link.styl rename to _src/_assets/styl/content-link.styl diff --git a/_src/assets/styl/content-photo.styl b/_src/_assets/styl/content-photo.styl similarity index 100% rename from _src/assets/styl/content-photo.styl rename to _src/_assets/styl/content-photo.styl diff --git a/_src/assets/styl/content-related.styl b/_src/_assets/styl/content-related.styl similarity index 100% rename from _src/assets/styl/content-related.styl rename to _src/_assets/styl/content-related.styl diff --git a/_src/assets/styl/content.styl b/_src/_assets/styl/content.styl similarity index 100% rename from _src/assets/styl/content.styl rename to _src/_assets/styl/content.styl diff --git a/_src/assets/styl/footer.styl b/_src/_assets/styl/footer.styl similarity index 100% rename from _src/assets/styl/footer.styl rename to _src/_assets/styl/footer.styl diff --git a/_src/assets/styl/forms.styl b/_src/_assets/styl/forms.styl similarity index 100% rename from _src/assets/styl/forms.styl rename to _src/_assets/styl/forms.styl diff --git a/_src/assets/styl/grid.styl b/_src/_assets/styl/grid.styl similarity index 100% rename from _src/assets/styl/grid.styl rename to _src/_assets/styl/grid.styl diff --git a/_src/assets/styl/header.styl b/_src/_assets/styl/header.styl similarity index 100% rename from _src/assets/styl/header.styl rename to _src/_assets/styl/header.styl diff --git a/_src/assets/styl/icons.styl b/_src/_assets/styl/icons.styl similarity index 100% rename from _src/assets/styl/icons.styl rename to _src/_assets/styl/icons.styl diff --git a/_src/assets/styl/kremalicious3.styl b/_src/_assets/styl/kremalicious3.styl similarity index 100% rename from _src/assets/styl/kremalicious3.styl rename to _src/_assets/styl/kremalicious3.styl diff --git a/_src/assets/styl/media.styl b/_src/_assets/styl/media.styl similarity index 100% rename from _src/assets/styl/media.styl rename to _src/_assets/styl/media.styl diff --git a/_src/assets/styl/mixins.styl b/_src/_assets/styl/mixins.styl similarity index 100% rename from _src/assets/styl/mixins.styl rename to _src/_assets/styl/mixins.styl diff --git a/_src/assets/styl/navigation.styl b/_src/_assets/styl/navigation.styl similarity index 100% rename from _src/assets/styl/navigation.styl rename to _src/_assets/styl/navigation.styl diff --git a/_src/assets/styl/page-404.styl b/_src/_assets/styl/page-404.styl similarity index 100% rename from _src/assets/styl/page-404.styl rename to _src/_assets/styl/page-404.styl diff --git a/_src/assets/styl/page-about.styl b/_src/_assets/styl/page-about.styl similarity index 100% rename from _src/assets/styl/page-about.styl rename to _src/_assets/styl/page-about.styl diff --git a/_src/assets/styl/poststyle-2300.styl b/_src/_assets/styl/poststyle-2300.styl similarity index 100% rename from _src/assets/styl/poststyle-2300.styl rename to _src/_assets/styl/poststyle-2300.styl diff --git a/_src/assets/styl/print.styl b/_src/_assets/styl/print.styl similarity index 100% rename from _src/assets/styl/print.styl rename to _src/_assets/styl/print.styl diff --git a/_src/assets/styl/scaffolding.styl b/_src/_assets/styl/scaffolding.styl similarity index 100% rename from _src/assets/styl/scaffolding.styl rename to _src/_assets/styl/scaffolding.styl diff --git a/_src/assets/styl/search.styl b/_src/_assets/styl/search.styl similarity index 100% rename from _src/assets/styl/search.styl rename to _src/_assets/styl/search.styl diff --git a/_src/assets/styl/syntax.styl b/_src/_assets/styl/syntax.styl similarity index 100% rename from _src/assets/styl/syntax.styl rename to _src/_assets/styl/syntax.styl diff --git a/_src/assets/styl/tables.styl b/_src/_assets/styl/tables.styl similarity index 100% rename from _src/assets/styl/tables.styl rename to _src/_assets/styl/tables.styl diff --git a/_src/assets/styl/typography.styl b/_src/_assets/styl/typography.styl similarity index 100% rename from _src/assets/styl/typography.styl rename to _src/_assets/styl/typography.styl diff --git a/_src/assets/styl/variables.styl b/_src/_assets/styl/variables.styl similarity index 100% rename from _src/assets/styl/variables.styl rename to _src/_assets/styl/variables.styl diff --git a/_src/_includes/footer.html b/_src/_includes/footer.html index 0ceed5cf..8a1b0455 100644 --- a/_src/_includes/footer.html +++ b/_src/_includes/footer.html @@ -33,7 +33,8 @@ - + +