|
# Contributing |
|
|
|
- [Setup](#setup) |
|
- [Creating new themes](#creating-new-themes) |
|
- [Adding localizations](#adding-localizations) |
|
|
|
Thanks for considering to contribute! |
|
|
|
## Setup |
|
|
|
To contribute to NotionNext, follow these steps: |
|
|
|
1. [Fork][fork] the repository to your GitHub account. |
|
2. Clone the repository to your device (or use something like Codespaces). |
|
3. Create a new branch in the repository. |
|
4. Make your modifications. |
|
5. Commit your modifications and push the branch. |
|
6. [Create a PR][pr] from the branch in your fork to NotionNext' `main` branch. |
|
|
|
This project is built with [Next.js][next.js] and `yarn` as the package manager. |
|
Here are some commands that you can use: |
|
|
|
- `yarn`: install dependencies |
|
- `yarn dev`: compile and hot-reload for development |
|
- `yarn build`: compile and minify for production |
|
- `yarn start`: serve the compiled build in production mode |
|
|
|
## Creating new themes |
|
|
|
If you want to submit your custom theme to NotionNext, copy a new folder in |
|
[`themes`][themes-dir] from [`example`][example]. The folder name will be the |
|
theme's key. |
|
|
|
## Adding localizations |
|
|
|
If your language is not yet supported by NotionNext, please contribute a |
|
localization! Follow these steps to add a new localization: |
|
|
|
1. Copy one of the [en-US.js][en-US.js] in [lang-dir][lang-dir] and rename the new |
|
directory into your language's code ( e.g. `zh-CN.js`). |
|
2. Start translating the strings. |
|
3. Add your language config to [lang.js][lang.js]. |
|
4. [Create a PR][pr] with your localization updates. |
|
|
|
[fork]: https://github.com/tangly1024/NotionNext/fork |
|
[pr]: https://github.com/tangly1024/NotionNext/compare |
|
[next.js]: https://github.com/vercel/next.js |
|
[themes-dir]: themes |
|
[example]: themes/example |
|
[lang-dir]: lib/lang |
|
[en-US.js]: lib/lang/en-US.js |
|
[lang.js]: lib/lang.js |
|
|