js.ipfs.io - The js-ipfs project Website.
Welcome to the js.ipfs.io Website repo. This website uses gatsbyjs. Most of the website content is data-driven, you can check the data directory to see the sections information bundled as js
files.
- Contribute to the Website Content
- Development and Release Cycle
- License
-
- Create a Transifex account
-
- Go to https://www.transifex.com/ipfs/js-ipfs-website/, select a language, find an invalid string and propose a new translation
You can do it in 2 steps:
1. Create a PR that adds a line to the config file with a new language code
In the file intl/config, add a line for your language. Example, if you were to add Portuguese, you would only have to add the new language to the availableLocales
array:
module.exports = {
defaultLocale: 'en',
availableLocales: [
{ acronym: 'en', fullForm: 'English' },
{ acronym: 'pt', fullForm: 'Português' }
]
}
2. Translate content at Transifex
- Go to https://www.transifex.com/ipfs/js-ipfs-website and start translating.
- If your language is missing request it on Transifex or as an issue in this repo.
- To download and add translations to the PR:
$ tx pull -l <lang>
$ git add intl
$ git commit
This step can be done by you or a person reviewing the PR. Replace <lang>
with the code added to intl/config.js
When you are finished, submit it as a PR to this repo. Once it gets merged into master it will be live at dev.js.ipfs.io. It will be live at js.ipfs.io as soon as the production
branch is updated.
- Installing the Transifex Client
- Understanding
.tx/config
file - Manual sync via Transifex Client
You can add your talk to the website by creating a PR. You just need to add an object to the publicationsAndTalks
array. Example, if you were to add a new entry, you would have to add the link
to your talk and its title
:
const publicationsAndTalks = [
{
link: 'https://www.youtube.com/watch?v=WK4PIGr3RB8',
active: true,
title: 'Progress Report on the Decentralized Web, David Dias'
},
{
link: 'https://www.youtube.com/watch?v=2cmbm6iABsI',
title: 'IPFS on the Brave Browser, Alan Shaw'
}
]
Sharing your app with us is very simple! You just need to host your code on codesandbox and edit apps
array. Example, if you want to add a new app, you only have to add a new entry to the apps
array by adding its title and the corresponding codesandbox
share link:
const apps = [
{
title: 'Example 1',
link: 'https://codesandbox.io/embed/qkj8z9l8kq'
},
{
title: 'Example 2',
link: 'https://codesandbox.io/embed/vv99onw18y'
}
]
gatsbyjs v2
to build the websiteNode.js >= v10
andnpm
for build toolsTransifex Client
for localesipfs
to deploy changes
> git clone https://github.com/ipfs/js.ipfs.io
> npm install
The following commands are available:
npm run develop
- Starts a hot-reloading development environment at localhost:8000.npm run build
- Generates the static HTML and JavaScript code bundles by performing a production build.npm run lint
- Runs aegir lint.
We are currently targeting:
Browser | Versions |
---|---|
Chrome | >= 69 |
Firefox | >= 62 |
Safari | >= 11.1 |
When a branch gets merged
to master, it is deployed to dev.js.ipfs.
To deploy to js.ipfs.io the code should be merged into the production
branch.
- Build the project
> npm run build
- Init your
ipfs
daemon (if you haven't done it before)
> ipfs init
- Add the
public
folder to IPFS
> ipfs add -r public/
added <resulting-hash>
- Finally, go to the constants folder and paste the resulting hash on the
jsIpfsWebsite
property of the exported object.
Note: This process will be automated as soon as we tackle this issue.
MIT