Revamp the existing translation system, simplifying
management and adding several new languages. The new system reads from
TOML files in the `/i18n` directory and improves template structures.
It also enhances customisation options and robustness by providing
fallbacks and modularity.
- Implement a new, streamlined translation macro.
- Load translations from `/i18n` TOML files.
- Remove redundant configuration requirements.
- Refactor templates to align with new i18n system.
- Add support for Hindi, Japanese, Russian, Portuguese, Chinese,
Italian, German, Ukranian, Korean, and French languages.
- Credit Thomas Weitzel (@thomasweitzel) for inspiration.
Adds two options, both defaulting to true if the remote repo URL is set:
* `show_remote_changes`: links the commit history of a post next to the updated date. (#109)
* `show_remote_source`: links to the site's repository on the footer.
Used as fallback when JS is disabled and `theme_switcher` is enabled.
If `default_theme` is unset, it defaults to "light".
Used as single theme when `theme_switcher` is disabled.
Allows users to specify custom opening and closing quotation marks for
the multilingual quote shortcode.
The quotation marks can be configured per language in config.toml.
If not specified, default quotation marks will be used.
The `initialize-theme.js` script takes care of the following:
1. If there is a stored theme value in the localStorage, set the theme
based on that value.
2. If there is no stored theme value, check the user's system
preference (dark or light) and set the theme accordingly.
The new `main.js` takes care of the actual theme switching and listening
to system preference changes (if the user has not manually set a theme).
Now the icons are stored in CSS, and are set according to the current
theme. This allows for having different icons that dynamically switch.
Additionally, wraps social and navigation elements in ul/li.
Fixes#76