37 Commits
Author SHA1 Message Date
zihluwang 7a63074a65 chore: remove blog, open-source and news sections
- Delete the blogs, opensource-projects and notifications trees
- Drop their nav entries and i18n keys
- Point the nav at the new open-source site instead
- Drop the opensource-projects sitemap priority
2026-09-29 12:21:53 +08:00
zihluwang e149401346 feat(theme): add a capabilities section band
- Replace the techStack band with project-type capabilities
- Delete the TechStack component and its section type
- Give grid cards an optional status badge
- Pad --big buttons, which Rspress ships with none
- Revise the home, services and products copy
2026-09-29 12:21:25 +08:00
zihluwang f51407b98b fix(theme): restore article styles on doc pages
Overriding DocContent took the upstream module out of the bundle, and
with it the `doc.css` it imports as a side effect. Every page rendering
through DocLayout lost its article typography, table scroll container
and heading anchors — while the rest of the theme stayed intact, which
is why only some styles went missing.

The sole reference to the upstream component was a `typeof`, erased at
compile time, so the bundler saw a module it could drop.

- Delegate to the upstream component when a page has no hoisted bands,
  which keeps that module and its stylesheet in the dependency graph.
- Move the hoisting variant into its own component, so useScrollAfterNav
  is not called after a conditional return. DocContent survives
  client-side navigation, so its hook count has to stay constant.
2026-09-25 22:10:15 +08:00
zihluwang 9d095eba1b feat(theme): add top placement for sections
- Add `placement: top|bottom` to the section frontmatter
- Override `DocContent` to render hoisted bands under the page title
- Derive the zebra stripe from list position so split bands stay continuous
- Opt marketing bands out of doc typography with `rp-not-doc`
- Point the legal and privacy contact address at legal@onixbyte.com
- Condense the products pages' body copy into their section frontmatter
2026-09-25 18:04:49 +08:00
zihluwang d21b8f6b2f chore: drop the open licence and stop taking pull requests
The site exists to be read, not reused. It is no longer licensed for
anything, and external contributions have moved to issues only.

- Replace the MIT + CC-BY-4.0 dual licence with an all-rights-reserved
  notice. No permission is granted to copy, modify or distribute any part
  of the repository; reading and linking stay free.
- Carve out third-party components explicitly. Rspress, React, Rsbuild and
  Tailwind CSS keep their own licences, and an all-rights-reserved notice
  that did not say so would be wrong.
- Rewrite CONTRIBUTING around issues rather than pull requests, and say
  plainly that PRs will be closed without review.
- Mark the package UNLICENSED, the npm convention for proprietary code.

Note: this makes the repository source-available, not open source — a
licence that forbids all reuse cannot meet the OSI definition. The README
no longer calls it open source.

Closing PRs for real also needs the "Pull requests" feature switched off
in the repository's GitHub settings; that is not something this commit can
do.
2026-09-25 15:38:08 +08:00
zihluwang 164c319ac1 feat(i18n): default the cn build to Chinese
The .cn site exists for Chinese readers, so the unprefixed routes should
serve Chinese there. Rspress omits the prefix for the default locale, so
this also moves the routes:

              .com                      .cn
  English     /                         /en-gb/
  Chinese     /zh-hans/                 /

- Make the default locale a per-target value rather than a constant, and
  move the localePrefix helper inside createConfig so a prefix can no
  longer be hardcoded elsewhere.
- Build the sitemap priority map from localePrefix. The keys are full
  route paths, so the previous hardcoded "/zh-hans/..." entries would
  have silently stopped matching on .cn.
- Widen the nav Home activeMatch to cover either prefixed home, since the
  two targets put a different locale behind the prefix.

Note: README.md also carries the licence wording changed in the next
commit — a single file's hunks cannot be split non-interactively.
2026-09-25 15:38:03 +08:00
zihluwang 861852961f style: format the repository with prettier
These files were already out of step with the project's Prettier config
before this branch of work; running `pnpm format` finally swept them up.
No semantic changes.

Kept separate from the functional commits so the reformatting does not
bury them in diff noise.
2026-09-25 15:37:59 +08:00
zihluwang 6800f7251d docs(blogs): drop dead scws download links
Both URLs in the tip were dead. The GitHub one referenced an account that
does not exist, and the Gitea one is retired.

Point at the upstream SCWS project instead, and stop promising a
pre-built Windows binary — upstream publishes source only, and the 1.2.3
the dead link referenced was OnixByte's own build.
2026-09-25 14:49:03 +08:00
zihluwang c516341fae feat(content): add products, services and legal pages
- Add /products/, covering the one product actually in service. It is
  written to match reality rather than padded out to look like a matrix.
- Add /services/, describing the work taken on and, deliberately, the
  work that is not a good fit.
- Add the privacy policy and terms, linked from the footer. Both describe
  what the site actually does — no cookies, no analytics — and carry
  TODO notes for the parts needing legal review.
2026-09-25 14:48:59 +08:00
zihluwang 28f07677f3 feat(homepage): rebuild the homepage around the business
The old hero described a small open-source collective crafting tools for
developers, which no longer matches what the company sells.

- Replace the tagline with a value proposition and point the hero actions
  at Services and Products instead of the GitHub organisation.
- Add four content bands: why us, the technology we use, selected work
  and a contact band with an email address and WeChat QR.
- Point the feature cards at GitHub, and fix a dead link in the process:
  delta-force-guide is now ahsarah-guide.
2026-09-25 14:48:55 +08:00
zihluwang 792246dc12 feat(nav): restructure top navigation and sidebars
The old nav used bare lowercase slugs and leaned on filesystem order for
every sidebar.

- Replace the three existing nav entries with six labelled ones, keyed
  through i18n.json so both locales resolve to their own text from
  identical _nav.json files.
- Add _meta.json for blogs and opensource-projects, grouping entries by
  topic instead of leaving them alphabetical.
- Rename the Blogs and Notifications pages so their titles match the nav
  labels (Insights and News).
- Point the notification page's account-settings link at GitHub, as the
  Gitea instance it referenced is retired.
2026-09-25 14:48:52 +08:00
zihluwang 3f78e45899 feat(seo): add sitemap, canonical metadata and legacy redirects
- Split the config into a createConfig(target) factory plus a thin .cn
  wrapper, so the two deployments differ in one place. The .cn build
  points canonical, hreflang, og:url, sitemap and robots at that origin,
  and omits social links that are not reachable from mainland China.
- Generate sitemap.xml and robots.txt per target. robots.txt is written
  at build time because one static file cannot carry the right origin for
  both domains.
- Emit per-page canonical, hreflang and Open Graph tags. og:title and
  friends are left to the theme, which already emits them and does not
  de-duplicate against site-level head entries.
- Redirect the retired /projects/ paths on Vercel, before the CN redirect
  so those visitors get a single hop.
2026-09-25 14:48:49 +08:00
zihluwang 638c71da44 feat(theme): add site footer and marketing sections
- Add SiteFooter, rendered through the Layout bottom slot so it appears on
  every page type. themeConfig.footer is deliberately left unset: setting
  it would render the built-in HomeFooter as well, on the home page only.
- Add a frontmatter-driven section system (advantages, contentGrid,
  techStack, cases and cta) with a single ordered array, so bands can be
  reordered or removed without touching code.
- Bands render only when they have content, so an unfilled page degrades
  to its heading rather than showing empty boxes.
- Add a SHOW_COPY_PLACEHOLDERS flag for drafting, false by default.
2026-09-25 14:48:42 +08:00
zihluwang b2eb6b9638 refactor: rename projects to opensource-projects
Frees /products/ for the product page and makes the open-source archive
explicit, rather than leaving two sections that both look like "projects".

- Move the directory in both locales and update the 18 internal links
  pointing into it.
- Rework helix for the GitHub layout: server/ and web/ are directories in
  a single repository there, not the two separate repositories Gitea had.
  The "fork both repositories" step and the section wording follow.
- Correct helix's stated Java version to 21, which is what the build
  actually targets.
2026-09-25 14:48:38 +08:00
zihluwang 29f7411da5 chore: pin toolchain and add type checking
- Pin TypeScript as a direct dependency. It was only present transitively
  via typescript-eslint, so nothing enforced tsconfig.json and nine
  latent type errors had gone unnoticed.
- Add `pnpm typecheck` (`tsc --noEmit`) and document it.
- Add .npmrc with engine-strict, so the declared Node and pnpm ranges
  are actually enforced.
- Ignore doc_build/ in ESLint. It was unignored and reported 1650 errors
  from build output, which made lint unusable as a gate.
- Refresh README, CLAUDE.md, AGENTS.md and CONTRIBUTING.md to match the
  current structure, build targets and navigation rules.
2026-09-25 14:48:25 +08:00
zihluwang 38b94ba964 chore: remove ci configuration
Both pipelines are unused — GitLab CI is no longer in use, and the Gitea
workflow was never enabled. Deployment is currently run by hand, so no
replacement automation is added here.
2026-09-25 14:48:21 +08:00
zihluwang 7f6f3d7a00 docs(blogs): add git usage cheatsheet
- Cover git update-index --skip-worktree for ignoring local
  changes to tracked files
- Include stashing, amending, undo, reflog, bisect, log, clean
  and cherry-pick tips
- Add matching zh-hans and en-gb versions
2026-08-20 15:09:25 +08:00
zihluwang 25a50486cb docs(blogs): add Jackson JSON flattening guide
- Add @JsonUnwrapped and @JsonAnyGetter usage examples with code
- Include comparison table for choosing between annotations
- Sync content across zh-hans and en-gb versions
2026-07-30 09:39:59 +08:00
zihluwang 56429e0449 refactor: remove github pages index 2026-07-30 09:30:26 +08:00
zihluwang e1d9349f67 ci: delete unused github action configuration file 2026-05-27 00:50:02 +08:00
zihluwang a33a357187 Create deploy-page.yml 2026-05-26 19:11:38 +08:00
zihluwang d0a31f777d ci: github actions trigger 2026-05-26 19:00:33 +08:00
zihluwang 742afb456d ci: add github actions to deploy pages to github pages 2026-05-26 18:52:17 +08:00
zihluwang b051d8c235 docs: optimise docs 2026-05-23 15:07:43 +08:00
zihluwang 601625f09b docs: add project index pages with categorized listings 2026-05-23 09:37:33 +08:00
zihluwang 18f8792733 docs: add vite-plugins index and port-checker, update regions4j titles 2026-05-23 09:34:18 +08:00
zihluwang 37e5727179 docs: add regions4j documentation
Add English and Chinese docs for regions4j, a Java library providing
ISO 3166-1 regional metadata with Calendar Versioning.
2026-05-23 09:26:06 +08:00
zihluwang 5b7c24fb0d docs: add onixbyte-toolbox documentation
Add English and Chinese docs for the OnixByte Toolbox monorepo covering
all six modules: common-toolbox, crypto-toolbox, math-toolbox, tuple,
identity-generator, and version-catalogue.
2026-05-23 09:21:37 +08:00
zihluwang 7f91c2bc23 chore: clean up unused Tabs imports and Gradle Groovy tab 2026-05-23 09:10:24 +08:00
zihluwang 55479f2fca docs: add helix enterprise application template introduction
Add English and Chinese documentation for Helix, a full-stack enterprise
application template with Spring Boot backend and React frontend.
2026-05-23 09:09:15 +08:00
zihluwang ac8a2e90d8 docs: add delta-force-guide project documentation
Add English and Chinese docs for the Delta Force Guide full-stack app
(Spring Boot backend + React frontend) with architecture, API reference,
and live site link.
2026-05-23 08:57:35 +08:00
zihluwang 6449bc0e87 docs: add captcha project documentation
Add English and Chinese documentation for onixbyte/captcha library,
including overview (index.mdx) and full API reference (api.md).
2026-05-23 08:48:42 +08:00
zihluwang ad6a11b1b4 docs: add docs for calendar toolbox 2026-05-23 08:42:52 +08:00
zihluwang 453f20c902 refactor: re-organise file structure 2026-05-23 07:55:18 +08:00
zihluwang dbdf8f7a96 fix: add missing i18n translation keys for theme UI strings
Add comprehensive bilingual translations for theme UI elements including
search, navigation, code blocks, prompts, and blog/notifications labels.
2026-05-21 00:50:25 +08:00
zihluwang e592b94a14 feat: redesign homepage for OnixByte open-source collective
Replace Rspress documentation template with an organization homepage
featuring OnixByte's key projects: Toolbox, Dev Lab, Helix, and Delta
Force Guide. Bilingual content for en-gb and zh-hans.
2026-05-21 00:48:15 +08:00
zihluwang dd4bf15ff9 fix: fix index page picture not found 2026-05-20 19:41:29 +08:00