Skip to content

Hotfix/move docs to handsontable com (merge to develop) - #1822

Merged
sequba merged 10 commits into
developfrom
hotfix/move-docs-to-handsontable-com
Oct 15, 2026
Merged

sequba merged 10 commits into
developfrom
hotfix/move-docs-to-handsontable-com

Conversation

@sequba

@sequba sequba commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

No description provided.

sequba and others added 10 commits August 10, 2026 18:09
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
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@codecov

codecov Bot commented Oct 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.28%. Comparing base (05c1a29) to head (8d0ecf7).

Additional details and impacted files

Impacted file tree graph

@@           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:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sequba
sequba merged commit f2c266c into develop Oct 15, 2026
33 checks passed
@sequba
sequba deleted the hotfix/move-docs-to-handsontable-com branch October 15, 2026 08:12
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Performance comparison of head (888bea0) vs base (05c1a29)

                                     testName |    base |    head |  change
---------------------------------------------------------------------------
                                      Sheet A |  406.22 |  394.44 |  -2.90%
                                      Sheet B |  136.46 |  129.14 |  -5.36%
                                      Sheet T |  117.89 |  112.01 |  -4.99%
                                Column ranges |  430.74 |  410.28 |  -4.75%
                                Sorted lookup | 13318.5 | 12157.7 |  -8.72%
Sheet A:  change value, add/remove row/column |   15.56 |   14.78 |  -5.01%
 Sheet B: change value, add/remove row/column |  133.16 |  117.49 | -11.77%
                   Column ranges - add column |  140.07 |  128.45 |  -8.30%
                Column ranges - without batch |  404.08 |   402.2 |  -0.47%
                        Column ranges - batch |  101.84 |  102.91 |  +1.05%

@sequba sequba mentioned this pull request Oct 15, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants