Commit Graph

555 Commits

Author SHA1 Message Date
Sped0n
8591f596d0 fix(build.yml): update push artifacts step condition to include push event in addition to merged pull requests to ensure artifacts are pushed on push events as well 2023-11-04 21:24:58 +08:00
Sped0n
08eeb26632 fix(build.yml): remove unnecessary condition for the 'needs.filter.outputs.any_changed' check in the 'Push artifacts' step 2023-11-04 21:15:01 +08:00
Sped0n
ecf340dc14 chore(package.json): remove terser dependency as it is no longer needed 2023-11-04 21:07:31 +08:00
Sped0n
8edb86476b feat(build.yml): add GitHub Actions workflow for building the project
This commit adds a new file `.github/workflows/build.yml` which contains the configuration for a GitHub Actions workflow named "Build". The workflow is triggered on push events to the `main` branch and manually through the workflow_dispatch event.

The workflow consists of two jobs: "Filter" and "Build". The "Filter" job checks for changes in specific files (`package.json` and `assets/**`) and sets an output variable `any_changed` to indicate if any of the files have changed.

The "Build" job is executed if the following conditions are met:
- The workflow is triggered on the `main` branch
- The repository is not a fork
- The "Filter" job has detected changes in the specified files

The steps in the "Build" job include:
- Checking out the repository
- Setting up Hugo with version 0.114.0 and extended mode
- Setting up pnpm version 8
- Getting the pnpm store directory and caching it
- Caching the Hugo resources directory
- Installing dependencies using pnpm
- Building the project using the `pnpm run build` command
- Pushing the built artifacts if the workflow was triggered by a merged pull request
2023-11-04 21:03:56 +08:00
Sped0n
558979285b chore(package.json): add lint:check script to run eslint and prettier in check mode 2023-11-04 21:02:09 +08:00
Sped0n
df9d2d7d65 build: update gh action commit workflow 2023-11-04 20:22:37 +08:00
Sped0n
9dbf73db8f feat(artifacts.yml): add step to setup hugo cache
The commit adds a new step in the workflow to set up a cache for the Hugo static site generator. This cache will store the resources used by the exampleSite, improving the build time by avoiding unnecessary downloads.
2023-11-04 20:18:47 +08:00
Sped0n
49dfd54f23 fix(artifacts.yml): only commit changes if there are any to avoid unnecessary commits
The previous commit message was updated to only commit changes if there are any. This is done to avoid unnecessary commits when there are no changes in the artifacts.
2023-11-04 20:10:48 +08:00
Sped0n
0a050b4959 Merge remote-tracking branch 'origin/main' into main 2023-11-04 20:09:06 +08:00
Sped0n
26bb5f182e chore(.prettierignore): add *.yaml to the list of ignored files to exclude YAML files from Prettier formatting 2023-11-04 20:08:58 +08:00
Sped0n
a87d1ee3cc feat(eslint.yml): add ESLint and Prettier workflow
This commit adds a new workflow file `.github/workflows/eslint.yml` that sets up a workflow for running ESLint and Prettier on push to the `main` branch, pull requests targeting the `main` branch, and manually triggered workflow dispatch events.

The workflow runs on `ubuntu-latest` and consists of the following steps:
1. Checkout the repository
2. Setup pnpm version 8
3. Get the pnpm store directory path
4. Setup pnpm cache using the store path
5. Install dependencies using pnpm
6. Run ESLint and Prettier linting
7. Configure git user email and name for the commit
8. Check if there are any changes using `git diff`
9. If there are changes, add all changes and commit with the message "style: ESLint && Prettier"
10. Push the changes to the repository
2023-11-04 20:08:36 +08:00
Sped0n
2ebdebd86b chore(package.json): update lint script to also run prettier for consistent code formatting 2023-11-04 20:08:14 +08:00
CI
304131759d build: update bundled artifacts [skip ci] 2023-11-04 11:39:55 +00:00
Sped0n
1e38be12bd Merge remote-tracking branch 'origin/main' into main 2023-11-04 19:37:02 +08:00
Sped0n
b9dc117fd8 refactor(state.ts): extract logic to get threshold session index into a separate function for reusability and clarity 2023-11-04 19:36:19 +08:00
CI
e019c4138e build: update bundled artifacts [skip ci] 2023-11-04 11:27:25 +00:00
Sped0n
90aa1ad480 chore: blind commit 2023-11-04 19:24:57 +08:00
Sped0n
8222f91e98 chore(theme.toml): update minimum hugo version from 0.83.0 to 0.114.0 to ensure compatibility with the updated version 2023-11-04 19:04:21 +08:00
Sped0n
19abd7b4d0 chore: blind commit 2023-11-04 19:00:17 +08:00
Sped0n
5eed039d47 feat(artifacts.yml): add step to setup Hugo with version 0.83.0 and extended mode
The change was made to include a new step in the workflow to set up Hugo with version 0.83.0 and enable extended mode. This is necessary to ensure that the correct version of Hugo is used and that extended features are available during the build process.
2023-11-04 18:58:53 +08:00
Sped0n
6830206a5c chore: blind commit 2023-11-04 18:53:28 +08:00
Sped0n
3920e665e0 fix(artifacts.yml): update condition in 'Build' job to check for 'any_changed' output instead of 'result' output for improved semantics 2023-11-04 18:52:14 +08:00
Sped0n
20f381dbcb chore(package.json): set "private" field to false to allow the package to be published 2023-11-04 18:48:47 +08:00
Sped0n
054934e8ba feat(artifacts.yml): add output variable 'result' to the filter job to indicate if any files in the scope have changed 2023-11-04 18:47:39 +08:00
Sped0n
04abd6ab1d chore(package.json): update packageManager field to use pnpm@8.10.2 for better package management 2023-11-04 18:39:05 +08:00
Sped0n
cd98208074 chore(hugo.toml): update theme configuration to use local file instead of module for better customization and flexibility
chore(go.mod): update Go version to 1.21.3 for compatibility and potential bug fixes
2023-11-04 18:36:32 +08:00
Sped0n
e045d273ad feat(hugo.toml): add support for theme as a local file and as a module 2023-11-04 17:56:30 +08:00
Sped0n
e1b0a7627c fix(artifacts.yml): add continue-on-error flag to the filter job to prevent workflow from failing if any step fails 2023-11-04 17:47:16 +08:00
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