Releases: chriskyfung/amp-affiliately-jekyll-theme
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
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