Skip to content

Releases: chriskyfung/amp-affiliately-jekyll-theme

v3.2.0 (2024-12-06)

06 Dec 08:12
v3.2.0
da6deb6
Compare
Choose a tag to compare

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 correct credentials="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.
  • 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.
  • 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, and tzinfo-data.
  • 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 the draft 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 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)

18 Nov 13:19
v3.1.0
f46098a
Compare
Choose a tag to compare

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 in default.html #78:
    • Removed outdated ga4Event request.
    • Updated variables to use event_name, method, link_url, and outbound.
  • Resolved last modified date format in config guide.
  • Corrected GA4 event tracking configuration for YouTube videos #77:
    • Changed request type from ga4Event to event for video play, pause, and end triggers.
    • Updated event variables for improved tracking accuracy:
      • event_name set to video_start, video_paused, and video_complete respectively.
      • Added method, video_current_time, video_duration, video_percent, video_provider, video_title, and video_url to event variables.

✨ 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, and video_url.
      • Records progress at 10%, 25%, 50%, and 75% intervals.

πŸ—‘οΈ 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 and default.html.
  • Removed dedsec727.jekyll-run from .vscode/extensions.json.

♻️ Refactors

  • Refactored conditional check for site.ga4 in postproc-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.
  • Removed inline GA4 tracking script from YouTube embed:
    • Deleted the amp-analytics configuration for GA4 tracking, including all triggers and event configurations.
  • Centralized GA4 configuration to a new include file _includes/blocks/ga4-config.html:
    • Defined gtag_id, config, and trackAnchorClicks 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.
  • 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.
  • 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.
  • 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.

πŸ“ 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 to jekyll script.
    • Added --livereload flag to jekyll:trace script.
  • 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.

v3.0.0 (2024-09-29)

29 Sep 16:16
v3.0.0
b807957
Compare
Choose a tag to compare

πŸ› 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 to gulpfile.mjs to support ES module syntax.
  • Added css_to_scss.sh script to convert CSS files to SCSS using sass-convert.
  • Updated SCSS files for various AMP components using the new css_to_scss.sh script.

πŸ—‘οΈ Removed/Deprecated

  • Uninstalled trim-newlines and gulp-format-md from dev dependencies.
  • Removed deprecated gulp-minify-inline task from gulpfile.mjs
  • Removed deprecated css2scss task and @gecka/styleflux from the gulp pipeline.
  • Removed overrides for gulp dependencies: glob-watcher, minimatch, semver, set-value, and vinyl-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 to helaili/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 with gulp-html-minifier-terser for better HTML minification.
  • Updated package.json to include new dependencies and set type to module.

πŸ“ 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)

11 Mar 19:02
v2.9.1
ab24f7a
Compare
Choose a tag to compare

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 the get_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 and td 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)

09 Mar 14:43
v2.9.0
d7e690f
Compare
Choose a tag to compare

What's Changed

✨ 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 setting consent_dev_mode=false.
    • Implemented blocking of AddThis, Disqus, Google Analytics, and Google AdSense until user consent is obtained.

πŸ”§ 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

16 Jan 03:56
v2.8.0
ec0fbeb
Compare
Choose a tag to compare

What's Changed

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

04 Mar 08:36
Compare
Choose a tag to compare

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 to ownership for the copyright 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

02 Mar 09:23
Compare
Choose a tag to compare

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

13 Jan 17:45
Compare
Choose a tag to compare

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
    • 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

29 Dec 10:09
Compare
Choose a tag to compare

What's Changed

🎈 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