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.
89 lines
3.0 KiB
Markdown
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.
|