Commit Graph
646 Commits
Author SHA1 Message Date
copilot-swe-agent[bot]andNewFuture 782ea8d664 Add comprehensive OpenWRT verification report
- Document all verification tests and results
- Confirm installation path is correct (/usr/local/bin/ddns)
- Verify scheduled task functionality on OpenWRT
- Document test coverage and created resources
- All tests passed successfully

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-02-08 15:35:55 +00:00
copilot-swe-agent[bot]andNewFuture eebfd2747e docs: add OpenWRT documentation and update navigation
- Add comprehensive OpenWRT guide (Chinese and English)
- Update VitePress config to include OpenWRT in navigation
- Update tests README to document integration test scripts
- Document OpenWRT installation, scheduled tasks, and troubleshooting

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-02-08 15:34:48 +00:00
copilot-swe-agent[bot]andNewFuture 0270a54ed6 Add comprehensive OpenWRT installation and task testing
- Add test-openwrt-install.sh script for comprehensive testing
- Add test-openwrt-install.yml workflow for CI testing
- Add OpenWRT documentation (Chinese and English)
- Verify installation path (/usr/local/bin/ddns)
- Test scheduled task installation, enable/disable, uninstall
- Test on multiple OpenWRT architectures (x86_64, ARM64, ARMv7)

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-02-08 15:33:22 +00:00
copilot-swe-agent[bot] 799839b21d Initial plan 2026-02-08 15:29:10 +00:00
dependabot[bot] 5aec750efe Bump vitepress from 2.0.0-alpha.15 to 2.0.0-alpha.16 in /docs (#672)
Bumps [vitepress](https://github.com/vuejs/vitepress) from 2.0.0-alpha.15 to 2.0.0-alpha.16.
- [Release notes](https://github.com/vuejs/vitepress/releases)
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.15...v2.0.0-alpha.16)

---
updated-dependencies:
- dependency-name: vitepress
  dependency-version: 2.0.0-alpha.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 19:44:27 +08:00
CopilotandNewFuture 030c5cb32b docs(agents): exclude VitePress and ESA tooling files from structure tracking (#670)
* Initial plan

* docs(agents): ignore VitePress and ESA files in update-agents workflow

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* style: fix linting issues in update_agents_structure.py

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-30 10:47:11 +00:00
a336bf2d9b Fix release body version substitution: correct docs path typo (#668)
* Initial plan

* fix: update patch.py to include version in file description and Docker annotations

- Modified add_nuitka_file_description() to accept version parameter and append it to description
- Updated Docker build annotations to include version-specific description
- Removed hardcoded file-description from Windows standalone build in publish.yml
- Version now correctly appears in descriptions (e.g., [v4.1.0]) instead of "latest"

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: revert unintended Python 2 compatibility removal

Restore systemd.py and http.py to previous state. These files were accidentally modified during testing of patch.py script.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: add solution summary for version description fix

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: restore Python 2 compatibility code in systemd.py and http.py

Properly restore the Python 2/3 compatibility try-except blocks that were accidentally removed during testing.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: correct path to release.md for GitHub release body updates

Fix typo in patch.py where it references 'doc/release.md' instead of 'docs/release.md'. This caused the release body to always show 'latest' instead of the actual version tag because the file was never found and updated.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* revert: remove Nuitka description changes, keep only docs path fix

As requested, reverted all changes except the single-line fix changing 'doc' to 'docs' in patch.py line 468. This ensures only the GitHub release body version substitution fix is included.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Fix release body version substitution: correct docs path typo

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2026-01-30 07:08:35 +00:00
New Future d1d8870a9a Update bug report template configuration section
Removed code block formatting from configuration example.
2026-01-28 21:14:55 +08:00
dfbc77d430 docs: sync llms.txt with CloudNS and automate doc changes detection (#666)
* Initial plan

* docs(agents): update AGENTS.md with CloudNS files and version

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs(agents): remove unnecessary emphasis on test_provider_cloudns.py

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: update llms.txt with CloudNS and enhance update-agents workflow

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Update .github/scripts/update_agents_structure.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: remove trailing whitespace in update_agents_structure.py

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: update script to use 'docs/' instead of 'doc/' directory

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
v4.1.4-beta2
2026-01-28 09:57:33 +00:00
CopilotandNewFuture f26d50678f refactor(provider): optimize cloudns implementation and add documentation (#664)
* Initial plan

* refactor(provider.cloudns): optimize and simplify implementation

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs(providers): add comprehensive cloudns documentation and update indices

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(provider.cloudns): change default TTL from 3600s to 60s

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(provider.cloudns): fix Python 2.7 compatibility with dict unpacking

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-28 13:55:57 +08:00
iclart 81840212e0 feat(provider.cloudns): add ClouDNS.net DNS provider support (#663) 2026-01-27 13:58:29 +08:00
CopilotandNewFuture fec8a65e69 docs: Condense edge-ddns-proxy references to single-line mentions (#662)
* Initial plan

* Add edge-ddns-proxy introduction to documentation

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Simplify edge-ddns-proxy introduction to one sentence

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-22 13:24:59 +00:00
CopilotandNewFuture b4b75628f8 fix: dynamically generate test matrix based on file changes (#661)
* Initial plan

* fix: remove invalid matrix reference from job-level if condition

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor: use matrix includes for more elegant conditional logic

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: correct logic in matrix conditional (remove negation)

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: move conditional to step-level where matrix context is available

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat: dynamically generate matrix based on install.sh changes

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: use POSIX-compliant = operator instead of ==

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-21 02:15:20 +00:00
New Future 59f66bed9d Refactor documentation links to remove '.html' extensions
Updated links in documentation to remove '.html' extensions for cleaner URLs.
2026-01-20 23:31:25 +08:00
CopilotandNewFuture 8b74e444d4 ci: skip test-install.yml on release tags (#660)
* Initial plan

* feat(ci): optimize test-install.yml to skip tests when install.sh unchanged on push to master

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(ci): add tag trigger support and update installer version to 2.0

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(ci): skip release/tag testing in test-install.yml

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(ci): also run all tests when workflow file changes

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-20 10:40:05 +00:00
New Future ee300ad556 update 2026-01-19 09:56:38 +08:00
e18d4bcd96 docs: add ESA Pages and Edge Function deployment guide (#659)
* Initial plan

* docs: add ESA Pages and Function deployment guide

- Created comprehensive Chinese documentation (esa-deploy.md)
- Added navigation entries in VitePress config
- Added sidebar entries for both Chinese and English
- Documented deployment steps, configuration, and troubleshooting

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: remove unnecessary sections from ESA deploy guide

- Removed "构建缓存" and "预览环境" sections
- Removed "监控指标" section
- Removed entire "故障排除" section
- Removed "优化建议" section

Simplified the documentation based on feedback to focus on essential deployment information.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* add esa

* update links

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2026-01-19 01:14:27 +08:00
dependabot[bot] 889593a5b0 Bump actions/upload-artifact from 4 to 6 (#656)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 14:47:38 +08:00
dependabot[bot] 8bb8831c58 Bump actions/download-artifact from 4 to 7 (#657)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 13:43:39 +08:00
dependabot[bot] 200c91b853 Bump actions/checkout from 4 to 6 (#654)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 11:18:50 +08:00
dependabot[bot]andNew Future b6386267bf Bump Nuitka/Nuitka-Action from 1.3 to 1.4 (#655)
Bumps [Nuitka/Nuitka-Action](https://github.com/nuitka/nuitka-action) from 1.3 to 1.4.
- [Release notes](https://github.com/nuitka/nuitka-action/releases)
- [Commits](https://github.com/nuitka/nuitka-action/compare/v1.3...v1.4)

---
updated-dependencies:
- dependency-name: Nuitka/Nuitka-Action
  dependency-version: '1.4'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2026-01-16 02:19:19 +00:00
dependabot[bot] b2ffcd3e07 Bump actions/setup-python from 5 to 6 (#658)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 10:10:39 +08:00
New FutureandCopilot Autofix powered by AI 1a4e0a375a Potential fix for code scanning alert no. 2: Workflow does not contain permissions (#653)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-15 16:27:20 +00:00
New FutureandCopilot 6521a394d8 Configure Dependabot for GitHub Actions and npm (#652)
* Configure Dependabot for GitHub Actions and npm

Added npm updates for the docs directory and GitHub Actions.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-15 15:59:50 +00:00
8afc0920dd docs: update schema references from v4.0.json to v4.1.json (#651)
* Initial plan

* docs: update schema references from v4.0.json to v4.1.json

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: revert schema/v4.0.json to keep v4.0 definition unchanged

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: update schema file links to v4.1.json in provider README

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
v4.1.4-beta1
2026-01-14 15:46:15 +00:00
fc3e23b5b2 Prefer official download first with clearer proxy fallback (#647)
* Initial plan

* fix: prefer official download first

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: refine official download handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: add helpers for official download flow

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: allow official base override and tidy warnings

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: add proxy helper and clarify mirror defaults

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: tidy install helper nits

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: refine proxy detection and flag handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Modify test-install workflow configuration

Updated run-name to remove head commit message and changed path for install.sh.

* Update docs/public/install.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update official download base

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: prefer official beta before GitHub

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-14 14:02:27 +00:00
aa54605379 doc(esa): Add esa config (#650)
* Update esa.jsonc for new project configuration

* Add legacy doc redirects in VitePress and simplify ESA 404 handling (#649)

* Initial plan

* docs: add legacy redirects and simplify 404 handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): simplify legacy redirect logic

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): clarify doc redirects

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): align clean url handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): tidy url constants

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): reuse en base constant

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): use constants for en base

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): respect dynamic en base

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): reuse html extension constant

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): streamline doc redirect logic

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): further simplify legacy redirects

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): inline clean-url handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): avoid redundant html suffix

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore(docs): coalesce clean-url handling

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Improve URL target resolution logic

Refactor URL target resolution to handle clean URLs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-14 12:49:08 +00:00
New Future 0018154e59 Update build-docs workflow for Node.js and paths 2026-01-14 12:05:34 +08:00
New Future 805940bd57 Update build-docs.yml to include permissions
Add permissions for pages and id-token in workflow
2026-01-14 11:49:07 +08:00
New Future 707866b36d Update GitHub Actions workflow for documentation build 2026-01-14 11:43:34 +08:00
New Future 22ee68270a Update references and links in issue-assistant.md 2026-01-14 01:29:31 +08:00
New FutureandCopilot 31fdd7298d Fix 404 1 (#646)
* Refactor 404 error handling and cache key generation

* Update 404 handling to use specific URL

* Update docs/esa.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Replace console.alert with console.log for errors

* Update docs/esa.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-13 17:11:40 +00:00
27f0b1a1db Fix VitePress link transform so homepage doc links stay on-site (#645)
* Initial plan

* fix(docs): keep internal links on site

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Refactor href matching for specific file types

* Update links and documentation references in README

* Fix regex pattern for href matching

* Update href matching for file types in config

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2026-01-14 00:52:59 +08:00
New Future a64c600036 Simplify 404 error response message
Updated the response message for 404 errors to be more concise.
2026-01-13 23:42:37 +08:00
New Future 9000cccdb4 Add redirect option to fetch notFoundUrl 2026-01-13 23:42:06 +08:00
New Future f76bb2cda5 Remove outdated configuration schema links
Removed outdated schema links for v4.0, v2.8, and v2.
2026-01-13 23:33:36 +08:00
CopilotandNewFuture b58ac65b92 docs(agents): sync AGENTS.md directory structure with actual repository layout (#644)
* Initial plan

* docs(agents): update AGENTS.md directory structure to reflect actual layout

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-13 14:47:48 +00:00
9a932675e1 Move favicon.ico and img to docs/public, update references, and improve edge function 404 handling with ESA Cache (#643)
* Initial plan

* docs: move favicon and img to docs/public and update all references

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: update .gitignore to ignore generated subdirs and correct _config.yml paths

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor: use symbolic links for schema and tests instead of copying

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat: add Vite config to preserve symbolic links in VitePress

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor: link only tests/config instead of entire tests directory

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat: return 404.html when URLs don't match any pattern in esa.js

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: properly handle 404.html response headers in esa.js

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: prevent infinite loop and improve error handling in 404.html fetch

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat: increase 404.html cache duration to 6 hours

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat: cache 404.html response in ESA Cache

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Update docs/esa.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-13 17:35:21 +08:00
New Future 8895431032 Update RAW_URL to point to public install script 2026-01-13 12:18:38 +08:00
CopilotandNewFuture c9358c688c Add tests/config documentation assets (#640)
* Initial plan

* docs: copy tests config assets into docs

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): handle missing remote sample

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): treat missing remote config as skip

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): refine remote 404 skip detection

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): parse status code when skipping remote url

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): handle status attributes when skipping remote url

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): add helper to detect remote HTTP status

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): document and tighten status code extraction

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): finalize robust status detection helper

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* test(config): improve optional import and status regex

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* chore: revert remote config test and simplify docs copy

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: publish install.sh to docs public

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: move install.sh into public directory

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs: ensure install.sh is published

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2026-01-13 11:21:18 +08:00
New Future e24b3ed0d3 Delete docs/examples/config-with-extra.json 2026-01-13 00:00:32 +08:00
0e466dc496 feat(docs): add automated documentation website builder using VitePress 2.0 (#634)
* Initial plan

* feat(docs): add static documentation website builder script

Add build_docs.py script to convert markdown docs to static HTML website with:
- Responsive navigation bar with collapsible directory tree
- In-page table of contents (right sidebar, hidden on small screens)
- Language switcher (Chinese/English)
- Pure static HTML output (no server-side processing)
- Footer with GitHub links and edit page link
- Mobile-friendly responsive design

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* style: format build_docs.py with ruff

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): use MkDocs with Material theme instead of custom parser

Replace custom markdown parser with industry-standard tools:
- MkDocs: Popular static site generator for documentation
- Material for MkDocs: Modern, feature-rich theme

Benefits:
- Mature, well-tested codebase used by thousands of projects
- Built-in features: search, navigation, TOC, code highlighting
- Active development with regular updates
- Extensive documentation and community support
- Beautiful, responsive design out of the box
- Easy to maintain with configuration-based approach

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): use VitePress instead of MkDocs for documentation

Replace MkDocs with VitePress - a Vue-powered static site generator:
- VitePress: Modern, fast, designed for documentation
- Vue 3 + Vite stack with instant HMR
- Built-in i18n, search, dark mode, responsive design
- Chinese-friendly (created by Evan You)

Features:
- Responsive navigation with collapsible sidebar
- In-page TOC automatically generated
- Bilingual support (Chinese/English)
- Local search with keyboard shortcuts
- Light/Dark mode toggle
- Edit page links to GitHub
- Pure static HTML output

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(docs): add automated setup and build with npm run build

Add automated directory setup for VitePress build:
- Created scripts/setup-docs.mjs to auto-setup docs structure
- Updated package.json with 'build' command that runs setup + build
- Updated docs:dev to include setup automatically
- Simplified workflow to one command: npm run build

Changes:
- npm run build now handles everything automatically
- No need for separate bash script
- Directory structure created on-demand
- Updated BUILD_DOCS.md with simplified instructions

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): improve VitePress configuration per feedback

Addressed all feedback items:
1. Fixed edit link mapping: index.html now correctly maps to README.md/README.en.md in GitHub
2. Added schema directory to build output via public/ directory
3. Removed /doc/ prefix from all URLs - doc/ is now the web root
4. Fixed path references in README files during setup

Changes:
- Updated editLink to use function for proper README mapping
- Modified setup script to copy doc/ contents to docs root (not docs/doc/)
- Added schema/ to public/ directory for static asset serving
- Fixed /doc/ path references in copied README files
- Updated all navigation and sidebar paths to remove /doc/ prefix

URLs now work as:
- / (homepage from README.md)
- /docker, /install (no /doc/ prefix)
- /config/cli, /providers/dnspod (clean paths)
- /schema/v4.0.json (accessible in build)

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): preserve original /doc/ paths in documentation

Per user feedback, reverted path modifications:
- No longer replace /doc/ paths in README files
- Restored doc/ directory structure (docs/doc/)
- Updated VitePress navigation to use /doc/ prefix
- Edit links correctly map to source files in doc/ directory

Changes:
- setup-docs.mjs: removed path replacement, copy doc/ to docs/doc/
- config.mts: restored /doc/ prefix in all navigation and sidebar paths
- URLs now match original documentation: /doc/docker, /doc/providers/dnspod

This preserves the original documentation structure and paths as they
appear in the source repository.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): remove /doc/ prefix from URLs and ignore intermediate files

Per user feedback, changed URLs from /doc/xxx.html to /xxx.html:

Changes:
1. Updated setup-docs.mjs to copy doc/ contents to docs/ root (not docs/doc/)
2. Modified path replacement to handle both links and image src attributes
3. Updated VitePress config.mts to remove /doc/ prefix from all nav/sidebar paths
4. Updated .gitignore to exclude intermediate copied files from commits
5. Removed docs/index.md and docs/en/index.md from git tracking

URLs now:
- /docker.html instead of /doc/docker.html
- /providers/dnspod.html instead of /doc/providers/dnspod.html
- /config/cli.html instead of /doc/config/cli.html
- Images at /img/ddns.svg instead of /doc/img/ddns.svg
- Schema files remain at /schema/v4.0.json

Intermediate files generated during build are now gitignored and won't be committed.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): move build scripts to doc/ directory

Moved documentation build scripts from root and scripts/ to doc/ directory:
- Moved scripts/setup-docs.mjs → doc/setup-docs.mjs
- Moved build_docs.sh → doc/build_docs.sh
- Removed empty scripts/ directory
- Updated package.json to reference new script locations
- Updated BUILD_DOCS.md with new directory structure

This organizes all documentation-related files under doc/ directory,
keeping the repository root cleaner.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): consolidate into single doc/ directory

Eliminated docs/ directory, consolidated everything under doc/:
- Moved docs/.vitepress/ → doc/.vitepress/
- Removed docs/ directory entirely
- Updated package.json to use doc/ instead of docs/
- Updated .gitignore to reflect new structure (doc/.vitepress/dist/, doc/index.md, doc/en/, doc/public/)
- Updated setup-docs.mjs to generate files within doc/
- Updated BUILD_DOCS.md documentation

Structure now:
- doc/ contains source files, VitePress config, and generated intermediate files
- All build artifacts stay within doc/.vitepress/dist/
- Simpler single-directory structure without doc/docs nesting

Commands remain the same:
- npm run build
- npm run docs:dev
- npm run docs:preview

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): move package.json to doc/ directory

Moved package.json to doc/ directory to consolidate all documentation-related files:
- Moved package.json from root → doc/package.json
- Updated package.json scripts to use relative paths (. instead of doc)
- Updated BUILD_DOCS.md with new usage instructions (cd doc first)
- Updated build_docs.sh to work from within doc/ directory
- .gitignore already handles node_modules/ globally

All documentation dependencies and configuration now in single doc/ directory.

Usage:
```bash
cd doc
npm install
npm run build
```

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(docs): add install.sh to public, auto-redirects, and ensure README→index.html mapping

Implemented three enhancements:

1. Copy install.sh to public/ directory
   - install.sh now accessible at /install.sh in build
   - Users can download directly from documentation site

2. Add automatic redirects for old URLs
   - Created custom VitePress theme with redirect logic
   - /doc/xxx URLs redirect to /xxx
   - /doc/xxx.en.html URLs redirect to /en/xxx.html
   - Maintains backward compatibility with old links

3. README.md renders as index.html with correct edit links
   - Already configured: index.md maps to README.md for editing
   - en/index.md maps to README.en.md for editing
   - Edit links work correctly for both Chinese and English homepages

Updated BUILD_DOCS.md with new features documentation.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(docs): upgrade to VitePress 2.0 (next)

Upgraded VitePress from v1.x to v2.0 (next tag):
- Updated package.json to use "vitepress": "next"
- Currently using v2.0.0-alpha.15
- Tested build successfully - all features working
- Updated BUILD_DOCS.md to reflect VitePress 2.0

VitePress 2.0 benefits:
- Better performance and faster build times
- Improved developer experience
- Enhanced features and bug fixes
- Future-ready with latest Vue 3 + Vite improvements

Build tested and confirmed working with no breaking changes.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): remove redundant build script and fix copyright years

Changes per user feedback:
1. Removed doc/build_docs.sh (redundant - standard npm commands sufficient)
2. Updated copyright in config.mts line 133: "Copyright © 2016 ~ 2024 NewFuture"
3. Updated copyright in config.mts line 305: "Copyright © 2016 ~ 2024 NewFuture"

Usage now simplified to standard npm commands:
- cd doc && npm install
- npm run build
- npm run docs:dev
- npm run docs:preview

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): dynamic copyright year, move redirects to esa.js, update providers link

Per user feedback:
1. Made copyright year dynamic: `${new Date().getFullYear()}` (line 305)
2. Moved redirect logic from theme/index.ts to esa.js for server-side handling
3. Changed providers link from "概述 /providers/README" to "所有服务商 /providers/index" (line 70)

Changes:
- config.mts: Dynamic copyright calculation, updated providers navigation
- esa.js: Added redirect logic for /doc/ URLs (301 permanent redirects)
- theme/index.ts: Removed client-side redirect logic (now handled server-side)

Redirects now handled at edge function level for better SEO and performance.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): improve redirects, provider link, and add code-to-GitHub link conversion

Per user feedback (comment #3736692270):
1. Moved .en.html redirect logic before general /doc/ redirect in esa.js
2. Added /index.en.html → /en/ redirect
3. Changed providers/README URL to providers/ (line 39)
4. Added markdown transformer to convert code links (e.g., /ddns/provider/dnspod.py) to GitHub links

Changes:
- esa.js: Reordered redirect logic (en first), added index.en.html redirect
- config.mts: Changed providers link from /providers/README to /providers/
- config.mts: Added markdown.config to transform inline code paths to GitHub links

Code paths like `/ddns/provider/dnspod.py` in documentation will now automatically link to GitHub repository.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(docs): enable dead link check, add sitemap, llms.txt, and GitHub Actions build

Per user feedback (comment #3736806631):
1. Changed redirects to 301 permanent redirects in esa.js (line 183)
2. Enabled dead link checking in config.mts (ignoreDeadLinks: false)
3. Added sitemap generation (sitemap.hostname: https://ddns.newfuture.cc)
4. Added llms.txt generation via buildEnd hook for AI/LLM context
5. Created GitHub Actions workflow (.github/workflows/build-docs.yml) to build docs on push

Changes:
- esa.js: Clarified 301 redirect comment
- config.mts: Enabled dead link check, added sitemap config, added buildEnd hook for llms.txt
- .github/workflows/build-docs.yml: New workflow to build and optionally deploy docs

GitHub Action triggers on:
- Push to master/main (doc/, README*, schema/ paths)
- Pull requests
- Manual workflow dispatch

Build output includes sitemap.xml and llms.txt for better SEO and AI integration.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): update Node.js to v24, retention to 7 days, simplify BUILD_DOCS

Per user feedback (comment #3736833266):
1. Updated Node.js version from v20 to v24 in build-docs.yml (line 33)
2. Changed artifact retention from 30 to 7 days (line 50)
3. Simplified BUILD_DOCS.md - removed verbose explanations, kept essentials

Changes:
- .github/workflows/build-docs.yml: Node 24, 7-day retention
- BUILD_DOCS.md: Condensed from 327 to 40 lines, focused on quick start and essential commands

BUILD_DOCS.md now provides concise reference instead of lengthy tutorial.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor(docs): simplify link transformer, extract llms.txt template, add docs agent

Per user feedback (comment #3737275691):
1. Simplified markdown transformer to only process link (a tag) hrefs instead of code_inline tokens
2. Extracted llms.txt content to separate template file (doc/llms.txt) with:
   - Complete documentation structure with all page URLs
   - All schema file URLs (v4.0, v2.8, v2)
   - Template variable {{DATE}} for build-time replacement
3. Deleted BUILD_DOCS.md and created .github/agents/docs.agent.md:
   - Comprehensive documentation maintenance agent
   - Full guide for updating docs, navigation, providers
   - Build/test procedures and common tasks
   - Guidelines for writing and link handling

Changes:
- config.mts: Transform link hrefs (not inline code), read llms.txt from template
- doc/llms.txt: New template with full doc/schema URLs
- .github/agents/docs.agent.md: New documentation maintenance agent
- BUILD_DOCS.md: Deleted (replaced by agent instructions)

Link transformer now only modifies existing <a> tags, preserving markdown styling.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): add metadata to docs agent, fix markdown syntax, add v4.1.json schema

Per user feedback (comment #3737334654):
1. Added YAML metadata to docs.agent.md (name, description) following new-provider.agent.md format
2. Fixed markdown syntax to be GitHub-compatible:
   - Changed inline code blocks in list items to properly formatted code blocks
   - Ensured all code examples are in fenced code blocks
3. Added missing v4.1.json schema to llms.txt (was only showing v4.0, v2.8, v2)

Changes:
- .github/agents/docs.agent.md: Added YAML frontmatter, fixed markdown formatting
- doc/llms.txt: Added v4.1 schema URL (first in list as newest version)

All schema files now documented: v4.1, v4.0, v2.8, v2

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): restructure to docs/ directory with cleaner organization

Per user feedback (comment #3737399407):
1. Renamed doc/ → docs/
2. Moved all .en.md files → docs/en/*.md (removed .en suffix)
3. Moved install.sh → docs/install.sh (source file, not copied)
4. Moved favicon.ico → docs/favicon.ico (source file)
5. Simplified setup-docs.mjs - no longer copies English files or install.sh
6. Updated all path references:
   - GitHub Actions workflow: doc/ → docs/
   - .gitignore: doc/ → docs/
   - VitePress config: edit links now map to docs/
   - Documentation agent: updated structure docs

New Structure:
- docs/ (was doc/)
  - config/, providers/, dev/ (Chinese markdown)
  - en/ (English markdown, no .en suffix)
    - config/, providers/, dev/
  - install.sh (source)
  - favicon.ico (source)
  - llms.txt (template)

Build command unchanged: cd docs && npm run build

All English documentation now sourced directly from docs/en/ instead of being generated.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): update documentation links from /doc/ to docs/ in README files

Per user feedback (comment #3737497400):
1. Updated setup-docs.mjs to properly replace /doc/ → docs/ → / in README processing
2. Updated all /doc/ links to docs/ in README.md:
   - Image src: /doc/img/ddns.svg → docs/img/ddns.svg
   - Docker docs: /doc/docker.md → docs/docker.md
   - Config docs: /doc/config/* → docs/config/*
   - Provider docs: /doc/providers/* → docs/providers/*
3. Updated all /doc/ links to docs/en/ in README.en.md:
   - Image src: /doc/img/ddns.svg → docs/img/ddns.svg
   - Docker docs: /doc/docker.en.md → docs/en/docker.md
   - Config docs: /doc/config/*.en.md → docs/en/config/*.md
   - Provider docs: /doc/providers/*.en.md → docs/en/providers/*.md

Changes:
- docs/setup-docs.mjs: Two-step replacement (/doc/ → docs/ → /) for GitHub links
- README.md: All documentation links now use docs/ prefix
- README.en.md: All documentation links now use docs/en/ prefix

Verified: No /doc/ links remain in README files or .github markdown files.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): simplify setup script and move to .vitepress directory

Per user feedback (comment #3737562776):
1. Moved setup-docs.mjs to docs/.vitepress/ directory
2. Simplified link replacement logic:
   - Removed unnecessary /doc/ processing code
   - Now only converts docs/ → / (Chinese version)
   - And docs/en/ → / (English version)
   - Since README files already use correct docs/ prefix
3. Updated package.json script paths to reference .vitepress/setup-docs.mjs
4. Updated path variables in script to work from .vitepress/ location

Changes:
- docs/.vitepress/setup-docs.mjs: New location, simplified logic
- docs/package.json: Updated setup script path
- Removed obsolete /doc/ → docs/ replacement steps

Build process now simpler and cleaner.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): fix all broken documentation links

Per user feedback (comment #3737640946):
Fixed all broken links throughout the documentation:

1. Fixed providers/README links → providers/ (clean URL)
2. Removed all .en.md suffixes from links (files now in docs/en/ with .md extension)
3. Fixed /doc/ prefix references → proper docs/ paths
4. Fixed cross-references between Chinese and English docs:
   - Chinese providers/README.md → ../en/providers/*.md for English docs
   - English docs use relative paths within en/ directory
5. Fixed redirect_to URLs in dnscom.md files
6. Fixed image URL: /doc/img/ → /img/

Changes affect 28 files:
- All config documentation (cli.md, env.md, json.md) in both languages
- All provider documentation in both languages
- Developer documentation (dev/config.md)
- Docker documentation
- Provider README files

All dead links now resolved. Documentation navigation works correctly.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): fix remaining dead links in generated index.md and provider files

Per user feedback (comment #3737692822):
Fixed all remaining dead links:

1. Enhanced setup-docs.mjs to handle ./doc/ prefix links:
   - Added replacement for (./doc/ → (/
   - Added replacement for /providers/index → /providers/
   - Now correctly converts README links to clean web URLs

2. Fixed provider documentation links:
   - callback.md and debug.md: Added "Return to All Providers" links
   - English versions: Added /en/providers/ links
   - Removed broken ./../../README links

All dead links now resolved:
- ./doc/install → /install
- ./doc/providers/* → /providers/*
- ./doc/config/* → /config/*
- /providers/index → /providers/
- Provider files now link to /providers/ and /en/providers/

Dead link checking should now pass successfully.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): fix all remaining dead links in documentation

Per user feedback (comment #3737728554):
Fixed all remaining dead links throughout documentation:

1. Enhanced setup-docs.mjs:
   - Added replacement for ](doc/ pattern
   - Handles more link format variations

2. Fixed config files (6 files):
   - config/cli.md: providers/ → ../providers/, providers/callback → ../providers/callback
   - config/json.md: docker.md → ../docker.md, providers/ → ../providers/
   - en/config/env.md: providers/callback → ../providers/callback, docker → ../docker, providers/ → ../providers/
   - en/config/json.md: docker.md → ../docker.md, providers/ → ../providers/

3. Fixed provider files (6 files):
   - providers/callback.md, debug.md, README.md: ../../README.md → /
   - en/providers/callback.md, debug.md: ../../README.md → /en/
   - en/providers/he.md: ../json.md → ../config/json.md

All dead links resolved:
✓ ./providers/index → ../providers/
✓ ./providers/callback → ../providers/callback
✓ ./docker → ../docker
✓ ./../../README → / (or /en/)
✓ ../json → ../config/json
✓ ](doc/ → ](/

Dead link checking should now pass successfully with zero errors.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): add VitePress rewrites to map providers/README.md to /providers/

Per user feedback (comment #3737780259):
Fixed `/providers/index` dead links by adding VitePress rewrites configuration.

Changes to docs/.vitepress/config.mts:
1. Added rewrites mapping:
   - providers/README.md → providers/index.md
   - en/providers/README.md → en/providers/index.md
2. Updated sidebar links:
   - /providers/index → /providers/
   - /en/providers/index → /en/providers/

This tells VitePress that the README.md files in providers directories should be accessible via the /providers/ URL (with cleanUrls enabled).

All /providers/index links now correctly resolve to /providers/

Dead link checking should now pass with zero errors.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): fix providers/index links and simplify setup script

Per user feedback (comment #3737836475):
1. Fixed dead links in config/env.md files:
   - ./providers/ → ../providers/ (both Chinese and English)
2. Simplified setup-docs.mjs:
   - Removed unnecessary doc/ processing (README no longer contains doc/)
   - Merged logic for both README files into single processReadme function
   - Cleaner, more maintainable code with less duplication

Changes:
- docs/config/env.md: Fixed providers/ link
- docs/en/config/env.md: Fixed providers/ link
- docs/.vitepress/setup-docs.mjs: Refactored with shared function

Dead link checking should now pass with zero errors.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): remove providers/index replacement from setup script

Per user feedback (comment #3737887893):
Removed `/providers/index` → `/providers/` replacement from setup-docs.mjs.
This should be fixed in markdown files instead, not in the setup script.

Simplified setup script by removing unnecessary transformation logic.

Changes:
- docs/.vitepress/setup-docs.mjs: Removed line 29 replacement

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): update remaining /doc/ references to docs/ in README files

Per user feedback (comment #3737970179):
Updated all remaining /doc/ references to docs/ or docs/en/ in both README files.

Changes in README.md:
- doc/install.md → docs/install.md
- All doc/providers/*.md → docs/providers/*.md (10 provider links)

Changes in README.en.md:
- doc/install.en.md → docs/en/install.md
- doc/providers/dnspod.en.md → docs/en/providers/dnspod.md
- doc/providers/alidns.en.md → docs/en/providers/alidns.md

All documentation links now correctly use docs/ prefix for GitHub navigation.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(docs): update all remaining doc/ references to docs/ in README files

Per user feedback (comment #3738298603):
Updated ALL remaining doc/ references to docs/ or docs/en/ in both README files.

Changes in README.md (13 links):
- doc/providers/edgeone.md → docs/providers/edgeone.md
- doc/providers/noip.md → docs/providers/noip.md
- doc/config/cli.md → docs/config/cli.md (3 occurrences)
- doc/config/json.md → docs/config/json.md (2 occurrences)
- doc/config/env.md → docs/config/env.md (2 occurrences)
- doc/providers/ → docs/providers/ (3 occurrences)

Changes in README.en.md (13 links):
- doc/providers/*.en.md → docs/en/providers/*.md (9 provider links)
- doc/config/cli.en.md → docs/en/config/cli.md
- doc/config/json.en.md → docs/en/config/json.md
- doc/config/env.en.md → docs/en/config/env.md
- doc/providers/ → docs/en/providers/

All documentation links now use correct docs/ prefix with NO /doc/ references remaining.

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(docs): integrate setup logic into config.mts

Per user feedback (comment #3738600577):
Integrated setup-docs.mjs functionality into config.mts.

Changes:
1. Removed standalone setup-docs.mjs file
2. Added setupDocs() function in config.mts that runs before config export
3. Simplified package.json scripts - removed setup step
4. Setup now runs automatically when config loads (works for both dev and build)

Benefits:
- Single configuration file - easier to maintain
- No separate setup script needed
- Automatic execution on both dev and build
- Cleaner package.json scripts
- Same functionality, simpler implementation

Build command: `npm run build` or `npm run docs:dev`

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* update link

* /doc/img/ddns.svg

* fix docs paths

* fix docs

* fix docs url

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-12 23:48:37 +08:00
05c9896473 feat(doc): add Alibaba Cloud ESA proxy script for GitHub releases with optimized EdgeKV beta support (#638)
* Initial plan

* feat(doc): add ESA proxy script for GitHub releases with intelligent caching

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): update esa.js for Alibaba Cloud ESA compatibility and remove documentation

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): unify esa.js to single URL format /releases/{version}/{binary}

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* perf(doc): enable streaming for esa.js - return response immediately without buffering

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor(doc): fix duplicate fetch and code duplication in esa.js

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(doc): use correct Alibaba Cloud ESA Cache API methods (cache.get/cache.put)

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): convert esa.js to ES module format with default export

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): simplify esa.js logic per Aliyun requirements - cache first, no validation, add beta support

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): simplify esa.js - use EdgeKV for beta, direct return cached/error responses

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): optimize esa.js - use githubUrl cache key, 6h beta TTL, no X-Cache in cache

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): optimize esa.js - simplify code and fix cache policy for beta versions

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(doc): remove isDynamic check for beta - treat as static after conversion

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(doc): use HTTP protocol for ESA cache keys instead of HTTPS

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Change cache key for beta version retrieval

* docs(esa.js): clarify beta version cache behavior in comments

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-10 11:41:18 +08:00
d43d6108eb Convert issue templates to YAML format (#637)
* Initial plan

* feat: convert issue templates to YAML format with improvements

- Convert debug.md to bug_report.yml with structured form inputs
- Convert feature_request.md to feature_request.yml with simplified structure
- Convert new-dns-provider.md to new_dns_provider.yml with better organization
- Add config.yml for issue template configuration with links to docs and discussions
- Remove old Markdown templates (debug.md, feature_request.md, new-dns-provider.md, other-issues.md)
- Add dropdowns, required fields, and better field types for improved user experience

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix: update documentation URL to https://ddns.newfuture.cc

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/bug_report.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-05 10:02:36 +00:00
CopilotandNewFuture e32a29b2b5 docs(aliesa): add ESA free trial registration link (#633)
* Initial plan

* docs(aliesa): add esa trial registration link

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2025-12-23 15:08:23 +08:00
CopilotandNewFuture 3ed820cf36 docs: convert JSON code blocks with comments to JSONC format (#632)
* Initial plan

* docs: convert JSON code blocks with comments to JSONC format

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2025-12-21 21:49:35 +08:00
CopilotandNewFuture c3699f320a ci(macos): Update macOS Intel runners to macos-15-intel (#631)
* Initial plan

* ci: switch mac runners to macos-15-intel

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
2025-12-21 03:26:38 +08:00
ecf25fb4e7 refactor(scripts): implement strict 3-step OpenAI workflow for issue assistance (#622)
* Initial plan

* refactor(scripts): implement strict 3-step OpenAI workflow for issue assistance

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* style(scripts): use const/let instead of var for better code clarity

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(scripts): remove classification requirement when requesting files

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* fix(prompts): minimal modifications to issue-assistant.md based on master

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(scripts): simplify issue-ai-response.js logic using loop-based approach

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(scripts): split into 3 explicit queries with different user prompts

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* feat(scripts): add logging for each query response for debugging

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(scripts): consolidate logging into callOpenAI function

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(scripts): simplify query logic with processResponse helper

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* refactor(scripts): remove files.length check and add detailed API error logging

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* docs(prompts): simplify issue-assistant.md system prompt

Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>

* update prompts

* fix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
2025-12-03 18:35:49 +08:00
New FutureandCopilot 39f645a91b Revise issue assistant guidelines for clarity and tone (#621)
* Revise issue assistant guidelines for clarity and tone

Updated language for professionalism and clarity in the issue assistant guidelines.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 09:36:18 +00:00
New Future 880b6856e5 Handle error when reading required files 2025-12-01 13:46:45 +08:00