feat: add scheduled function to rebuild site

This commit is contained in:
Devin Haska 2024-03-19 15:53:46 -07:00
parent f90db1e8e1
commit 626131bc83
4 changed files with 94 additions and 2 deletions

3
.gitignore vendored
View file

@ -10,3 +10,6 @@ src/_includes/scripts
# secret data
.env
# Local Netlify folder
.netlify

View file

@ -0,0 +1,17 @@
const rebuildSite = async (triggerTitle) => {
const url = new URL(process.env.NETLIFY_REBUILD_HOOK);
url.searchParams.append("trigger_title", triggerTitle);
return await fetch(url.toString(), {
method: "POST",
});
};
export default async () => {
await rebuildSite("Refreshing data");
};
export const config = {
schedule: "0 */6 * * *",
};

75
package-lock.json generated
View file

@ -13,6 +13,7 @@
"@11ty/eleventy-fetch": "^4.0.0",
"@11ty/eleventy-img": "^3.1.8",
"@11ty/eleventy-plugin-rss": "^1.2.0",
"@netlify/functions": "^2.6.0",
"autoprefixer": "^10.4.17",
"cheerio": "^1.0.0-rc.12",
"cssnano": "^6.0.3",
@ -32,8 +33,7 @@
"postcss": "^8.4.33",
"postcss-import": "^16.0.0",
"postcss-import-ext-glob": "^2.1.1",
"prettier": "3.2.4",
"slugify": "^1.6.6"
"prettier": "3.2.4"
}
},
"node_modules/@11ty/dependency-tree": {
@ -467,6 +467,40 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@netlify/functions": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.6.0.tgz",
"integrity": "sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==",
"dev": true,
"dependencies": {
"@netlify/serverless-functions-api": "1.14.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@netlify/node-cookies": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz",
"integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==",
"dev": true,
"engines": {
"node": "^14.16.0 || >=16.0.0"
}
},
"node_modules/@netlify/serverless-functions-api": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.14.0.tgz",
"integrity": "sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==",
"dev": true,
"dependencies": {
"@netlify/node-cookies": "^0.1.0",
"urlpattern-polyfill": "8.0.2"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
}
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -5488,6 +5522,12 @@
"punycode": "^2.1.0"
}
},
"node_modules/urlpattern-polyfill": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz",
"integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==",
"dev": true
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@ -5919,6 +5959,31 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"@netlify/functions": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.6.0.tgz",
"integrity": "sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==",
"dev": true,
"requires": {
"@netlify/serverless-functions-api": "1.14.0"
}
},
"@netlify/node-cookies": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz",
"integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==",
"dev": true
},
"@netlify/serverless-functions-api": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.14.0.tgz",
"integrity": "sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==",
"dev": true,
"requires": {
"@netlify/node-cookies": "^0.1.0",
"urlpattern-polyfill": "8.0.2"
}
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -9559,6 +9624,12 @@
"punycode": "^2.1.0"
}
},
"urlpattern-polyfill": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz",
"integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==",
"dev": true
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View file

@ -16,6 +16,7 @@
"@11ty/eleventy-fetch": "^4.0.0",
"@11ty/eleventy-img": "^3.1.8",
"@11ty/eleventy-plugin-rss": "^1.2.0",
"@netlify/functions": "^2.6.0",
"autoprefixer": "^10.4.17",
"cheerio": "^1.0.0-rc.12",
"cssnano": "^6.0.3",