Replace extra JS script with template meta tags

This commit is contained in:
Florine W. Dekker 2021-06-08 23:13:08 +02:00
parent ee6a427a0a
commit 8f3933b21d
Signed by: FWDekker
GPG Key ID: 78B3EAF58145AF25
6 changed files with 14 additions and 62 deletions

View File

@ -11,7 +11,7 @@ module.exports = grunt => {
}, },
focus: { focus: {
dev: { dev: {
include: ["js", "json", "md", "njk"], include: ["json", "njk"],
}, },
}, },
replace: { replace: {
@ -37,50 +37,15 @@ module.exports = grunt => {
}, },
}, },
watch: { watch: {
js: {
files: ["src/main/**/*.js"],
tasks: ["webpack:dev", "replace:dev"],
},
json: { json: {
files: ["src/main/**/*.json"], files: ["src/main/**/*.json"],
tasks: ["exec:eleventy", "replace:dev"], tasks: ["exec:eleventy", "replace:dev"],
}, },
md: {
files: ["src/main/**/*.md"],
tasks: ["exec:eleventy", "replace:dev"],
},
njk: { njk: {
files: ["src/main/**/*.njk"], files: ["src/main/**/*.njk"],
tasks: ["exec:eleventy", "replace:dev"], tasks: ["exec:eleventy", "replace:dev"],
}, },
}, },
webpack: {
options: {
entry: "./src/main/js/main.js",
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
},
],
},
resolve: {
extensions: [".js"],
},
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "dist/"),
},
},
dev: {
mode: "development",
devtool: "inline-source-map",
},
deploy: {
mode: "production",
},
},
}); });
grunt.loadNpmTasks("grunt-contrib-clean"); grunt.loadNpmTasks("grunt-contrib-clean");
@ -88,15 +53,13 @@ module.exports = grunt => {
grunt.loadNpmTasks("grunt-exec"); grunt.loadNpmTasks("grunt-exec");
grunt.loadNpmTasks("grunt-focus"); grunt.loadNpmTasks("grunt-focus");
grunt.loadNpmTasks("grunt-text-replace"); grunt.loadNpmTasks("grunt-text-replace");
grunt.loadNpmTasks("grunt-webpack");
grunt.registerTask("dev", [ grunt.registerTask("dev", [
// Pre // Pre
"clean", "clean",
// Generate site // Generate site
"exec:eleventy", "exec:eleventy",
// Compile JS // Insert version number
"webpack:dev",
"replace:dev", "replace:dev",
]); ]);
grunt.registerTask("dev:server", ["dev", "focus:dev"]); grunt.registerTask("dev:server", ["dev", "focus:dev"]);
@ -105,8 +68,7 @@ module.exports = grunt => {
"clean", "clean",
// Generate site // Generate site
"exec:eleventy", "exec:eleventy",
// Compile JS // Insert version number
"webpack:deploy",
"replace:deploy", "replace:deploy",
]); ]);

View File

@ -20,4 +20,4 @@ $> npm run deploy
``` ```
You may need to change the `pathprefix` option of Eleventy when using WebStorm so that the root of the blog is changed You may need to change the `pathprefix` option of Eleventy when using WebStorm so that the root of the blog is changed
to `/error-pages/dist/` instead of `/`. to `/error-pages/dist/` instead of `/error/`.

BIN
package-lock.json generated

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"name": "error-pages", "name": "error-pages",
"version": "1.3.0", "version": "1.3.1",
"description": "Error pages for my website.", "description": "Error pages for my website.",
"author": "Felix W. Dekker", "author": "Felix W. Dekker",
"browser": "dist/bundle.js", "browser": "dist/bundle.js",
@ -17,15 +17,12 @@
}, },
"devDependencies": { "devDependencies": {
"@11ty/eleventy": "^0.12.1", "@11ty/eleventy": "^0.12.1",
"grunt": "^1.4.0", "grunt": "^1.4.1",
"grunt-cli": "^1.4.2", "grunt-cli": "^1.4.3",
"grunt-contrib-clean": "^2.0.0", "grunt-contrib-clean": "^2.0.0",
"grunt-contrib-watch": "^1.1.0", "grunt-contrib-watch": "^1.1.0",
"grunt-exec": "^3.0.0", "grunt-exec": "^3.0.0",
"grunt-focus": "^1.0.0", "grunt-focus": "^1.0.0",
"grunt-text-replace": "^0.4.0", "grunt-text-replace": "^0.4.0"
"grunt-webpack": "^4.0.3",
"webpack": "^5.36.2",
"webpack-cli": "^4.7.0"
} }
} }

View File

@ -1,11 +0,0 @@
// noinspection JSUnresolvedVariable
const {$, doAfterLoad, footer, nav} = window.fwdekker;
doAfterLoad(() => {
$("#nav").appendChild(nav("/"));
$("#footer").appendChild(footer({
vcsURL: "https://git.fwdekker.com/FWDekker/error-pages/",
version: "v%%VERSION_NUMBER%%"
}));
});

View File

@ -14,6 +14,12 @@ permalink: "{{ errorPage.code | slug }}.html"
<meta name="application-name" content="{{ site.title }}" /> <meta name="application-name" content="{{ site.title }}" />
<meta name="theme-color" content="#0033cc" /> <meta name="theme-color" content="#0033cc" />
<meta name="fwd:nav:target" content="#nav" />
<meta name="fwd:nav:highlight-path" content="/" />
<meta name="fwd:footer:target" content="#footer" />
<meta name="fwd:footer:vcs-url" content="https://git.fwdekker.com/FWDekker/error-pages/" />
<meta name="fwd:footer:version" content="v%%VERSION_NUMBER%%" />
<title>{{ errorPage.name }} | FWDekker</title> <title>{{ errorPage.name }} | FWDekker</title>
<link rel="stylesheet" href="https://static.fwdekker.com/fonts/roboto/roboto.css" /> <link rel="stylesheet" href="https://static.fwdekker.com/fonts/roboto/roboto.css" />
@ -40,7 +46,5 @@ permalink: "{{ errorPage.code | slug }}.html"
</main> </main>
<script src="https://static.fwdekker.com/lib/template/2.x.x/template.js"></script> <script src="https://static.fwdekker.com/lib/template/2.x.x/template.js"></script>
<!--suppress HtmlUnknownTarget -->
<script src="{{ '/bundle.js?v=%%VERSION_NUMBER%%' | url }}"></script>
</body> </body>
</html> </html>