.github | ||
archetypes | ||
content | ||
layouts | ||
static | ||
themes | ||
.gitignore | ||
.gitmodules | ||
config.yml | ||
README.md |
WonderMod theme for Hugo - https://olivier.falcoz.net
What is this?
This is my current website, a fork of the WonderMod theme developed by Wonderfall.
Credits
- WonderMod by Wonderfall
original README.md
WonderMod is a fork itself of an original theme for Hugo called PaperMod (made by adityatelange). Since PaperMod isn't interested in a few changes such as removing inline JavaScript, which I personally require to harden my websites, Wonderfall decided to maintain his own fork (he didn't want to keep overwriting a bunch of files as a fork workflow is much cleaner). Don't expect a ton of changes, and unless you know him, you probably don't want to use WonderMod.
When implementing new features, Wonderfall tries to do as much as he can with pure CSS code instead of adding new JavaScript code. He'd like to keep the JavaScript part minimal and that's why WonderMod should be totally usable when disabling JavaScript. WonderMod is also designed with strong CSP headers in mind: no inline JavaScript or style, no calls to third-parties.
This fork is regularly synced with upstream changes from PaperMod. A merging workflow was chosen since rebasing WonderMod's changes every time could be less efficient. As such, commit history is a bit messy, but upstream changes will be merged on a best effort basis.
Main changes
Current "main" changes are as follows:
- Remove inline JavaScript (2528906)
- Improved YouTube shortcode (4dc3bee)
- Built-in Chroma instead of client-side syntax highlighting with HLJS (841141)
- Responsive Table of Contents with side display support (2303605)
- Responsive "hamburger" menu for mobile (723ac4f)
- Simple reading progress bar (13876be)
- Bunch of CSS and other changes (see commit history)
Additional credits:
- PaperModX by reorx
Configure
Most of the installation process and settings are shared with the original PaperMod, so check out their documentation. One noticeable difference though is that in order to enable syntax highlighting, you have to add this to your
config.yml
:markup: highlight: style: dracula noClasses: false guessSyntax: true
See Hugo documentation for more options.
Note: for some reason, the guessSyntax
doesn't actually work but is required. Please make your code fences explicit for the time being.