nanoc.yaml 4.36 KB
Newer Older
1 2 3 4 5 6
# The syntax to use for patterns in the Rules file. Can be either `"glob"`
# (default) or `"legacy"`. The former will enable glob patterns, which behave
# like Ruby’s File.fnmatch. The latter will enable Nanoc 3.x-style patterns.
string_pattern_type: legacy

# A list of file extensions that Nanoc will consider to be textual rather than
Andrea Scarpino's avatar
Andrea Scarpino committed
7 8
# binary. If an item with an extension not in this list is found,  the file
# will be considered as binary.
9
text_extensions: [ 'adoc', 'asciidoc', 'atom', 'coffee', 'css', 'erb', 'haml', 'handlebars', 'hb', 'htm', 'html', 'js', 'less', 'markdown', 'md', 'ms', 'mustache', 'php', 'rb', 'rdoc', 'sass', 'scss', 'slim', 'tex', 'txt', 'xhtml', 'xml' ]
Andrea Scarpino's avatar
Andrea Scarpino committed
10 11 12 13

# The path to the directory where all generated files will be written to. This
# can be an absolute path starting with a slash, but it can also be path
# relative to the site directory.
Andrea Scarpino's avatar
Andrea Scarpino committed
14
output_dir: public
Andrea Scarpino's avatar
Andrea Scarpino committed
15 16 17 18

# A list of index filenames, i.e. names of files that will be served by a web
# server when a directory is requested. Usually, index files are named
# “index.html”, but depending on the web server, this may be something else,
19
# such as “default.htm”. This list is used by Nanoc to generate pretty URLs.
Andrea Scarpino's avatar
Andrea Scarpino committed
20 21 22 23 24 25 26 27
index_filenames: [ 'index.html' ]

# Whether or not to generate a diff of the compiled content when compiling a
# site. The diff will contain the differences between the compiled content
# before and after the last site compilation.
enable_output_diff: false

prune:
28 29
  # Whether to automatically remove files not managed by Nanoc from the output
  # directory.
Andrea Scarpino's avatar
Andrea Scarpino committed
30 31 32 33 34 35 36
  auto_prune: true

  # Which files and directories you want to exclude from pruning. If you version
  # your output directory, you should probably exclude VCS directories such as
  # .git, .svn etc.
  exclude: [ '.git', '.hg', '.svn', 'CVS' ]

37
# The data sources where Nanoc loads its data from. This is an array of
Andrea Scarpino's avatar
Andrea Scarpino committed
38 39 40 41 42
# hashes; each array element represents a single data source. By default,
# there is only a single data source that reads data from the “content/” and
# “layout/” directories in the site directory.
data_sources:
  -
43
    # The type is the identifier of the data source.
Andrea Scarpino's avatar
Andrea Scarpino committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
    type: filesystem_unified

    # The path where items should be mounted (comparable to mount points in
    # Unix-like systems). This is “/” by default, meaning that items will have
    # “/” prefixed to their identifiers. If the items root were “/en/”
    # instead, an item at content/about.html would have an identifier of
    # “/en/about/” instead of just “/about/”.
    items_root: /

    # The path where layouts should be mounted. The layouts root behaves the
    # same as the items root, but applies to layouts rather than items.
    layouts_root: /

    # The encoding to use for input files. If your input files are not in
    # UTF-8 (which they should be!), change this.
    encoding: utf-8

61 62 63
    # The kind of identifier to use for items and layouts. The default is
    # “full”, meaning that identifiers include file extensions. This can also
    # be “legacy”, primarily used by older Nanoc sites.
Andrea Scarpino's avatar
Andrea Scarpino committed
64 65
    identifier_type: legacy

Andrea Scarpino's avatar
Andrea Scarpino committed
66
  -
Andrea Scarpino's avatar
Andrea Scarpino committed
67 68 69 70
    type: filesystem
    items_root: /assets
    content_dir: 'static'
    layouts_dir: null
71 72
    extra_files:
      - '.well-known/**/*'
Andrea Scarpino's avatar
Andrea Scarpino committed
73 74 75 76 77 78 79 80 81 82 83 84

# Configuration for the “check” command, which run unit tests on the site.
checks:
  # Configuration for the “internal_links” checker, which checks whether all
  # internal links are valid.
  internal_links:
    # A list of patterns, specified as regular expressions, to exclude from the check.
    # If an internal link matches this pattern, the validity check will be skipped.
    # E.g.:
    #   exclude: ['^/server_status']
    exclude: []

85 86 87 88 89 90 91 92 93 94 95 96 97 98
  # Configuration for the “external_links” checker, which checks whether all
  # external links are valid.
  external_links:
    # A list of patterns, specified as regular expressions, to exclude from the check.
    # If an external link matches this pattern, the validity check will be skipped.
    # E.g.:
    #   exclude: ['^http://example.com$']
    exclude: []

    # A list of file patterns, specified as regular expressions, to exclude from the check.
    # If a file matches this pattern, the links from this file will not be checked.
    # E.g.:
    #   exclude_files: ['blog/page']
    exclude_files: []
Andrea Scarpino's avatar
Andrea Scarpino committed
99 100

# The base URL for this site. This is required for XML sitemap generation.
Andrea Scarpino's avatar
Andrea Scarpino committed
101
base_url: https://andreascarpino.it