Repository navigation
Hotfix/move docs to handsontable com (merge to develop) - #1822
Merged
Merged
Conversation
The HyperFormula pages move from hyperformula.handsontable.com to handsontable.com: the landing page to /hyperformula/ with the new website, the documentation to /docs/hyperformula/, next to the Handsontable docs under /docs/. The docs stay in this repository and keep deploying through the hyperformula-docs Worker; handsontable.com proxies the path to it unchanged, so the build has to know its new home. - build.config.js: base /docs/hyperformula/, the output directory under the same prefix, and https://handsontable.com for the sitemap, the .md companions and llms-full.txt. - _headers: the long cache follows the hashed assets to their new path. - worker/index.js: the former addresses (/docs and everything under /docs/ outside the new base) answer with a permanent redirect to the same path under https://handsontable.com/docs/hyperformula/. hyperformula. handsontable.com keeps sending /docs/* here, so every old link redirects the moment this build is live. Done in the Worker, not in _redirects: a /docs/* rule there would also match the new /docs/hyperformula/*. - Hard-coded addresses in the docs (logo link, support links, the coding agent snippets, one release-notes link) and in the README, DEV_DOCS, package.json homepage and GitHub templates point at the new home. - site.webmanifest: icon paths relative to the manifest; the absolute /favicon/ paths already 404ed under the docs base. - docs/.vuepress/public/robots.txt removed: under the docs base it was never at a site root, so no crawler read it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nine function descriptions in the catalogue link API pages by absolute URL on hyperformula.handsontable.com/docs/. They are library strings, also returned by getFunctionDetails, so they change with a release; on the generated built-in functions page they become relative links now, so the page points at the docs wherever they are served and opens them as in-site navigation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From the review of #1810: - worker/index.js reads the base and the host from docs/.vuepress/build.config.js instead of typing them again, and script/prepare-cf-assets.js stops a Cloudflare build whose base differs from that file (a DOCS_BASE override), whose output is not under it, or whose _headers or _redirects do not name it. A base changed in one place then fails the build instead of redirecting every docs page. - Every page carries <link rel="canonical"> to its address on handsontable.com (VuePress frontmatter.canonicalUrl, rendered by templates/ssr.html). A copy reachable under another host (a workers.dev preview, or hyperformula.handsontable.com/docs/hyperformula/* until the handsontable.com Worker answers that host) is not indexed in its place. - The built-in functions page computes its relative prefix from where the page is written, not a hard-coded '../'. - docs/README.md: the local dev URL, the docs:build output directory and the llms-full.txt path name the new base; the md-companions JSDoc too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The coding-agent setup page still gave /docs/guide/basic-usage.md as the example of a page's Markdown address. Under the new base that path belongs to the Handsontable docs and answers 404; the example is /docs/hyperformula/guide/basic-usage.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… and real rules Follow-ups from a review of the previous commit: - The base in build.config.js must start and end with "/": worker/index.js uses it as written (config.js normalises it, so VuePress alone would not catch a missing slash). - A DOCS_HOSTNAME override that differs from build.config.js fails the build: the canonical links and the sitemap would name one host while the Worker redirects to another. - _headers and _redirects must name the base in a rule, not just in a comment, so a stale rule under an updated comment no longer passes. - The generator's comment names the suite that pins the library strings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This release may go live before the new handsontable.com, which replaces the current site on 2026-10-15. Two kinds of link pointed at pages only the new site has, and would have answered 404 in between: - The logo on the docs home page and in the README linked handsontable.com/hyperformula/. They link the HyperFormula landing page's own host instead: today it is the landing page itself, and once handsontable.com takes the host over, a 301 to /hyperformula/. - The "support options" links on the Contact and Quality pages linked handsontable.com/support/. Without the trailing slash, the current site answers it with its contact page and the new one with /support/. Switch them to the new addresses in a later release, once both sites have changed over. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The corpus listed every page by its extensionless URL. The Worker treats a last path segment containing a dot as a file name and never looks up its .html file, so pages such as guide/migration-from-2.x-to-3.0 and the api/classes/cellcontent.* pages answered 404 at the listed URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0137eVKg5r4aRcgL5MKhqKx7
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
hyperformula-docs | 8d0ecf7 | Commit Preview URL Branch Preview URL |
Oct 15 2026, 08:08 AM |
2 of 13 tasks
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1822 +/- ##
========================================
Coverage 97.28% 97.28%
========================================
Files 207 207
Lines 16218 16218
Branches 3588 3588
========================================
Hits 15777 15777
Misses 433 433
Partials 8 8 🚀 New features to boost your workflow:
|
Performance comparison of head (888bea0) vs base (05c1a29) |
2 of 13 tasks
sequba
added a commit
that referenced
this pull request
Oct 15, 2026
> ### Status (2026-10-15) > - **Code change: done.** One commit (`fa035e0`). > - **Also needed:** two manual steps in the repository settings, outside the code. See "To finish this PR" below. ### Context The documentation is served by the `hyperformula-docs` Cloudflare Worker at `https://handsontable.com/docs/hyperformula/`. Cloudflare Workers Builds deploys it from `master` (see `docs/README.md`, "Deployment"). The move to that address shipped in #1821 (`master`) and #1822 (`develop`). The old **Publish** workflow (`.github/workflows/publish.yml`, job `publish-docs`) still ran on every push to `master`: - it built the docs with `npm run docs:build`; - it pushed `docs/.vuepress/dist` to the `gh-pages` branch with `peaceiris/actions-gh-pages` and the CNAME `hyperformula.handsontable.com`. That copy is no longer used, so GitHub Pages is being dropped. The job last ran on `187dfa1` (the #1821 merge) and published the new `/docs/hyperformula/` layout to `gh-pages`. ### What changes - **`.github/workflows/publish.yml` removed.** It held only the `publish-docs` job. This also drops the workflow's `contents: write` and `pages: write` permissions and the `peaceiris/actions-gh-pages` action. - **`.github/workflows/build-docs.yml`:** the job id changes from `publish-docs` to `build-docs`, to match its `name:`. The job publishes nothing. The status check name comes from `name:`, so it stays `build-docs (22, ubuntu-latest)`, and branch protection rules that require it are unaffected. - **Release checklist** (`script/release/release.sh` and its copy in `script/release/release-README.md`): the manual step "Check that the docs workflow deployed the documentation to gh-pages" becomes a check that Workers Builds deployed the docs from `master` to `https://handsontable.com/docs/hyperformula/`. The `build-docs` workflow is unchanged. It still builds the docs on every PR and on `master`, `develop` and `release/**`. ### To finish this PR 1. **Review and merge into `develop`.** CI should be green; the change touches no library code. 2. **Turn off GitHub Pages:** in the repository settings, under **Settings > Pages**, set **Source** to none / unpublish the site. This needs repository admin rights. - Before you do it, check that nothing still needs the Pages site. - `hyperformula.handsontable.com/docs/*` is served by the `hyperformula-website` Worker and the docs Worker, not by GitHub Pages. - Confirm in **Settings > Pages** which custom domain, if any, Pages still has, and that DNS for it doesn't point at GitHub Pages. 3. **Delete the `gh-pages` branch** once Pages is off (`git push origin --delete gh-pages`). It is only build output, and keeping it invites confusion. 4. **When this reaches `master`** (the next release, or merged as part of a hotfix), the Publish workflow stops running there. Until then, every push to `master` still publishes to `gh-pages`. That is harmless once Pages is off. ### How did you test your changes? - `grep -rniE "gh-pages|actions-gh-pages|publish-docs|publish\.yml"` over the repository, excluding `node_modules`, finds nothing after the change. - `bash -n script/release/release.sh` passes. - Not run: the release script itself. The change only edits text in its final checklist heredoc. ### Types of changes - [ ] Breaking change (a fix or a feature because of which an existing functionality doesn't work as expected anymore) - [ ] New feature or improvement (a non-breaking change that adds functionality) - [ ] Bug fix (a non-breaking change that fixes an issue) - [ ] Additional language file, or a change to an existing language file (translations) - [x] Change to the documentation ### Related issues: 1. #1810: the docs move to handsontable.com, released through #1821 and #1822. It listed this workflow as a leftover. ### Checklist: - [x] I have reviewed the guidelines about [Contributing to HyperFormula](https://handsontable.com/docs/hyperformula/guide/contributing.html) and I confirm that my code follows the code style of this project. - [ ] I have signed the [Contributor License Agreement](https://goo.gl/forms/yuutGuN0RjsikVpM2). - [ ] My change is compliant with the [OpenDocument](https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part4-formula/OpenDocument-v1.3-os-part4-formula.html) standard. - [ ] My change is compatible with Microsoft Excel. - [ ] My change is compatible with Google Sheets. - [ ] I described my changes in the [CHANGELOG.md](https://github.com/handsontable/hyperformula/blob/master/CHANGELOG.md) file. (Not needed: CI and release tooling only.) - [ ] My changes require a documentation update. - [ ] My changes require a migration guide. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0137eVKg5r4aRcgL5MKhqKx7 --- _Generated by [Claude Code](https://claude.ai/code/session_0137eVKg5r4aRcgL5MKhqKx7)_ Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.