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
Everyone can help by translating 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.
Periodically, a maintainer of this repo will need to synchronize translations to ensure everything is up to date.
NOTE: The steps below are for admins and can be ignored if you're a translator; all translation work happens in Transifex only.
To download updates of all locales:
$ tx pull -a
Then check if any language is missing in the file intl/config, if so, add a line for missing one.
For 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' }
]
}
Then, to download updates of specific locale:
$ tx pull -l pt
Finally, commit changes to ./src/i18n.js
and public/locales/
.
Note: Newly added language(s) 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