Easy Netlify CMS integration with nuxt.js
Add nuxt-netlify-cms
and netlify-cms
devDependencies using yarn or npm to your project
npm i -D nuxt-netlify-cms netlify-cms
OR yarn add -D nuxt-netlify-cms netlify-cms
Add nuxt-netlify-cms
to modules
section of nuxt.config.js
{
modules: [
// Simple usage
"nuxt-netlify-cms",
// With options
["nuxt-netlify-cms", { adminPath: "secure" }],
],
// You can optionally use global options instead of inline form
netlifyCms: {
adminPath: "secure"
}
}
This module will look for the Netlify CMS config file and extensions in the following folder: [nuxt.js srcDir]/netlify-cms
.
:information_source: The nuxt.js srcDir is set to the project root folder by default. If you don't change this value in nuxt config, you'll just have to create the "netlify-cms" directory at your project root folder.
:information_source: If you don't use any of the following two features, there's no need to create this folder. But since netlify-cms
needs a configuration specific to your repository, you'll have to specify it through options.
config.yml
You can specify a custom configuration, that will be parsed and merged with the module's netlify CMS options.
You have to place the file in your Netlify CMS module config folder and name it config.yml
.
:information_source: Note that each path in the file (media_folder
, collections folder
fields and collections file
fields) will be rewritten to prepend nuxt.js srcDir, so please specify each path relative to this folder.
This file can be changed while nuxt dev
is running, and Netlify CMS will be updated automatically.
This module will look for Netlify CMS customizations in *.js files contained in Netlify CMS module config folder and subfolders, and include them in the CMS build.
These are of two kinds, Custom Previews and Custom Widgets.
:information_source: The global variable CMS
is available to these javascript files to reference the CMS object.
:information_source: The contents of this directory and subdirectories can be changed while nuxt dev
is running, and Netlify CMS will be updated automatically.
You can pass options using module options or netlifyCms
section in nuxt.config.js
.
adminPath
"admin"
adminPath defines the path where Netlify CMS will be served.
With nuxt default configuration, it will be served to http://localhost:3000/admin/
in development.
adminTitle
"Content Manager"
adminTitle defines the html title of the page where Netlify CMS will be served.
cmsConfig
{ media_folder: "static/uploads" }
cmsConfig wholly reflects Netlify CMS config.yml, in js object format.
:information_source: The order of precedence for the cms configuration is defaults
< netlify-cms.yml
< module options
:information_source: The paths are also rewritten according to nuxt.js srcDir
$ yarn test
).Copyright (c) Mehdi Lahlou mlahlou@protonmail.ch