Files
onixbyte.com/CONTRIBUTING.md
T
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

3.0 KiB

Contributing to OnixByte Homepage

This repository holds the company website. It is published openly so that the Rspress set-up can be read and learned from, but it is not open for external contributions.

We do not accept pull requests

External pull requests are not accepted and will be closed without review. This is not a comment on the work — it is that a company website is edited by the people accountable for what it says, and merging outside changes would put content on the site that nobody here has signed off.

Issues are welcome

Please do open an issue if you spot:

  • a broken or dead link
  • something factually wrong, in either language
  • a typo, or a place where the British English or Chinese wording is off
  • an accessibility problem
  • a build or runtime bug you can reproduce

Issues are read, and genuine problems are usually fixed. If a report turns into a change, we will make that change ourselves.

Licence

Nothing in this repository is licensed for reuse. See LICENCE — copyright is retained and no permission is granted to copy, modify or distribute any part of it. Reading it and linking to it are fine.

Third-party software this project depends on keeps its own licence; see THIRD_PARTY_NOTICES.md.


The rest of this document is for people working on the site internally.

Development Setup

This project uses Rspress as the static site framework and pnpm as the package manager.

pnpm install
pnpm dev

Project Structure

docs/           # Content (Markdown/MDX), organised by locale
  en-gb/        # British English content
  zh-hans/      # Simplified Chinese content
theme/          # Custom theme overrides

Content Guidelines

  • Write content in both English (British) and Simplified Chinese. British spelling is required throughout — interface text, documentation, code comments and commit messages (customised, centre, colour, and so on).
  • Marketing pages address the reader as 您; the technical blog keeps the peer-to-peer 你.

Navigation and Sidebars

Navigation and sidebar structure live in JSON files beside the content, not in the theme:

  • _nav.json sets the top navigation. Its text values are i18n keys resolved through i18n.json, so the en-gb and zh-hans copies stay identical. Add new keys to i18n.json for both locales — a key present for only one locale fails the build.
  • _meta.json sets sidebar grouping and ordering within a directory. Supplying one replaces the generated listing for that directory, so every page you want shown must be listed — anything omitted disappears from the sidebar silently.

Do not add a _meta.json next to _nav.json at the root of a locale directory; doing so collapses the whole site into one flat sidebar.

Before Committing

  1. Ensure the site builds: pnpm build:com and pnpm build:cn
  2. Type-check: pnpm typecheck
  3. Lint and format: pnpm lint and pnpm format
  4. If adding a new page, include both en-gb and zh-hans versions.