777 Commits

Author SHA1 Message Date
Sped0n
ef9761a7b6 chore(artifacts.yml): update the syntax for specifying changed files in the 'changed-files-specific' step to improve readability and maintainability 2023-11-04 17:18:09 +08:00
Sped0n
e85d0253ea chore(artifacts.yml): add workflow_dispatch event to allow manual triggering of the workflow 2023-11-04 17:16:02 +08:00
Sped0n
d45d22829e feat(artifacts.yml): add GitHub Actions workflow to update bundled artifacts
This commit adds a new GitHub Actions workflow file, artifacts.yml, which is triggered on push events to the main branch. The workflow consists of two jobs: "filter" and "build".

The "filter" job checks if any of the specified files (package.json and assets/**) have changed. If any file in the scope has changed, a step is executed. Otherwise, the workflow is prevented from running.

The "build" job is executed if the branch is main and the repository is not a fork. It performs the following steps:
1. Checkout the repository
2. Setup pnpm package manager
3. Get the pnpm store directory path
4. Setup pnpm cache using actions/cache
5. Install dependencies using pnpm
6. Build the artifacts
7. Configure git user email and name
8. Add all changes to the commit and commit with the message "build: update bundled artifacts [skip ci]"
9. Push the changes to the repository
2023-11-04 17:00:04 +08:00
Sped0n
d379453cbc chore: remove package-lock.json 2023-11-04 16:57:25 +08:00
Sped0n
93f5b3c9e1 build: update bundled artifacts 2023-11-04 16:32:17 +08:00
Sped0n
8d9dc0c121 refactor(favicon); change favicon related setup 2023-11-04 16:27:05 +08:00
Sped0n
bf3ddfc3f8 feat(state.ts): add sessionStorage support to store and restore thresholdsIndex value when navigating between pages 2023-11-04 15:35:49 +08:00
Sped0n
f9697eb645 fix(nav.html): capitalize the first letter of the word "threshold" in the nav.html template to improve consistency with other translations 2023-11-04 15:02:02 +08:00
Sped0n
7150be69d6 feat(baseof.html): include favicon partial in head section of baseof.html layout for favicon rendering 2023-11-04 14:29:09 +08:00
Sped0n
de523d08f4 fix(main.ts): change import statements to use import then syntax instead of top layer await to improve compatibility with Firefox and Chromium browsers 2023-11-04 14:25:33 +08:00
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