From 28daf8c4217ddaf1099009cf0c11f3538f76526d Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 28 Aug 2026 22:07:51 -0400 Subject: [PATCH 1/4] Add GitHub Actions workflow for codespell on main --- .github/workflows/codespell.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..8d6ddc2 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,23 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [main] + pull_request: + branches: [main] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Codespell + uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2.2 From 65a637a81959d9e78410c825725e90f64b149bf4 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 28 Aug 2026 22:07:51 -0400 Subject: [PATCH 2/4] Add rudimentary codespell config --- .codespellrc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .codespellrc diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..b514a3f --- /dev/null +++ b/.codespellrc @@ -0,0 +1,6 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git,.gitignore,.gitattributes,*.svg,package-lock.json,*.css,.codespellrc +check-hidden = true +# ignore-regex = +# ignore-words-list = From 132e2e09ad59ea343d4768c5fd8fae6e6c1aae11 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 28 Aug 2026 22:07:52 -0400 Subject: [PATCH 3/4] [DATALAD RUNCMD] chore: run codespell throughout fixing few left typos automagically === Do not change lines below === { "chain": [], "cmd": "codespell -w", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- docs/getting-started/getting-started.md | 2 +- docs/notifications/pushover.md | 2 +- docs/notifications/telegram.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/getting-started.md b/docs/getting-started/getting-started.md index 0d49677..1922ab7 100644 --- a/docs/getting-started/getting-started.md +++ b/docs/getting-started/getting-started.md @@ -13,7 +13,7 @@ This guide provides instructions on how to quickly get started with Donetick loc Before running Donetick, ensure you have a valid configuration file. Donetick looks for a YAML file named `local.yaml` or `selfhosted.yaml` within the `./config` directory. The file name is chosen based on the `DT_ENV` environment variable. If `DT_ENV` is not set, `local.yaml` is used by default. -1. **Create a Configuration File:** If you don't have one, create a YAML file (e.g., `selfhosted.yaml`) based on the example provided in the [Configuration](./configration) documentation. +1. **Create a Configuration File:** If you don't have one, create a YAML file (e.g., `selfhosted.yaml`) based on the example provided in the [Configuration](./configuration) documentation. 2. **Place the Configuration File:** Place the `selfhosted.yaml` (or your chosen name) file in the `/config` directory within your Donetick application's root directory. ## Running Donetick diff --git a/docs/notifications/pushover.md b/docs/notifications/pushover.md index c670249..e5f8076 100644 --- a/docs/notifications/pushover.md +++ b/docs/notifications/pushover.md @@ -34,7 +34,7 @@ To receive notifications on your devices, you need to get your Pushover user key ## Configure Donetick -To configure Donetick to send notifications to Pushover, you need to update your `config.yaml` file with the Pushover configuration. Please check the [Configuration](../getting-started/configration#pushover) documentation for more information on the configuration file. +To configure Donetick to send notifications to Pushover, you need to update your `config.yaml` file with the Pushover configuration. Please check the [Configuration](../getting-started/configuration#pushover) documentation for more information on the configuration file. Once you have added the configuration, restart Donetick for the changes to take effect. diff --git a/docs/notifications/telegram.md b/docs/notifications/telegram.md index 363078e..3d87dae 100644 --- a/docs/notifications/telegram.md +++ b/docs/notifications/telegram.md @@ -12,7 +12,7 @@ Donetick supports sending notifications to Telegram chat and groups. This guide ## Prerequisites - Create a Telegram bot -- Descover the chat ID +- Discover the chat ID - Configure Donetick ## Create a Telegram Bot @@ -35,7 +35,7 @@ you can search for `userinfobot` in Telegram and start a chat with it. The bot w ## Configure Donetick -To configure Donetick to send notifications to Telegram, you need to update you `config.yaml` file with the Telegram configuration. Please check the [Configuration](../getting-started/configration#telegram) documentation for more information on the configuration file. +To configure Donetick to send notifications to Telegram, you need to update you `config.yaml` file with the Telegram configuration. Please check the [Configuration](../getting-started/configuration#telegram) documentation for more information on the configuration file. Once you have added the configuration, restart Donetick for the changes to take effect. From 13f3c37abbbd1e54bcdad05ec36243290a290940 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Fri, 28 Aug 2026 22:28:50 -0400 Subject: [PATCH 4/4] Fix filename typo: configration.md -> configuration.md, add redirect The prior codespell run (132e2e0) corrected `configration` -> `configuration` in link text within getting-started.md, pushover.md and telegram.md, but did not rename the actual file. With `onBrokenLinks: 'throw'` those links pointed at a non-existent page and the site failed to build. - git mv the file to the correctly-spelled name so internal links resolve. - Add @docusaurus/plugin-client-redirects and register a redirect from /getting-started/configration -> /getting-started/configuration so any external bookmarks / search-engine links to the old path keep working. Hash fragments (e.g. #pushover, #telegram used from the notifications pages) are preserved by the plugin's client-side redirect. Verified with `npm run build` (no broken links) and Playwright: - /getting-started/configration -> new URL, page renders - /getting-started/configration#pushover -> new URL + #pushover - Link click from /getting-started/ -> new URL - Article links on pushover.md / telegram.md -> new URL with anchor Co-Authored-By: Claude Code 2.1.251 / Claude Opus 4.7 --- .../{configration.md => configuration.md} | 0 docusaurus.config.js | 14 +++++++++++ package-lock.json | 25 +++++++++++++++++++ package.json | 1 + 4 files changed, 40 insertions(+) rename docs/getting-started/{configration.md => configuration.md} (100%) diff --git a/docs/getting-started/configration.md b/docs/getting-started/configuration.md similarity index 100% rename from docs/getting-started/configration.md rename to docs/getting-started/configuration.md diff --git a/docusaurus.config.js b/docusaurus.config.js index cf268cf..1b16368 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -37,6 +37,20 @@ const config = { locales: ['en'], }, + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + redirects: [ + { + from: '/getting-started/configration', + to: '/getting-started/configuration', + }, + ], + }, + ], + ], + presets: [ [ 'classic', diff --git a/package-lock.json b/package-lock.json index b08ed61..10faee1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@docusaurus/core": "3.7.0", + "@docusaurus/plugin-client-redirects": "3.7.0", "@docusaurus/preset-classic": "3.7.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", @@ -3305,6 +3306,30 @@ "react-dom": "*" } }, + "node_modules/@docusaurus/plugin-client-redirects": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.7.0.tgz", + "integrity": "sha512-6B4XAtE5ZVKOyhPgpgMkb7LwCkN+Hgd4vOnlbwR8nCdTQhLjz8MHbGlwwvZ/cay2SPNRX5KssqKAlcHVZP2m8g==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, "node_modules/@docusaurus/plugin-content-blog": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.7.0.tgz", diff --git a/package.json b/package.json index 080e84e..93cceeb 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "@docusaurus/core": "3.7.0", + "@docusaurus/plugin-client-redirects": "3.7.0", "@docusaurus/preset-classic": "3.7.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0",