From a522fe863472f91750ce28d8b46a089ae48a7735 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Fri, 5 Jun 2020 15:35:53 +0200 Subject: [PATCH 1/2] feat: add content module --- .../cna-template/template/nuxt/nuxt.config.js | 11 ++ .../cna-template/template/nuxt/package.js | 3 + .../cna-template/template/nuxt/package.json | 1 + packages/create-nuxt-app/lib/prompts.js | 3 +- packages/create-nuxt-app/lib/saofile.js | 4 +- .../test/snapshots/index.test.js.md | 112 +++++++++++++++++- .../test/snapshots/index.test.js.snap | Bin 6979 -> 7311 bytes 7 files changed, 131 insertions(+), 3 deletions(-) diff --git a/packages/cna-template/template/nuxt/nuxt.config.js b/packages/cna-template/template/nuxt/nuxt.config.js index 1c4d6ff8e..d522eeac3 100644 --- a/packages/cna-template/template/nuxt/nuxt.config.js +++ b/packages/cna-template/template/nuxt/nuxt.config.js @@ -114,6 +114,10 @@ export default { // Doc: https://github.com/nuxt-community/dotenv-module '@nuxtjs/dotenv', <%_ } _%> + <%_ if (content) { _%> + // Doc: https://github.com/nuxt/content + '@nuxt/content', + <%_ } _%> ], <%_ if (axios) { _%> /* @@ -122,6 +126,13 @@ export default { */ axios: {}, <%_ } _%> + <%_ if (content) { _%> + /* + ** Content module configuration + ** See https://content.nuxtjs.org/configuration + */ + content: {}, + <%_ } _%> <%_ if (ui === 'vuetify') { _%> /* ** vuetify module configuration diff --git a/packages/cna-template/template/nuxt/package.js b/packages/cna-template/template/nuxt/package.js index 27ebeac06..b9ffbf53f 100644 --- a/packages/cna-template/template/nuxt/package.js +++ b/packages/cna-template/template/nuxt/package.js @@ -67,6 +67,9 @@ module.exports = { if (!features.includes('dotenv')) { delete pkg.dependencies['@nuxtjs/dotenv'] } + if (!features.includes('content')) { + delete pkg.dependencies['@nuxt/content'] + } // TS const typescript = language.includes('ts') diff --git a/packages/cna-template/template/nuxt/package.json b/packages/cna-template/template/nuxt/package.json index 577c8f8cc..fada6a748 100644 --- a/packages/cna-template/template/nuxt/package.json +++ b/packages/cna-template/template/nuxt/package.json @@ -21,6 +21,7 @@ "@nuxtjs/axios": "^5.10.3", "@nuxtjs/pwa": "^3.0.0-beta.20", "@nuxtjs/dotenv": "^1.4.1", + "@nuxt/content": "^1.3.1", "nuxt": "^2.12.2" }, "devDependencies": { diff --git a/packages/create-nuxt-app/lib/prompts.js b/packages/create-nuxt-app/lib/prompts.js index 7352fc87b..678bb5d5b 100644 --- a/packages/create-nuxt-app/lib/prompts.js +++ b/packages/create-nuxt-app/lib/prompts.js @@ -63,7 +63,8 @@ module.exports = [ choices: [ { name: 'Axios', value: 'axios' }, { name: 'Progressive Web App (PWA) Support', value: 'pwa' }, - { name: 'DotEnv', value: 'dotenv' } + { name: 'DotEnv', value: 'dotenv' }, + { name: 'Content', value: 'content' } ], default: [] }, diff --git a/packages/create-nuxt-app/lib/saofile.js b/packages/create-nuxt-app/lib/saofile.js index 7bb8d5024..194129680 100644 --- a/packages/create-nuxt-app/lib/saofile.js +++ b/packages/create-nuxt-app/lib/saofile.js @@ -19,6 +19,7 @@ module.exports = { const stylelint = this.answers.linter.includes('stylelint') const axios = this.answers.features.includes('axios') const dotenv = this.answers.features.includes('dotenv') + const content = this.answers.features.includes('content') const pm = this.answers.pm === 'yarn' ? 'yarn' : 'npm' const pmRun = this.answers.pm === 'yarn' ? 'yarn' : 'npm run' @@ -37,7 +38,8 @@ module.exports = { edge, pm, pmRun, - dotenv + dotenv, + content } }, actions () { diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.md b/packages/create-nuxt-app/test/snapshots/index.test.js.md index 56a2af5f5..2acaabf54 100644 --- a/packages/create-nuxt-app/test/snapshots/index.test.js.md +++ b/packages/create-nuxt-app/test/snapshots/index.test.js.md @@ -486,7 +486,7 @@ Generated by [AVA](https://avajs.dev). }␊ ` -## verify features: Axios, Progressive Web App (PWA) Support, DotEnv +## verify features: Axios, Progressive Web App (PWA) Support, DotEnv, Content > Generated files @@ -516,6 +516,7 @@ Generated by [AVA](https://avajs.dev). { dependencies: { + '@nuxt/content': '^1.3.1', '@nuxtjs/axios': '^5.10.3', '@nuxtjs/dotenv': '^1.4.1', '@nuxtjs/pwa': '^3.0.0-beta.20', @@ -580,6 +581,8 @@ Generated by [AVA](https://avajs.dev). '@nuxtjs/pwa',␊ // Doc: https://github.com/nuxt-community/dotenv-module␊ '@nuxtjs/dotenv',␊ + // Doc: https://github.com/nuxt/content␊ + '@nuxt/content',␊ ],␊ /*␊ ** Axios module configuration␊ @@ -587,6 +590,113 @@ Generated by [AVA](https://avajs.dev). */␊ axios: {},␊ /*␊ + ** Content module configuration␊ + ** See https://content.nuxtjs.org/configuration␊ + */␊ + content: {},␊ + /*␊ + ** Build configuration␊ + ** See https://nuxtjs.org/api/configuration-build/␊ + */␊ + build: {␊ + }␊ + }␊ + ` + +## verify features: Content + +> Generated files + + [ + '.editorconfig', + '.gitignore', + 'README.md', + 'assets/README.md', + 'components/Logo.vue', + 'components/README.md', + 'layouts/README.md', + 'layouts/default.vue', + 'middleware/README.md', + 'nuxt.config.js', + 'package.json', + 'pages/README.md', + 'pages/index.vue', + 'plugins/README.md', + 'static/README.md', + 'static/favicon.ico', + 'store/README.md', + ] + +> package.json + + { + dependencies: { + '@nuxt/content': '^1.3.1', + nuxt: '^2.12.2', + }, + devDependencies: {}, + private: true, + scripts: { + build: 'nuxt build', + dev: 'nuxt', + generate: 'nuxt generate', + start: 'nuxt start', + }, + } + +> Generated nuxt.config.js + + `␊ + export default {␊ + /*␊ + ** Nuxt rendering mode␊ + ** See https://nuxtjs.org/api/configuration-mode␊ + */␊ + mode: 'universal',␊ + /*␊ + ** Headers of the page␊ + ** See https://nuxtjs.org/api/configuration-head␊ + */␊ + head: {␊ + 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' }␊ + ]␊ + },␊ + /*␊ + ** Global CSS␊ + */␊ + css: [␊ + ],␊ + /*␊ + ** Plugins to load before mounting the App␊ + ** https://nuxtjs.org/guide/plugins␊ + */␊ + plugins: [␊ + ],␊ + /*␊ + ** Nuxt.js dev-modules␊ + */␊ + buildModules: [␊ + ],␊ + /*␊ + ** Nuxt.js modules␊ + */␊ + modules: [␊ + // Doc: https://github.com/nuxt/content␊ + '@nuxt/content',␊ + ],␊ + /*␊ + ** Content module configuration␊ + ** See https://content.nuxtjs.org/configuration␊ + */␊ + content: {},␊ + /*␊ ** Build configuration␊ ** See https://nuxtjs.org/api/configuration-build/␊ */␊ diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.snap b/packages/create-nuxt-app/test/snapshots/index.test.js.snap index 7e632c2c28a7ab746452db5adf18e56d1f8c0ece..bff2ddfa8038f23dc8c2263db72146460c73917d 100644 GIT binary patch literal 7311 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 AH2?qr From 850ac0a41907339fed1b247bc7e0e3674a77489c Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Wed, 10 Jun 2020 16:49:15 +0200 Subject: [PATCH 2/2] feat: add default hello.md content file --- .../template/nuxt/content/hello.md | 18 ++++++++++++++++++ packages/create-nuxt-app/lib/saofile.js | 3 ++- .../test/snapshots/index.test.js.md | 2 ++ .../test/snapshots/index.test.js.snap | Bin 7311 -> 7119 bytes 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 packages/cna-template/template/nuxt/content/hello.md diff --git a/packages/cna-template/template/nuxt/content/hello.md b/packages/cna-template/template/nuxt/content/hello.md new file mode 100644 index 000000000..d377a4136 --- /dev/null +++ b/packages/cna-template/template/nuxt/content/hello.md @@ -0,0 +1,18 @@ +--- +title: Getting started +description: 'Empower your NuxtJS application with @nuxt/content module: write in a content/ directory and fetch your Markdown, JSON, YAML and CSV files through a MongoDB like API, acting as a Git-based Headless CMS.' +--- + +Empower your NuxtJS application with `@nuxtjs/content` module: write in a `content/` directory and fetch your Markdown, JSON, YAML and CSV files through a MongoDB like API, acting as a **Git-based Headless CMS**. + +## Writing content + +Learn how to write your `content/`, supporting Markdown, YAML, CSV and JSON: https://content.nuxtjs.org/writing. + +## Fetching content + +Learn how to fetch your content with `$content`: https://content.nuxtjs.org/fetching. + +## Displaying content + +Learn how to display your Markdown content with the `` component directly in your template: https://content.nuxtjs.org/displaying. \ No newline at end of file diff --git a/packages/create-nuxt-app/lib/saofile.js b/packages/create-nuxt-app/lib/saofile.js index 194129680..4700d7c5a 100644 --- a/packages/create-nuxt-app/lib/saofile.js +++ b/packages/create-nuxt-app/lib/saofile.js @@ -57,7 +57,8 @@ module.exports = { files: '**', templateDir: join(templateDir, 'nuxt'), filters: { - 'static/icon.png': 'features.includes("pwa")' + 'static/icon.png': 'features.includes("pwa")', + 'content/hello.md': 'features.includes("content")' } }] diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.md b/packages/create-nuxt-app/test/snapshots/index.test.js.md index 2acaabf54..381afdac5 100644 --- a/packages/create-nuxt-app/test/snapshots/index.test.js.md +++ b/packages/create-nuxt-app/test/snapshots/index.test.js.md @@ -498,6 +498,7 @@ Generated by [AVA](https://avajs.dev). 'assets/README.md', 'components/Logo.vue', 'components/README.md', + 'content/hello.md', 'layouts/README.md', 'layouts/default.vue', 'middleware/README.md', @@ -614,6 +615,7 @@ Generated by [AVA](https://avajs.dev). 'assets/README.md', 'components/Logo.vue', 'components/README.md', + 'content/hello.md', 'layouts/README.md', 'layouts/default.vue', 'middleware/README.md', diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.snap b/packages/create-nuxt-app/test/snapshots/index.test.js.snap index bff2ddfa8038f23dc8c2263db72146460c73917d..6b0278563e94ffec546553f2f9d120448648c55b 100644 GIT binary patch literal 7119 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 F0RSs$+T#EK literal 7311 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