{
  "attributes": {
    "id": "configuration",
    "linkText": "Configuring Fountainhead",
    "title": "Configuring Fountainhead"
  },
  "body": "<p>Fountainhead has sane defaults for all configuration options. Standard apps/addons\nshould be able to generate documentation files and use Fountainhead without any\nconfiguration. When needed though, Fountainhead can be customized as desired using\na <code>fountainhead.js</code> file.</p>\n{{#fountainhead-header tagName=\"h2\" elementId=\"fountainhead.js-configuration-options\"}}fountainhead.js Configuration Options{{/fountainhead-header}}\n<div class=\"code-block-file-name\">fountainhead.js</div>\n<pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\" spellcheck=\"true\">/*\n * Fountainhead Default Configurations\n * These are the configuration defaults, they can be overwritten as needed\n */</span>\nmodule<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Sets url for repository link in top left of API page</span>\n  repository<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Generate data files before builds for live reloading</span>\n  liveEdit<span class=\"token punctuation\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Import Fountainhead styles into vendor.css</span>\n  includeVendorStyles<span class=\"token punctuation\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Set to true to suppress error logging during data file generation</span>\n  quiet<span class=\"token punctuation\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Fountainhead custom tags not recognized by YUIDoc</span>\n  whiteListTags<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'passed'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'closure'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'action'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Set custom logo path</span>\n  logo<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Directories to parse for API documentation</span>\n  entry<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'app'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Paths to guide files</span>\n  guides<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Output directory and filename for master data set</span>\n  output<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    filename<span class=\"token punctuation\">:</span> <span class=\"token string\">'fountainhead-data.json'</span><span class=\"token punctuation\">,</span>\n    path<span class=\"token punctuation\">:</span> path<span class=\"token punctuation\">.</span><span class=\"token function\">resolve</span><span class=\"token punctuation\">(</span><span class=\"token string\">'docs'</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token comment\" spellcheck=\"true\">// Automatically set to consuming application's locationType, but can</span>\n  <span class=\"token comment\" spellcheck=\"true\">// be explicitly specified (sets internal link id target types between</span>\n  <span class=\"token comment\" spellcheck=\"true\">// query params and hash fragments)</span>\n  locationType<span class=\"token punctuation\">:</span> locationType\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</code></pre>\n<p>{{#fountainhead-alert canDismiss=false brand='info'}}\n{{fountainhead-svg svgId='info'}} All paths are resolved using <code>path.resolve</code>,\nmeaning that either a relative path or paths starting with <code>./</code> will resolve to\nyour project's root directory.\n{{/fountainhead-alert}}</p>\n{{#fountainhead-header tagName=\"h2\" elementId=\"environment-specific-configuration\"}}Environment Specific Configuration{{/fountainhead-header}}\n<p>You can export a function from <code>fountainhead.js</code> that will receive the build\nenvironment as a parameter if you need environment specific configurations:</p>\n<div class=\"code-block-file-name\">fountainhead.js</div>\n<pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\" spellcheck=\"true\">// EG: Include only your app files for production documentation. In dev builds</span>\n<span class=\"token comment\" spellcheck=\"true\">// include internal dev utilities documentation</span>\nmodule<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> env <span class=\"token operator\">=</span><span class=\"token operator\">></span> <span class=\"token punctuation\">{</span>\n  entry<span class=\"token punctuation\">:</span> env <span class=\"token operator\">===</span> <span class=\"token string\">'production'</span> <span class=\"token operator\">?</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'app'</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'app'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'dev-utilities'</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span>\n</code></pre>\n{{#fountainhead-header tagName=\"h2\" elementId=\"fountainhead-service-namespace\"}}Fountainhead Service Namespace{{/fountainhead-header}}\n<p>You can override the root namespace that all Fountainhead requests use by setting\nthe {{c-l class='Fountainhead' item='apiNamespace'}}. The default value is <code>/docs</code>.</p>\n<div class=\"code-block-file-name\">app.js</div>\n<pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> Fountainhead <span class=\"token keyword\">from</span> <span class=\"token string\">'ember-fountainhead/services/fountainhead'</span><span class=\"token punctuation\">;</span>\n\nFountainhead<span class=\"token punctuation\">.</span><span class=\"token function\">reopen</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> apiNamespace<span class=\"token punctuation\">:</span> <span class=\"token string\">'/special-namespace/v1/'</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</code></pre>\n<p>The meta request would now use url: <code>/special-namespace/v1/meta.json</code></p>\n",
  "frontmatter": "id: configuration\nlinkText: Configuring Fountainhead\ntitle: Configuring Fountainhead",
  "id": "configuration",
  "type": "guides"
}