From 18db0747d67dd275428d393df57bd708e9ffa371 Mon Sep 17 00:00:00 2001 From: Travis Fischer Date: Fri, 25 Mar 2022 20:07:42 -0400 Subject: [PATCH] docs: add contributing guide --- contributing.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 4 +++ 2 files changed, 87 insertions(+) create mode 100644 contributing.md diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000000..15b3e9c967 --- /dev/null +++ b/contributing.md @@ -0,0 +1,83 @@ +# Contributing + +Suggestions and pull requests are highly encouraged. Have a look at the [open issues](https://github.com/NotionX/react-notion-x/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+sort%3Areactions-%2B1-desc), especially [the easy ones](https://github.com/NotionX/react-notion-x/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22+sort%3Areactions-%2B1-desc). + +## Development + +To develop the project locally, you'll need a recent version of Node.js and `yarn` v1 installed globally. + +To get started, clone the repo and run `yarn` from the root directory: + +```bash +git clone https://github.com/transitive-bullshit/nextjs-notion-starter-kit +cd nextjs-notion-starter-kit +yarn +``` + +Now that your dependencies are installed, you can run the local Next.js dev server: + +```bash +yarn dev +``` + +You should now be able to open `http://localhost:3000` to view the webapp. + +## Production + +To build for production, you can run: + +```bash +yarn build +``` + +Which just runs `next build` under the hood. + +### Local-linked react-notion-x + +If you are making changes to `react-notion-x` and want to test them out with `nextjs-notion-starter-kit`, you'll first need to [set up and build `react-notion-x` locally](https://github.com/NotionX/react-notion-x/blob/master/contributing.md). + +Once you have `react-notion-x` set up locally, run `yarn link` from each `react-notion-x` package: + +```bash +# from react-notion-x clone +cd packages/react-notion-x +yarn link +cd ../packages/notion-utils +yarn link +cd ../packages/notion-types +yarn link +cd ../packages/notion-client +yarn link +``` + +Now you can link these local deps into `nextjs-notion-starter-kit`: + +```bash +# from nextjs-notion-starter-kit +yarn deps:link +``` + +The last step is to make sure that the Next.js project and these local dependencies are all pointing to the same versions of `react` and `react-dom`. + +```bash +# from nextjs-notion-starter-kit +cd node_modules/react +yarn link +cd ../react-dom +yarn link +``` + +```bash +# from react-notion-x clone +yarn link react react-dom +``` + +Now, you can run `yarn dev` to keep `react-notion-x` up-to-date in one tab and in another tab, you can run `yarn dev` to keep `nextjs-notion-starter-kit` up-to-date. + +### Gotchas + +Whenever you make a change to one of the `react-notion-x` packages, it will automatically be recompiled into its respective `build` folder, and the `yarn dev` from `nextjs-notion-starter-kit` should hot-reload it in the browser. + +Sometimes, this process gets a little out of whack, and if you're not sure what's going on, I usually just quit one or both of the `yarn dev` commands and restart them. + +If you're seeing something unexpected while debugging with Next.js, try running `rm -rf .next` to refresh the Next.js cache before running `yarn dev` again. diff --git a/readme.md b/readme.md index a4af59de10..33a9ffd80d 100644 --- a/readme.md +++ b/readme.md @@ -131,6 +131,10 @@ To enable analytics, just add a `NEXT_PUBLIC_FATHOM_ID` environment variable, wh Note that this feature is completely optional. +## Contributing + +If you want to contribute to the project, see the [contribution guide](contributing.md) and join our amazing list of [contributors](https://github.com/transitive-bullshit/nextjs-notion-starter-kit/graphs/contributors)! + ## License MIT © [Travis Fischer](https://transitivebullsh.it)