- 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
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).
|
|
- Address the reader as 您. This site speaks to buyers and decision-makers, not
|
|
to engineers.
|
|
|
|
## 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.
|