All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Remove the web feeds feature in favor of my web feeds theme component. While this removes a part of the value of the theme now that the feature is modularized but it is easier to set the web feeds by tenfold. Plus, it removes the burden of maintaining this feature only for this theme so that’s always nice.
-
Remove
listSiteSectionsOnHome
parameter. (It’s kind of useless now that I think about it.) -
Remove the
img
key from contacts schema as it fully relies on Simple Icons set now. It’s there for the sake of consistency though I acknowledge not all icons can be fitted into the set.
-
Change the archives as a layout instead of a type — i.e.,
layouts/_default/archives.html
instead oflayouts/archives/
. It now requires thelayout
key in the frontmatter instead of thetype
key. -
Change the included libraries to be linked from cdnjs instead of vendoring them. Despite the significance of CDNs are dwindling on personal websites in favor of client-side security features such as subresource integrity and fingerprinting, a lot of the libraries are popular and it is best to make it easier for the users.
-
Update the Simple Icons integration by Hugo modules instead of static downloading of their assets (which is always incomplete, my mistake :>). This, in turn, now requires the theme to have the Go runtime to be installed in order to install it.
-
Remove the syntax highlighter choices and make PrismJS as the primary syntax highlighter. The user can easily include their own library, anyways. Thus,
params.syntaxHighlighter
will be removed from the site config options. -
Remove the choice of using MathJax v2. Thus,
params.setMathjaxToV2
will be removed from the site config options. -
Remove the choice of using local MathJax. The script is too big and composes overwhelmingly majority of the repo size. Thus,
params.useLocalMathjax
is removed. -
Remove
params.enableCompactListMode
and make it as the default list view instead. -
Remove
params.enableContentReaderMode
and make it as the default content view instead. -
Remove
params.contentIsStyled
.
-
Utilize
params.mainSections
for the homepage posts list.
-
BREAKING CHANGE: The
libraries
data file now requires atype
key for supporting custom CSS stylesheets. Possible values for this key includes onlyjs
andcss
. -
Change the implementation of
useLinkIcons
that relies from a static SVG spritesheet to the user’s custom definition with theimg
key. That said, an additional key is added for thecontacts
item which is theimg
key.
-
Multilingual mode support. Thus, the
i18n
folder is now added. For now, the translation is only available for English (US) and Tagalog. If you know some language that is not listed in the folder, feel free to contribute translating to other languages. -
Add asset fingerprinting to the theme assets.
-
Add user-configured libraries list to add to your Hugo site.
-
Add quick taxonomy search list. The feature was inspired from this site.
-
Add a CDN-less MathJax usage option as
params.useLocalMathjax
. (Only works for MathJax v3.) -
Add custom messages for the 404 page. Thus, the following site custom parameters has been added:
-
params.notFoundHeader
-
params.notFoundLinkMessage
-
params.notFoundMessage
-
-
Add a custom message option for the search widget label by
params.searchLabel
. -
Add content headers (similar to LaTeX counters) with the
params.useContentCounters
option. -
Add a reader mode for your content with
params.enableContentReaderMode
. -
Add a compact list mode for the homepage post list with
params.enableCompactListMode
. -
Add a "Back to top" button on the footer with
params.enableBackToTopLink
. -
Add JSON+LD schema. It is disabled by default so you have to manually switch the
params.enableJsonLdSchema
first. -
Add a image zoom feature (using medium-zoom library) that can be switched with
params.enableContentImageZoom
. You can also set the background color withparams.setContentImageZoomBackground
.
-
Remove the custom fonts and let the user customize their own. This also improves the performance of the base theme.
-
IMPORTANT: Rename the theme from "Terminal Plus-Minus" to "Arch Terminal" along with a slight rebrand.
-
IMPORTANT: Content pagination is now disabled by default. In effect, an additional site config option
params.enableContentPagination
has been added. -
BREAKING CHANGE: Invert the setting to hide the posts instead of showing posts manually. Thus,
params.showPostsOnHome
have been replaced withparams.hidePostsOnHome
. -
BREAKING CHANGE: Update the layout code for the breaking changes at Hugo v0.58.0. Thus, the theme now requires Hugo v0.58.0.
-
BREAKING CHANGE: Change
params.enableSyntaxHighlighting
toparams.enableLazySyntaxHighlighting
. -
BREAKING CHANGE: Remove
params.setMathjaxToV3
to be replaced withparams.setMathjaxToV2
since the theme will now use MathJax v3 by default. -
Revise MathJax support (again) with the v2 replaced to v3 as the default MathJax version since MathJax v3 got the official production release.
-
Update the stylesheet to consider consistent and pleasant typography. One of the biggest change is the consideration of vertical rhythms and the absence of the custom styles.
-
Twitter cards and OpenGraph schema are now disabled by default and has to be enabled with
params.enableTwitterCard
andparams.enableOpenGraphSchema
respectively.
-
Add a theme toggle switch (or dark mode toggle switch or whatever). Thus, additional variables in the default stylesheet config has been added. Please take a look at the default config to see the added variables.
-
The toggle switch is disabled by default so the
params.enableThemeToggle
is added to the site configuration options list. -
Add an option where the author wants to use MathJax v3 instead with
params.setMathjaxToV3
site option.
-
Reduce the font set for Fira Code and replaced it with a single variable font set in WOFF2 format.
-
Update the default font stack is updated to ensure the look will be consistent since the support for variable fonts is a bit rough.
-
Remove the
list
key requirement ofprojects
andcontact
data file to being a list themselves. (I didn’t know it’s possible for YAML and TOML to contain an equivalent of a JSON array.) -
Make MathJax support disabled by default. With this effect,
params.enableMathjax
is added into the site config options.
-
Support for RSS, Atom, and JSON feeds.
-
params.feedLimit
parameter has been added to the site configuration for controlling the number of output for your feeds. -
Related files can be found at
index.atom
,index.json
,index.rss
at the layout folder. -
Feeds for list templates can be found at
_default/list.*
as well.
-
-
index.json
schema has been changed and as a result of supporting JSON feeds, it’ll be used as the template for the JSON feed. -
Tweaked built-in search engine settings (thankfully, it only needs a few things to change).
-
index.json
template that is mainly going to be used as a search engine index. -
A search function that could be used without Algolia or any similar services (though not recommended for large sites).
-
Revised the layout to be semantic and SEO-friendly like adding
rel
attributes to certain links. -
Scripts are now concatenated using Hugo asset bundling to reduce requests needed for the whole site.
-
Updated MathJax and Asciidoctor-based stylesheets.
-
index.json
template that is mainly going to be used as a search engine index. -
A search function that could be used without Algolia or any similar services (though not recommended for large sites).
-
Revised the layout to be semantic and SEO-friendly like adding
rel
attributes to certain links. -
Scripts are now concatenated using Hugo asset bundling to reduce requests needed for the whole site.
-
Updated MathJax and Asciidoctor-based stylesheets.
-
Corrected the SCSS configuration by migrating the default config to
default.scss
at SCSS assets folder (assets/scss
). -
Revised the layouts.
-
This changelog. ;p
-
Keep Markup plugin to PrismJS to fix the Asciidoctor callouts and style them appropriately.
-
Style to callouts for improved reader experience.
-
highlightjs
is added as an additional syntax highlighter. -
syntaxHighlighter
site config option as setting the syntax highlighter. This timehighlightjs
is the default. -
Sample articles made in both Asciidoctor and Markdown. (Demo will be out soon.)