- 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
.
- 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.
- 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.
- 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.
- 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.
- 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
- 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 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
.
- 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
- 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.
- 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
- Resolved preload request credentials mismatch for 'logo-plainSVG.svg'.
- Resolved CORS policy error by hosting image on the same domain.
- 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.
- 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
.
- 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.
- 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
.
- 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.
- 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.
- 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.
- 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.
-
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
- 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.
Release v2.8.0 contains various improvements and fixes for the project. The changes are grouped into the following categories:
- 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
- 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
- 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
- Add AMP Optimizer logs to the gulp task
- Hide the
gh-pages
branch from the Git Graph in VS Code
- 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
- Simplify author logic in the post.html file
- Update the Front Matter CMS database and the recommended VS Code extensions
- Update the Actions to run on Node 16 instead of Node 12
- 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