The documentation and marketing site for Tableau — a configuration converter that turns Excel / CSV / XML / YAML into JSON / Text / Bin.
- Node.js ≥ 24 (download)
- macOS:
brew install node
- macOS:
- Hugo is installed automatically by
npm install(pinned viaotherDependencies.hugoinpackage.json). No global Hugo needed.
npm install # also installs Hugo into node_modules/.bin/hugo
npm run start # dev server on http://localhost:1313 with live reload
npm run build # production build into ./public
npm run lint # all linters (scripts + styles + markdown)CI runs npm run lint:markdown and npm run build on every push to master. Run npm run lint locally before opening a PR.
Content lives under content/<lang>/<section>/, with parallel en/ and zh/ trees:
| Section | Path | Notes |
|---|---|---|
| Docs | content/<lang>/docs/ |
Sidebar-driven, Doks-style docs. |
| Blog | content/<lang>/blog/ |
Card list at /blog/. |
| Release | content/<lang>/release/ |
Card list at /release/. Add iframe: "/release/<file>.html" in front-matter to embed a standalone HTML report from static/release/. |
Front-matter follows the Doks convention (title, description, lead, date, weight, toc, …). For releases, weight controls sidebar order — newer releases use higher numeric weights so they sort above older ones.
Pushing to master triggers .github/workflows/deploy-github.yml, which lints, builds, and publishes ./public to GitHub Pages via peaceiris/actions-gh-pages. CI pins Node 24.
config/_default/ # site config, menus, params, languages
content/{en,zh}/ # multilingual content
layouts/ # template overrides on top of @hyas/doks
assets/scss/ # styles (entry: app.scss)
assets/js/ # scripts (entry: index.js)
static/ # files served as-is at the URL root
.github/workflows/ # CI: lint + build + GitHub Pages deploy