# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased](https://github.com/sergeyklay/gohugo-theme-ed/compare/v0.8.0...HEAD) ### Added - Added `https://schema.org/WebPage` itemtype to base HTML layout to improve the site's SEO and accessibility. - Added support for Google Tag Manager. The theme now checks if Google Tag Manager is enabled and disables Google Analytics accordingly. [See the documentation for details](https://gohugo-theme-ed.netlify.app/documentation/#integrating-analytics-with-ed). - Added `layouts/partials/head/author.html` and `showAuthor` configuration parameter to allow users to display the author's name on the site's pages. [See the documentation for details](https://gohugo-theme-ed.netlify.app/documentation/#configuring-author-selection). ### Changed - Simplified setting of language and direction for the site by using the `site.Language.LanguageCode` and `site.Language.LanguageDirection` variables. This change simplifies the theme's configuration and aligns with Hugo's best practices. - Use new `css.Sass` for new Hugo versions instead of `resource.ToCss` to ensure compatibility with future versions of Hugo. - The default location of Google Analytics configuration was changed to `config.services.googleAnalytics` and `privacy.googleAnalytics` to align with Hugo's standard configuration. [See the documentation for details](https://gohugo-theme-ed.netlify.app/documentation/#integrating-analytics-with-ed). ### Removed - Removed `GetLanguageDirection` function as it is no longer needed. - Drop support of AnonymizeIp configuration parameter for Google Analytics as it is no longer relevant in Google Analytics >= v4. - Removed custom RSS template (`layouts/_default/list.feed.xml`), relying entirely on Hugo's built-in rendering. - Removed `layouts/partials/alternate-outputs.html` partial. Alternate outputs (e.g., RSS, Atom feeds, etc.) are now handled in `layouts/partials/head.html`. - Removed the following partials: - `layouts/partials/author.html` - `layouts/partials/post-meta/author.html` - `layouts/partials/site-author.html` These partials are no longer used in the theme. [See the documentation for details](https://gohugo-theme-ed.netlify.app/documentation/#configuring-author-selection). ## [v0.8.0](https://github.com/sergeyklay/gohugo-theme-ed/compare/v0.7.0...v0.8.0) ### Added - Introduced a new partial template `site-last-mod.html` to handle site last modification date more robustly across Hugo versions. This change accommodates the deprecation of `.Site.LastChange` in favour of `.Site.Lastmod` for Hugo versions equal to or greater than 0.123.0. Usage: ``` {{ $siteLastMod := partial "site-last-mod.html" . }} ``` - Introduced a new partial template `site-author.html` to handle site author information more consistently across Hugo versions. This change accommodates the deprecation of `site.Author` in favour of `site.Params.author` for Hugo versions equal to or greater than 0.124.0. Usage: ``` {{ $siteAuthor := partial "site-author.html" . }} {{ with $siteAuthor.name }} {{ . }} {{ end }} {{ with $siteAuthor.email }} {{ . }} {{ end }} {{ with $siteAuthor.github }} {{ . }} {{ end }} {{ with $siteAuthor.twitter }} {{ . }} {{ end }} {{ with $siteAuthor.location }} {{ . }} {{ end }} ``` - Provided support for giscus comments, enabling interactive discussions on site pages. This includes: - A new JavaScript file (`giscus.js`) handling the dynamic loading of giscus scripts based on site configuration. - Configuration settings for giscus in the `exampleSite/config/_default/params.yaml` to allow users to easily enable and configure giscus comments from the site's parameters. ### Changed - Updated the minimum required Hugo version for this theme to 0.121.0. - Refactored the theme configuration in `exampleSite/config/_default/config.yaml` to use Hugo's module imports instead of the `theme` variable. The theme's repository path is now specified under the `imports` section in the `module` block. This change improves clarity and aligns with Hugo's recommended practices for managing theme dependencies. - Replaced the deprecated `--verbose` flag with `--logLevel info` in the npm script for `server` in `package.json`. This change addresses a deprecation warning introduced in Hugo v0.114.0, ensuring compatibility with future versions of Hugo. - Replace Go script with Node.js implementation for Netlify redirects patching for Deploy Preview context. - Updated Atom and RSS feed templates to use the `site-last-mod.html` partial for dynamically setting the site's last modification date. - In `list.atom.xml`, replaced `site.LastChange` with `$siteLastMod` in the `` tag. - In `list.feed.xml`, replaced `site.LastChange` with `$siteLastMod` in the `` tag. - Updated `humans.txt`, Atom feed, RSS feed, JSON feed, author partial, and schema.org Article template to use the `site-author.html` partial for retrieving site author information. - Moved site author configuration from `config.yaml` to `params.yaml` to align with the recommended usage of `site.Params.author`. ### Fixed - Fix Atom / RSS feed formats to meet the standard - Fixed broken link in documentation. ## [v0.7.0](https://github.com/sergeyklay/gohugo-theme-ed/compare/v0.6.0...v0.7.0) ### Added - Added support of E2E tests on CI/CD stage using Playwright ### Changed - Updated dev dependencies to test and build project - Updated contributing documentation - Used latest LTS Node.js version in CI/CD pipeline - Renamed master branch to main ### Security - Updated security policy by providing new address to report vulnerabilities ## [v0.6.0](https://github.com/sergeyklay/gohugo-theme-ed/compare/v0.5.0...v0.6.0) ### Added - Provide annotation support via https://hypothes.is ### Changed - Set the language target to `es2015` when build JavaScript - Use HTML5 `