|
1 |
| -# [js.ipfs.tech](https://js.ipfs.tech) - The js-ipfs project Website. |
2 |
| - |
3 |
| -Welcome to the js.ipfs.tech Website repo. This website uses [gatsbyjs](https://www.gatsbyjs.org/). Most of the website content is data-driven, you can check the [data](https://github.com/ipfs/js.ipfs.tech/tree/master/src/shared/data) directory to see the sections information bundled as `js` files. |
4 |
| - |
5 |
| -[](https://js.ipfs.tech) |
6 |
| - |
7 |
| -## Lead Maintainer |
8 |
| - |
9 |
| -🦗🎶 |
10 |
| - |
11 |
| -## Table of Contents |
12 |
| - |
13 |
| -- [js.ipfs.tech - The js-ipfs project Website.](#jsipfsio---the-js-ipfs-project-website) |
14 |
| - - [Lead Maintainer](#lead-maintainer) |
15 |
| - - [Table of Contents](#table-of-contents) |
16 |
| - - [Internationalization `i18n`](#internationalization-i18n) |
17 |
| - - [Incorrect translation, help us fix it!](#incorrect-translation-help-us-fix-it) |
18 |
| - - [Missing language? Help us translate!](#missing-language-help-us-translate) |
19 |
| - - [Synchronizing translations (maintainer task)](#synchronizing-translations-maintainer-task) |
20 |
| - - [Learn more on how to use Transifex](#learn-more-on-how-to-use-transifex) |
21 |
| - - [Listing a talk on the website](#listing-a-talk-on-the-website) |
22 |
| - - [Want to show what's possible to build with `js-ipfs`?](#want-to-show-whats-possible-to-build-with-js-ipfs) |
23 |
| - - [Development](#development) |
24 |
| - - [Dependencies](#dependencies) |
25 |
| - - [Install](#install) |
26 |
| - - [Usage](#usage) |
27 |
| - - [Publish](#publish) |
28 |
| - - [License](#license) |
29 |
| - |
30 |
| -## Internationalization `i18n` |
31 |
| - |
32 |
| -### Incorrect translation, help us fix it! |
33 |
| - |
34 |
| -- 1. Create a [Transifex](https://www.transifex.com/signup/?join_project=js-ipfs-website) account |
35 |
| -- 2. Go to https://www.transifex.com/ipfs/js-ipfs-website/, select a language, find an invalid string and propose a new translation |
36 |
| - |
37 |
| -### Missing language? Help us translate! |
38 |
| - |
39 |
| -Everyone can help by translating content at Transifex: |
40 |
| - |
41 |
| -- Go to https://www.transifex.com/ipfs/js-ipfs-website and start translating. |
42 |
| -- If your language is missing request it on Transifex. |
43 |
| - |
44 |
| - |
45 |
| -### Synchronizing translations (maintainer task) |
46 |
| - |
47 |
| -Periodically, a maintainer of this repo will need to synchronize translations to ensure everything is up to date. |
48 |
| -**NOTE: The steps below are for admins and can be ignored if you're a translator; all translation work happens in Transifex only.** |
49 |
| - |
50 |
| -To download updates of all locales: |
51 |
| -```console |
52 |
| -$ tx pull -a |
53 |
| -``` |
54 |
| - |
55 |
| -Then check if any language is missing in the file [intl/config](intl/config.js), if so, add a line for missing one. |
56 |
| - |
57 |
| -For example, if you were to add Portuguese, you would only have to add the new language to the `locales` array: |
58 |
| - |
59 |
| -```diff |
60 |
| -const locales = [ |
61 |
| - 'en', |
62 |
| -+ 'pt' |
63 |
| -``` |
64 |
| - |
65 |
| -Then, to download updates of specific locale: |
66 |
| -```console |
67 |
| -$ tx pull -l pt |
68 |
| -``` |
69 |
| - |
70 |
| -Finally, commit changes to `./src/i18n.js` and `public/locales/`. |
71 |
| - |
72 |
| -**Note:** Newly added language(s) will be live at [js.ipfs.tech](https://js.ipfs.tech/) as soon as the `master` branch is updated. |
73 |
| - |
74 |
| -### Learn more on how to use Transifex |
75 |
| - |
76 |
| -- [Installing the Transifex Client](https://docs.transifex.com/client/installing-the-client) |
77 |
| -- [Understanding `.tx/config` file](https://docs.transifex.com/client/client-configuration#section-tx-config) |
78 |
| -- Manual sync via Transifex Client |
79 |
| - - [Using Transifex with GitHub in Your Development Workflow](https://docs.transifex.com/integrations/github) |
80 |
| - - [Syncing a local project to Transifex with the Transifex Client](https://docs.transifex.com/integrations/github#section-using-the-client) |
81 |
| - |
82 |
| -## Listing a talk on the website |
83 |
| - |
84 |
| -You can add your talk to the website by creating a PR. You just need to add an object to the [`publicationsAndTalks`](https://github.com/ipfs/js.ipfs.tech/blob/master/src/shared/data/publications-and-talks/index.js) array. Example, if you were to add a new entry, you would have to add the `link` to your talk and its `title`: |
85 |
| - |
86 |
| -```js |
87 |
| -const publicationsAndTalks = [ |
88 |
| - { |
89 |
| - link: 'https://www.youtube.com/watch?v=WK4PIGr3RB8', |
90 |
| - active: true, |
91 |
| - title: 'Progress Report on the Decentralized Web, David Dias' |
92 |
| - }, |
93 |
| - { |
94 |
| - link: 'https://www.youtube.com/watch?v=2cmbm6iABsI', |
95 |
| - title: 'IPFS on the Brave Browser, Alan Shaw' |
96 |
| - } |
97 |
| -] |
98 |
| -``` |
99 |
| - |
100 |
| -## Want to show what's possible to build with `js-ipfs`? |
101 |
| - |
102 |
| -Sharing your app with us is very simple! You just need to host your code on [codesandbox](https://codesandbox.io/) and edit [`apps` array](https://github.com/ipfs/js.ipfs.tech/blob/master/src/shared/data/what-you-can-build/index.js). 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: |
103 |
| - |
104 |
| -```js |
105 |
| -const apps = [ |
106 |
| - { |
107 |
| - title: 'Example 1', |
108 |
| - link: 'https://codesandbox.io/embed/qkj8z9l8kq' |
109 |
| - }, |
110 |
| - { |
111 |
| - title: 'Example 2', |
112 |
| - link: 'https://codesandbox.io/embed/vv99onw18y' |
113 |
| - } |
114 |
| -] |
115 |
| -``` |
116 |
| - |
117 |
| -## Development |
118 |
| - |
119 |
| -### Dependencies |
120 |
| - |
121 |
| -- `gatsbyjs v2` to build the website |
122 |
| -- `Node.js v10` and `npm` for build tools |
123 |
| -- `Transifex Client` for locales |
124 |
| -- `ipfs` to deploy changes |
125 |
| - |
126 |
| -### Install |
127 |
| - |
128 |
| -```sh |
129 |
| -> git clone https://github.com/ipfs/js.ipfs.tech |
130 |
| -> npm ci |
131 |
| -``` |
132 |
| - |
133 |
| -### Usage |
134 |
| - |
135 |
| -The following commands are available: |
136 |
| - |
137 |
| -- `npm run develop` - Starts a hot-reloading development environment at [localhost:8000](localhost:8000). |
138 |
| -- `npm run build` - Generates the static HTML and JavaScript code bundles by performing a production build. |
139 |
| -- `npm run lint` - Runs [aegir](https://github.com/ipfs/aegir) lint. |
140 |
| - |
141 |
| - |
142 |
| -## Publish |
143 |
| - |
144 |
| -When a PR gets merged to master, it is deployed to [js.ipfs.tech](https://js.ipfs.tech/) by Fleek CI. |
145 |
| - |
146 |
| - |
147 |
| -1. Wait for Fleek CI to build the project and add it to IPFS |
148 |
| -2. Finally, go to the [constants](https://github.com/ipfs/js.ipfs.tech/tree/master/src/shared/constants) folder and paste the resulting hash on the `jsIpfsWebsite` property of the exported object. |
149 |
| - |
150 |
| -## License |
151 |
| - |
152 |
| -MIT |
| 1 | +# ⛔️ DEPRECATED: [js-ipfs](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia) |
0 commit comments