From 09affb00610b6e29222f360984c0d74714399dc2 Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Fri, 29 Nov 2019 15:47:24 +0800 Subject: [PATCH 01/14] ci(commitizen): add Commitizen support add Commitizen for easy conventional commits --- README.md | 6 +++++- package.json | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 06c9e15..6d205a5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # nuxt-static - > Nuxt generate static site boilerplate +[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) + ## Build Setup ``` bash +# install prerequisites +npm install -g commitizen + # install dependencies $ npm run install diff --git a/package.json b/package.json index ca557f1..92d8b03 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,15 @@ }, "husky": { "hooks": { + "prepare-commit-msg": "exec < /dev/tty && git cz --hook || true", "pre-commit": "lint-staged" } }, + "config": { + "commitizen": { + "path": "cz-conventional-changelog" + } + }, "dependencies": { "nuxt": "^2.0.0", "@nuxtjs/pwa": "^3.0.0-0" From 619d506fbadc467b7717a0a9614e8fac040f255f Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Fri, 29 Nov 2019 15:59:57 +0800 Subject: [PATCH 02/14] ci(semantic-release): automate release add release automation with `semantic-release` and GitHub Actions --- .github/workflows/release.yml | 15 +++++++++++++++ README.md | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6b8229d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,15 @@ +name: Release +on: + push: + branches: + - master +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: npx semantic-release diff --git a/README.md b/README.md index 6d205a5..598b030 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # nuxt-static > Nuxt generate static site boilerplate +[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) +[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) ## Build Setup From 822a6baee44c34c331fba72dd7ef6ceebb11d2cb Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Fri, 29 Nov 2019 17:17:26 +0800 Subject: [PATCH 03/14] style(prettier): modify Prettier config modify Prettier config at `.prettierrc` to better suit preferences --- .prettierrc | 2 +- README.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.prettierrc b/.prettierrc index 59639c5..2cc82f7 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,5 @@ { "semi": false, - "arrowParens": "always", + "arrowParens": "avoid", "singleQuote": true } diff --git a/README.md b/README.md index 598b030..d5ec381 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # nuxt-static > Nuxt generate static site boilerplate +[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) From 2099b0647631d3571373cfb096e6afd6c12c23e8 Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Fri, 29 Nov 2019 18:55:41 +0800 Subject: [PATCH 04/14] build(netlify): add netlify support add netlify config including recommended security headers --- README.md | 3 +++ netlify.toml | 28 ++++++++++++++++++++++++++++ nuxt.config.js | 6 ++++++ 3 files changed, 37 insertions(+) create mode 100644 netlify.toml diff --git a/README.md b/README.md index d5ec381..67eca57 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # nuxt-static > Nuxt generate static site boilerplate +Check out the demo [here](https://nuxt-static.demo.rbi.nz) + +[![Netlify Status](https://api.netlify.com/api/v1/badges/454e075a-e72f-4760-abd7-60ddce79de0b/deploy-status)](https://app.netlify.com/sites/binz-nuxt-static/deploys) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..22b1cef --- /dev/null +++ b/netlify.toml @@ -0,0 +1,28 @@ +[build] + # Directory containing files to be published + publish = "dist" + # Default build command. + command = "npm run generate" + +[[headers]] + for = "/*" + [headers.values] + X-Frame-Options = "DENY" + X-XSS-Protection = "1; mode=block" + Content-Security-Policy = ''' + default-src https:; + style-src https: 'self' 'unsafe-inline'; + script-src https: 'self' 'unsafe-inline'; + object-src 'none' + ''' + Referrer-Policy = "strict-origin-when-cross-origin" + X-Content-Type-Options = "nosniff" + Feature-Policy = ''' + ambient-light-sensor 'none'; + geolocation 'none'; + midi 'none'; + microphone 'none'; + camera 'none'; + magnetometer 'none'; + speaker 'none' + ''' diff --git a/nuxt.config.js b/nuxt.config.js index 6467f46..cfa3a25 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -64,6 +64,12 @@ export default { } } }, + /* + ** Generate configuration + */ + generate: { + fallback: true + }, /* ** Build configuration */ From c9f3845437ae3cdcf4101e197a03442e6eae2d58 Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Fri, 29 Nov 2019 19:55:48 +0800 Subject: [PATCH 05/14] feat(pwa): add pwa config add pwa config to `nuxt.config.js` remove redundant code in `head` section. --- nuxt.config.js | 24 ++++++++++-------------- static/favicon.ico | Bin 1393 -> 0 bytes 2 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 static/favicon.ico diff --git a/nuxt.config.js b/nuxt.config.js index cfa3a25..1c88d5f 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -3,21 +3,17 @@ import colors from 'vuetify/es5/util/colors' export default { mode: 'universal', /* - ** Headers of the page + ** PWA settings */ - head: { - titleTemplate: '%s - ' + process.env.npm_package_name, - title: process.env.npm_package_name || '', - meta: [ - { charset: 'utf-8' }, - { name: 'viewport', content: 'width=device-width, initial-scale=1' }, - { - hid: 'description', - name: 'description', - content: process.env.npm_package_description || '' - } - ], - link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }] + pwa: { + meta: { + name: process.env.npm_package_name || 'Website', + description: process.env.npm_package_description || '' + }, + manifest: { + short_name: process.env.npm_package_name || 'Site', + name: process.env.npm_package_name || 'Website' + } }, /* ** Customize the progress-bar color diff --git a/static/favicon.ico b/static/favicon.ico deleted file mode 100644 index 3632d0c89129045dc4103e84e59e426c57b8f51a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1393 zcmV-%1&;cOP)Px)D@jB_R9Fe^ReNldMG&9eyIx;VxmMIdgjhwCKeVN$X=xNR5F_{iAD9pW6t#*F zgsb$5TDXc(+R_KbHns{HwTUSSMxqkbMAXm+Qmqd}qLq*w23kw2)Y7}&?)uyB`r&ui zgSLtP7@6d5XJ%(+e>;!;h%VEAG6Suz+(=E0vHu2kKIR~YDr+g=KThO5N?%t`9J7Cz z!`J{cS7sBbmBg4LMc2`Q*c=vb%;M+)D8)#rilGypCSqLx@dPzj-aO`0Ee@jx&{DMo z2WG&xg=Vd*Cq_lch7F)fE%7L^BtJ8$xL~eTcPV~!0CdAiRcr*Z+1D9sR%#uxa2%lS zMHc30U1D*;LsF_{LE;nVHg~>ZH^SfO0I1*c5a(Lr^e$ztX)$85I|Ia7@DN4Y6RSN5 zisVjYMleQy5y_2LmgG+w;e3P~i4NCXgH*d=HbBx*5MrLSb{`J>9A!vneqSRxGno<9 zE23>mQG7tr%OUm=gpmORdJXM@drwr%R(lc%Hl26;kf|LIe!i@Uup z*Llp$^8n6C$?f4TR{7EZgs8wRV8aUOrpM1&9Zf!U!LkK0XZn-1d__lJO8SGj2H%rk z@(%pkpq}e2T|eKn4__}1pt<5c)b=i<{s+pMyer&M%jvnfQA(ANZUt|F4GdoFEX4rC-M{KbO^D{(o%D)QCbo>s)CXAnlwG$1v zG;RKh+q6M%LCF^=-+R!_`1Hh)C$%n|A_Hh?Ux_qOl*A&ww!d(JcrU;Vzm zBG@?@XRm(q{u@8){e>ARy8+@`9F{%vo}5Rut}DOnXHL8pwpR&B8???!!vXa93sL(d z7}ev^F#=m1G@tfB&J5T*g`4%n#MuEhNFI+z66b5RB$+6gvwV4s=Hnc(FX2KxVAtV= zoT7Cmg#u`*xdEwPjlh3UtnETz)7V_4UsRy3cBH?kdC#u1re3e@AG~=G{(JEdP3`SM z|A4$M&soglW;|3e0KQf0ObP`+zET)O5%DcFb4{0NWL@>xLB1RP@zaEilp5=v$vc>R zJ#Os7gltH=e}(ZJCtn{ATlR}$Y6*J5Xi{ze4}hlX*{IVZpg%zqd9@kLx?0B$wa+`~ z@dT{8k1qE3ZMq>boI;T?y4pSnK!58AkB&jyP1Dx+f_&(| z@D4l!jWKpe^+%z*p;ELnVGFW!2Bo?%mfh~sy^PqGXwo~9O7a(Kk05}S%B4vCOgJ2( zS!?%%h6+l?*b!|q$1akMRcDMPsTZLO8B1irg)A#%p)|d&4pVxhE)Ffb6^8??E%{@J9`p7P#__uNTS#9TpzPzVuwC5DwQPdixgxK z$6~Dd^w&+2dJAv+m`Oz2ol=McA&%%hWCL`l@?rdE;fE27OwMDy=O^#?a$EmkbYzQ* zYh|omoW8~B2*hv;bbiiZi+cUyUYB?NFB$k7NQU1u0aJ3K00000NkvXXu0mjfj6#%2 From 623360bf6d890054b3d17125d7a65ff034ee887b Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Sat, 30 Nov 2019 17:11:16 +0800 Subject: [PATCH 06/14] feat(placeholder-content): add placeholder content add placeholder landing page to site with basic info and link to https://rbi.nz/ --- components/HelloCard.vue | 76 ++++++++++++++++++++++ components/Logo.vue | 67 +++++++++----------- components/Skill.vue | 22 +++++++ components/Skills.vue | 22 +++++++ components/VuetifyLogo.vue | 21 ------- components/layout/Footer.vue | 36 +++++++++++ layouts/default.vue | 90 +++----------------------- layouts/error.vue | 52 ++++++++------- pages/index.vue | 118 +++++++++++++++-------------------- pages/inspire.vue | 15 ----- static/background.svg | 56 +++++++++++++++++ static/icon.png | Bin 12699 -> 33006 bytes static/v.png | Bin 5674 -> 0 bytes 13 files changed, 330 insertions(+), 245 deletions(-) create mode 100644 components/HelloCard.vue create mode 100644 components/Skill.vue create mode 100644 components/Skills.vue delete mode 100644 components/VuetifyLogo.vue create mode 100644 components/layout/Footer.vue delete mode 100644 pages/inspire.vue create mode 100644 static/background.svg delete mode 100644 static/v.png diff --git a/components/HelloCard.vue b/components/HelloCard.vue new file mode 100644 index 0000000..2edfbc0 --- /dev/null +++ b/components/HelloCard.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/components/Logo.vue b/components/Logo.vue index 6c72854..cd2d0ab 100644 --- a/components/Logo.vue +++ b/components/Logo.vue @@ -1,17 +1,18 @@ diff --git a/components/Skill.vue b/components/Skill.vue new file mode 100644 index 0000000..3ce48bb --- /dev/null +++ b/components/Skill.vue @@ -0,0 +1,22 @@ + + + diff --git a/components/Skills.vue b/components/Skills.vue new file mode 100644 index 0000000..eb03a28 --- /dev/null +++ b/components/Skills.vue @@ -0,0 +1,22 @@ + + + diff --git a/components/VuetifyLogo.vue b/components/VuetifyLogo.vue deleted file mode 100644 index f8f8a2b..0000000 --- a/components/VuetifyLogo.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/components/layout/Footer.vue b/components/layout/Footer.vue new file mode 100644 index 0000000..a4fd159 --- /dev/null +++ b/components/layout/Footer.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/layouts/default.vue b/layouts/default.vue index 604f413..d706c05 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,93 +1,19 @@ + + diff --git a/layouts/error.vue b/layouts/error.vue index 15976f9..129cdb4 100644 --- a/layouts/error.vue +++ b/layouts/error.vue @@ -1,20 +1,30 @@ - - diff --git a/pages/index.vue b/pages/index.vue index 427bfc4..2056bb3 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,75 +1,61 @@ diff --git a/pages/inspire.vue b/pages/inspire.vue deleted file mode 100644 index 4ed16f9..0000000 --- a/pages/inspire.vue +++ /dev/null @@ -1,15 +0,0 @@ - diff --git a/static/background.svg b/static/background.svg new file mode 100644 index 0000000..b3dc930 --- /dev/null +++ b/static/background.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/icon.png b/static/icon.png index e076dd8cd57ce1bc7d62808744c1da1b70c37ee2..404c0792d6b207efabf20896155333da72bf4672 100644 GIT binary patch literal 33006 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 z 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 PF9fKoXe-w$*+%~#VU6fs literal 12699 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 P6963zeMGIAUBv$Y4kLO$ From f3b07c4a1f33f83452ef5148fb8662232cd22d1a Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Sat, 30 Nov 2019 17:19:36 +0800 Subject: [PATCH 07/14] docs(app-description): update app description change the app description to better descibe the app --- nuxt.config.js | 21 ++++++++++++++++----- package.json | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/nuxt.config.js b/nuxt.config.js index 1c88d5f..cd73fe3 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -7,12 +7,14 @@ export default { */ pwa: { meta: { - name: process.env.npm_package_name || 'Website', - description: process.env.npm_package_description || '' + name: process.env.npm_package_name || 'Nuxt Static', + description: + process.env.npm_package_description || + 'A full-featured boilerplate for static websites.' }, manifest: { - short_name: process.env.npm_package_name || 'Site', - name: process.env.npm_package_name || 'Website' + short_name: process.env.npm_package_name || 'nuxt-static', + name: process.env.npm_package_name || 'nuxt-static' } }, /* @@ -46,8 +48,17 @@ export default { vuetify: { customVariables: ['~/assets/variables.scss'], theme: { - dark: true, + dark: false, themes: { + light: { + primary: colors.blue.darken2, + accent: colors.grey.darken3, + secondary: colors.amber.darken3, + info: colors.teal.lighten1, + warning: colors.amber.base, + error: colors.deepOrange.accent4, + success: colors.green.accent3 + }, dark: { primary: colors.blue.darken2, accent: colors.grey.darken3, diff --git a/package.json b/package.json index 92d8b03..5730064 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuxt-static", - "description": "Nuxt generate static site boilerplate", + "description": "A full-featured boilerplate for static websites.", "author": "Ryan Binns", "private": true, "scripts": { From 897f942cfd3f994927d99b4c0d86d4a8cac60754 Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Sat, 30 Nov 2019 17:21:28 +0800 Subject: [PATCH 08/14] docs(app-author): update app author add email and website to app author object in package.json --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5730064..30f12b5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,11 @@ { "name": "nuxt-static", "description": "A full-featured boilerplate for static websites.", - "author": "Ryan Binns", + "author": { + "name": "Ryan Binns", + "email": "hi@rbi.nz", + "url": "http://rbi.nz/" + }, "private": true, "scripts": { "dev": "nuxt", From b6bd5d0500077aa67310dd78718dbd8049d67541 Mon Sep 17 00:00:00 2001 From: Ryan Binns Date: Sat, 30 Nov 2019 18:00:36 +0800 Subject: [PATCH 09/14] refactor(logo.vue): remove unused animations remove unused animations and update legacy class name --- components/Logo.vue | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/components/Logo.vue b/components/Logo.vue index cd2d0ab..1354eeb 100644 --- a/components/Logo.vue +++ b/components/Logo.vue @@ -1,5 +1,5 @@ diff --git a/components/Skill.vue b/components/Skill.vue deleted file mode 100644 index 3ce48bb..0000000 --- a/components/Skill.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/components/Skills.vue b/components/Skills.vue deleted file mode 100644 index eb03a28..0000000 --- a/components/Skills.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/components/placeholder/PlaceholderCard.vue b/components/placeholder/PlaceholderCard.vue index 3544145..7ebf8b5 100644 --- a/components/placeholder/PlaceholderCard.vue +++ b/components/placeholder/PlaceholderCard.vue @@ -11,7 +11,7 @@

- + diff --git a/components/placeholder/Stack.vue b/components/placeholder/Stack.vue index e1a0f3d..ed247e1 100644 --- a/components/placeholder/Stack.vue +++ b/components/placeholder/Stack.vue @@ -1,6 +1,6 @@