apache / apache/fluss

[docs] Website build fails on Windows: version-replace plugin doesn't substitute placeholders

Open Beginner friendly
#3,516 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.1k
Forks
625
Avg merge
3d 14h
Merged PRs (30d)
97

Description

### Search before asking

- [x] I searched in the issues and found nothing similar.

### Description

On Windows, building the documentation website (`npm run build` in `website/`) fails the broken-links check. The `remark-version-replace` plugin does not substitute the `$FLUSS_VERSION$` / `$FLUSS_MAVEN_REPO_URL$` placeholders, so the Maven-JAR links in `iceberg.md`, `lance.md` and `paimon.md` resolve to a literal `$FLUSS_MAVEN_REPO_URL$/...` and Docusaurus reports ~24 broken links (`onBrokenLinks: 'throw'`), failing the build.

**Root cause:** `getDocsVersionName()` in `website/src/plugins/remark-version-replace/index.js` splits the file path on `'/'` only:

```js
const parts = pathname.split('/');
const websiteIndex = parts.lastIndexOf('website');
```

On Windows `vfile.path` uses backslash separators (e.g. `C:\...\website\docs\engine-flink\reads.md`), so `split('/')` yields a single-element array, `lastIndexOf('website')` returns `-1`, the function returns `''`, and no replacements are applied.

### Steps to reproduce

On Windows, in `website/`:

```
npm run clear && npm run build
```

→ build fails with ~24 broken links pointing to `$FLUSS_MAVEN_REPO_URL$/...`.

### Willingness to contribute

- [x] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with website/src/plugins/remark-version-replace/index.js and inspect getDocsVersionName(), then reproduce the issue from website/ with npm run clear && npm run build on Windows. Verify that placeholders in iceberg.md, lance.md, and paimon.md are replaced and the broken-links check completes without the reported failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system, documentation
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
84/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.