Suggestions and pull requests are highly encouraged. Have a look at the open issues, especially the easy ones.
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:
git clone https://github.com/powerium/powerium.io
cd powerium.io
yarn
Now that your dependencies are installed, you can run the local Next.js dev server:
yarn dev
You should now be able to open http://localhost:3000
to view the webapp.
To build for production, you can run:
yarn build
Which just runs next build
under the hood.
If you are making changes to react-notion-x
and want to test them out with
powerium.io
, you'll first need to
set up and build react-notion-x
locally.
Once you have react-notion-x
set up locally, run yarn link
from each
react-notion-x
package:
# 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 powerium.io
:
# 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
.
# from react-notion-x clone
cd node_modules/react
yarn link
cd ../react-dom
yarn link
# from nextjs-notion-starter-kit
yarn link react react-dom
With this setup, in one tab, you can run yarn dev
to keep react-notion-x
up-to-date, and in another tab, you can run yarn dev
to keep powerium.io
up-to-date.
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 powerium.io
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.