{"componentChunkName":"component---src-templates-doc-page-js","path":"/docs/hugo/","result":{"data":{"page":{"fields":{"path":"docs/hugo.md"},"frontmatter":{"title":"Hugo","group":"guides"},"html":"<h2 id=\"introduction\" style=\"position:relative;\"><a href=\"#introduction\" aria-label=\"introduction permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Introduction</h2>\n<p>This guide will walk you through how to integrate Netlify CMS with Hugo. This is a good place to start if you want to learn from the ground up how these two tools work together. If you want to get up-and-running quicker, you can use one of the pre-existing and amazing <a href=\"/docs/start-with-a-template/\">starter templates</a>!</p>\n<h2 id=\"getting-started-with-hugo\" style=\"position:relative;\"><a href=\"#getting-started-with-hugo\" aria-label=\"getting started with hugo permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Getting started with Hugo</h2>\n<h3 id=\"installation\" style=\"position:relative;\"><a href=\"#installation\" aria-label=\"installation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Installation</h3>\n<p>To get started with Hugo, you should first install the command line tool. If you've already got it installed, you can <a href=\"#creating-a-new-site\">skip this step</a>. On MacOS and Linux you can do this with:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">brew <span class=\"token function\">install</span> hugo</code></pre></div>\n<p>To test that it's successfully installed, you can try this command, to get a list of Hugo's options:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">hugo <span class=\"token builtin class-name\">help</span></code></pre></div>\n<h3 id=\"creating-a-new-site\" style=\"position:relative;\"><a href=\"#creating-a-new-site\" aria-label=\"creating a new site permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Creating a new site</h3>\n<p>Create a new Hugo project and start it up using the following commands.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">hugo new site <span class=\"token operator\">&lt;</span>name-of-your-new-project<span class=\"token operator\">></span>\n<span class=\"token builtin class-name\">cd</span> <span class=\"token operator\">&lt;</span>name-of-your-new-project<span class=\"token operator\">></span>\nhugo server</code></pre></div>\n<p>You won't actually see anything, just yet, and that's because you don't have any template files. That's easily resolved. In the <code>layouts/</code> directory, create a file <code>index.html</code> and put a basic HTML structure in there:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\">&lt;!DOCTYPE html></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">lang</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>en<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>UTF-8<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">http-equiv</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>X-UA-Compatible<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>ie=edge<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>Document<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h1</span><span class=\"token punctuation\">></span></span>Nice. It's looking good already.<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h1</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>You'll also add some files to the <code>content/</code> and <code>data/</code> directories to make sure git tracks them.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">touch</span> content/.keep data/.keep</code></pre></div>\n<p>This is as basic as you can get with a Hugo project. There's just enough here now for us to install Netlify CMS.</p>\n<h2 id=\"getting-started-with-netlify-cms\" style=\"position:relative;\"><a href=\"#getting-started-with-netlify-cms\" aria-label=\"getting started with netlify cms permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Getting Started With Netlify CMS</h2>\n<h3 id=\"add-the-netlify-cms-files-to-hugo\" style=\"position:relative;\"><a href=\"#add-the-netlify-cms-files-to-hugo\" aria-label=\"add the netlify cms files to hugo permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Add the Netlify CMS files to Hugo</h3>\n<p>In Hugo, static files that don't need to be processed by the build commands live in the <code>static/</code> directory. You'll install the Netlify CMS admin and config files there. Create a directory <code>admin/</code> and within it, create two files <code>index.html</code> and <code>config.yml</code>. In the <code>index.html</code>, add the following content:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\">&lt;!DOCTYPE html></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>utf-8<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>Content Manager<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token comment\">&lt;!-- Include the script that enables Netlify Identity on this page. --></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>https://identity.netlify.com/v1/netlify-identity-widget.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token comment\">&lt;!-- Include the script that builds the page and powers Netlify CMS --></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>In the <code>config.yml</code> file, you can add this basic configuration — you can customize as you see fit, this sample file is just to get you started.</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">backend</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> git<span class=\"token punctuation\">-</span>gateway\n  <span class=\"token key atrule\">branch</span><span class=\"token punctuation\">:</span> master <span class=\"token comment\"># Branch to update (optional; defaults to master)</span>\n<span class=\"token key atrule\">media_folder</span><span class=\"token punctuation\">:</span> static/img\n<span class=\"token key atrule\">public_folder</span><span class=\"token punctuation\">:</span> /img\n<span class=\"token key atrule\">collections</span><span class=\"token punctuation\">:</span>\n  <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'blog'</span>\n    <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Blog'</span>\n    <span class=\"token key atrule\">folder</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'content/blog'</span>\n    <span class=\"token key atrule\">create</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span>\n    <span class=\"token key atrule\">slug</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'{{year}}-{{month}}-{{day}}-{{slug}}'</span>\n    <span class=\"token key atrule\">editor</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">preview</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">false</span>\n    <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span>\n      <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Title'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'title'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'string'</span> <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Publish Date'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'date'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'datetime'</span> <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Description'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'description'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'string'</span> <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Body'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'body'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'markdown'</span> <span class=\"token punctuation\">}</span></code></pre></div>\n<p><strong>Note:</strong> You won't be able to access the CMS just yet — you still need to deploy the project with <strong>Netlify</strong> and authenticate with <strong>Netlify Identity</strong>. You'll handle this in the next few steps of this guide.</p>\n<h3 id=\"pushing-to-github\" style=\"position:relative;\"><a href=\"#pushing-to-github\" aria-label=\"pushing to github permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Pushing to GitHub</h3>\n<p>It's now time to commit your changes and push to GitHub. You can run the following commands to initialize a git repository and push the changes so far.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">git</span> init <span class=\"token comment\"># Initialize a git repository</span>\n<span class=\"token function\">git</span> <span class=\"token function\">add</span> <span class=\"token builtin class-name\">.</span> <span class=\"token comment\"># Add every file</span>\n<span class=\"token function\">git</span> commit -m <span class=\"token string\">\"Initial Commit\"</span> <span class=\"token comment\"># Commit every file with the message 'Initial Commit'</span>\n<span class=\"token function\">git</span> remote <span class=\"token function\">add</span> origin https://github.com/YOUR_USERNAME/NEW_REPO_NAME.git <span class=\"token comment\"># Create a new repo on GitHub and add it to this project as a remote repository.</span>\n<span class=\"token function\">git</span> push -u origin master <span class=\"token comment\"># Push your changes</span></code></pre></div>\n<h3 id=\"deploying-with-netlify\" style=\"position:relative;\"><a href=\"#deploying-with-netlify\" aria-label=\"deploying with netlify permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Deploying With Netlify</h3>\n<p>Now you can go ahead and deploy to Netlify. Go to your Netlify dashboard and click <strong><a href=\"https://app.netlify.com/start\" target=\"_blank\" rel=\"noopener noreferrer\">New site from Git</a></strong>. Select the repo you just created. Under <strong>Basic build settings</strong>, you can set the build command to <code>hugo</code> and the publish directory to <code>public</code>. Click <strong>Deploy site</strong> to get the process going.</p>\n<h3 id=\"authenticating-with-netlify-identity\" style=\"position:relative;\"><a href=\"#authenticating-with-netlify-identity\" aria-label=\"authenticating with netlify identity permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Authenticating with Netlify Identity</h3>\n<p><strong>Add the Netlify Identity Widget</strong></p>\n<p>You've already added the Netlify Identity widget to our <code>admin/index.html</code>. The next thing to do is add the Netlify Identity widget to our site's index page. In <code>layouts/index.html</code>, we can add the following to the <code>&#x3C;head></code> tag on the page:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>https://identity.netlify.com/v1/netlify-identity-widget.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>Once you've added this, make sure to push your changes to GitHub!</p>\n<h3 id=\"enable-identity--git-gateway-in-netlify\" style=\"position:relative;\"><a href=\"#enable-identity--git-gateway-in-netlify\" aria-label=\"enable identity  git gateway in netlify permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Enable Identity &#x26; Git Gateway in Netlify</h3>\n<p>Back in your <a href=\"https://app.netlify.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Netlify dashboard</a>:</p>\n<ol>\n<li>Go to <strong>Settings > Identity</strong>, and select <strong>Enable Identity service</strong>.</li>\n<li>Once enabled, select <strong>Settings and usage</strong>, and scroll down to <strong>Registration preferences</strong>. You can set this to either <strong>Open</strong> or <strong>Invite only</strong>, but usually <strong>Invite only</strong> is your best bet for a personal site.</li>\n<li>If you don't want to create an account, or would like to use an external provider such as GitHub or Google, you can enable those services under <strong>External providers</strong>.</li>\n<li>Scroll down to <strong>Services</strong> and click <strong>Enable Git Gateway</strong>.</li>\n</ol>\n<h3 id=\"accessing-the-cms\" style=\"position:relative;\"><a href=\"#accessing-the-cms\" aria-label=\"accessing the cms permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Accessing the CMS</h3>\n<p>Once you've reached this point, you should be able to access the CMS in your browser at <code>http://localhost:1313/admin</code>. You'll be prompted to add the URL of your Netlify site. Once you've added that URL, you can log in with an Identity account or with one of the External Providers you enabled in step 3 above. For the sake of this tutorial, you can create a blog post in the CMS, and publish it! Once you <code>git pull</code> in your project, the blog post will show up in the project at <code>content/blog/&#x3C;slugified-blog-post-title>.md</code>.</p>\n<p>And that's it! From this point on, it's just a matter of following <a href=\"https://gohugo.io/templates/\" target=\"_blank\" rel=\"noopener noreferrer\">the Hugo documentation</a> for outputting the content from your <code>content/</code> directory into templates! For more information on configuring Netlify CMS, feel free to check out the <a href=\"/docs/configuration-options/\">Netlify CMS configuration options documentation</a>.</p>\n<h2 id=\"using-netlify-cms-content-in-hugo\" style=\"position:relative;\"><a href=\"#using-netlify-cms-content-in-hugo\" aria-label=\"using netlify cms content in hugo permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Using Netlify CMS content in Hugo</h2>\n<h3 id=\"creating-a-list-of-posts\" style=\"position:relative;\"><a href=\"#creating-a-list-of-posts\" aria-label=\"creating a list of posts permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Creating a list of posts</h3>\n<p>In your <code>layouts/index.html</code> file, you'll create an unordered list element and use a Hugo <code>range</code> to output all posts. Inside that range, you can add a list item element with each post title and a link to the post inside it.</p>\n<p><strong>Note:</strong> To learn more about Hugo's <code>range</code> function, check out <a href=\"https://gohugo.io/functions/range\" target=\"_blank\" rel=\"noopener noreferrer\">the Hugo documentation</a>.</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h1</span><span class=\"token punctuation\">></span></span>Nice. It's looking good already.<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h1</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ul</span><span class=\"token punctuation\">></span></span>\n    {{ range (where .Pages \"Section\" \"blog\") }}\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>li</span><span class=\"token punctuation\">></span></span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>{{ .Permalink }}<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n        {{ .Title }}\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>li</span><span class=\"token punctuation\">></span></span>\n    {{ end }}\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ul</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>That link won't work just right just yet. You'll need to make a single page layout for blog posts, so Hugo can create a page for the <code>.Permalink</code> to link to.</p>\n<h3 id=\"creating-a-single-page-post-layout\" style=\"position:relative;\"><a href=\"#creating-a-single-page-post-layout\" aria-label=\"creating a single page post layout permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Creating a single page post layout</h3>\n<p>Create a file <code>layouts/blog/single.html</code>, and put the following content in there:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\">&lt;!DOCTYPE html></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">lang</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>en<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>UTF-8<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">http-equiv</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>X-UA-Compatible<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>ie=edge<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>{{ .Title }}<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h1</span><span class=\"token punctuation\">></span></span>{{ .Title }}<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h1</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>date<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>{{ .Date }}<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>p</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>description<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>{{ .Params.description }}<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>p</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>article</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>content<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n      {{ .Content }}\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>article</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>You can see this basic template includes all the fields you've specified in your Netlify CMS <code>config.yml</code> file. You can access any custom front-matter fields with <code>.Params.&#x3C;field-name></code>!</p>"},"nav":{"group":[{"fieldValue":"backends","edges":[{"node":{"fields":{"slug":"/docs/backends-overview/"},"frontmatter":{"title":"Overview","group":"backends"},"tableOfContents":"<ul>\n<li><a href=\"/docs/backends-overview/#backend-configuration\">Backend Configuration</a></li>\n<li><a href=\"/docs/backends-overview/#creating-a-new-backend\">Creating a New Backend</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/git-gateway-backend/"},"frontmatter":{"title":"Git Gateway","group":"backends"},"tableOfContents":"<ul>\n<li><a href=\"/docs/git-gateway-backend/#git-gateway-with-netlify\">Git Gateway with Netlify</a></li>\n<li><a href=\"/docs/git-gateway-backend/#reconnect-after-changing-repository-permissions\">Reconnect after Changing Repository Permissions</a></li>\n<li><a href=\"/docs/git-gateway-backend/#git-gateway-without-netlify\">Git Gateway without Netlify</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/bitbucket-backend/"},"frontmatter":{"title":"Bitbucket","group":"backends"},"tableOfContents":"<ul>\n<li><a href=\"/docs/bitbucket-backend/#client-side-implicit-grant-bitbucket\">Client-Side Implicit Grant (Bitbucket)</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/github-backend/"},"frontmatter":{"title":"GitHub","group":"backends"},"tableOfContents":"<ul>\n<li><a href=\"/docs/github-backend/#specifying-a-status-for-deploy-previews\">Specifying a status for deploy previews</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/gitlab-backend/"},"frontmatter":{"title":"GitLab","group":"backends"},"tableOfContents":"<ul>\n<li><a href=\"/docs/gitlab-backend/#web-application-flow-with-netlify\">Web Application Flow with Netlify</a></li>\n<li><a href=\"/docs/gitlab-backend/#client-side-implicit-grant-gitlab\">Client-Side Implicit Grant (GitLab)</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/test-backend/"},"frontmatter":{"title":"Test","group":"backends"},"tableOfContents":""}},{"node":{"fields":{"slug":"/docs/external-oauth-clients/"},"frontmatter":{"title":"External OAuth Clients","group":"backends"},"tableOfContents":""}}]},{"fieldValue":"contributing","edges":[{"node":{"fields":{"slug":"/docs/contributor-guide/"},"frontmatter":{"title":"Contributor Guide","group":"contributing"},"tableOfContents":"<ul>\n<li><a href=\"/docs/contributor-guide/#getting-started-with-contributing\">Getting started with contributing</a></li>\n<li><a href=\"/docs/contributor-guide/#the-basics-of-the-netlify-cms-docs\">The basics of the Netlify CMS docs</a></li>\n<li><a href=\"/docs/contributor-guide/#style-guidelines\">Style guidelines</a></li>\n<li><a href=\"/docs/contributor-guide/#filing-issues\">Filing issues</a></li>\n<li><a href=\"/docs/contributor-guide/#improve-existing-content\">Improve existing content</a></li>\n<li><a href=\"/docs/contributor-guide/#other-places-to-get-involved\">Other places to get involved</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/writing-style-guide/"},"frontmatter":{"title":"Writing Style Guide","group":"contributing"},"tableOfContents":"<ul>\n<li>\n<p><a href=\"/docs/writing-style-guide/#netlify-cms-style-guide\">Netlify CMS Style Guide</a></p>\n<ul>\n<li>\n<p><a href=\"/docs/writing-style-guide/#documentation-formatting-standards\">Documentation Formatting Standards</a></p>\n<ul>\n<li><a href=\"/docs/writing-style-guide/#use-angle-brackets-for-placeholders\">Use angle brackets for placeholders</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-bold-for-user-interface-elements\">Use bold for user interface elements</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-italics-to-define-or-introduce-new-terms\">Use italics to define or introduce new terms</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-code-style-for-filenames-directories-and-paths\">Use code style for filenames, directories, and paths</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-the-international-standard-for-punctuation-inside-quotes\">Use the international standard for punctuation inside quotes</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/writing-style-guide/#inline-code-formatting\">Inline code formatting</a></p>\n<ul>\n<li><a href=\"/docs/writing-style-guide/#use-code-style-for-inline-code-and-commands\">Use code style for inline code and commands</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-code-style-for-object-field-names\">Use code style for object field names</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-normal-style-for-string-and-integer-field-values\">Use normal style for string and integer field values</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/writing-style-guide/#code-snippet-formatting\">Code snippet formatting</a></p>\n<ul>\n<li><a href=\"/docs/writing-style-guide/#dont-include-the-command-prompt\">Don’t include the command prompt</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/writing-style-guide/#content-best-practices\">Content best practices</a></p>\n<ul>\n<li><a href=\"/docs/writing-style-guide/#use-present-tense\">Use present tense</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-active-voice\">Use active voice</a></li>\n<li><a href=\"/docs/writing-style-guide/#use-simple-and-direct-language\">Use simple and direct language</a></li>\n<li><a href=\"/docs/writing-style-guide/#address-the-reader-as-you\">Address the reader as “you”</a></li>\n<li><a href=\"/docs/writing-style-guide/#avoid-latin-phrases\">Avoid Latin phrases</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/writing-style-guide/#patterns-to-avoid\">Patterns to avoid</a></p>\n<ul>\n<li><a href=\"/docs/writing-style-guide/#avoid-using-we\">Avoid using “we”</a></li>\n<li><a href=\"/docs/writing-style-guide/#avoid-jargon-and-idioms\">Avoid jargon and idioms</a></li>\n<li><a href=\"/docs/writing-style-guide/#avoid-statements-about-the-future\">Avoid statements about the future</a></li>\n<li><a href=\"/docs/writing-style-guide/#avoid-statements-that-will-soon-be-out-of-date\">Avoid statements that will soon be out of date</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/architecture/"},"frontmatter":{"title":"Architecture","group":"contributing"},"tableOfContents":"<ul>\n<li><a href=\"/docs/architecture/#state-shape--reducers\">State shape / reducers</a></li>\n<li><a href=\"/docs/architecture/#selectors\">Selectors</a></li>\n<li><a href=\"/docs/architecture/#value-objects\">Value Objects</a></li>\n<li>\n<p><a href=\"/docs/architecture/#components-structure-and-workflows\">Components structure and Workflows</a></p>\n<ul>\n<li>\n<p><a href=\"/docs/architecture/#entry-editing\">Entry Editing</a></p>\n<ul>\n<li><a href=\"/docs/architecture/#widget-components-implementation\">Widget components implementation</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/architecture/#editorial-workflow-implementation\">Editorial Workflow implementation</a></p>\n<ul>\n<li><a href=\"/docs/architecture/#about-metadata\">About metadata</a></li>\n</ul>\n</li>\n</ul>"}}]},{"fieldValue":"customization","edges":[{"node":{"fields":{"slug":"/docs/custom-widgets/"},"frontmatter":{"title":"Creating Custom Widgets","group":"customization"},"tableOfContents":"<ul>\n<li>\n<ul>\n<li><a href=\"/docs/custom-widgets/#writing-react-components-inline\">Writing React Components inline</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/custom-widgets/#registerwidget\"><code>registerWidget</code></a></li>\n<li><a href=\"/docs/custom-widgets/#registereditorcomponent\"><code>registerEditorComponent</code></a></li>\n<li><a href=\"/docs/custom-widgets/#advanced-field-validation\">Advanced field validation</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/customization/"},"frontmatter":{"title":"Creating Custom Previews","group":"customization"},"tableOfContents":"<ul>\n<li>\n<ul>\n<li><a href=\"/docs/customization/#react-components-inline-interaction\">React Components inline interaction</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/customization/#registerpreviewstyle\"><code>registerPreviewStyle</code></a></li>\n<li><a href=\"/docs/customization/#registerpreviewtemplate\"><code>registerPreviewTemplate</code></a></li>\n</ul>"}}]},{"fieldValue":"features","edges":[{"node":{"fields":{"slug":"/docs/deploy-preview-links/"},"frontmatter":{"title":"Deploy Preview Links","group":"features"},"tableOfContents":"<ul>\n<li>\n<p><a href=\"/docs/deploy-preview-links/#using-deploy-preview-links\">Using deploy preview links</a></p>\n<ul>\n<li><a href=\"/docs/deploy-preview-links/#waiting-for-builds\">Waiting for builds</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/deploy-preview-links/#configuring-preview-paths\">Configuring preview paths</a></p>\n<ul>\n<li><a href=\"/docs/deploy-preview-links/#dates-in-preview-paths\">Dates in preview paths</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/deploy-preview-links/#preview-links-for-published-content\">Preview links for published content</a></li>\n<li><a href=\"/docs/deploy-preview-links/#disabling-deploy-preview-links\">Disabling deploy preview links</a></li>\n<li><a href=\"/docs/deploy-preview-links/#how-it-works\">How it works</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/open-authoring/"},"frontmatter":{"title":"Open Authoring","group":"features"},"tableOfContents":"<ul>\n<li><a href=\"/docs/open-authoring/#requirements\">Requirements</a></li>\n<li><a href=\"/docs/open-authoring/#enabling-open-authoring\">Enabling Open Authoring</a></li>\n<li><a href=\"/docs/open-authoring/#usage\">Usage</a></li>\n<li><a href=\"/docs/open-authoring/#alternative-for-external-contributors-with-git-gateway\">Alternative for external contributors with Git Gateway</a></li>\n<li><a href=\"/docs/open-authoring/#linking-to-specific-entries-in-the-cms\">Linking to specific entries in the CMS</a></li>\n</ul>"}}]},{"fieldValue":"guides","edges":[{"node":{"fields":{"slug":"/docs/gatsby/"},"frontmatter":{"title":"Gatsby","group":"guides"},"tableOfContents":"<ul>\n<li><a href=\"/docs/gatsby/#create-a-new-gatsby-site\">Create a new Gatsby site</a></li>\n<li><a href=\"/docs/gatsby/#get-to-know-gatsby\">Get to know Gatsby</a></li>\n<li>\n<p><a href=\"/docs/gatsby/#add-netlify-cms-to-your-site\">Add Netlify CMS to your site</a></p>\n<ul>\n<li><a href=\"/docs/gatsby/#configuration\">Configuration</a></li>\n<li><a href=\"/docs/gatsby/#push-to-github\">Push to GitHub</a></li>\n<li><a href=\"/docs/gatsby/#add-your-repo-to-netlify\">Add your repo to Netlify</a></li>\n<li><a href=\"/docs/gatsby/#enable-identity-and-git-gateway\">Enable Identity and Git Gateway</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/gatsby/#start-publishing\">Start publishing</a></p>\n<ul>\n<li><a href=\"/docs/gatsby/#cleanup\">Cleanup</a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/hugo/"},"frontmatter":{"title":"Hugo","group":"guides"},"tableOfContents":"<ul>\n<li><a href=\"/docs/hugo/#introduction\">Introduction</a></li>\n<li>\n<p><a href=\"/docs/hugo/#getting-started-with-hugo\">Getting started with Hugo</a></p>\n<ul>\n<li><a href=\"/docs/hugo/#installation\">Installation</a></li>\n<li><a href=\"/docs/hugo/#creating-a-new-site\">Creating a new site</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/hugo/#getting-started-with-netlify-cms\">Getting Started With Netlify CMS</a></p>\n<ul>\n<li><a href=\"/docs/hugo/#add-the-netlify-cms-files-to-hugo\">Add the Netlify CMS files to Hugo</a></li>\n<li><a href=\"/docs/hugo/#pushing-to-github\">Pushing to GitHub</a></li>\n<li><a href=\"/docs/hugo/#deploying-with-netlify\">Deploying With Netlify</a></li>\n<li><a href=\"/docs/hugo/#authenticating-with-netlify-identity\">Authenticating with Netlify Identity</a></li>\n<li><a href=\"/docs/hugo/#enable-identity--git-gateway-in-netlify\">Enable Identity &#x26; Git Gateway in Netlify</a></li>\n<li><a href=\"/docs/hugo/#accessing-the-cms\">Accessing the CMS</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/hugo/#using-netlify-cms-content-in-hugo\">Using Netlify CMS content in Hugo</a></p>\n<ul>\n<li><a href=\"/docs/hugo/#creating-a-list-of-posts\">Creating a list of posts</a></li>\n<li><a href=\"/docs/hugo/#creating-a-single-page-post-layout\">Creating a single page post layout</a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/nextjs/"},"frontmatter":{"title":"NextJS","group":"guides"},"tableOfContents":"<ul>\n<li><a href=\"/docs/nextjs/#creating-a-new-project\">Creating a new project</a></li>\n<li><a href=\"/docs/nextjs/#adding-netlify-cms\">Adding Netlify CMS</a></li>\n<li>\n<p><a href=\"/docs/nextjs/#publishing-to-github-and-netlify\">Publishing to GitHub and Netlify</a></p>\n<ul>\n<li><a href=\"/docs/nextjs/#enable-identity-and-git-gateway\">Enable Identity and Git Gateway</a></li>\n<li><a href=\"/docs/nextjs/#celebrate\">Celebrate!</a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/nuxt/"},"frontmatter":{"title":"Nuxt","group":"guides"},"tableOfContents":"<ul>\n<li><a href=\"/docs/nuxt/#starting-with-create-nuxt-app\">Starting With <code>create-nuxt-app</code></a></li>\n<li>\n<p><a href=\"/docs/nuxt/#setting-up-netlify-cms\">Setting Up Netlify CMS</a></p>\n<ul>\n<li><a href=\"/docs/nuxt/#add-the-netlify-cms-files-to-nuxt\">Add the Netlify CMS files to Nuxt</a></li>\n<li><a href=\"/docs/nuxt/#add-the-content-directory-to-nuxt\">Add the <code>content/</code> directory to Nuxt</a></li>\n<li><a href=\"/docs/nuxt/#pushing-to-github\">Pushing to GitHub</a></li>\n<li><a href=\"/docs/nuxt/#deploying-with-netlify\">Deploying With Netlify</a></li>\n<li><a href=\"/docs/nuxt/#authenticating-with-netlify-identity\">Authenticating with Netlify Identity</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/nuxt/#integrating-content-in-nuxt-with-vuex\">Integrating content in Nuxt with Vuex</a></p>\n<ul>\n<li><a href=\"/docs/nuxt/#rendering-markdown-with-nuxtjsmarkdownit\">Rendering Markdown with <code>@nuxtjs/markdownit</code></a></li>\n<li><a href=\"/docs/nuxt/#generating-pages-with-the-generate-property\">Generating pages with the <code>generate</code> property</a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/jekyll/"},"frontmatter":{"title":"Jekyll","group":"guides"},"tableOfContents":"<ul>\n<li><a href=\"/docs/jekyll/#introduction\">Introduction</a></li>\n<li><a href=\"/docs/jekyll/#setup\">Setup</a></li>\n<li>\n<p><a href=\"/docs/jekyll/#add-netlify-cms\">Add Netlify CMS</a></p>\n<ul>\n<li><a href=\"/docs/jekyll/#add-adminindexhtml\">Add admin/index.html</a></li>\n<li><a href=\"/docs/jekyll/#add-adminconfigyml\">Add admin/config.yml</a></li>\n<li><a href=\"/docs/jekyll/#setup-backend\">Setup Backend</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/jekyll/#cms-configuration\">CMS Configuration</a></p>\n<ul>\n<li><a href=\"/docs/jekyll/#blog-collection\">Blog Collection</a></li>\n<li><a href=\"/docs/jekyll/#author-collection\">Author Collection</a></li>\n<li><a href=\"/docs/jekyll/#about-page\">About Page</a></li>\n<li><a href=\"/docs/jekyll/#navigation\">Navigation</a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/middleman/"},"frontmatter":{"title":"Middleman","group":"guides"},"tableOfContents":"<ul>\n<li><a href=\"/docs/middleman/#installation\">Installation</a></li>\n<li>\n<p><a href=\"/docs/middleman/#create-a-new-middleman-site\">Create a new Middleman site</a></p>\n<ul>\n<li><a href=\"/docs/middleman/#add-the-middleman-blog-extension\">Add the Middleman blog extension</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/middleman/#get-started-with-middleman\">Get started with Middleman</a></p>\n<ul>\n<li><a href=\"/docs/middleman/#activate-the-blog-extension\">Activate the blog extension</a></li>\n<li><a href=\"/docs/middleman/#load-the-articles\">Load the articles</a></li>\n<li><a href=\"/docs/middleman/#add-an-article-layout\">Add an article layout</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/middleman/#add-netlify-cms-to-your-site\">Add Netlify CMS to your site</a></p>\n<ul>\n<li><a href=\"/docs/middleman/#configuration\">Configuration</a></li>\n<li><a href=\"/docs/middleman/#push-to-github\">Push to GitHub</a></li>\n<li><a href=\"/docs/middleman/#add-your-repo-to-netlify\">Add your repo to Netlify</a></li>\n<li><a href=\"/docs/middleman/#enable-identity-and-git-gateway\">Enable Identity and Git Gateway</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/middleman/#start-publishing\">Start publishing</a></li>\n</ul>"}}]},{"fieldValue":"media","edges":[{"node":{"fields":{"slug":"/docs/cloudinary/"},"frontmatter":{"title":"Cloudinary","group":"media"},"tableOfContents":"<ul>\n<li><a href=\"/docs/cloudinary/#creating-a-cloudinary-account\">Creating a Cloudinary Account</a></li>\n<li>\n<p><a href=\"/docs/cloudinary/#connecting-cloudinary-to-netlify-cms\">Connecting Cloudinary to Netlify CMS</a></p>\n<ul>\n<li><a href=\"/docs/cloudinary/#security-considerations\">Security Considerations</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/cloudinary/#netlify-cms-configuration-options\">Netlify CMS configuration options</a></li>\n<li>\n<p><a href=\"/docs/cloudinary/#cloudinary-configuration-options\">Cloudinary configuration options</a></p>\n<ul>\n<li><a href=\"/docs/cloudinary/#authentication\">Authentication</a></li>\n<li><a href=\"/docs/cloudinary/#media-library-behavior\">Media library behavior</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/cloudinary/#image-transformations\">Image transformations</a></p>\n<ul>\n<li>\n<p><a href=\"/docs/cloudinary/#transforming-images-via-media-library\">Transforming images via Media Library</a></p>\n<ul>\n<li><a href=\"/docs/cloudinary/#global-configuration\">Global configuration</a></li>\n<li><a href=\"/docs/cloudinary/#field-configuration\">Field configuration</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"/docs/cloudinary/#inserting-cloudinary-url-in-page-templates\">Inserting Cloudinary URL in page templates</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/netlify-large-media/"},"frontmatter":{"title":"Netlify Large Media","group":"media"},"tableOfContents":"<ul>\n<li><a href=\"/docs/netlify-large-media/#requirements\">Requirements</a></li>\n<li>\n<p><a href=\"/docs/netlify-large-media/#image-transformations\">Image transformations</a></p>\n<ul>\n<li><a href=\"/docs/netlify-large-media/#transformation-control-for-media-gallery-thumbnails\">Transformation control for media gallery thumbnails</a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/uploadcare/"},"frontmatter":{"title":"Uploadcare","group":"media"},"tableOfContents":"<ul>\n<li><a href=\"/docs/uploadcare/#creating-an-uploadcare-account\">Creating an Uploadcare Account</a></li>\n<li><a href=\"/docs/uploadcare/#updating-netlify-cms-configuration\">Updating Netlify CMS Configuration</a></li>\n<li>\n<p><a href=\"/docs/uploadcare/#configuring-the-uploadcare-widget\">Configuring the Uploadcare Widget</a></p>\n<ul>\n<li><a href=\"/docs/uploadcare/#global-configuration\">Global configuration</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/uploadcare/#field-configuration\">Field configuration</a></li>\n<li><a href=\"/docs/uploadcare/#integration-settings\">Integration settings</a></li>\n</ul>"}}]},{"fieldValue":"reference","edges":[{"node":{"fields":{"slug":"/docs/configuration-options/"},"frontmatter":{"title":"Configuration Options","group":"reference"},"tableOfContents":"<ul>\n<li><a href=\"/docs/configuration-options/#backend\">Backend</a></li>\n<li><a href=\"/docs/configuration-options/#publish-mode\">Publish Mode</a></li>\n<li>\n<p><a href=\"/docs/configuration-options/#media-and-public-folders\">Media and Public Folders</a></p>\n<ul>\n<li><a href=\"/docs/configuration-options/#media-folder\">Media Folder</a></li>\n<li><a href=\"/docs/configuration-options/#public-folder\">Public Folder</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/configuration-options/#media-library\">Media Library</a></li>\n<li><a href=\"/docs/configuration-options/#site-url\">Site URL</a></li>\n<li><a href=\"/docs/configuration-options/#display-url\">Display URL</a></li>\n<li><a href=\"/docs/configuration-options/#custom-logo\">Custom Logo</a></li>\n<li><a href=\"/docs/configuration-options/#locale\">Locale</a></li>\n<li><a href=\"/docs/configuration-options/#show-preview-links\">Show Preview Links</a></li>\n<li><a href=\"/docs/configuration-options/#slug-type\">Slug Type</a></li>\n<li>\n<p><a href=\"/docs/configuration-options/#collections\">Collections</a></p>\n<ul>\n<li><a href=\"/docs/configuration-options/#identifier_field\"><code>identifier_field</code></a></li>\n<li><a href=\"/docs/configuration-options/#extension-and-format\"><code>extension</code> and <code>format</code></a></li>\n<li><a href=\"/docs/configuration-options/#frontmatter_delimiter\"><code>frontmatter_delimiter</code></a></li>\n<li><a href=\"/docs/configuration-options/#slug\"><code>slug</code></a></li>\n<li><a href=\"/docs/configuration-options/#preview_path\"><code>preview_path</code></a></li>\n<li><a href=\"/docs/configuration-options/#preview_path_date_field\"><code>preview_path_date_field</code></a></li>\n<li><a href=\"/docs/configuration-options/#fields\"><code>fields</code></a></li>\n<li><a href=\"/docs/configuration-options/#editor\"><code>editor</code></a></li>\n<li><a href=\"/docs/configuration-options/#summary\"><code>summary</code></a></li>\n<li><a href=\"/docs/configuration-options/#sortablefields\"><code>sortableFields</code></a></li>\n</ul>\n</li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/widgets/"},"frontmatter":{"title":"Widgets","group":"reference"},"tableOfContents":"<ul>\n<li><a href=\"/docs/widgets/#common-widget-options\">Common widget options</a></li>\n<li><a href=\"/docs/widgets/#default-widgets\">Default widgets</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/beta-features/"},"frontmatter":{"title":"Beta Features!","group":"reference"},"tableOfContents":"<ul>\n<li><a href=\"/docs/beta-features/#working-with-a-local-git-repository\">Working with a Local Git Repository</a></li>\n<li><a href=\"/docs/beta-features/#gitlab-and-bitbucket-editorial-workflow-support\">GitLab and BitBucket Editorial Workflow Support</a></li>\n<li><a href=\"/docs/beta-features/#github-graphql-api\">GitHub GraphQL API</a></li>\n<li><a href=\"/docs/beta-features/#open-authoring\">Open Authoring</a></li>\n<li><a href=\"/docs/beta-features/#folder-collections-path\">Folder Collections Path</a></li>\n<li><a href=\"/docs/beta-features/#folder-collections-media-and-public-folder\">Folder Collections Media and Public Folder</a></li>\n<li>\n<p><a href=\"/docs/beta-features/#list-widget-variable-types\">List Widget: Variable Types</a></p>\n<ul>\n<li><a href=\"/docs/beta-features/#additional-list-widget-options\">Additional list widget options</a></li>\n<li><a href=\"/docs/beta-features/#example-configuration\">Example Configuration</a></li>\n<li><a href=\"/docs/beta-features/#example-output\">Example Output</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/beta-features/#custom-mount-element\">Custom Mount Element</a></li>\n<li><a href=\"/docs/beta-features/#manual-initialization\">Manual Initialization</a></li>\n<li><a href=\"/docs/beta-features/#raw-css-in-registerpreviewstyle\">Raw CSS in <code>registerPreviewStyle</code></a></li>\n<li><a href=\"/docs/beta-features/#squash-merge-github-pull-requests\">Squash merge GitHub pull requests</a></li>\n<li><a href=\"/docs/beta-features/#commit-message-templates\">Commit Message Templates</a></li>\n<li><a href=\"/docs/beta-features/#image-widget-file-size-limit\">Image widget file size limit</a></li>\n<li><a href=\"/docs/beta-features/#registering-to-cms-events\">Registering to CMS Events</a></li>\n<li><a href=\"/docs/beta-features/#dynamic-default-values\">Dynamic Default Values</a></li>\n</ul>"}}]},{"fieldValue":"start","edges":[{"node":{"fields":{"slug":"/docs/intro/"},"frontmatter":{"title":"Introduction","group":"start"},"tableOfContents":"<ul>\n<li><a href=\"/docs/intro/#netlify-cms-vs-netlify\">Netlify CMS vs. Netlify</a></li>\n<li><a href=\"/docs/intro/#find-out-more\">Find out more</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/start-with-a-template/"},"frontmatter":{"title":"Start with a Template","group":"start"},"tableOfContents":"<ul>\n<li><a href=\"/docs/start-with-a-template/#access-netlify-cms-on-your-new-site\">Access Netlify CMS on your new site</a></li>\n<li><a href=\"/docs/start-with-a-template/#more-paths-to-explore\">More paths to explore</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/add-to-your-site/"},"frontmatter":{"title":"Add to Your Site","group":"start"},"tableOfContents":"<ul>\n<li>\n<p><a href=\"/docs/add-to-your-site/#app-file-structure\">App File Structure</a></p>\n<ul>\n<li><a href=\"/docs/add-to-your-site/#installing-with-npm\">Installing with npm</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/add-to-your-site/#configuration\">Configuration</a></p>\n<ul>\n<li><a href=\"/docs/add-to-your-site/#backend\">Backend</a></li>\n<li><a href=\"/docs/add-to-your-site/#editorial-workflow\">Editorial Workflow</a></li>\n<li><a href=\"/docs/add-to-your-site/#media-and-public-folders\">Media and Public Folders</a></li>\n<li><a href=\"/docs/add-to-your-site/#collections\">Collections</a></li>\n<li><a href=\"/docs/add-to-your-site/#filter\">Filter</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/docs/add-to-your-site/#authentication\">Authentication</a></p>\n<ul>\n<li><a href=\"/docs/add-to-your-site/#setup-on-netlify\">Setup on Netlify</a></li>\n<li><a href=\"/docs/add-to-your-site/#enable-identity-and-git-gateway\">Enable Identity and Git Gateway</a></li>\n<li><a href=\"/docs/add-to-your-site/#add-the-netlify-identity-widget\">Add the Netlify Identity Widget</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/add-to-your-site/#accessing-the-cms\">Accessing the CMS</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/collection-types/"},"frontmatter":{"title":"Collection Types","group":"start"},"tableOfContents":"<ul>\n<li>\n<p><a href=\"/docs/collection-types/#folder-collections\">Folder collections</a></p>\n<ul>\n<li><a href=\"/docs/collection-types/#filtered-folder-collections\">Filtered folder collections</a></li>\n</ul>\n</li>\n<li><a href=\"/docs/collection-types/#file-collections\">File collections</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/update-the-cms-version/"},"frontmatter":{"title":"Update the CMS Version","group":"start"},"tableOfContents":"<ul>\n<li><a href=\"/docs/update-the-cms-version/#package-manager\">Package Manager</a></li>\n<li><a href=\"/docs/update-the-cms-version/#cdn\">CDN</a></li>\n</ul>"}},{"node":{"fields":{"slug":"/docs/examples/"},"frontmatter":{"title":"Examples","group":"start"},"tableOfContents":""}}]}]},"menu":{"siteMetadata":{"menu":{"docs":[{"name":"start","title":"Quick Start"},{"name":"backends","title":"Backends"},{"name":"features","title":"Features"},{"name":"reference","title":"Reference"},{"name":"media","title":"Media"},{"name":"guides","title":"Guides"},{"name":"customization","title":"Customization"},{"name":"contributing","title":"Contributing"}]}}},"widgets":{"edges":[{"node":{"frontmatter":{"title":"boolean","label":"Boolean"},"html":"<p>The boolean widget translates a toggle switch input to a true/false value.</p>\n<ul>\n<li><strong>Name:</strong> <code>boolean</code></li>\n<li><strong>UI:</strong> toggle switch</li>\n<li><strong>Data type:</strong> boolean</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts <code>true</code> or <code>false</code>; defaults to <code>false</code> when <code>required</code> is set to <code>false</code></li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Draft\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"draft\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"boolean\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span><span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"code","label":"Code"},"html":"<p>The code widget provides a code editor (powered by <a href=\"https://codemirror.net\" target=\"_blank\" rel=\"noopener noreferrer\">Codemirror</a>) with optional syntax awareness. Can output the raw code value or an object with the selected language and the raw code value.</p>\n<ul>\n<li><strong>Name:</strong> <code>code</code></li>\n<li><strong>UI:</strong> code editor</li>\n<li><strong>Data type:</strong> string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default_language</code>: optional; default language to use</li>\n<li><code>allow_language_selection</code>: optional; defaults to <code>false</code>: allows syntax to be changed</li>\n<li><code>keys</code>: optional; sets key names for code and lang if outputting an object; defaults to <code>{ code: 'code', lang: 'lang' }</code></li>\n<li><code>output_code_only</code>: set to <code>true</code> to output the string value only, defaults to <code>false</code></li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Code'</span>\n<span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'code'</span>\n<span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'code'</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"date","label":"Date"},"html":"<p><em><strong>Deprecation notice</strong>: the date widget has been deprecated and will be removed in the next major release. Please use the datetime widget instead.</em></p>\n<p>The date widget translates a date picker input to a date string. For saving date and time together, use the datetime widget.</p>\n<ul>\n<li><strong>Name:</strong> <code>date</code></li>\n<li><strong>UI:</strong> date picker</li>\n<li><strong>Data type:</strong> Moment.js-formatted date string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts a date string, or an empty string to accept blank input; otherwise defaults to current date</li>\n<li><code>format</code>: optional; accepts Moment.js <a href=\"https://momentjs.com/docs/#/parsing/string-format/\" target=\"_blank\" rel=\"noopener noreferrer\">tokens</a>; defaults to raw Date object (if supported by output format)</li>\n<li><code>dateFormat</code>: optional; boolean or Moment.js <a href=\"https://momentjs.com/docs/#/parsing/string-format/\" target=\"_blank\" rel=\"noopener noreferrer\">tokens</a>. If <code>true</code> use default locale format.</li>\n<li><code>timeFormat</code>: optional; boolean or Moment.js <a href=\"https://momentjs.com/docs/#/parsing/string-format/\" target=\"_blank\" rel=\"noopener noreferrer\">tokens</a>. If <code>true</code> use default locale format, <code>false</code> hides time-picker. Defaults to false.</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Birthdate'</span>\n<span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'birthdate'</span>\n<span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'date'</span>\n<span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">''</span>\n<span class=\"token key atrule\">format</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'MMM Do YY'</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"datetime","label":"DateTime"},"html":"<p>The datetime widget translates a datetime picker to a datetime string. For saving the date only, use the date widget.</p>\n<ul>\n<li><strong>Name:</strong> <code>datetime</code></li>\n<li><strong>UI:</strong> datetime picker</li>\n<li><strong>Data type:</strong> Moment.js-formatted datetime string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts a datetime string, or an empty string to accept blank input; otherwise defaults to current datetime</li>\n<li><code>format</code>: sets storage format; accepts Moment.js <a href=\"https://momentjs.com/docs/#/parsing/string-format/\" target=\"_blank\" rel=\"noopener noreferrer\">tokens</a>; defaults to raw Date object (if supported by output format)</li>\n<li><code>dateFormat</code>: sets date display format in UI; boolean or Moment.js <a href=\"https://momentjs.com/docs/#/parsing/string-format/\" target=\"_blank\" rel=\"noopener noreferrer\">tokens</a>. If <code>true</code> use default locale format.</li>\n<li><code>timeFormat</code>: sets time display format in UI; boolean or Moment.js <a href=\"https://momentjs.com/docs/#/parsing/string-format/\" target=\"_blank\" rel=\"noopener noreferrer\">tokens</a>. If <code>true</code> use default locale format, <code>false</code> hides time-picker.</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Start time\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"start\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"datetime\"</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"\"</span>\n  <span class=\"token key atrule\">dateFormat</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"DD.MM.YYYY\"</span> <span class=\"token comment\"># e.g. 24.12.2021</span>\n  <span class=\"token key atrule\">timeFormat</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"HH:mm\"</span> <span class=\"token comment\"># e.g. 21:07</span>\n  <span class=\"token key atrule\">format</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"LLL\"</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"file","label":"File"},"html":"<p>The file widget allows editors to upload a file or select an existing one from the media library. The path to the file will be saved to the field as a string.</p>\n<ul>\n<li><strong>Name:</strong> <code>file</code></li>\n<li><strong>UI:</strong> file picker button opens media gallery</li>\n<li><strong>Data type:</strong> file path string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts a file path string; defaults to null</li>\n<li><code>media_library</code>: media library settings to apply when a media library is opened by the\ncurrent widget</li>\n<li><code>allow_multiple</code>: <em>(default: <code>true</code>)</em> when set to <code>false</code>, prevents multiple selection for any media library extension, but must be supported by the extension in use</li>\n<li><code>config</code>: a configuration object that will be passed directly to the media library being\nused - available options are determined by the library</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Manual PDF\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"manual_pdf\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"file\"</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"/uploads/general-manual.pdf\"</span>\n  <span class=\"token key atrule\">media_library</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">config</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">multiple</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"hidden","label":"Hidden"},"html":"<p>Hidden widgets do not display in the UI. In folder collections that allow users to create new items, you will often want to set a default for hidden fields, so they will be set without requiring an input.</p>\n<ul>\n<li><strong>Name:</strong> <code>hidden</code></li>\n<li><strong>UI:</strong> none</li>\n<li><strong>Data type:</strong> any valid data type</li>\n<li>\n<p><strong>Options:</strong> </p>\n<ul>\n<li><code>default</code>: accepts any valid data type; recommended for collections that allow adding new items</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Layout\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"layout\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"hidden\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"blog\"</span><span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"image","label":"Image"},"html":"<p>The image widget allows editors to upload an image or select an existing one from the media library. The path to the image file will be saved to the field as a string.</p>\n<ul>\n<li><strong>Name:</strong> <code>image</code></li>\n<li><strong>UI:</strong> file picker button opens media gallery allowing image files (jpg, jpeg, webp, gif, png, bmp, tiff, svg) only; displays selected image thumbnail</li>\n<li><strong>Data type:</strong> file path string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts a file path string; defaults to null</li>\n<li><code>media_library</code>: media library settings to apply when a media library is opened by the\ncurrent widget</li>\n<li><code>allow_multiple</code>: <em>(default: <code>true</code>)</em> when set to <code>false</code>, prevents multiple selection for any media library extension, but must be supported by the extension in use</li>\n<li><code>config</code>: a configuration object that will be passed directly to the media library being\nused - available options are determined by the library</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Featured Image\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"thumbnail\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"image\"</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"/uploads/chocolate-dogecoin.jpg\"</span>\n  <span class=\"token key atrule\">media_library</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">config</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">multiple</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"list","label":"List"},"html":"<p>The list widget allows you to create a repeatable item in the UI which saves as a list of widget values. map a user-provided string with a comma delimiter into a list. You can choose any widget as a child of a list widget—even other lists.</p>\n<ul>\n<li><strong>Name:</strong> <code>list</code></li>\n<li><strong>UI:</strong> if <code>fields</code> is specified, field containing a repeatable child widget, with controls for adding, deleting, and re-ordering the repeated widgets; if unspecified, a text input for entering comma-separated values</li>\n<li><strong>Data type:</strong> list of widget values</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: if <code>fields</code> is specified, declare defaults on the child widgets; if not, you may specify a list of strings to populate the text field</li>\n<li><code>allow_add</code>: if added and labeled <code>false</code>, button to add additional widgets disappears</li>\n<li><code>collapsed</code>: if added and labeled <code>false</code>, the list widget's content does not collapse by default</li>\n<li><code>field</code>: a single widget field to be repeated</li>\n<li><code>fields</code>: a nested list of multiple widget fields to be included in each repeatable iteration</li>\n</ul>\n</li>\n<li>\n<p><strong>Example</strong> (<code>field</code>/<code>fields</code> not specified):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Tags\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"tags\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"list\"</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"news\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (<code>allow_add</code> marked <code>false</code>):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Tags\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"tags\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"list\"</span>\n  <span class=\"token key atrule\">allow_add</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">false</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"news\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (with <code>field</code>):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Gallery\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"galleryImages\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"list\"</span>\n  <span class=\"token key atrule\">field</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Image<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> image<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> image<span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (with <code>fields</code>):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Testimonials\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"testimonials\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"list\"</span>\n  <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Quote<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> quote<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> string<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Everything is awesome!\"</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Author\n      <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> author\n      <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> object\n      <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span>\n        <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Name<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> name<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> string<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Emmet\"</span><span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Avatar<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> avatar<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> image<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"/img/emmet.jpg\"</span><span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (<code>collapsed</code> marked <code>false</code>):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Testimonials\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"testimonials\"</span>\n  <span class=\"token key atrule\">collapsed</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">false</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"list\"</span>\n  <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Quote<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> quote<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> string<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Everything is awesome!\"</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> Author<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> author<span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> string <span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"map","label":"Map"},"html":"<p>The map widget allows you to edit spatial data using an interactive map. Spatial data is saved as a GeoJSON string in WGS84 projection and is limited to a single geometry.</p>\n<ul>\n<li><strong>Name:</strong> <code>map</code></li>\n<li><strong>UI:</strong> interactive map</li>\n<li><strong>Data type:</strong> GeoJSON string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>decimals</code>: accepts a number to specify precision of saved coordinates; defaults to 7 decimals</li>\n<li><code>default</code>: accepts a GeoJSON string containing a single geometry; defaults to an empty string</li>\n<li><code>type</code>: accepts one string value of <code>Point</code>, <code>LineString</code> or <code>Polygon</code>; defaults to <code>Point</code></li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Location\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"location\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"map\"</span> <span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"markdown","label":"Markdown"},"html":"<p>The markdown widget provides a full fledged text editor - which is based on <a href=\"https://github.com/ianstormtaylor/slate\" target=\"_blank\" rel=\"noopener noreferrer\">slate</a> - that allows users to format text with features such as headings and blockquotes. Users are also allowed to write in markdown by simply flipping a switch.</p>\n<p><em>Please note:</em> If you want to use your markdown editor to fill a markdown file contents after its frontmatter, you'll have to name the field <code>body</code> so the CMS recognizes it and saves the file accordingly.</p>\n<ul>\n<li><strong>Name:</strong> <code>markdown</code></li>\n<li><strong>UI:</strong> full text editor</li>\n<li><strong>Data type:</strong> markdown</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts markdown content</li>\n<li><code>minimal</code>: accepts a boolean value, <code>false</code> by default. Sets the widget height to minimum possible.</li>\n<li><code>buttons</code>: an array of strings representing the formatting buttons to display (all shown by default). Buttons include: <code>bold</code>, <code>italic</code>, <code>code</code>, <code>link</code>, <code>heading-one</code>, <code>heading-two</code>, <code>heading-three</code>, <code>heading-four</code>, <code>heading-five</code>, <code>heading-six</code>, <code>quote</code>, <code>bulleted-list</code>, and <code>numbered-list</code>.</li>\n<li><code>editorComponents</code>: an array of strings representing the names of editor components to display (all shown by default). The <code>image</code> and <code>code-block</code> editor components are included with Netlify CMS by default, but others may be <a href=\"/docs/custom-widgets/#registereditorcomponent\">created and registered</a>.</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Blog post content'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'body'</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'markdown'</span> <span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>\n<p>This would render as:</p>\n<p><img src=\"/img/widgets-markdown.png\" alt=\"Markdown widget example\"></p>\n<p><em>Please note:</em> The markdown widget outputs a raw markdown string. Your static site generator may or may not render the markdown to HTML automatically. Consult with your static site generator's documentation for more information about rendering markdown.</p>"}},{"node":{"frontmatter":{"title":"number","label":"Number"},"html":"<p>The number widget uses an HTML number input, saving the value as a string, integer, or floating point number.</p>\n<ul>\n<li><strong>Name:</strong> <code>number</code></li>\n<li><strong>UI:</strong> HTML <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number\" target=\"_blank\" rel=\"noopener noreferrer\">number input</a></li>\n<li><strong>Data type:</strong> string by default; configured by <code>valueType</code> option</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts string or number value; defaults to empty string</li>\n<li><code>valueType</code>: accepts <code>int</code> or <code>float</code>; any other value results in saving as a string</li>\n<li><code>min</code>: accepts a number for minimum value accepted; unset by default</li>\n<li><code>max</code>: accepts a number for maximum value accepted; unset by default</li>\n<li><code>step</code>: accepts a number for stepping up/down values in the input; 1 by default</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Puppy Count\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"puppies\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"number\"</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token number\">2</span>\n  <span class=\"token key atrule\">valueType</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"int\"</span>\n  <span class=\"token key atrule\">min</span><span class=\"token punctuation\">:</span> <span class=\"token number\">1</span>\n  <span class=\"token key atrule\">max</span><span class=\"token punctuation\">:</span> <span class=\"token number\">101</span>\n  <span class=\"token key atrule\">step</span><span class=\"token punctuation\">:</span> <span class=\"token number\">2</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"object","label":"Object"},"html":"<p>The object widget allows you to group multiple widgets together, nested under a single field. You can choose any widget as a child of an object widget—even other objects.</p>\n<ul>\n<li><strong>Name:</strong> <code>object</code></li>\n<li><strong>UI:</strong> a field containing one or more child widgets</li>\n<li><strong>Data type:</strong> list of child widget values</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: you can set defaults within each sub-field's configuration</li>\n<li><code>fields</code>: (<strong>required</strong>) a nested list of widget fields to include in your widget</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Profile\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"profile\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"object\"</span>\n  <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Public\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"public\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"boolean\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Name\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"name\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Birthdate\"</span>\n      <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"birthdate\"</span>\n      <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"date\"</span>\n      <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"\"</span>\n      <span class=\"token key atrule\">format</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"MM/DD/YYYY\"</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Address\"</span>\n      <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"address\"</span>\n      <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"object\"</span>\n      <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span> \n        <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Street Address\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"street\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"City\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"city\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Postal Code\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"post-code\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"relation","label":"Relation"},"html":"<p>The relation widget allows you to reference items from another collection. It provides a search input with a list of entries from the collection you're referencing, and the list automatically updates with matched entries based on what you've typed.</p>\n<ul>\n<li><strong>Name:</strong> <code>relation</code></li>\n<li><strong>UI:</strong> text input with search result dropdown</li>\n<li><strong>Data type:</strong> data type of the value pulled from the related collection item</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts any widget data type; defaults to an empty string</li>\n<li><code>collection</code>: (<strong>required</strong>) name of the collection being referenced (string)</li>\n<li><code>displayFields</code>: list of one or more names of fields in the referenced collection that will render in the autocomplete menu of the control. Defaults to <code>valueField</code>. For nested fields, separate each subfield with a <code>.</code> (E.g. <code>name.first</code>).</li>\n<li><code>searchFields</code>: (<strong>required</strong>) list of one or more names of fields in the referenced collection to search for the typed value. Syntax to reference nested fields is similar to that of <em>displayFields</em>.</li>\n<li><code>valueField</code>: (<strong>required</strong>) name of the field from the referenced collection whose value will be stored for the relation. Syntax to reference nested fields is similar to that of <em>displayFields</em> and <em>searchFields</em>. As <code>valueField</code> only allows for a single field, this parameter only accepts a string.</li>\n<li><code>multiple</code> : accepts a boolean, defaults to <code>false</code></li>\n<li><code>optionsLength</code>: accepts integer to override number of options presented to user. Defaults to <code>20</code>.</li>\n</ul>\n</li>\n<li>\n<p><strong>Example</strong> (assuming a separate \"authors\" collection with \"name\" and \"twitterHandle\" fields with subfields \"first\" and \"last\" for the \"name\" field):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Post Author\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"author\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"relation\"</span>\n  <span class=\"token key atrule\">collection</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"authors\"</span>\n  <span class=\"token key atrule\">searchFields</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"name.first\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"twitterHandle\"</span><span class=\"token punctuation\">]</span>\n  <span class=\"token key atrule\">valueField</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"name.first\"</span>\n  <span class=\"token key atrule\">displayFields</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"twitterHandle\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"followerCount\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n<p>The generated UI input will search the authors collection by name and twitterHandle, and display each author's handle and follower count. On selection, the author name will be saved for the field.</p>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"select","label":"Select"},"html":"<p>The select widget allows you to pick a string value from a dropdown menu.</p>\n<ul>\n<li><strong>Name:</strong> <code>select</code></li>\n<li><strong>UI:</strong> select input</li>\n<li><strong>Data type:</strong> string or array</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li>\n<p><code>default</code>: default values must be contained in <code>options</code> and are ignored otherwise</p>\n<ul>\n<li>string values: accepts a string; defaults to an empty string. Accepts an array of strings and defaults to an empty array  with <code>multiple: true</code> enabled.</li>\n<li>object with <code>label</code> and <code>value</code> fields: accepts an object with <code>label</code> and <code>value</code> field or an array of such objects when <code>multiple: true</code> is enable. Defaults to no value</li>\n</ul>\n</li>\n<li>\n<p><code>options</code>: (<strong>required</strong>) a list of options for the dropdown menu; can be listed in two ways:</p>\n<ul>\n<li>string values: the label displayed in the dropdown is the value saved in the file</li>\n<li>object with <code>label</code> and <code>value</code> fields: the label displays in the dropdown; the value is saved in the file</li>\n</ul>\n</li>\n<li><code>multiple</code>: accepts a boolean; defaults to <code>false</code></li>\n<li><code>min</code>: minimum number of items; ignored if <strong>multiple</strong> is not <code>true</code></li>\n<li><code>max</code>: maximum number of items; ignored if <strong>multiple</strong> is not <code>true</code></li>\n</ul>\n</li>\n<li>\n<p><strong>Example</strong> (options as strings):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Align Content\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"align\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"select\"</span>\n  <span class=\"token key atrule\">options</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"left\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"center\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"right\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (options as objects):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"City\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"airport-code\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"select\"</span>\n  <span class=\"token key atrule\">options</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Chicago\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"ORD\"</span> <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Paris\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"CDG\"</span> <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Tokyo\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"HND\"</span> <span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (multiple):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Tags\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"tags\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"select\"</span>\n  <span class=\"token key atrule\">multiple</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span>\n  <span class=\"token key atrule\">options</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"Design\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"UX\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Dev\"</span><span class=\"token punctuation\">]</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"Design\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n</li>\n<li>\n<p><strong>Example</strong> (min/max):</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Tags\"</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"tags\"</span>\n  <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"select\"</span>\n  <span class=\"token key atrule\">multiple</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span>\n  <span class=\"token key atrule\">min</span><span class=\"token punctuation\">:</span> <span class=\"token number\">1</span>\n  <span class=\"token key atrule\">max</span><span class=\"token punctuation\">:</span> <span class=\"token number\">3</span>\n  <span class=\"token key atrule\">options</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"Design\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"UX\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Dev\"</span><span class=\"token punctuation\">]</span>\n  <span class=\"token key atrule\">default</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"Design\"</span><span class=\"token punctuation\">]</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"string","label":"String"},"html":"<p>The string widget translates a basic text input to a string value. For larger textarea inputs, use the text widget.</p>\n<ul>\n<li><strong>Name:</strong> <code>string</code></li>\n<li><strong>UI:</strong> text input</li>\n<li><strong>Data type:</strong> string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts a string; defaults to an empty string</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Title\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"title\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"string\"</span><span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"text","label":"Text"},"html":"<p>The text widget takes a multiline text field and saves it as a string. For shorter text inputs, use the string widget.</p>\n<ul>\n<li><strong>Name:</strong> <code>text</code></li>\n<li><strong>UI:</strong> HTML textarea</li>\n<li><strong>Data type:</strong> string</li>\n<li>\n<p><strong>Options:</strong></p>\n<ul>\n<li><code>default</code>: accepts a string; defaults to an empty string</li>\n</ul>\n</li>\n<li>\n<p><strong>Example:</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token punctuation\">-</span> <span class=\"token punctuation\">{</span><span class=\"token key atrule\">label</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"Description\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"description\"</span><span class=\"token punctuation\">,</span> <span class=\"token key atrule\">widget</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"text\"</span><span class=\"token punctuation\">}</span></code></pre></div>\n</li>\n</ul>"}}]}},"pageContext":{"slug":"/docs/hugo/"}}}