Releases: chriskyfung/amp-affiliately-jekyll-theme
v3.0.0 (2024-09-29)
🐛 Fixes
- Resolved preload request credentials mismatch for 'logo-plainSVG.svg'.
- Resolved CORS policy error by hosting image on the same domain.
♻️ Refactors
- Renamed
gulpfile.js
togulpfile.mjs
to support ES module syntax. - Added
css_to_scss.sh
script to convert CSS files to SCSS usingsass-convert
. - Updated SCSS files for various AMP components using the new
css_to_scss.sh
script.
🗑️ Removed/Deprecated
- Uninstalled
trim-newlines
andgulp-format-md
from dev dependencies. - Removed deprecated
gulp-minify-inline
task fromgulpfile.mjs
- Removed deprecated
css2scss
task and@gecka/styleflux
from the gulp pipeline. - Removed overrides for
gulp
dependencies:glob-watcher
,minimatch
,semver
,set-value
, andvinyl-fs
.
💚 CI/CD
- Migrated Jekyll build action from deprecated
helaili/jekyll-action
to a new, maintained workflow. - Removed deprecated
deploy-jekyll.yml
workflow file due tohelaili/jekyll-action
deprecation.
⬆️ Dependencies
- Bumped
@ampproject/toolbox
from 2.9.0 to 2.10.1. - Upgraded
gulp
to version 5.0.0. - Upgraded
amphtml-validator
to version 1.0.38. - Upgraded
gulp-amphtml-validator
to version 1.0.8. - Added
gulp-changed
for improved file change detection. - Replaced
gulp-htmlmin
withgulp-html-minifier-terser
for better HTML minification. - Updated
package.json
to include new dependencies and settype
tomodule
.
📝 Documentation
- Updated the status badge for CodeQL action.
- Updated the status badge for Jekyll build workflow.
- Updated README to document the new Jekyll build workflow. Included details on the new workflow steps and configuration.
Full Changelog: v2.9.1...v3.0.0
v2.9.1 (2024-03-12)
What's Changed
🐛 Fixes
- Removed the
data-ampdevmode
attribute from the<amp-script>
component in non-development environments. This attribute was previously used to enable development-specific features, such as the ability to load scripts from a local server. However, it was found to cause unintended behavior in production environments, such as preventing scripts from running or causing validation errors. By removing this attribute in non-development environments, we ensure that AMP pages are always served with the correct configuration and that scripts are executed as intended.
✨ Features
- Introduced two new options to the site configuration:
amp_optimizer
: Set to true if you run AMP Optimizer after building the Jekyll site. Defaults to false.script_hash
: A hash for theget_stored_consentStates
script. Defaults to empty.
📝 Documentation
- Corrected a typo in the
.github-sponsors-button
CSS class, resolving an error. - Updated badges that were labeled with incorrect version numbers.
- Migrated
<span class="badge ..."">
elements to use the kramdown attribute syntax:<span>...</span>{:.badge...}
. - Utilized reference links for inline markdown links in cases where lines become excessively long.
- Inserted a line break after each badge using
<br>
tags. - Added
<br>
tags to create line breaks before default values. - Enhanced table styling by applying vertical-align: top to
th
andtd
elements. - Introduced two new CSS classes,
.blue
and.green
, to provide additional styling options. - Appended
.green
to inline code blocks containing the text "true". - Appended
.blue
to inline code blocks containing non-boolean default values. - Removed the
.plaintext
CSS class to streamline the styling.
Full Changelog: v2.9.0...v2.9.1
v2.9.0 (2024-03-08)
What's Changed
- Implementation of Cookie Consent Notice by @chriskyfung in #56
✨ Features
-
Added ability to customize the URL for the privacy policy page via the
_config.yml
file. -
Implemented a granular Cookie Consent Notice (#44):
- Integrated the
amp-consent
extension to manage user consent. - Developed a comprehensive cookie consent interface that allows for detailed consent management based on specific purposes.
- Implemented CSS styles for the consent interface.
- Incorporated the consent interface into the default layout, ensuring its visibility upon page load.
- Enabled the consent UI when
consent: true
is set in the_config.yml
file. - Provided an option to remove the
data-ampdevmode
attribute from the custom script by settingconsent_dev_mode=false
. - Implemented blocking of AddThis, Disqus, Google Analytics, and Google AdSense until user consent is obtained.
- Integrated the
🔧 Chore
- Extended the import of the
amp-script
extension to include cases where the consent UI is enabled, allowing custom scripts to access consent states stored locally. - Updated to the latest official Google Analytics 4 support.
Full Changelog: v2.8.0...v2.9.0
v2.8.0
What's Changed
- Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #41
- Remove VigLink Affiliate Program by @chriskyfung in #45
- v2.8.0 by @chriskyfung in #51
This release contains various improvements and fixes for the project. The changes are grouped into the following categories:
⬆️ Dependencies
- Update cheerio to fix ReDoS vulnerability
- Update postcss for AMP Optimizer
- Update glob-parent to fix ReDoS vulnerability
- Bump semver from 5.7.1 to 5.7.2
- Bump caniuse-lite from 1.0.30001431 to 1.0.30001576
- Bump decode-uri-component from 0.2.0 to 0.2.2
🎨 Style
- Rebuild minified CSS and SCSS files for the theme
- Hide Disqus ads (#46) and GitHub sponsor button with CSS
- Format Liquid snippets in the post.html file
🐛 Fixes
- Resolve AMP optimizer warning in the continuous integration workflow (#50)
- Resolve a conflict caused by the Jekyll Archives plugin in the build process
- Fix the AMP CSS issue and the Iframe issue in AMP
- Fix the potential XSS vulnerability in jQuery
✨ Features
- Add AMP Optimizer logs to the gulp task (#27)
- Hide the
gh-pages
branch from the Git Graph in VS Code
🗑️ Removed/Deprecated
- Remove VigLink affiliate program from the theme (#43)
- Remove amp-link-rewriter extension from the theme (#52)
- Remove the CodeQL Action from the GitHub Workflows as it is deprecated
- Schedule the deprecation of some gulp modules that are no longer needed
♻️ Refactor
- Simplify author logic in the post.html file
🔧 Chore
- Update the Front Matter CMS database and the recommended VS Code extensions
- Update the Actions to run on Node 16 instead of Node 12
📝 Documentations
- Fix typos and broken links in the README file
- Fix broken links in the Config Guide and Media pages
- Remove jekyll-gist from whitelist package list in the Plugin page (#48)
- Add the docs for embedding gists by using the
<amp-gist>
components to the Code page (#48)
Full Changelog: v2.7.1...v2.8.0
v2.7.1 Fix AMP issue
What's Changed
🐛 Bug Fixes
- (navigation.html) Fixed the AMP error caused by embedding GitHub Sponsor button in iFrame
- (_config.yml) Correct the attribute name from
own
toownership
for thecopyright
variable
📝 Documentation
- (_posts) Changed the badges in headings to green color
Full Changelog: v2.7.0...v2.7.1
v2.7.0 Add Twitter, LinkedIn, and GitHub Sponsors Buttons
What's Changed
💥 Breaking Changes
-
Replaced the following attributes in the _config.yml file:
# Soical Buttons facebook_id: your_facebook_username pinterest_id: your_pinterest_username github_id : your_github_username medium_id: your_medium_username
to
# Soical Buttons social: facebook: your_facebook_username pinterest: your_pinerest_username github : your_github_username medium: your_medium_username
✨ New Features
- Show/hide the GitHub Sponsors button in the navigation bar
- Add support of social buttons for Twitter and Linkedin
Full Changelog: v2.6.1...v2.7.0
v2.6.1 Add GA4 Support
What's Changed
✨ New Features
- Added Google Analytics 4 tracking codes in 8838328
🔧 Chore
- Bumped tzinfo from 1.2.9 to 1.2.10 by @dependabot in #38
- Bumped minimatch from 3.0.4 to 3.1.2 by @dependabot in #39
- Security updates by @chriskyfung in #40
- Bumped set-value from 4.0.1 to 4.1.0 in eb2afe8
- Bumped trim-newlines from 3.0.1 to 4.0.2 in eb2afe8
- Dropped tar from Dev dependencies in 83a0459
- Fix security vulnerabilities with npm overrides in 83a0459:
- Overrode glob-parent to
>=5.14.2
- Overrode nth-check to
^2.1.1
- Overrode @gecka/styleflux with postcss to
>=7.0.36
- Overrode set-value to
>=4.1.0
- Overrode @ampproject/toolbox-optimizer and gulp-minify-inline with tarser to
>=5.14.2
- Overrode glob-parent to
- Bumped minimatch from 3.0.4 to 3.1.2 in 131d30b
- Overrode
@gecka/styleflux
with postcss 7.0.39 in f4930cd - Specified required node and npm version to
>=18.12.1
and>=9.1.2
in 3aab6d9 - Disabled using minifyInline() in Gulp pipeline in c1e0bd0
👷♂️ CI/CD
- (deploy-jekyll.yml) Bumped @actions/cache and @actions/checkout from v2 to v3 in 8fec550
- (deploy-jekyll.yml) Refactored node module caching with actions/setep-node@v3 in fe3abeb
- (deploy-jekyll.yml) Bumped node-version to 18.12.1 in 3b1f485
Full Changelog: v2.5.4...v2.6.1
v2.5.4 New Design for Navigation Bar + Fixes for Accessibility Issues
What's Changed
- v2.5.0 by @chriskyfung in #29
- v2.5.1 by @chriskyfung in #30
- v2.5.2 by @chriskyfung in #33
🎈 Main Changes
-
Refactored Navbar Menu with A11y Design 👨🦽
-
Replaced the
<div>
soup with<ul>
and<li>
elements, following the WAI-ARIA Authoring Practices 1.2. -
Isolated the search button and right-aligned button-like links from the
ul.navbar-nav
list and grouped into an adjacent sibling list with a class name.navbar-btngroup
. -
The items grouped in the
.navbar-btngroup
always align horizontally in a single row. -
Enabled to update the
aria-expanded
attributes of submenu toggles using amp-bind, by following this amp-bind example on AMP for WordPress (amp-wp.org). -
Enabled to move the focus to the first sub-item when a menu/submenu expands using AMP tap event and focus action.
-
Add limits to the height of expanded menu and submenus:
- Hamburger menu: A max-height of `60vh on small screens only
- Submenus (navbar layout): A max-height of `60vh on large screens only
-
Show a thin scrollbar if a menu/submenu overflows
-
Added a separator above the first item of the hamburger menu
-
Added CSS styles and media queries to responsively change the margin of menu items.
-
-
Restored
initial-scale=1
in viewport settings. Learn more: Controlling the viewport - amp.dev
✨ New Feature
- A new CSS class called
.scrollbar-thin
for styling a narrower scrollbar.
🐛 Bug Fixes
- Corrected and tested ARIA Landmarks and ARIA Labels with axe DevTools.
- Fixed missing focus ring on focusing elements with
.btn
class. - Fixed missing the button to resize overflown Disqus Comments. Learn more: - amp.dev.
📄 Documentation
- Fixed the crawl error of the redirected page
/category/guide/
. - Fixed the custom scrollbar not work on the
/responsive-web-design/
page in Firefox.
Full Changelog: v2.4.0...v2.5.4
v2.4.0 Integrate ⚡ AMP Optimizer using Gulp 🥤
What's Changed
- Integrated ⚡ AMP Optimizer using Gulp 🥤 in #27
✨ New Features
- Added Support to run AMP Optimizer and HTML minifier using Gulp
- Created New workflow to build and deploy Jekyll using GitHub Actions
- Added a new step to cache node modules
- Added a new step to run AMP-Optimizer and HTML minifier using Gulp
- Adopted an action that can deploy GitHub Pages without giving a GitHub API Token
🎨⚡ Improvements
- Improved the accessibility of rendered sites
- Improved webpage speed by DNS-prefetching Google fonts
🔧 Chore
- Refined the VS Code settings for Live Server extension
📄 Documentation
- Updated README for v2.4
- Updated the Front Matter Guide
Full Changelog: v2.3.1...v2.4.0
v2.3.1 Clean Up Dependencies and Improve Support for IE11
What's Changed
- v2.3.1 by @chriskyfung in #25
- v2.3.1 by @chriskyfung in #26
✨ New Feature
- Support loading author information from
_data/authors.yml
🐛 Bug Fix
- Fixed the thumbnail size in featured post grid
🔥 Removed
- Dropped
jekyll-gzip
,jekyll-loading-lazy
andjekyll-webp
plugins
📄 Documentation
- Added a new page to summarize the Jekyll plugins and extensions being used and/or suggested
Full Changelog: v2.3.0...v2.3.1