diff --git a/config.toml b/config.toml
index 74ca4a63..876e25b1 100644
--- a/config.toml
+++ b/config.toml
@@ -28,7 +28,7 @@ disableAliases = true
description = "Hi there! I'm a frontend web developer based in Boston, Massachusetts specializing in the JAMstack, modern JavaScript frameworks, and progressive web apps."
image = "images/logo.png" # relative to assetDir root
mainSection = "notes" # content that appears in feeds
- baseURL = "https://jarv.is" # different from baseURL above, this is only used where necessary
+ baseURL = "https://jarv.is" # different from baseURL above, this is only used where necessary (no trailing slash!)
[params.theme]
maxWidth = 865 # px
defaultTheme = "light" # light or dark?
diff --git a/gulpfile.js b/gulpfile.js
index 2fdd13ab..2aeb1fc7 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -12,7 +12,7 @@ import imageminSvgo from "imagemin-svgo";
gulp.task("default", gulp.series(
clean,
- npx("webpack", ["--mode", "production", "--profile"]),
+ npx("webpack", ["--mode", "production", "--progress", "profile"]),
npx("hugo"),
gulp.parallel(
optimizeHtml,
@@ -21,7 +21,7 @@ gulp.task("default", gulp.series(
));
gulp.task("serve", gulp.parallel(
- npx("webpack", ["serve", "--progress"]),
+ npx("webpack", ["serve", "--mode", "development", "--progress", "profile"]),
npx("hugo", ["--watch", "--buildDrafts", "--buildFuture", "--verbose"]),
));
diff --git a/layouts/partials/head/canonical.html b/layouts/partials/head/canonical.html
index 49ebaf89..88a0d5f5 100644
--- a/layouts/partials/head/canonical.html
+++ b/layouts/partials/head/canonical.html
@@ -1,9 +1,9 @@
-
-
{{ if .Site.Params.social.webmentionIO }}
-
-
+
+
{{ end }}
+
+
diff --git a/webpack.config.js b/webpack.config.js
index 4b73d3e7..558112aa 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -42,16 +42,6 @@ export default {
new MiniCssExtractPlugin({
filename: isProd ? "css/[name]-[contenthash:6].css" : "css/[name].css",
}),
- new SriPlugin({
- hashFuncNames: ["sha512"],
- enabled: true,
- }),
- new WebpackAssetsManifest({
- writeToDisk: true,
- output: path.resolve(__dirname, "data/manifest.json"),
- publicPath: true,
- integrity: true,
- }),
new CopyPlugin({
patterns: [
{
@@ -64,6 +54,16 @@ export default {
},
],
}),
+ new SriPlugin({
+ hashFuncNames: ["sha512"],
+ enabled: true,
+ }),
+ new WebpackAssetsManifest({
+ writeToDisk: true,
+ output: path.resolve(__dirname, "data/manifest.json"),
+ publicPath: true,
+ integrity: true,
+ }),
],
module: {
rules: [
@@ -138,6 +138,7 @@ export default {
],
},
optimization: {
+ minimize: isProd,
minimizer: [
new TerserPlugin({
test: /\.js$/,
diff --git a/yarn.lock b/yarn.lock
index 61ac2cb9..44f8a024 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1127,7 +1127,12 @@
"@types/estree" "*"
"@types/json-schema" "*"
-"@types/estree@*", "@types/estree@^0.0.48":
+"@types/estree@*":
+ version "0.0.49"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.49.tgz#3facb98ebcd4114a4ecef74e0de2175b56fd4464"
+ integrity sha512-K1AFuMe8a+pXmfHTtnwBvqoEylNKVeaiKYkjmcEAdytMQVJ/i9Fu7sc13GxgXdO49gkE7Hy8SyJonUZUn+eVaw==
+
+"@types/estree@^0.0.48":
version "0.0.48"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74"
integrity sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==
@@ -1217,9 +1222,9 @@
form-data "^3.0.0"
"@types/node@*":
- version "15.12.5"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz#9a78318a45d75c9523d2396131bd3cca54b2d185"
- integrity sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.0.tgz#067a6c49dc7a5c2412a505628e26902ae967bf6f"
+ integrity sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg==
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
@@ -1259,26 +1264,26 @@
integrity sha512-dW1B1WHTfrWmEzXb/tp8xsZqQHAyMB9JwLwbBqkIQVzmNUI02R7lJqxUpKFM114ygNZHKA1r74oPugCAiYHt1A==
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
- integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.4.tgz#453e27c6930d66380b4c121e7d5e361c5c2d921b"
+ integrity sha512-zfyYsDTK1HTGYXU3fTiM76+om93HcFtsZd2M0bO/CL4DiETV7mSa/pIVN/6+G3esOqEMdg2An5cHHbK5t+9w+A==
"@types/xml2js@^0.4.8":
- version "0.4.8"
- resolved "https://registry.yarnpkg.com/@types/xml2js/-/xml2js-0.4.8.tgz#84c120c864a5976d0b5cf2f930a75d850fc2b03a"
- integrity sha512-EyvT83ezOdec7BhDaEcsklWy7RSIdi6CNe95tmOAK0yx/Lm30C9K75snT3fYayK59ApC2oyW+rcHErdG05FHJA==
+ version "0.4.9"
+ resolved "https://registry.yarnpkg.com/@types/xml2js/-/xml2js-0.4.9.tgz#a38267d8c2fe121c96922b12ee3bd89a58a6e20e"
+ integrity sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw==
dependencies:
"@types/node" "*"
"@types/yargs-parser@*":
- version "20.2.0"
- resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
- integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
+ version "20.2.1"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
+ integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
"@types/yargs@^16.0.0":
- version "16.0.3"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01"
- integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==
+ version "16.0.4"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
+ integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
dependencies:
"@types/yargs-parser" "*"
@@ -2681,9 +2686,9 @@ color-support@^1.1.3:
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
colord@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/colord/-/colord-2.0.1.tgz#1e7fb1f9fa1cf74f42c58cb9c20320bab8435aa0"
- integrity sha512-vm5YpaWamD0Ov6TSG0GGmUIwstrWcfKQV/h2CmbR7PbNu41+qdB5PW9lpzhjedrpm08uuYvcXi0Oel1RLZIJuA==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/colord/-/colord-2.1.0.tgz#28cd9d6ac874dff97ef5ec1432c5c0b4e58e49c7"
+ integrity sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==
colorette@^1.2.1, colorette@^1.2.2:
version "1.2.2"
@@ -3582,9 +3587,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.723:
- version "1.3.762"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.762.tgz#3fa4e3bcbda539b50e3aa23041627063a5cffe61"
- integrity sha512-LehWjRpfPcK8F1Lf/NZoAwWLWnjJVo0SZeQ9j/tvnBWYcT99qDqgo4raAfS2oTKZjPrR/jxruh85DGgDUmywEA==
+ version "1.3.766"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.766.tgz#2fd14a4e54f77665872f4e23fcf4968e83638220"
+ integrity sha512-u2quJ862q9reRKh/je3GXis3w38+RoXH1J9N3XjtsS6NzmUAosNsyZgUVFZPN/ZlJ3v6T0rTyZR3q/J5c6Sy5w==
emoji-regex@^7.0.1:
version "7.0.3"
@@ -4473,9 +4478,9 @@ flat-cache@^3.0.4:
rimraf "^3.0.2"
flatted@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
- integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.0.tgz#da07fb8808050aba6fdeac2294542e5043583f05"
+ integrity sha512-XprP7lDrVT+kE2c2YlfiV+IfS9zxukiIOvNamPNsImNhXadSsQEbosItdL9bUQlCZXR13SvPk20BjWSWLA7m4A==
flush-write-stream@^1.0.2:
version "1.1.1"