feat(analytics.html): create partial to include analytics scripts for various analytics services (Google Analytics, Fathom Analytics, Baidu Analytics, Umami Analytics, Plausible Analytics, Cloudflare Analytics, Splitbee Analytics) to track website traffic and user behavior
The `script.html` partial template has been added to handle the rendering of script tags with various attributes and options. It supports the following features:
- If the `Content` variable is provided, it will be rendered as the content of the script tag.
- If the `Source` variable starts with "<script", it will be rendered as safe HTML.
- If the `Source` variable is provided and is a local resource, it will be processed as a template and minified if specified.
- If the `Fingerprint` variable is provided, the resource will be fingerprinted and the integrity attribute will be set accordingly.
- The `Link` variable can be used to specify an external script URL.
- The `Esm` variable can be set to true to render the script tag as a module.
- The `Crossorigin` variable can be set to true to add the crossorigin attribute.
- The `Async` variable can be set to true to add the async attribute.
- The `Defer` variable can be set to true to add the defer attribute.
- The `Attr` variable can be used to add additional attributes to the script tag.
This new partial template provides flexibility and customization options for rendering script tags in the application.
- Change the "dev" script to only run the rollup:dev and hugo:dev commands, removing the unnecessary file removal step.
- Update the "build" script to use the "-f" flag when removing the bundled JS files to avoid errors if the files don't exist. Also, use "yes | cp -rf" to force overwrite the CSS files when copying.
- Change the "server" script to only run the rollup:server and hugo:server commands, removing the unnecessary file removal step.
The sitemap.xml layout file is added to the project. This layout file generates a sitemap for the website using the data from the pages. The sitemap includes URLs for all pages except those in the "gallery" section. Each URL includes the location, last modified date (if available), change frequency (if available), and priority (if available). If a page is translated, alternate links are included for each translation.
The robots.txt file is added to the layouts directory. This file includes rules to block specific bots from crawling the site. The following bots are blocked: MJ12bot, AhrefsBot, BLEXBot, SISTRIX Crawler, sistrix, 007ac9, 007ac9 Crawler, UptimeRobot/2.0, Ezooms Robot, Perl LWP, netEstate NE Crawler (+http://www.website-datenbank.de/), WiseGuys Robot, Turnitin Robot, Heritrix, pricepi, SurdotlyBot, and ZoominfoBot. All other bots are allowed to crawl the site. The file also includes a sitemap directive to point to the sitemap.xml file.
The meta.html file was modified to add three meta tags. The first meta tag sets the description of the website using the `site.Params.description` value. The second meta tag sets the application name using the `site.Params.app.title` value or falls back to the site title if not provided. The third meta tag sets the apple-mobile-web-app-title using the same logic as the second meta tag. These changes were made to improve the SEO and user experience of the website.
The `langCode.html` partial template is added to the `layouts/partials/function` directory. This template is used to check if the current language code matches the site's language code. It iterates over the language codes and sets a boolean variable `$res` to `true` if there is a match. The template then returns the value of `$res`. This partial template can be used in other templates to conditionally render content based on the language code.
refactor(baseof.html): update page title to use site.Title variable for consistency and easier maintenance
refactor(nav.html): update anchor tags to use relURL instead of relLangURL for correct URL generation
refactor(nav.html): update link text to use .Title instead of .Identifier for better readability
feat(hugo.toml): enable robots.txt and set defaultContentLanguage to 'en' in hugo.toml
chore(markup.toml): update goldmark configuration in markup.toml
chore(params.toml): update description and bundled fields in params.toml
chore(sitemap.toml): update changefreq, filename, and priority in sitemap.toml
- Update font files for different languages: NotoSansCJKsc-Regular.woff2, NotoSansCJKtc-Regular.woff2, NotoSansCJKjp-Regular.woff2, NotoSansCJKkr-Regular.woff2, NotoSans-Regular.woff2
- Update font-family declarations in _typography.scss to use the new font files:
- Change font-family for body to 'sans-serif'
- Change font-family for button to 'Noto Sans', sans-serif
- Add font-family declarations for different languages in _typography.scss:
- For English language (en), use 'Geist', sans-serif
- For Simplified Chinese language (zh-cn, zh-sg), use 'Noto Sans', 'Noto Sans CJK SC', sans-serif
- For Traditional Chinese language (zh-hk, zh-mo, zh-tw), use 'Noto Sans', 'Noto Sans CJK TC', sans-serif
- For Japanese language (ja), use 'Noto Sans', 'Noto Sans CJK JP', sans-serif
- For Korean language (ko), use 'Noto Sans', 'Noto Sans CJK KR', sans-serif
The rollup.config.mjs file is added to the project. This file contains the configuration for Rollup, a module bundler, to bundle and transpile TypeScript code. The configuration includes the input file path, the output directory, the output format, and other options such as source maps and code minification. The resolve plugin is used to resolve module imports, the typescript plugin is used to transpile TypeScript code, and the terser plugin is used to minify the code in production builds. The configuration also checks the BUILD environment variable to conditionally enable code minification in production builds.
- Update the name field from "bridget-src" to "bridget" for better clarity.
- Add "sideEffects" field and set it to false to optimize tree shaking.
- Update the "lint" script to remove unnecessary file extensions and fix linting issues.
- Update the "dev" script to remove existing JavaScript files before running rollup and hugo in development mode.
- Update the "build" script to remove existing JavaScript files before running rollup and hugo in production mode.
- Update the "server" script to remove existing JavaScript files before running rollup and hugo in production mode.
- Add new scripts for rollup and hugo commands in different environments.
- Update devDependencies to include new rollup plugins and npm-run-all.
Note: The specific versions of the devDependencies are not mentioned in the diff.
chore(link.html): update main style source and options to improve performance and maintainability
chore(link.html): remove unused meta.html file
chore(nav.html): update decrement and increment buttons to use Unicode characters for better accessibility
chore(plugin/style.html): update style plugin to support inline styles for critical CSS
chore(plugin/style.html): update style plugin to support minification and fingerprinting for main CSS
chore(plugin/style.html): remove script plugin as it is no longer used
chore(plugin/style.html): update style plugin to support inline styles for critical CSS
chore(plugin/style.html): update style plugin to support minification and fingerprinting for main CSS
chore(resources/imageJSON.html): update image resize options for better performance and quality
The 404.html file is a new file added to the layouts directory. This file defines the layout for the 404 page. It includes a container div, a navigation partial, and an article element with three paragraphs displaying the "404 page not found" message. This layout will be used when a user navigates to a non-existent page on the website.
fix(customCursor.ts): add return type void to onMouse function for clarity
fix(customCursor.ts): add passive option to window event listener for mousemove to improve performance
fix(stageNav.ts): move import statement for setCustomCursor to the top for better organization
fix(stageNav.ts): add return type void to handleClick function for clarity
fix(stageNav.ts): add return type void to handleKey function for clarity
fix(stageNav.ts): add passive option to overlay event listeners for click, keydown, mouseover, and focus to improve performance
fix(stageNav.ts): add passive option to window event listener for keydown to improve performance
fix(stageNav.ts): add return type void to nextImage function for clarity
fix(stageNav.ts): add return type void to prevImage function for clarity
fix(gallery.ts): move import statement for Swiper to the top for better organization
fix(gallery.ts): add return type void to slideUp function for clarity
fix(gallery.ts): add return type void to initGallery function for clarity
fix(gallery.ts): add passive option to window event listener for touchstart to improve performance
fix(gallery.ts): add return type void to changeSlide function for clarity
fix(gallery.ts): add return type void to scrollToActive function for clarity
fix(gallery.ts): add return type void to createGallery function for clarity
fix(gallery.ts): add passive option to close event listeners for click and keydown to improve performance
fix(gallery.ts): add passive option to overlay event listeners for click, keydown, mouseover, and focus to improve performance
fix(gallery.ts): add passive option to window event listener for touchstart to improve performance
fix(nav.ts): add return type void to initNav function for clarity
fix(utils.ts): add return type number to getRandom function for clarity
fix(utils.ts): add return type void to onVisible function for clarity
fix(utils.ts): add return type void to addWatcher function in Watchable class for clarity
- Add "static" and "exampleSite" directories to .eslintignore to exclude them from linting
- Add "static" and "exampleSite" directories to .prettierignore to exclude them from formatting
chore(font.scss): add font-face declaration for 'fw' font and set font-display property for better font loading performance
chore(typography.scss): update font-family property for body element to use 'Geist' font as the primary font
chore(typography.scss): update font-family property for button element to use 'fw' font as the primary font