macana

Static site generator for Obsidian Vault

Input options

input.path

Path to a Vault (source directory includes documents). Path needs to be relative and resolved from the config file.

Output options

output.path

Path to the output directory. Path needs to be relative and resolved from the config file.

output.baseURL

Base URL for the generated website.

Path part needs to end with trailing slash: otherwise the last segment will be omitted. For example, link for the Foo.md under --base-url /bar/baz will look like /bar/Foo/.

output.userCSS

Path to the user provided CSS file. Path needs to be relative and inside the vault, and will be resolved from the config file.

Assets referenced in the CSS file are automatically included in the final output, such as font file. Referenced assets needs to be relative and inside the vault too.

output.precompress

Whether to compress .html, .css and .js files into .<ext>.gz, .<ext>.br and .<ext>.zst files. For example, if an output directory contains index.html, Macana also generates - index.html.gz (Gzip) - index.html.br (Brotli) - index.html.zst (ZStandard)

inside the same directory.

Website metadata options

metadata.name

Website name, title. <title> and a title section in a header uses this text.

metadata.favicon.svg

Path to a SVG file to use as a favicon. Path needs to be relative and resolved from the config file.

metadata.favicon.png

Path to a PNG file to use as a favicon. Path needs to be relative and resolved from the config file.

metadata.copyright

Copyright text to show in the generated website.

metadata.logoImage

Path to an image file to use as a website logo. Path needs to be relative and resolved from the config file.

metadata.openGraph.image

Path to an image file to use as an Open Graph image (og:image). Path needs to be relative and resolved from the config file.

Macana sets Open Graph attributes only when the value of [[#output.baseURL]] is full URL string. Path only strings and such are not considered as Open Graph ready base URL.

Document options

documents.defaultLanguage

Default language for the generated website.

documents.languages.<directory>

If a directory name matches to <directory>, the directory is treated as a language directory: the directory itself and its contents have different language than the parent one.

documents.resolveShortestPathWhenPossible

Enable support for Obsidian’s “[[Ambiguous path resolution#Shortest path when possible|Shortest path when possible]]” link resolution.

documents.title.keepExtension

By default, Macana use filename without file extension part as a document title. If this option is enabled, Macana does not trim the file extension part.

Markdown options

markdown.enabled

Enable parsing of Markdown documents. You can disable this from CLI via --disable-markdown flag.

markdown.yamlFrontmatter

Enable parsing of YAML frontmatter in Markdown documents.

JSONCanvas options

jsonCanvas.enabled

Enable parsing of JSONCanvas documents. You can disable this from CLI via --disable-jsoncanvas flag.