Releases: chriskyfung/amp-affiliately-jekyll-theme
v3.4.0 (2025-03-04)
What's Changed
- Update consent purposes for Disqus and YouTube integration by @chriskyfung in #115
- Add conditional rendering for consent UI based on page settings by @chriskyfung in #116
- Integrate AMP geo support and enhance iubenda consent management by @chriskyfung in #118
- Enhance documentation for AMP ads and analytics integration by @chriskyfung in #120
- Refine style guide and typography adjustments by @chriskyfung in #121
Full Changelog: v3.3.1...v3.4.0
✨ Features
-
Consent Management:
- Added conditional rendering of consent UI based on page settings. (21fa7de)
- Integrated AMP geo support to enhance consent management for specific regions. (b923b57)
- Enabled AMP geo support with consent override functionality. (d3e849b)
- Added per-page control for consent UI visibility via frontmatter. (019e35e)
-
YouTube Integration:
-
iubenda Enhancements:
🐛 Bug Fixes
- Fixed missing
<amp-consent>
whenconsent_ui
was set tofalse
on specific pages. (a11a796) - Updated consent purposes for Disqus integration to include analytics and advertising. (cda3320)
- Corrected links and improved references in iubenda documentation. (6a6a3e0)
📝 Documentation
- Added a blog post explaining granular user consent updates. (aa767ed)
- Enhanced iubenda documentation with guides for geo-targeted cookie consent and TC String references. (e658cf9)
- Improved styling and layout of the style guide, including reduced font sizes for headings. (3822339)
- Updated image dimensions and links for consistency across posts. (89c3aba)
🎨 Style Improvements
- Resized SVG files for better rendering in post boxes. (a2c4c0c)
- Updated CSS selectors for improved styling of the iubenda cookie banner. (8b1da60)
🔧 Miscellaneous
- Refactored footer configuration links to use post URL syntax. (2b7f3d1)
- Updated featured posts and front matter for improved structure. (eb579ea)
This release introduces significant enhancements to consent management and iubenda integration while improving documentation and visual consistency across the platform.
v3.3.1 (2025-01-29)
What's Changed
- Fix consent handling and improve documentation by @chriskyfung in #112
Full Changelog: v3.3.0...v3.3.1
🐛 Fixes
- Iubenda:
- Built-in Granular Consent:
✨ Features
- Built-in Granular Consent:
- Enhance consent with dynamic domain and state handling (eb2d882)
- GA4:
- Add linker configuration for cross-domain tracking (aa6ea02)
📖 Documentation
- README:
- Update README with new features in v3.x.x, including Iubenda support, GA4 integration, customizable footer, and improved development experience (f4a791d)
- Config Guide:
- Add deprecation notices to consent attributes (342784d)
🛠️ Chores
- _config.yml:
- Remove unused
amp_optimizer
and commented-out consent settings (d0e83c8)
- Remove unused
v3.3.0 (2025-01-25)
What's Changed
- Update frontmatter keys for category consistency by @chriskyfung in #100
- Introduce
consent_preview
configuration option to control cookie consent display in development environment by @chriskyfung in #101 - build(deps-dev): bump jekyll-archives from 2.2.1 to 2.3.0 by @dependabot in #102
- build(deps): bump webrick from 1.9.0 to 1.9.1 by @dependabot in #103
- build(deps): bump jekyll from 4.2.2 to 4.3.4 by @dependabot in #104
- Update VSCode settings and dependencies for Jekyll project by @chriskyfung in #105
- Enhance styling and add Live Sass compiler settings by @chriskyfung in #106
- Update image dimensions and markdown configurations by @chriskyfung in #107
- Integrate Iubenda consent management system into AMP theme by @chriskyfung in #108
- Comprehensive Update to Consent Handling, Integration, and Documentation by @chriskyfung in #109
Full Changelog: v3.2.0...v3.3.0
🐛 Fixes
✨ Features
- Consent Management:
- Add
consent_preview
option to control consent display in non-development environments (5fbf00c, d16c447) - Add Iubenda consent management system to AMP theme (4c47dc9)
- Enhance consent management by conditionally including Iubenda styles and templates (ef8f253, 5728fb6)
- Add site and cookie policy IDs to configuration and create AMP cookie consent embed (ddd1770)
- Update consent handling for ad components based on remote consent URL (3bad18a)
- Update Disqus consent handling for Iubenda cookie solution (ec79a0f, 74fc757)
- Add
- 404 Page: Add custom 404 error page with styling (e23da6c)
- SCSS:
- Disqus:
📖 Documentation
- Config: Adds cookie consent preview attribute to documentation (9eadeca)
- Consent:
⬆️ Dependencies
- Gemfile:
💚 CI/CD
🛠️ Chores
- VS Code:
- Liquid: Add liquid engine configuration for Jekyll (af70678)
- Markdownlint:
v3.2.0 (2024-12-06)
What's Changed
- ♻ Refactor Post-Processing Content for Enhanced Readability and Maintainability by @chriskyfung in #84
- 📝 Enhance Documentation for Google Analytics 4 Integration with AMP by @chriskyfung in #85
- 🚀 Optimize GA4 Configuration and Update Dependencies by @chriskyfung in #86
- 🚀 Refactor GA4 Configuration and Enhance Documentation for Navigation Components by @chriskyfung in #87
- 📝 Update and Enhance Documentation for GA4 and AMP YouTube Components by @chriskyfung in #88
- 👨💻 Optimize Configuration for Jekyll Framework, AMP Components, and Front Matter CMS by @chriskyfung in #90
- ✨ Comprehensive Enhancements to Front Matter CMS: Snippets, SEO, and Field Configurations by @chriskyfung in #91
- ✨ Add
ampHost
Custom Parameter and Enable Debug Mode for GA4 by @chriskyfung in #92 - ♻ Optimize HTML Layout, Ad Rendering, and GA4 Config by @chriskyfung in #93
- 🔧 Fix GA4 Configuration Logic, Enhance Conditional Handling, and Add Non-Personalized Ads Fallback by @chriskyfung in #95
- 🔒 Enhance AMP YouTube Component Privacy and Update Documentation by @chriskyfung in #96
- 🔧 Enhance AMP Validation, Image Handling, Build Scripts, and VSCode Extensions by @chriskyfung in #98
Full Changelog: v3.1.0...v3.2.0
🐛 Fixes
- Improved link modification logic for outbound links in
postproc-content.html
. - Corrected filename typo for
jekyll-highlight-tags.json
. - Fixed GA4 configuration logic in
ga4-config.html
. - Corrected conditional logic for GA4 video tracking.
- Resolved AMP validation error for
<amp-youtube>
component by using the correctcredentials="omit"
attribute. - Skipped redirect pages during AMP validation.
- Corrected image registration logic in
external.js
.
✨ Features
- Streamlined anchor link addition for headings (
h2
,h3
,h4
). - Added custom parameter
ampHost
to GA4 for AMP pages. - Enabled GA4 debug mode in development environments.
- Added non-personalized ads fallback for unknown consent status.
📖 Documentation
- Added new post
2024-11-21-google-analytics-4.md
for GA4 features in AMP:- Setup instructions, supported features, event tracking, and debugging AMP analytics.
- Enhanced comments in GA4 and post-processing templates:
- Updated
_includes/blocks/ga4-config.html
,_includes/blocks/postproc-content.html
, and_includes/blocks/site_content_postproc.html
.
- Updated
- Added comprehensive comments to
granular-user-consent.html
. - Enhanced comments in navigation components:
- Updated
_includes/main-nav/navigation.html
,_includes/youtube.html
,_includes/main-nav/local-menu.html
, and_includes/main-nav/global-dropdown.html
.
- Updated
- Added new post
_posts/2024-11-23-amp-youtube.md
. - Updated posts for media embedding instructions.
- Advanced configuration and developer traffic filtering for GA4.
- Snippet usage instructions and setup guide for Front Matter CMS.
♻️ Refactors
- Enhanced readability and maintainability of post-processing content.
- Optimized HTML layout for production environment.
- Streamlined ad rendering for non-production environments.
- Enabled GA4 debug mode for non-production environments.
- Updated GA4 configuration for YouTube and outbound link tracking.
🛠️ Chores
- Updated Jekyll scripts for live reload.
- Bumped dependencies:
- Updated gems:
liquid
,webrick
,addressable
,public_suffix
,faraday
,faraday-net_http
,json
,logger
,net-http
,uri
,concurrent-ruby
,i18n
,jekyll-github-metadata
,octokit
,kramdown
,listen
,rb-inotify
,tzinfo
, andtzinfo-data
.
- Updated gems:
- Updated media post, references, and YouTube embedding instructions.
- Updated
frontmatter.json
for enhanced configuration and content management:- Added
layout
,author
, SEO description fields, hidden fields for advanced content management, AMP components, custom HTML header, enhanced featured image field, and removed thedraft
field. - Added permalink placeholder, slug template for accurate preview URLs,
redirect_from
field, and external script for custom card image. - Enhanced descriptions and visibility of fields.
- Added
clearEmpty
property for content types. - Added comments and
redirect_to
fields for better content management. - Improved image rendering logic in
external.js
.
- Added
- Added detailed snippets for AMP multimedia, Jekyll, and kramdown syntax.
- Enhanced snippet usage instructions and setup guide.
- Updated image assets and metadata references for better organization and consistency.
- Updated
package.json
build scripts. - Added and removed VSCode extensions.
- Enhanced Git Graph settings in VSCode for better branch management and visibility.
v3.1.0 (2024-11-18)
What's Changed
- ✨ Enhance Footer Customization and Update Documentation by @chriskyfung in #73
- ⚰ Remove Discontinued AMP AddThis Components by @chriskyfung in #74
- ⬆ build(deps): bump rexml from 3.3.6 to 3.3.9 by @dependabot in #72
- 📝 Docs: Enhance Guides and Community Standards by @chriskyfung in #75
- ⚰ Update to Google Analytics 4 and Cleanup Deprecated Configurations by @chriskyfung in #76
- 📚 docs: enhance link tracking and external link behavior sections by @chriskyfung in #79
- 🔧 Update VS Code Settings and Jekyll Scripts for Enhanced Development Workflow by @chriskyfung in #80
- 🔧 Refactor and Enhance GA4 Tracking for YouTube Videos and Site Content by @chriskyfung in #81
- 🚀 Enhance YouTube Embeds, Optimize GA4 Tracking, and Improve Content Rendering by @chriskyfung in #82
Full Changelog: v3.0.0...v3.1.0
🐛 Fixes
- Fixed GA4
outgoing_click
event tracking variables indefault.html
#78:- Removed outdated
ga4Event
request. - Updated variables to use
event_name
,method
,link_url
, andoutbound
.
- Removed outdated
- Resolved last modified date format in config guide.
- Corrected GA4 event tracking configuration for YouTube videos #77:
- Changed
request
type fromga4Event
toevent
for video play, pause, and end triggers. - Updated event variables for improved tracking accuracy:
event_name
set tovideo_start
,video_paused
, andvideo_complete
respectively.- Added
method
,video_current_time
,video_duration
,video_percent
,video_provider
,video_title
, andvideo_url
to event variables.
- Changed
✨ Features
- Footer Column Customization:
- Introduced a new feature to customize the second and third footer columns (col1 and col2) through the _config.yml file.
- Allows setting column titles and defining link lists for improved navigation and organization.
- Added video percentage played tracking for GA4:
- Introduced a new event trigger
VideoPercentagePlayed
for tracking video progress at specific intervals:- Triggers on
video-percentage-played
. - Tracks
video_current_time
,video_duration
,video_percent
,video_provider
,video_title
, andvideo_url
. - Records progress at 10%, 25%, 50%, and 75% intervals.
- Triggers on
- Introduced a new event trigger
🗑️ Removed/Deprecated
- Removed AddThis share buttons and related configurations from
_includes/blocks/share-buttons.html
,_layouts/default.html
,_layouts/post-left-sidebar.html
, and_layouts/post.html
. - Removed
addthis_inline_share_toolbox
styles from_sass/old_files/main.scss
. - Removed outdated Google Analytics configurations in
youtube.html
anddefault.html
. - Removed
dedsec727.jekyll-run
from.vscode/extensions.json
.
♻️ Refactors
- Refactored conditional check for
site.ga4
inpostproc-content.html
. - Updated example configuration files to use GA4 Measurement ID.
- Reorganized useful links in sidebar to include only relevant and up-to-date links.
- Added 'About Me' and 'My Projects' links to the useful links sidebar.
- Updated post categories for better content organization:
- Removed 'doc' category from '2017-11-27-media.md' and '2017-11-28-code.md'.
- Changed 'ads-settings.md' category from '[feature, doc]' to '[doc]'.
- Improved YouTube embed attribute organization:
- Initialized
video_url
at the beginning for consistent URL handling. - Optimized playlist URL assignment.
- Refined title handling and added
data-vars
attributes. - Added unique IDs to
amp-youtube
elements for better tracking.
- Initialized
- Removed inline GA4 tracking script from YouTube embed:
- Deleted the
amp-analytics
configuration for GA4 tracking, including all triggers and event configurations.
- Deleted the
- Centralized GA4 configuration to a new include file
_includes/blocks/ga4-config.html
:- Defined
gtag_id
,config
, andtrackAnchorClicks
trigger within the new include file. - Ensured the layout file now includes the GA4 configuration via the new include file for better maintainability and modularity.
- Defined
- Modularized site content processing:
- Created a new include file
_includes/blocks/site_content_postproc.html
. - Included
{{ include.content }}
to render the main content. - Added conditional inclusion of GA4 configuration.
- Replaced direct content inclusion with the new include for better modularity and maintainability.
- Created a new include file
- Dynamically included YouTube video events in GA4 configuration:
- Added logic to dynamically generate GA4 trigger configuration for
amp-youtube
components based on video attributes. - Constructed video URLs and conditionally included GA4 configuration with dynamically generated YouTube video event triggers.
- Added logic to dynamically generate GA4 trigger configuration for
- Optimized GA4 tracking for multiple YouTube videos:
- Added dynamic selectors for
amp-youtube
components and configured GA4 triggers. - Simplified logic to extract
data-videoid
attributes and generate selectors. - Generated a consolidated list of selectors for efficient event tracking.
- Added dynamic selectors for
📝 Documentation
- Created a new documentation page, "Footer Configuration," providing detailed guidance on customizing footer columns and options.
- Updated the "Config Guide" page to include the latest information about footer options.
- Updated README and Front Matter Guide to reflect the removal of discontinued AMP AddThis components and services.
- Updated README and Config Guide to highlight Google Analytics 4 (GA4).
- Added detailed instructions for outbound link tracking with GA4.
- Updated the section on modifying external links to open in a new tab.
- Improved structure and clarity of post-processing documentation.
- Expanded explanations and examples to provide better guidance for users.
- Updated media post with correct AMP validation error format.
- Improved guide for embedding audio.
- Added example config for local navigation menu items.
- Enhanced link tracking and external link behavior sections in the config guide.
- Added Code of Conduct for community behavior standards.
🛠️ Chores
- Updated Jekyll scripts for live reload:
- Added
--livereload
flag tojekyll
script. - Added
--livereload
flag tojekyll:trace
script.
- Added
- Configured MD046 rule for markdownlint:
- Configured the rule to use the fenced style for code blocks in VS Code settings.
- Ensured consistent and readable markdown documentation.
- Updated frontMatter extension settings in VS Code:
- Set
jekyll
as the framework for proper functionality. - Enhanced start command for better debugging and live reloading by adding
--trace --livereload
.
- Set
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