About
An accessible, monospace plain Zola Theme
https://exiguus.github.io/zola-monoplain/
Philosophy
Design should never say, 'Look at me.' It should always say, 'Look at this.' - David Craib
This theme is designed to:
- Be fast
- Be accessible
- Respect your content
- Respect your users
- Respect user preferences
- Respect user privacy
- Respect user bandwidth
- Use native browser styles where possible
- Use semantic HTML
- Use accessible HTML
- Not load external resources (like fonts, JS, and styles)
- Focus on content and user experience
Changelog
For latest changes please see the changelog. For latest Zola config changes please see the Zola config changelog.
Features
-
Responsive, adaptive design
- Responsive images
- Adaptive font
- Responsive Layout
- Native dark mode
- Default browser styles
- Clean HTML5 output
- Lean CSS
-
Accessibility
- WCAG 2.2 AA compliant
- ARIA support
- Keyboard navigation support
- pa11y report
-
IndyWeb
- Web Sign In
-
Microformats
- h-card
- h-entry
-
Comments
- via Mastodon
- via Disqus (GitHub Discussions)
-
Templates
-
Home
- Latest Posts
- Latest Gallery Images
-
Post
- Table of contents support
-
Hero image support (
hero-img) -
Hero image alt/caption support (
hero-alt,hero-copy) -
Draft support (
draft) - Shortcodes https://exiguus.github.io/zola-monoplain/posts/shortcodes/
- Emojis https://exiguus.github.io/zola-monoplain/posts/emojis/
- Icons https://exiguus.github.io/zola-monoplain/posts/icons/
-
Markdown https://exiguus.github.io/zola-monoplain/posts/markdown/
- CommonMark
- GitHub Flavored Markdown
-
Comments
- via mailto
-
Gallery
- Post integration
- Taxonomy / Category and Tag support
- Search
- Sitemap
- 404 / not found
-
Feeds
- Atom
- RSS
-
Home
-
Language
-
Template labels translated via
translations - Dictionary https://exiguus.github.io/zola-monoplain/posts/dictionary/
-
Template labels translated via
-
Open Graph
- Link preview support
- Link preview image support
- Link custom preview image support
-
Customization
- Customizable via template hooks
- Customizable via config.toml
-
Environment
- JavaScript support
- React Support
- TypeScript support
-
CI/CD https://exiguus.github.io/zola-monoplain/posts/ci/
-
Linting and Formatting support
- Prettier
- Commitlint
- Commit hooks
-
Linting and Formatting support
Getting Started
- Add this theme to your
themes/folder (copy or symlink). - Copy the theme config file from
themes/zola-monoplain/config.tomlinto your project's root directory. Update it as required and don't forget to addtheme = 'zola-monoplain'at the top of the file. - Copy the contents of
themes/zola-monoplain/content/into the root of your project and adjust the files as needed.
Also, see the themes documentation: https://exiguus.github.io/zola-monoplain/posts/themes/
Customising the Theme
- To change settings copy
config.tomlinto your project and update it as required (make sure you add the theme variable at the top of the file, see Getting started above). - To inject content into templates copy
templates/macros/hooks.htmland update it as required. - To change syntax highlighting change
themeinconfig.tomlto one of the available themes.
For a complete reference of config.extra, page.extra, and available macros/shortcodes, see:
- https://exiguus.github.io/zola-monoplain/posts/themes/
- https://exiguus.github.io/zola-monoplain/posts/images/
- https://exiguus.github.io/zola-monoplain/posts/shortcodes/
Releases
Release follow Semantic Versioning and are tagged in the Git repository. The version number is also available in package.json and the config.toml file.
Release notes are available in the CHANGELOG.md file.
Zola Config Changes are available in the CHANGELOG_ZOLA_CONFIG.md file.
Feature Requests & Support
I'm afraid I'm unable to accept feature requests or provide user support for this theme. The Zola documentation and Tera documentation are great resources and there is a Zola discussion forum. If you've found a bug in the theme please open a GitHub issue.
Contributing
Contributions are very welcome. If you are planning to add a feature, open an issue first so the approach can be discussed before implementation. Please keep the following in mind:
- Only widely generic features will be accepted, anything too specific should be kept to your own templates.
- Be careful about destroying indentation as Tera syntax doesn't seem to be widely supported by IDEs.
- Keep it lean. Adding bloat will likely result in your PR being rejected.
- Consider backward compatibility, ideally people blindly-upgrading won't see any unexpected changes to their sites.
License
This theme is licensed under the MIT License.