diff --git a/Gruntfile.js b/Gruntfile.js index 453d024..54875e1 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -14,6 +14,11 @@ module.exports = grunt => { exec: { eleventy: "npx @11ty/eleventy", }, + focus: { + dev: { + include: ["css", "js", "json", "md", "njk"], + }, + }, replace: { dev: { src: ["./dist/**/*.html", "./dist/**/*.js"], @@ -36,6 +41,28 @@ module.exports = grunt => { overwrite: true }, }, + watch: { + css: { + files: ["src/main/**/*.css"], + tasks: ["copy:css"], + }, + js: { + files: ["src/main/**/*.js"], + tasks: ["webpack:dev", "replace:dev"], + }, + json: { + files: ["src/main/**/*.json"], + tasks: ["exec:eleventy", "replace:dev"], + }, + md: { + files: ["src/main/**/*.md"], + tasks: ["exec:eleventy", "replace:dev"], + }, + njk: { + files: ["src/main/**/*.njk"], + tasks: ["exec:eleventy", "replace:dev"], + }, + }, webpack: { options: { entry: "./src/main/js/main.js", @@ -67,7 +94,9 @@ module.exports = grunt => { grunt.loadNpmTasks("grunt-contrib-clean"); grunt.loadNpmTasks("grunt-contrib-copy"); + grunt.loadNpmTasks("grunt-contrib-watch"); grunt.loadNpmTasks("grunt-exec"); + grunt.loadNpmTasks("grunt-focus"); grunt.loadNpmTasks("grunt-text-replace"); grunt.loadNpmTasks("grunt-webpack"); @@ -81,6 +110,7 @@ module.exports = grunt => { "webpack:dev", "replace:dev", ]); + grunt.registerTask("dev:server", ["dev", "focus:dev"]); grunt.registerTask("deploy", [ // Pre "clean", diff --git a/package-lock.json b/package-lock.json index 48d81a4..8bf7617 100644 Binary files a/package-lock.json and b/package-lock.json differ diff --git a/package.json b/package.json index ab9b84f..a2769c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blog", - "version": "1.1.11", + "version": "1.1.12", "description": "Felix W. Dekker's personal blog.", "author": "Felix W. Dekker", "browser": "dist/bundle.js", @@ -21,7 +21,9 @@ "grunt-cli": "^1.4.2", "grunt-contrib-clean": "^2.0.0", "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-watch": "^1.1.0", "grunt-exec": "^3.0.0", + "grunt-focus": "^1.0.0", "grunt-text-replace": "^0.4.0", "grunt-webpack": "^4.0.3", "webpack": "^5.36.0",