You don't need permission to work on anything, but it's always best to let others know what you're planning to do. You can do this by:
- Commenting on an issue or PR in GitHub
- Starting a discussion
- Messaging on the Nano Discord server
Make sure you're familiar with GitHub Flow.
- Issues should be used for reporting bugs or typos.
- Discussions should be used for questions, feature/content proposals, and planning objecitves & key results.
- Smaller pull requests are preferred over a single large one.
- Pull requests are preferred to issues, especially for small changes such as typos.
- Avoid tribal knowledge. Prefer public discourse to support future contributors (and yourself) (eg. opening an issue vs. sending a DM)
- Treat missing documentation as a bug. Once you get your answer, contribute it so that it benefits others
All you need is a GitHub account to contribute. Every page is a MarkDown file, which is an easy to learn syntax.
- Write simply
- Keep content for users concise, while detailed for developers
- When possible, direct users to existing content on the official Nano documentation
- Use an impartial tone and neutral point of view. Content should be as objective as possible.
- Limit mentioning or using content that changes over time, to prevent content from going stale and needing updates
- Use the "edit page" button on the site to navigate to the document on the github repository
- Make sure to sign in or create a GitHub account
- Once logged in, start editing by clicking the "edit file" icon in the top right
- Make changes, then click "propose changes". On the next page click "Create Pull Request" to submit.
Occasionally, changes will be requested for proposed changes. Navigate to your pull request to respond with any questions or comments. To make changes, navigate to the branch you used on your fork, make changes and commit them. The pull request will then be automatically updated with those changes.
JavaScript & markdown are used to make the project as accessible as possible.
|-- api node.js api server for posts, network stats
|-- build static html react entry points generated by react-snap
|-- common shared functions
|-- data data output folder
|-- db schema for mysql
|-- docs community markdown documents
|-- resources static assets (png, svg, jpg, pdf, html)
|-- scripts data aggregation or processing
|-- server server configs
|-- src single page react & redux app (deployed to IPFS)
`-- webpack webpack configuration files
git clone git@github.com:[your_github_handle]/nano-community.git && cd nano-community
git remote add upstream https://github.com/mistakia/nano-community.git
To sync your fork with the latest changes
git checkout main
git fetch upstream
git merge upstream/main
yarn install
git checkout -b new_feature_name
Serve site using local API & DB:
yarn dev
Serve site using live API
yarn dev:live
yarn prettier
yarn lint
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.