- Project set up
- Contribute to documentation
- Style and configuration guide
- Primary maintainers
- License
Welcome to the official IPFS documentation. The Interplanetary File System (IPFS) is a distributed, peer-to-peer network for storing and accessing files, websites, applications, and data. Protocol Labs is the primary maintainer of the IPFS documentation and will review all issues and pull requests created in this repository.
If you'd just like to read the IPFS documentation, we recommend the website version.
To build the site locally, follow the steps below.
-
Clone this repository:
git clone https://github.com/ipfs/ipfs-docs.git
-
Move into the
ipfs-docs
folder and install the NPM dependencies:cd ipfs-docs npm install
-
Boot up the application in dev mode:
npm start
-
Open localhost:8080 in your browser.
-
Close the local server with
CTRL
+c
. -
To restart the local server, run
npm start
from within theipfs-docs
folder.
If you're having trouble setting up the site locally, check this section for solutions to common issues.
The following error message may display when using Node.js version 18.0.0 when attempting to deploy this project for the first time:
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
To solve this error, perform the following steps:
-
Open a terminal.
-
Navigate into the
ipfs-docs
folder:cd ipfs-docs
-
Run the following command:
export NODE_OPTIONS=--openssl-legacy-provider
-
Run
npm start
.npm start
You can return to the Project set-up section above and continue with the steps. You can also check this issue in the Webpack GitHub repository for more information about this error.
We would love ❤️ your help to improve existing items or make new ones even better! We also have bounties available!
If you find something wrong within this repository, please raise an issue here →. Unless the issue is urgent, updates will be batch-merged into main
on Tuesdays or Thursdays.
You can earn the undying love of the IPFS community, and get rewarded by closing an issue containing the bounty
tag. Submissions must be production-ready and meet all the specifications listed on the issue page. To get started, check out the current list of open bounties →.
If you are attempting to close an issue, great! Thanks for the help! Please leave a comment within the issue requesting to be assigned to that issue before submitting a pull request. This minimizes the chance of multiple contributors duplicating work by submitting pull requests for the same issue. If you submit a pull request to an issue without first being assigned to it, your pull request may not be accepted.
Everyone has an opinion when it comes to documentation, and that's a good thing! Having folks from different backgrounds add to a discussion empowers everyone within that discussion, so if you've got something to add or would like to bring up a topic for discussion about the documentation, please do so! Create an issue using the kind/question
tag.
Feel free to submit pull requests with any changes you'd like to see. If you're simply changing a typo or editing a styling bug, you can add ciskip
to the title of your pull request to stop Filecorgi from running. Once merged, the website is updated automatically within 5-10 minutes.
A writing style and template guide is in the process of being written that contributors can use as a guideline.
The IPFS documentation site uses the VuePress static website generator to convert the Markdown guides into a documentation website. All the documentation is written in Markdown; follow the VuePress Markdown documentation for information on how to write markdown files for VuePress.
When opening a pull request, CI scripts will run against your feature branch to test your changes.
The CI/CD production workflow builds on the main
branch and deploys the documentation site on fleek. The site reflects the latest commit on main
.
Please stay tuned on the steps to translate the documentation.
- @TMoMoreau: Primary contact, technical writing(engineering)
- @johnnymatthews: Project leadership & organization
- @cwaring: Development support
- @2color: Developer relations & technical writing(ecosystem)
- @DannyS03: Technical writing(engineering)
- @jennijuju: Management and supervision
All software code is copyright (c) Protocol Labs, Inc. under the MIT license. Other written documentation and content are copyright (c) Protocol Labs, Inc. under the Creative Commons Attribution-Share-Alike License.