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
.
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
.
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.
CMS
is available to these javascript files to reference the CMS object.
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.
defaults
< netlify-cms.yml
< module options
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 mlahlou@protonmail.ch