---
title: Configuration | docs2website
layout: main.html
breadcrumb:
- '[doc-utils](../)'
- '[docs2website](./)'
---


# Configuration

_todo_

## Sample Configuration File

```yaml
# Input Configuration (where your documents are)
input:
  # The root directory for where to find input file. All other
  # input paths are relative to this, and must be under this
  root: ./docs

  # Files identified in this section are copied over to the
  # output directory unprocessed
  raw:
  - ./**/*.{png,jpg,jpeg,gif}

  # Files in this section will be processed as mustache templates,
  # but will receive no other processing
  text:
  - ./**/*.{css,html,js,txt}

  # Files to be parsed as markdown (optionally with front matter)
  # and rendered to HTML pages
  markdown:
  - ./**/*.md

  # Files to be parsed as JSON Schema definitions and rendered
  # to HTML documentation. Additionally, the original JSON / Yaml
  # file will also be copied to the output directory
  schema+json:
  - ./**/*.schema.json
  schema+yaml:
  - ./**/*.schema.{yaml,yml}

  # Files to be parsed as OpenAPI V3 specifications and rendered
  # to HTML documentation. Additionally, the original JSON / Yaml
  # file will also be copied to the output directory
  openapi+json:
  - ./**/*.openapi.json
  openapi+yaml:
  - ./**/*.openapi.{yaml,yml}

# Template Configuration (used by mustache to actually render pages)
templates:
  # Root directory where layout files are stored
  layouts: ./layouts

  # Root directory where partial files are stored
  partials: ./partials

  # Overrides the opening/closing tags used in mustache template rendering
  tags: [ '{{', '}}' ]

  # (Optional) whitelist of environment variables to be made accessible
  # under `env` when processing templates
  env:
  - EXAMPLE_ENVIRONMENT_VARIABLE
  - FOO_BAR_BAZ

# Output Configuration (where to put your website)
output:
  # The root directory to output your website at. The path of an
  # input file relative to $.input.root will match (aside from file
  # extension) the path of the output file relative to $.output.root
  root: ./www

  # Any input types listed here will have their raw input files copied
  # into the output directory (in addition to creating the new, processed
  # output files)
  include_inputs:
  - schema+json
  - schema+yaml
  - openapi+json
  - openapi+yaml

  # When writing either a JSON or Yaml file, if this flag is set to true,
  # the file will be converted to the other format so both formats are
  # included in the output
  include_yaml_and_json: true

  # If set to true, intermediate markdown files that are generated from
  # other input sources will also be written to the output directory. For
  # example, a JSON Schema file goes through two transform steps, e.g.
  # 
  #   "schema.json" => "schema.md" => "schema.html"
  # 
  # Typically, those intermediate markdown files are not written anywhere,
  # only passed from one step to the other, unless this flag is set.
  include_intermediate_markdown: false

# Markdown-to-HTML Configuration
markdown:
  # 
```


