Commit Graph

367 Commits

Author SHA1 Message Date
Sped0n
fdc00ce22c feat(theme.toml): initialize theme config file 2023-11-03 16:17:55 +08:00
Sped0n
b3eaaea0ee chore(license): update copyright holder name to 'sped0n' 2023-11-03 16:17:11 +08:00
Sped0n
0a969fdee3 fix(hugo.toml): fix website title to match theme name for consistency and clarity 2023-11-03 16:14:58 +08:00
Sped0n
1dc5d62ccf fix(gallery.ts): fix swiper init bug 2023-11-03 16:04:41 +08:00
Sped0n
6a0e06b050 feat(link.html): add support for deferred loading and ES modules for main style and js files 2023-11-03 14:27:42 +08:00
Sped0n
c068133cd1 feat(params.toml): add unifiedAlt parameter to allow setting a unified alt text for all images in the page 2023-11-03 14:26:28 +08:00
Sped0n
43330579bd feat(seo.html): add meta tags for site verification codes (Google, Bing, Yandex, Pinterest, Baidu, So, Sogou) to improve SEO and site ownership verification
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
2023-11-03 14:25:20 +08:00
Sped0n
1910eb21db feat(plugin/style.html): add .Link tag to set href directly 2023-11-03 14:23:37 +08:00
Sped0n
c0283620bd feat(plugin): add script.html partial template to handle rendering of script tags with various attributes and options
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.
2023-11-03 14:21:07 +08:00
Sped0n
a629ec08c3 feat(utils.ts): add capitalizeFirstLetter function to capitalize the first letter of a string for better readability and consistency 2023-11-03 14:19:55 +08:00
Sped0n
f4eda42785 feat(i18n): add translations for the new languages (de, es, fr, it, CJK) 2023-11-03 14:19:06 +08:00
Sped0n
e2861aa645 chore(package.json): update dev, build, and server scripts to improve build process and file copying
- 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.
2023-11-03 10:11:49 +08:00
Sped0n
325acbd194 feat(sitemap.xml): add sitemap.xml layout file to generate a sitemap for the website
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.
2023-11-03 10:11:28 +08:00
Sped0n
88da65ef67 feat(robots.txt): add robots.txt file to block unwanted bots and allow all other bots to crawl the site
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.
2023-11-03 10:11:02 +08:00
Sped0n
bcf4c374d9 feat(meta.html): add meta tags for description, application name, and apple-mobile-web-app-title
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.
2023-11-03 10:10:41 +08:00
Sped0n
339a78364a feat(link.html): update font preload links to use appropriate font files based on language code for improved font rendering 2023-11-03 10:09:24 +08:00
Sped0n
10efa941f2 feat(langCode.html): add a new partial template to check if the current language code matches the site's language code
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.
2023-11-03 10:01:47 +08:00
Sped0n
8caf13e5d5 fix(stage.ts, collection.ts, gallery.ts, resources.ts): set the alt attribute of the image element to the value of the alt property in the ImageJSON object to improve accessibility and provide alternative text for images. 2023-11-03 09:55:32 +08:00
Sped0n
5c69862832 fix(layouts): fix variable name from $name to $dirName in currentMenuItem.html partial to improve semantics and clarity 2023-11-03 09:51:44 +08:00
Sped0n
eb6c485ea5 refactor(baseof.html): update language attribute to use site.LanguageCode variable for better localization support
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
2023-11-03 09:50:32 +08:00
Sped0n
ed40ddd27e chore(imageJSON.html): add alt attribute to images in imageJSON partial to improve accessibility 2023-11-03 09:49:40 +08:00
Sped0n
75dc3c9269 chore(hugo.toml): update baseURL, themesdir, theme, and title in hugo.toml
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
2023-11-03 09:37:53 +08:00
Sped0n
cd84d21a99 feat(gallery.ts): add dynamic import for gsap and swiper libraries to improve performance by loading them only when needed 2023-11-03 09:02:06 +08:00
Sped0n
137b099ace feat(stage.ts): add support for dynamic import of gsap library and initialize gsap and Power3 variables when mousemove event is triggered to improve performance and reduce initial load time 2023-11-03 09:01:20 +08:00
Sped0n
7df382ee1f feat(utils.ts): add loadGsap and loadSwiper function to asynchronously load library 2023-11-03 08:59:22 +08:00
Sped0n
98f2012e9d fix(main.ts): fix imported module and function for correct init 2023-11-03 08:48:31 +08:00
Sped0n
2229c56b1e chore(fonts): update font files and font-family declarations
- 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
2023-11-03 08:47:11 +08:00
Sped0n
f5ebeead9e fix(nav.ts): fix circular dependency in desktop view 2023-11-02 12:30:13 +08:00
Sped0n
d936f1b272 fix(gallery.ts): solve circular dependency in mobile view 2023-11-02 12:29:39 +08:00
Sped0n
0cc97325c0 fix(stage.ts): add error logging to catch block in expandImage() and minimizeImage() functions for better error handling 2023-11-02 12:28:30 +08:00
Sped0n
dd01dd8bec refactor(utils.ts): add parameter arg0 to addWatcher callback for improved readability 2023-11-02 12:27:58 +08:00
Sped0n
8b48cceb8f chore(.eslintrc.json): add "import/no-cycle" rule to enforce no circular dependencies in imports 2023-11-02 12:25:08 +08:00
Sped0n
229c556949 build(bundled): update bundled artifacts 2023-11-02 10:55:45 +08:00
Sped0n
aa74822945 feat(package.json): update dev, build, and server scripts to remove bundled js and css files before running rollup and hugo commands 2023-11-02 10:55:05 +08:00
Sped0n
44f3012e31 chore(rollup.config.mjs): update output directory from './static/js' to './static/bundled/js' to match new project structure 2023-11-02 10:51:49 +08:00
Sped0n
4c09b08172 Merge remote-tracking branch 'origin/main' into main
feat(params.toml): add 'bundled' parameter to control whether to use bundled js and css or build from scratch
2023-11-02 10:50:24 +08:00
Sped0n
9d365d8c96 fix(gallery.ts): add { passive: true } option to event listeners for better performance and scrolling behavior 2023-11-02 10:46:38 +08:00
Sped0n
07a6860529 feat: update js artifacts 2023-11-01 23:25:33 +08:00
Sped0n
b496e23d9a chore(tsconfig.json): remove "watch" option to avoid confusion as it is not needed
chore(tsconfig.json): add "baseUrl" option with value "./" to set the base URL for module resolution
2023-11-01 23:24:05 +08:00
Sped0n
788b9433ba chore(fonts): add GeistVF.woff2 font file and remove HelveticaNowText-Regular.woff2 font file
feat(fonts): add fw.svg font file
refactor(swiper): remove swiper-bundle.min.css file
2023-11-01 23:23:34 +08:00
Sped0n
09583bfc0a chore(rollup.config.mjs): add rollup configuration file to bundle and transpile TypeScript code
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.
2023-11-01 23:13:05 +08:00
Sped0n
b91a67e0da chore(package.json): update scripts and devDependencies
- 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.
2023-11-01 23:12:19 +08:00
Sped0n
df5d839074 chore(link.html): update critical style source and options to improve performance and maintainability
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
2023-11-01 23:09:53 +08:00
Sped0n
1ac67f17ae feat(404.html): add 404 page layout
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.
2023-11-01 23:09:27 +08:00
Sped0n
a395513bd6 fix(customCursor.ts): move import statement for active to the top for better organization
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
2023-11-01 23:09:02 +08:00
Sped0n
aefdaa86eb chore: update .eslintignore and .prettierignore files
- Add "static" and "exampleSite" directories to .eslintignore to exclude them from linting
- Add "static" and "exampleSite" directories to .prettierignore to exclude them from formatting
2023-11-01 23:04:47 +08:00
Sped0n
bb15dbea36 chore(style.scss): update import statement for article partial to import swiper.scss from node_modules
chore(link.html): remove unused swiper css import statement
2023-11-01 23:04:05 +08:00
Sped0n
7b48cf6e91 chore(font.scss): update font-face declaration for 'Geist' font and add font-display property for better font loading performance
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
2023-11-01 23:02:37 +08:00
Sped0n
3d88d5a243 style(base.scss): remove empty line at the end of the file for consistency
style(nav.scss): remove unused import statement for mixins in _core folder
2023-11-01 23:02:02 +08:00
Sped0n
2f75ed3d59 feat(scss): add critical.scss file and import necessary partials for critical styles 2023-11-01 23:01:38 +08:00