nuxt-netlify-cms-module
Easy Netlify CMS integration with nuxt.js
Features
- Automatically build Netlify CMS through a seamless integration with nuxt.js webpack instance
- Automatically serve Netlify CMS to a chosen path, in development and production builds
- Support Netlify CMS config.yml, with automatic rebuild on change
- Meant to be used with nuxtent-module, that allows nuxt to work with static content files
Setup
-
Add
nuxt-netlify-cms
andnetlify-cms
devDependencies using yarn or npm to your projectnpm i -D nuxt-netlify-cms netlify-cms
ORyarn add -D nuxt-netlify-cms netlify-cms
-
Add
nuxt-netlify-cms
tomodules
section ofnuxt.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"
}
}
Usage
Netlify CMS module config folder
This module will look for the Netlify CMS config file and extensions in the following folder: [nuxt.js srcDir]/netlify-cms
.
âšī¸ 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.
âšī¸ 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
Netlify CMS 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
.
âšī¸ 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.
Netlify CMS customizations
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.
âšī¸ The global variable CMS
is available to these javascript files to reference the CMS object.
âšī¸ The contents of this directory and subdirectories can be changed while nuxt dev
is running, and Netlify CMS will be updated automatically.
Options
You can pass options using module options or netlifyCms
section in nuxt.config.js
.
adminPath
- Default:
"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
- Default:
"Content Manager"
adminTitle defines the html title of the page where Netlify CMS will be served.
cmsConfig
- Default:
{ media_folder: "static/uploads" }
cmsConfig wholly reflects Netlify CMS config.yml, in js object format.
âšī¸ The order of precedence for the cms configuration is defaults
< netlify-cms.yml
< module options
âšī¸ The paths are also rewritten according to nuxt.js srcDir
CONTRIBUTING
- â Pull requests and â Stars are always welcome.
- For bugs and feature requests, please create an issue.
- Pull requests must be accompanied by passing automated tests (
$ yarn test
).
License
Copyright (c) Mehdi Lahlou [email protected]