The following features are present in several static site generators (SSGs); you might almost call them standard:
- Markdown or HTML content with YAML metadata in the frontmatter.
- Support for themes.
- Sass/SCSS support (via
- Can generate a search index for use by
- Shortcodes for more expressive and extensible content.
The following features are among the ones that set wmk apart:
- The content is rendered using Mako, a template system which makes all the resources of Python easily available to you.
- “Stand-alone” templates – i.e. templates that are not used for presenting markdown-based content – are also rendered if present. This can e.g. be used for list pages or content based on external sources (such as a database).
- Additional data for the site may be loaded from separate YAML files or even (with a small amount of Python/Mako code) from other data sources such as CSV files, SQL databases or REST/graphql APIs.
- The shortcode system is considerably more powerful than that of most static site generators. For instance, among the default shortcodes are an image thumbnailer and a page list component. A shortcode is just a Mako component, so if you know some Python you can easily build your own.
- Optional support for the powerful Pandoc document converter, for the entire site or on a page-by-page basis. This gives you access to such features as LaTeX math markup and academic citations, as well as to Pandoc’s well-designed filter system for extending markdown. Pandoc also enables you to export your content to other formats (such as PDF) in addition to HTML, if you so wish.
- Also via Pandoc, support for several non-markdown input formats for content, namely LaTeX, Org, RST, Textile, man, JATS, TEI, Docbook, RTF, DOCX, ODT and EPUB.
That exception aside, wmk is suitable for building any small or medium-sized static website (up to a few hundred pages).