{"id":"e05e445fb74924b7edaa172ea87786ed827ef7792473dcd442da7f808c23394b","type":"Contented","path":"/api","modifiedDate":1686373756200,"sections":[],"fields":{"title":"API Reference"},"html":"<nav class=\"toc\"><ol class=\"toc-level toc-level-1\"><li class=\"toc-item toc-item-h1\"><a class=\"toc-link toc-link-h1\" href=\"#api-reference\">API Reference</a><ol class=\"toc-level toc-level-2\"><li class=\"toc-item toc-item-h2\"><a class=\"toc-link toc-link-h2\" href=\"#contented-cli\">Contented CLI</a><ol class=\"toc-level toc-level-3\"><li class=\"toc-item toc-item-h3\"><a class=\"toc-link toc-link-h3\" href=\"#contented-write\">contented write</a></li><li class=\"toc-item toc-item-h3\"><a class=\"toc-link toc-link-h3\" href=\"#contented-generate\">contented generate</a></li><li class=\"toc-item toc-item-h3\"><a class=\"toc-link toc-link-h3\" href=\"#contented-build\">contented build</a></li></ol></li><li class=\"toc-item toc-item-h2\"><a class=\"toc-link toc-link-h2\" href=\"#contented-configuration\">Contented Configuration</a><ol class=\"toc-level toc-level-3\"><li class=\"toc-item toc-item-h3\"><a class=\"toc-link toc-link-h3\" href=\"#contentedconfigjs\">contented.config.js</a><ol class=\"toc-level toc-level-4\"><li class=\"toc-item toc-item-h4\"><a class=\"toc-link toc-link-h4\" href=\"#example\">Example</a></li></ol></li></ol></li></ol></li></ol></nav><h1 id=\"api-reference\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#api-reference\"><span class=\"icon icon-link\"></span></a>API Reference</h1>\n<h2 id=\"contented-cli\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#contented-cli\"><span class=\"icon icon-link\"></span></a>Contented CLI</h2>\n<h3 id=\"contented-write\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#contented-write\"><span class=\"icon icon-link\"></span></a>contented write</h3>\n<p>To ease the authoring process, <code>content write</code> creates a preview of your content on <code>localhost:3000</code>. The preview comes\nwith a basic content navigation tree (left), table of contents (right), and prose formatting (center).</p>\n<p>This website, the current one <strong>you're looking at right now</strong> is the result of <code>contented write</code>.</p>\n<h3 id=\"contented-generate\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#contented-generate\"><span class=\"icon icon-link\"></span></a>contented generate</h3>\n<p>Generates the static preview website that can be published to GitHub Pages, Netlify, or Vercel! Minimally, you need to\nconfigure your <code>package.json</code> with these fields:</p>\n<p><strong><code>package.json</code>:</strong></p>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">{</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"scripts\"</span><span style=\"color: #ADBAC7\">: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #8DDB8C\">\"generate\"</span><span style=\"color: #ADBAC7\">: </span><span style=\"color: #96D0FF\">\"contented generate\"</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"devDependencies\"</span><span style=\"color: #ADBAC7\">: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #8DDB8C\">\"@birthdayresearch/contented\"</span><span style=\"color: #ADBAC7\">: </span><span style=\"color: #96D0FF\">\"latest\"</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  }</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}</span></span></code></pre>\n<p><strong><code>contented.config.js</code>:</strong></p>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #768390\">/** </span><span style=\"color: #F47067\">@type</span><span style=\"color: #768390\"> </span><span style=\"color: #F69D50\">{import('@birthdayresearch/contented').ContentedConfig}</span><span style=\"color: #768390\"> */</span></span>\n<span class=\"line\"><span style=\"color: #6CB6FF\">module</span><span style=\"color: #ADBAC7\">.</span><span style=\"color: #6CB6FF\">exports</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F47067\">=</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  preview: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    url: </span><span style=\"color: #96D0FF\">'https://contented.dev'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    name: </span><span style=\"color: #96D0FF\">'Contented'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    github: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      url: </span><span style=\"color: #96D0FF\">'https://github.com/BirthdayResearch/contented'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  processor: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    pipelines: [</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        type: </span><span style=\"color: #96D0FF\">'Doc'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        pattern: </span><span style=\"color: #96D0FF\">'**/*.md'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        processor: </span><span style=\"color: #96D0FF\">'md'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    ],</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">};</span></span></code></pre>\n<p><strong>Netlify TOML:</strong></p>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">[</span><span style=\"color: #F69D50\">build</span><span style=\"color: #ADBAC7\">]</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">publish = </span><span style=\"color: #96D0FF\">\".contented/.preview/out\"</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">command = </span><span style=\"color: #96D0FF\">\"npm run generate\"</span></span></code></pre>\n<p><strong>Vercel Settings:</strong></p>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #adbac7\">FRAMEWORK PRESET    = Next.js</span></span>\n<span class=\"line\"><span style=\"color: #adbac7\">BUILD COMMAND       = npm run generate</span></span>\n<span class=\"line\"><span style=\"color: #adbac7\">OUTPUT DIRECTORY    = .contented/.preview/out</span></span></code></pre>\n<h3 id=\"contented-build\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#contented-build\"><span class=\"icon icon-link\"></span></a>contented build</h3>\n<p>Generates the <code>./dist</code> output that can be published into the NPM registry for creating a derivative site. Minimally, you\nneed to configure your <code>package.json</code> with these fields:</p>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #ADBAC7\">{</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"name\"</span><span style=\"color: #ADBAC7\">: </span><span style=\"color: #96D0FF\">\"@your-scope/your-npm-package\"</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"files\"</span><span style=\"color: #ADBAC7\">: [</span><span style=\"color: #96D0FF\">\"dist\"</span><span style=\"color: #ADBAC7\">],</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"main\"</span><span style=\"color: #ADBAC7\">: </span><span style=\"color: #96D0FF\">\"dist/index.js\"</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"scripts\"</span><span style=\"color: #ADBAC7\">: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #8DDB8C\">\"build\"</span><span style=\"color: #ADBAC7\">: </span><span style=\"color: #96D0FF\">\"contented build\"</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #8DDB8C\">\"devDependencies\"</span><span style=\"color: #ADBAC7\">: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #8DDB8C\">\"@birthdayresearch/contented\"</span><span style=\"color: #ADBAC7\">: </span><span style=\"color: #96D0FF\">\"latest\"</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  }</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}</span></span></code></pre>\n<p>Run <code>contented build</code> to compiled your markdown into <code>index.js</code> and <code>*.json</code>, output to the dir: <code>./dist</code>.\nYou can <code>npm publish</code> into any registry of your choice. You can easily <code>npm i @your-scope/your-npm-package</code> and use the\nprocessed content on any downstream site.</p>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #F47067\">import</span><span style=\"color: #ADBAC7\"> { Index } </span><span style=\"color: #F47067\">from</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #96D0FF\">'@your-scope/your-npm-package'</span><span style=\"color: #ADBAC7\">;</span></span></code></pre>\n<h2 id=\"contented-configuration\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#contented-configuration\"><span class=\"icon icon-link\"></span></a>Contented Configuration</h2>\n<p>The anatomy of a contented package, with just 2 configuration files, and you are good from the get-go! Contented\nautomatically ignore files in your <code>.gitignore</code> and <code>.contentedignore</code>.</p>\n<blockquote>\n<p>You should also add a <code>.gitignore</code> too with <code>echo \"dist\\n.contented\" > .gitignore</code>. (Okay fine! 3 files it is. Ughhhh)</p>\n</blockquote>\n<h3 id=\"contentedconfigjs\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#contentedconfigjs\"><span class=\"icon icon-link\"></span></a><code>contented.config.js</code></h3>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #F47067\">export</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F47067\">interface</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F69D50\">ContentedConfig</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #F69D50\">preview</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #F69D50\">url</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #F69D50\">name</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #F69D50\">github</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      </span><span style=\"color: #F69D50\">url</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    };</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  };</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #F69D50\">processor</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #768390\">/**</span></span>\n<span class=\"line\"><span style=\"color: #768390\">     * The root directory of your contented markdown.</span></span>\n<span class=\"line\"><span style=\"color: #768390\">     */</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #F69D50\">rootDir</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #768390\">/**</span></span>\n<span class=\"line\"><span style=\"color: #768390\">     * Customize the output path. Editing this will cause contented-preview to break.</span></span>\n<span class=\"line\"><span style=\"color: #768390\">     */</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #F69D50\">outDir</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #768390\">/**</span></span>\n<span class=\"line\"><span style=\"color: #768390\">     * Contented processing pipeline</span></span>\n<span class=\"line\"><span style=\"color: #768390\">     */</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    </span><span style=\"color: #F69D50\">pipelines</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F69D50\">Pipeline</span><span style=\"color: #ADBAC7\">[];</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  };</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color: #F47067\">export</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F47067\">interface</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F69D50\">Pipeline</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #F69D50\">type</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #F69D50\">pattern</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #F69D50\">processor</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #96D0FF\">'md'</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #F69D50\">fields</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    [</span><span style=\"color: #F69D50\">name</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #6CB6FF\">string</span><span style=\"color: #ADBAC7\">]</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F69D50\">PipelineField</span><span style=\"color: #ADBAC7\">;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  };</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  </span><span style=\"color: #DCBDFB\">transform</span><span style=\"color: #F47067\">?:</span><span style=\"color: #ADBAC7\"> (</span><span style=\"color: #F69D50\">file</span><span style=\"color: #F47067\">:</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F69D50\">FileContent</span><span style=\"color: #ADBAC7\">) </span><span style=\"color: #F47067\">=></span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F69D50\">Promise</span><span style=\"color: #ADBAC7\">&#x3C;</span><span style=\"color: #F69D50\">FileContent</span><span style=\"color: #ADBAC7\">>;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">}</span></span></code></pre>\n<h4 id=\"example\"><a aria-hidden=\"true\" tabindex=\"-1\" href=\"#example\"><span class=\"icon icon-link\"></span></a>Example</h4>\n<pre class=\"shiki\" style=\"background-color: #22272e\"><code><span class=\"line\"><span style=\"color: #768390\">/** </span><span style=\"color: #F47067\">@type</span><span style=\"color: #768390\"> </span><span style=\"color: #F69D50\">{import('@birthdayresearch/contented').ContentedConfig}</span><span style=\"color: #768390\"> */</span></span>\n<span class=\"line\"><span style=\"color: #6CB6FF\">module</span><span style=\"color: #ADBAC7\">.</span><span style=\"color: #6CB6FF\">exports</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #F47067\">=</span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  preview: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    url: </span><span style=\"color: #96D0FF\">'https://contented.dev'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    name: </span><span style=\"color: #96D0FF\">'Contented'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    github: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      url: </span><span style=\"color: #96D0FF\">'https://github.com/BirthdayResearch/contented'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  processor: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    pipelines: [</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        type: </span><span style=\"color: #96D0FF\">'Docs'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        pattern: </span><span style=\"color: #96D0FF\">'docs/**/*.md'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        processor: </span><span style=\"color: #96D0FF\">'md'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        fields: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          title: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            type: </span><span style=\"color: #96D0FF\">'string'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            required: </span><span style=\"color: #6CB6FF\">true</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            </span><span style=\"color: #DCBDFB\">resolve</span><span style=\"color: #ADBAC7\">: (</span><span style=\"color: #F69D50\">s</span><span style=\"color: #ADBAC7\">) </span><span style=\"color: #F47067\">=></span><span style=\"color: #ADBAC7\"> s </span><span style=\"color: #F47067\">??</span><span style=\"color: #ADBAC7\"> </span><span style=\"color: #96D0FF\">'Contented'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          description: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            type: </span><span style=\"color: #96D0FF\">'string'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          tags: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            type: </span><span style=\"color: #96D0FF\">'string[]'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        </span><span style=\"color: #DCBDFB\">transform</span><span style=\"color: #ADBAC7\">: (</span><span style=\"color: #F69D50\">file</span><span style=\"color: #ADBAC7\">) </span><span style=\"color: #F47067\">=></span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          file.path </span><span style=\"color: #F47067\">=</span><span style=\"color: #ADBAC7\"> file.path.</span><span style=\"color: #DCBDFB\">replaceAll</span><span style=\"color: #ADBAC7\">(</span><span style=\"color: #96D0FF\">/</span><span style=\"color: #F47067\">^</span><span style=\"color: #8DDB8C; font-style: italic\">\\/</span><span style=\"color: #96D0FF\">docs</span><span style=\"color: #8DDB8C; font-style: italic\">\\/</span><span style=\"color: #F47067\">?</span><span style=\"color: #96D0FF\">/</span><span style=\"color: #F47067\">g</span><span style=\"color: #ADBAC7\">, </span><span style=\"color: #96D0FF\">'/'</span><span style=\"color: #ADBAC7\">);</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          file.sections </span><span style=\"color: #F47067\">=</span><span style=\"color: #ADBAC7\"> file.sections.</span><span style=\"color: #DCBDFB\">slice</span><span style=\"color: #ADBAC7\">(</span><span style=\"color: #6CB6FF\">1</span><span style=\"color: #ADBAC7\">);</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          </span><span style=\"color: #F47067\">return</span><span style=\"color: #ADBAC7\"> file;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        type: </span><span style=\"color: #96D0FF\">'Lorem'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        pattern: </span><span style=\"color: #96D0FF\">'lorem/**/*.md'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        processor: </span><span style=\"color: #96D0FF\">'md'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        fields: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          title: {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">            type: </span><span style=\"color: #96D0FF\">'string'</span><span style=\"color: #ADBAC7\">,</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        </span><span style=\"color: #DCBDFB\">transform</span><span style=\"color: #ADBAC7\">: (</span><span style=\"color: #F69D50\">file</span><span style=\"color: #ADBAC7\">) </span><span style=\"color: #F47067\">=></span><span style=\"color: #ADBAC7\"> {</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          file.sections </span><span style=\"color: #F47067\">=</span><span style=\"color: #ADBAC7\"> file.sections.</span><span style=\"color: #DCBDFB\">slice</span><span style=\"color: #ADBAC7\">(</span><span style=\"color: #6CB6FF\">1</span><span style=\"color: #ADBAC7\">);</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">          </span><span style=\"color: #F47067\">return</span><span style=\"color: #ADBAC7\"> file;</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">        },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">      },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">    ],</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">  },</span></span>\n<span class=\"line\"><span style=\"color: #ADBAC7\">};</span></span></code></pre>","headings":[{"depth":1,"id":"api-reference","title":"API Reference","children":[{"depth":2,"id":"contented-cli","title":"Contented CLI","children":[{"depth":3,"id":"contented-write","title":"contented write","children":[]},{"depth":3,"id":"contented-generate","title":"contented generate","children":[]},{"depth":3,"id":"contented-build","title":"contented build","children":[]}]},{"depth":2,"id":"contented-configuration","title":"Contented Configuration","children":[{"depth":3,"id":"contentedconfigjs","title":"contented.config.js","children":[]}]}]}]}