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.
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.jsonsets the top navigation. Itstextvalues are i18n keys resolved throughi18n.json, so theen-gbandzh-hanscopies stay identical. Add new keys toi18n.jsonfor both locales — a key present for only one locale fails the build._meta.jsonsets 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
- Ensure the site builds:
pnpm build:comandpnpm build:cn - Type-check:
pnpm typecheck - Lint and format:
pnpm lintandpnpm format - If adding a new page, include both
en-gbandzh-hansversions.