This website is built with Hugo.
I created my own ReFresh theme by highly modifying the existing Fresh theme. The changes to the original theme are the following:
The theme was transformed from single page template to multipage.
I added multilanguage support.
The left side menu now contains page tags along with theirs post counter.
The list and terms types of pages contain a list of the post summaries.
The images used to build the summaries can be resized to allow better usage of the bandwidth.
The js and css files can be minified (with a configurable option on the config.yaml
).
The menu is automatically built following the structure of the content
folder. Two levels are allowed at the moment.
The navbar-burger
used in the original theme’s menu is removed (it was displayed when the page was resized).
The .sass
files are now processed with resources.ExecuteAsTemplate
so that it is possible to use variables from the config.yaml
.
Options in the config.yaml
are added to configure the font-family for the navbar, sidebar and content of the a page.
Bulma (the css framework the theme is based on) is now updated to version 0.7.5 because in the new version the class content has a separate style to allow modification that will impact only the contents of the posts.
highlight.js was added to better highlight the code sections of the posts. I chose the style monokai-sublime.
highlightjs-line-number.js was added to have the line number at the beginning of each line of code in a code sections of a post.
A minimal version of MathJax was added to allow LaTeX style mathematical expressions to be placed in the site.
Several other options are added to personalise the content of a post.
A shortcode is added to resize the images and save bandwidth in a post content.
A shortcode is added to show multiple tabs.
Four shortcodes are added to show code: inline, in page, in page wide, in tabs.
The loaders images are now processed with resources.ExecuteAsTemplate
so that they take the main colour of the theme (defined in config.yaml
)
All the js and css files are loaded locally, i.e., not loaded from third party sites.
The favicon is processed with resources.ExecuteAsTemplate
to follow the main colour of the page.
Added Open Graph meta tags to each post for easy-sharing on social media sites.
The 2 avatar images used in this site comes from getavataaars.com.