Skip to content

Latest commit

Β 

History

History
401 lines (307 loc) Β· 20.1 KB

CHANGELOG.md

File metadata and controls

401 lines (307 loc) Β· 20.1 KB

AMP Affiliately Jekyll Theme Changelog

v3.3.1 (2025-01-29)

πŸ› Fixes

  • Iubenda:
    • Add TCF purposes configuration for consent management ([e650cf1])
    • Implement Google Consent Mode V2 for AMP Cookie Consent ([c4f6636])
    • Configure gtag to pass the page location, referrer, and title from the parent window of the iframe for accurate Google Consent Signal. ([7c27dbb])
  • Built-in Granular user Consent:
    • Correct typo in functionality label ([2575b8f])
    • Fix spacing in consent_type switch statements ([d7bb472])

✨ Features

  • Built-in Granular User 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])

v3.3.0 (2025-01-25)

πŸ› Fixes

  • Styles:
    • Rename CSS and SCSS files from 'amp-ad-styles' to 'amp-ad' for consistency ([fe298d1])
    • Update amp-ad and amp-iframe styles for non-built state of ads units and Disqus embed ([52c6ace])
  • Frontmatter: Update keys for consistency in category naming ([90c9ba4], [4288466])

✨ 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])
  • 404 Page: Add custom 404 error page with styling ([e23da6c])
  • SCSS:
    • Update typography and line heights for article posts ([bdbfda2])
    • Refine article post styles and improve typography ([3f91e35])
    • Enhance table of contents styling ([f1884ac])
    • Update default background color for callout component ([7b13a53])
  • Disqus:
    • Add AMP embed for Disqus comments with dynamic configuration ([882983c])
    • Update Disqus embed script source to use dynamic shortname ([e0fef5a])
    • Add custom styles for Disqus comments section ([bb86cd4])

πŸ“– Documentation

  • Config: Adds cookie consent preview attribute to documentation ([9eadeca])
  • Consent:
    • Add blog post introducing Iubenda AMP Cookie Solution in version 3.3.0 ([1a84001])
    • Update config guide and introduction for Iubenda AMP Cookie Solution ([79d46d4])
    • Update link to Iubenda documentation for cookie consent customization ([fecbb2f])

⬆️ Dependencies

  • Gemfile:
    • Optimize tzinfo gem declarations and enhance comments ([d224eac])
    • Update platform-specific gem declarations for Windows compatibility ([c6e655c])
    • Update Ruby version from 3.1.2 to 3.3.6 and gem dependencies ([157ebc3])
    • Add support for x64-mingw-ucrt platform in sass-embedded ([de197be])

πŸ’š CI/CD

  • Workflow: Update Ruby version to 3.3.6 in Jekyll build configuration ([c03fb53], [157ebc3])

πŸ› οΈ Chores

  • VS Code:
    • Disable HTML style validation in settings ([cbb25bf])
    • Remove AMP HTML validator extension and add Markdown Table extension ([81352f7])
    • Add VS Code extensions for enhanced Jekyll development ([9ff10d3])
  • Liquid: Add liquid engine configuration for Jekyll ([af70678])
  • Markdownlint:
    • Add markdownlint configuration file and update VSCode settings ([a3ab171])
    • Fix markdownlint warnings in multiple files ([8bd8743])

v3.2.0 (2024-12-06)

πŸ› 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.
  • Removed unused Google Tag Manager (GTM) IDs from configuration files.

πŸ› οΈ 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)

πŸ› 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)

πŸ› 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.

v2.9.1 (2024-03-12)

πŸ› 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.

v2.9.0 (2024-03-08)

✨ 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.

v2.8.0 (2024-01-15)

Release v2.8.0 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 and GitHub sponsor button with CSS
  • Format Liquid snippets in the post.html file

πŸ› Fixes

  • Resolve AMP optimizer warning in the continuous integration workflow
  • 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
  • Hide the gh-pages branch from the Git Graph in VS Code

πŸ—‘οΈ Removed/Deprecated

  • Remove VigLink affiliate program from the theme
  • Remove amp-link-rewriter extension from the theme
  • 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 Config Guide and Media pages
  • Remove jekyll-gist from whitelist package list in the Plugin page
  • Add the docs for embedding gists by using the <amp-gist> components to the Code page

Related Issue(s)