Skip to content

Commit b0675b8

Browse files
committed
initial commit
1 parent 626cc09 commit b0675b8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+55331
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
.ipython_checkpoints

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,86 @@
1-
# deepgit
1+
# Retina
2+
3+
Retina is a free open source web application to share network visualizations online, without any server required. It is developed by [OuestWare](https://www.ouestware.com/en/) for [Tommaso Venturini](http://www.tommasoventurini.it/) from [CNRS Center Internet et Société](https://cis.cnrs.fr/). It is released under the [GNU GPLv3 license](https://gitlab.com/ouestware/retina/-/blob/main/LICENSE).
4+
5+
<p align="center">
6+
<img src="https://ouestware.gitlab.io/retina/beta/logo_CNRS_CIS.jpg" width="260" />
7+
<img src="https://ouestware.gitlab.io/retina/beta/logo_ouestware_text.svg" width="260" />
8+
</p>
9+
10+
You can see a running example [here](https://ouestware.gitlab.io/retina/beta/#/graph/?url=https%3A%2F%2Fouestware.gitlab.io%2Fretina%2Fbeta%2Fdataset.gexf&c=c&s=s&sa[]=s&sa[]=r&ca[]=t&ca[]=c&st[]=t&st[]=c&ds=1&dc=1), or try it with your own graphs at [ouestware.gitlab.io/retina](https://ouestware.gitlab.io/retina/).
11+
12+
## Features
13+
14+
Retina aims at helping people sharing interactive network maps online:
15+
16+
1. Graph _editors_ give Retina a graph file, and tell it how their graph file should be interpreted
17+
2. They share a link to their visualization with graph _explorers_
18+
3. Graph _explorers_ can then see the graph and interact with it
19+
20+
### Filtering
21+
22+
Users can filter nodes on their attributes. Retina tries to detect whether attributes represent quantitative, qualitative or textual information. Graph _editors_ can select which fields can be used to filter or not for graph _explorers_.
23+
24+
### Colors and sizes caption
25+
26+
In most graph file formats, nodes and edges can have colors and sizes of their own, but we cannot know how they have been determined. This makes it impossible to display a caption for the graph.
27+
28+
Retina allows mapping node colors on node attributes (in a way inspired by [Gephi](https://gephi.org/features/)), so that it can display a **proper caption**.
29+
30+
### Sharing
31+
32+
Graphs in Retina can be shared as classic links or special links to be embedded in iframes. An export can also disable all actions that modify the state (colors and size fields, filters) to the user, to share more of an "enhanced zoomable image" of the graph.
33+
34+
## How to use it
35+
36+
1. Open [Retina](https://ouestware.gitlab.io/retina/)
37+
2. Get some graph file (such as a [GEXF](https://gexf.net/) graph file from [Gephi](https://gephi.org/) for instance)
38+
3. Put it somewhere on the internet, so that you can have a public URL leading to it
39+
4. Go to [ouestware.gitlab.io/retina](https://ouestware.gitlab.io/retina)
40+
5. Click on `Online`
41+
6. Enter your GEXF file URL, and click on `Visualize`
42+
43+
You can now fine tune some settings for viewers, and when you are ready click on the `Share` button on the top of the left panel.
44+
45+
You can now share the URL of the page to people, and they'll see the same network as you do.
46+
47+
## How to contribute
48+
49+
Retina was bootstrapped with [Create React App](https://github.com/facebook/create-react-app) using [TypeScript](https://www.typescriptlang.org/).
50+
51+
It uses [SASS](https://sass-lang.com/) for styles, and is based on [Bootstrap](https://getbootstrap.com/) for its base styles and its grid system, and [react-icons](https://react-icons.github.io/react-icons/) for icons.
52+
53+
Finally, the graphs are rendered using [sigma.js](https://www.sigmajs.org/) and [graphology](https://graphology.github.io/).
54+
55+
## Available Scripts
56+
57+
In the project directory, you can run:
58+
59+
### `npm start`
60+
61+
Runs the app in the development mode.
62+
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
63+
64+
The page will reload if you make edits.
65+
You will also see any lint errors in the console.
66+
67+
### `npm test`
68+
69+
Launches the test runner in the interactive watch mode.
70+
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
71+
72+
### `npm run build`
73+
74+
Builds the app for production to the `build` folder.
75+
It correctly bundles React in production mode and optimizes the build for the best performance.
76+
77+
The build is minified and the filenames include the hashes.
78+
Your app is ready to be deployed!
79+
80+
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
81+
82+
## Learn More
83+
84+
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
85+
86+
To learn React, check out the [React documentation](https://reactjs.org/).

eslint.config.mjs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import js from "@eslint/js";
2+
import reactHooks from "eslint-plugin-react-hooks";
3+
import reactRefresh from "eslint-plugin-react-refresh";
4+
import globals from "globals";
5+
import tsEslint from "typescript-eslint";
6+
7+
export default tsEslint.config(
8+
{ ignores: ["dist"] },
9+
{
10+
extends: [js.configs.recommended, ...tsEslint.configs.recommended],
11+
files: ["**/*.{ts,tsx}"],
12+
languageOptions: {
13+
ecmaVersion: 2020,
14+
globals: globals.browser,
15+
},
16+
plugins: {
17+
"react-hooks": reactHooks,
18+
"react-refresh": reactRefresh,
19+
},
20+
rules: {
21+
...reactHooks.configs.recommended.rules,
22+
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
23+
"@typescript-eslint/no-explicit-any": ["off"],
24+
},
25+
},
26+
);

index.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
6+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
7+
<meta name="viewport" content="width=device-width, initial-scale=1" />
8+
<meta name="theme-color" content="#000000" />
9+
<meta name="description" content="A web application to share network visualizations" />
10+
<title>Retina</title>
11+
</head>
12+
<body>
13+
<noscript>You need to enable JavaScript to run this app.</noscript>
14+
<div id="root"></div>
15+
<div id="portal-target"></div>
16+
<script type="module" src="/src/index.tsx"></script>
17+
</body>
18+
</html>

0 commit comments

Comments
 (0)