blog / CONTRIBUTING.md
sandy-try's picture
Upload 699 files
1b72d7e verified
# 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