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

89 lines
3.0 KiB
Markdown

# 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](./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](./THIRD_PARTY_NOTICES.md).
---
The rest of this document is for people working on the site internally.
## Development Setup
This project uses [Rspress](https://rspress.rs) as the static site framework and
pnpm as the package manager.
```bash
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.