You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> You don't need the command line to run an IPFS node. Just install IPFS Desktop and have all the power of IPFS in your hands. Powered by [Web UI](https://github.com/ipfs-shipyard/ipfs-webui).
A menubar <ahref="https://ipfs.io">IPFS</a> application to get you on the Distributed Web!
23
-
</h3>
14
+
IPFS Desktop allows you to run your IFPS Node on your machine without having to bother with command line tools. With it, you the power of [Web UI](https://github.com/ipfs-shipyard/ipfs-webui) on tip of your hands plus a handful of shortcuts you can find on settings.
24
15
25
-
IPFS Desktop allows you to run your IPFS node on your machine without having to bother with command line tools. You can manage your node, add your files, easily change the settings... [everything](#features) from just one interface.
16
+
⚠ This version is experimental and can change. We're still improving it. If you find a bug, please [report it to us](https://github.com/ipfs-shipyard/ipfs-desktop/issues/new).
26
17
27
18
## Table of Contents
28
19
29
20
-[Install](#install)
30
21
-[Usage](#usage)
31
-
-[Features](#features)
32
-
-[Developer Guide](#developer-guide)
33
22
-[Contribute](#contribute)
34
23
35
-
## Install a Release
24
+
## Install
36
25
37
-
### Go to the [*latest release*](https://github.com/ipfs-shipyard/ipfs-desktop/releases/latest) page and download IPFS Desktop for your OS.
38
-
39
-
40
-
Note for **Debian** and **Ubuntu** users: starting with apt 1.1 (Ubuntu 16.04, Debian Stretch) `apt install` allows local files:
41
-
```
42
-
sudo apt install ./ipfs-desktop*.deb
43
-
```
26
+
Go to the [*latest release*](https://github.com/ipfs-shipyard/ipfs-desktop/releases/latest) page and download IPFS Desktop for your OS.
44
27
45
28
### Install from Source
46
29
47
-
If you're interested in developing IPFS Desktop, you can also install it from source...
48
-
49
-
You will need [Node.js](https://nodejs.org/en/)`>=6.0.0` and
50
-
need [npm](https://npmjs.org)`>=3.0` installed.
51
-
52
-
On macOS you may also need Xcode command line tools, if you haven't already, do so by:
To install it from source you need [Node.js](https://nodejs.org/en/)`>=10.4.0` and
31
+
need [npm](npmjs.org)`>=6.1.0` installed. This uses [`node-gyp`](https://github.com/nodejs/node-gyp) so **you must take a look** at their [platform specific dependencies](https://github.com/nodejs/node-gyp#installation).
58
32
59
33
Then the follow the steps below to clone the source code, install the dependancies and run it the app:
60
34
@@ -67,114 +41,6 @@ npm start
67
41
68
42
The IPFS Desktop app will launch and should appear in your OS menu bar.
69
43
70
-
## Usage
71
-
72
-
Click on the IPFS icon in the menubar to open the app.
| Public Key | Copy and share links | Auto add screenshots |
90
-
| Repository Size || Download copied hash |
91
-
| Bandwidth Usage ||
92
-
| Down/Up Speeds ||
93
-
| Peers ||
94
-
95
-
## Developer Guide
96
-
97
-
### File Structure
98
-
99
-
All of the important files of this application are into `src` folder, which can be seen as the following tree:
100
-
101
-
```
102
-
├───controls
103
-
├───fonts Static font files.
104
-
├───img Static image assets.
105
-
├───js
106
-
│ ├───components
107
-
│ │ ├───logic Reusable and stateful components. They have 'state' to track.
108
-
│ │ └───view Reusable and stateless components. They are written as stateless functional components.
109
-
│ |───panes A pane is a larger component to be used within screens.
110
-
| └───screens A screen is the everything visible at a given point in time inside a single window.
111
-
├───styles Stylesheets in LESS format.
112
-
├───utils Utilitarian classes and functions.
113
-
|───views HTML view files.
114
-
└───index.js Main entry point of the application.
115
-
```
116
-
117
-
### How to add an new pane
118
-
119
-
Start by creating a new file inside `./src/js/panes` with the following bootstrap content. For more information about each piece, take a look at the [`Header`](./src/js/components/view/header.js) and [`Footer`](./src/js/components/view/footer.js) components.
120
-
121
-
```js
122
-
importReactfrom'react'
123
-
124
-
importPanefrom'../components/view/pane'
125
-
importHeaderfrom'../components/view/header'
126
-
importFooterfrom'../components/view/footer'
127
-
128
-
exportdefaultfunction MyPane {
129
-
return (
130
-
<Pane>
131
-
<Headertitle='The title of your pane'/>
132
-
133
-
<divclassName='main'>
134
-
<p>Thebodyofyourpane</p>
135
-
</div>
136
-
137
-
<Footer>
138
-
<p>Thefooterofyourpane</p>
139
-
</Footer>
140
-
</Pane>
141
-
)
142
-
}
143
-
}
144
-
```
145
-
146
-
Then, you'll have to import the file and create an entry on `panes` array on [`./src/js/screens/menu.js`](./src/js/components/view/icon.js) with a content similar to this one:
147
-
148
-
```
149
-
{
150
-
id: 'my-pane-id', // A simple slug to identify your pane.
151
-
title: 'Title', // To be shown in the menu.
152
-
icon: 'ipfs' // A themify icon ID (themify.me/themify-icons)
153
-
}
154
-
```
155
-
156
-
Now, you already have your pane created and its menu entry. Although, it you click on it, you'll probably get an error message since you aren't really routing that path to it. On the same file, go to `_getRouteScreen` function, and add a `case` for your pane on the `switch`. The value must be the same as the `id` you put on the menu entry.
157
-
158
-
### Components
159
-
160
-
The components are classes exported with CamelCase names. The corresponding files have the associated class name with hyphen-separated-words. So, e.g., `simple-stat.js` exports a class named `SimpleStat`.
0 commit comments