Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/CaiJimmy/hugo-theme-stack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy Cai <hi@jimmycai.com>2020-09-17 23:33:58 +0300
committerGitHub <noreply@github.com>2020-09-17 23:33:58 +0300
commite20d401007e26d486674efbdd7e6c67aaf8e6b59 (patch)
tree7e5dc199ef4af4992ef7bf3be3c84929fabd56a1
parent4a12e6fc3145d1f95601b6950e42abf7124092e7 (diff)
parent69e41b1c0d961ec4c51aab672399f0c8f33e1a7a (diff)
Merge pull request #11 from CaiJimmy/netlify-cache
ci: add cache for Netlify build
-rw-r--r--exampleSite/plugins/netlify-plugin-hugo-cache-resources/README.md27
-rw-r--r--exampleSite/plugins/netlify-plugin-hugo-cache-resources/index.js39
-rw-r--r--exampleSite/plugins/netlify-plugin-hugo-cache-resources/manifest.yml5
-rw-r--r--netlify.toml5
4 files changed, 75 insertions, 1 deletions
diff --git a/exampleSite/plugins/netlify-plugin-hugo-cache-resources/README.md b/exampleSite/plugins/netlify-plugin-hugo-cache-resources/README.md
new file mode 100644
index 0000000..a7c1ef2
--- /dev/null
+++ b/exampleSite/plugins/netlify-plugin-hugo-cache-resources/README.md
@@ -0,0 +1,27 @@
+> Original Repo: https://github.com/cdeleeuwe/netlify-plugin-hugo-cache-resources
+>
+# Netlify Build Plugin: Persist Hugo resources Between Builds
+
+Persist [Hugo](https://gohugo.io/) resources folder between Netlify builds for huge build speed improvements! ⚡️
+
+This plugin caches the `resources` folder after build. If you are processing many images, this would improve build duration significantly.
+
+Note: Restoring cache only comes from the production branch. So once cache is saved on the production branch, the next preview build would use the cache. For example, when pushing to the same preview build, the latest preview build will not get the cache from the previous preview build, but will get it from master.
+
+## Usage
+
+To install, add the following lines to your `netlify.toml` file:
+
+```toml
+[build]
+ publish = "public"
+
+[[plugins]]
+ package = "netlify-plugin-hugo-cache-resources"
+
+ [plugins.inputs]
+ # If it should show more verbose logs (optional, default = true)
+ debug = true
+```
+
+Note: The `[[plugins]]` line is required for each plugin, even if you have other plugins in your `netlify.toml` file already. \ No newline at end of file
diff --git a/exampleSite/plugins/netlify-plugin-hugo-cache-resources/index.js b/exampleSite/plugins/netlify-plugin-hugo-cache-resources/index.js
new file mode 100644
index 0000000..fd8ffb6
--- /dev/null
+++ b/exampleSite/plugins/netlify-plugin-hugo-cache-resources/index.js
@@ -0,0 +1,39 @@
+const getResourcesDir = () => {
+ return 'exampleSite/resources';
+}
+
+const printList = (items) => {
+ console.log('---');
+ items.forEach((item, index) => {
+ console.log(`${index + 1}. ${item}`);
+ });
+}
+
+module.exports = {
+
+ async onPreBuild({ utils, inputs }) {
+ const path = getResourcesDir();
+ const success = await utils.cache.restore(path);
+
+ if (success) {
+ const cachedFiles = await utils.cache.list(path);
+ console.log(`Restored cached resources folder. Total files: ${cachedFiles.length}`);
+ if (inputs.debug) printList(cachedFiles);
+ } else {
+ console.log(`No cache found for resources folder`);
+ }
+ },
+
+ async onPostBuild({ utils, inputs }) {
+ const path = getResourcesDir();
+ const success = await utils.cache.save(path);
+
+ if (success) {
+ const cachedFiles = await utils.cache.list(path);
+ console.log(`Saved resources folder to cache. Total files: ${cachedFiles.length}`);
+ if (inputs.debug) printList(cachedFiles);
+ } else {
+ console.log(`No resources folder cached`);
+ }
+ }
+}; \ No newline at end of file
diff --git a/exampleSite/plugins/netlify-plugin-hugo-cache-resources/manifest.yml b/exampleSite/plugins/netlify-plugin-hugo-cache-resources/manifest.yml
new file mode 100644
index 0000000..d6a208f
--- /dev/null
+++ b/exampleSite/plugins/netlify-plugin-hugo-cache-resources/manifest.yml
@@ -0,0 +1,5 @@
+name: netlify-plugin-hugo-cache
+inputs:
+ - name: debug
+ description: Show more verbose logs
+ default: true \ No newline at end of file
diff --git a/netlify.toml b/netlify.toml
index 55ebd33..08c3dca 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -14,4 +14,7 @@
command = "cd exampleSite && hugo --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}"
[context.deploy-preview]
- command = "cd exampleSite && hugo --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}" \ No newline at end of file
+ command = "cd exampleSite && hugo --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}"
+
+[[plugins]]
+ package = "/exampleSite/plugins/netlify-plugin-hugo-cache-resources" \ No newline at end of file