[TASK] Move documentation
This commit is contained in:
		
							parent
							
								
									038f8f856f
								
							
						
					
					
						commit
						39b37e1bcc
					
				
							
								
								
									
										289
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										289
									
								
								README.md
									
									
									
									
									
								
							| @ -1,6 +1,7 @@ | ||||
| # Meshviewer | ||||
| [](https://travis-ci.org/ffrgb/meshviewer) | ||||
| [](https://scrutinizer-ci.com/g/ffrgb/meshviewer/?branch=develop) | ||||
| [](https://meshviewer.gitbooks.io/documentation/content/) | ||||
| [](https://www.gnu.org/licenses/agpl-3.0) | ||||
| 
 | ||||
| A web-app to visualize nodes and links on a map for Freifunk open mesh network. | ||||
| @ -33,293 +34,27 @@ _Some similar features might have been implemented/merged_ | ||||
| - Configurable reverse geocoding server | ||||
| - [A lot more in the commit history](https://github.com/ffrgb/meshviewer/commits/develop) | ||||
| 
 | ||||
| ## Demo | ||||
| ### Demo | ||||
| 
 | ||||
| Embedded: https://regensburg.freifunk.net/netz/karte/   | ||||
| Standalone: https://regensburg.freifunk.net/meshviewer/ | ||||
| 
 | ||||
| ## Known instances | ||||
| ## Documentation | ||||
| 
 | ||||
| | Community               | Instance                                  | Repo GitHub                                                                             | | ||||
| | ---                     | ---                                       | ---                                                                                     | | ||||
| | Freifunk Bremen         | https://map.bremen.freifunk.net/          | [FreifunkBremen/meshviewer-ffrgb](https://github.com/FreifunkBremen/meshviewer-ffrgb)   | | ||||
| Documentation moved to [meshviewer.gitbooks.io](https://meshviewer.gitbooks.io/documentation/content/). | ||||
| 
 | ||||
| - Read: https://meshviewer.gitbooks.io/documentation/content/ | ||||
| - PDF, Mobi, ePub & edit: https://www.gitbook.com/book/meshviewer/documentation/details | ||||
| 
 | ||||
| ## Dependencies | ||||
| #### Why move the documentation? | ||||
| 
 | ||||
| - yarn (npm fallback) | ||||
| - grunt-cli | ||||
| 
 | ||||
| ### Installing dependencies | ||||
| 
 | ||||
| _npm is still possible to use, but yarn is much faster https://yarnpkg.com/_ | ||||
| 
 | ||||
| Install yarn package-manager: | ||||
| 
 | ||||
|     Choose your OS and install yarn https://yarnpkg.com/en/docs/install | ||||
| 
 | ||||
| Execute these commands on your server as a normal user to prepare the dependencies: | ||||
| 
 | ||||
| ```bash | ||||
| git clone https://github.com/ffrgb/meshviewer.git | ||||
| cd meshviewer | ||||
| yarn | ||||
| # Only needed if no global grunt is installed | ||||
| yarn global add grunt-cli | ||||
| ``` | ||||
| 
 | ||||
| ## Building | ||||
| 
 | ||||
| Just run the following command from the meshviewer directory: | ||||
| 
 | ||||
| ```bash | ||||
| grunt | ||||
| ``` | ||||
| 
 | ||||
| This will generate the folder `build/` that will contain all required files. | ||||
| 
 | ||||
| ## Development | ||||
| 
 | ||||
| Use `grunt serve` for development. | ||||
| 
 | ||||
| ## Support/Help | ||||
| 
 | ||||
| - IRC on irc.hackint.org | ||||
|     - [#freifunkRGB](irc://irc.hackint.org/freifunkRGB) | ||||
|     - [#meshviewer](irc://irc.hackint.org/meshviewer) (development-channel) | ||||
| - Feel free to open an [issue](https://github.com/ffrgb/meshviewer/issues/new) for a problem or an idea. | ||||
| 
 | ||||
| ## Customize style | ||||
| 
 | ||||
| Start your development and edit files in `scss/custom/`. Additional information in file comments. | ||||
| 
 | ||||
| ## Configure | ||||
| 
 | ||||
| Change `config.json`to match your community. | ||||
| 
 | ||||
| ### dataPath (string/array) | ||||
| 
 | ||||
| `dataPath` can be either a string containing the address of a Nodes.json v2 compatible backend (e.g. ffmap backend) or an array containing multiple addresses. | ||||
| Don't forget the trailing slash! | ||||
| Also, proxying the data through a webserver will allow GZip and thus will greatly reduce bandwidth consumption. | ||||
| It may help with firewall problems too. | ||||
| 
 | ||||
| ### siteName (string) | ||||
| 
 | ||||
| Change this to match your communities' name. It will be used in various places. | ||||
| 
 | ||||
| ### maxAge (integer) | ||||
| 
 | ||||
| Nodes being online for less than maxAge days are considered "new". Likewise, | ||||
| nodes being offline for more than than maxAge days are considered "lost". | ||||
| 
 | ||||
| ### maxAgeAlert (integer) | ||||
| 
 | ||||
| Nodes being offline for more than than maxAge days are considered "lost". | ||||
| Lost will be splitted in alert and lost. | ||||
| 
 | ||||
| ### nodeZoom (integer) | ||||
| 
 | ||||
| Max level to be applied by clicking a node or opening a node. Value `18` is a good default, so nearby buildings and streets should be visible. | ||||
| 
 | ||||
| ### labelZoom (integer) | ||||
| 
 | ||||
| Min. level for node labels shown on the map. Labels aren't shown in first zoom levels and need performance. | ||||
| 
 | ||||
| ### clientZoom (integer) | ||||
| 
 | ||||
| Min. level to set starting layer for client dots on map. | ||||
| 
 | ||||
| ### nodeInfobox | ||||
| 
 | ||||
| #### contact (bool, optional) | ||||
| 
 | ||||
| Setting this to `false` will hide contact information for nodes. | ||||
| 
 | ||||
| #### hardwareUsage (bool, optional) | ||||
| 
 | ||||
| Setting this to `false` will hide bars of memory usage and load avg for nodes. | ||||
| 
 | ||||
| ### mapLayers (List) | ||||
| 
 | ||||
| A list of objects describing map layers. Each object has at least `name`, `url` and `config` properties. [Example layers and configuration](http://leaflet-extras.github.io/leaflet-providers/preview/) (map against config.json). | ||||
| 
 | ||||
| #### mode (string, optional) | ||||
| 
 | ||||
| Allows to load a additional style for a night mode or similar use case. Possible are inline style or link.  | ||||
| Inline avoids re-rendering and maybe issues with label-layer update. Important are class "css-mode mode-name" and media "not". | ||||
| 
 | ||||
| _Default is night.css inline in index.html_ | ||||
| 
 | ||||
| ```html | ||||
|  <link rel="stylesheet" class="css-mode mode-name" media="not" href="mode-name.css"> | ||||
| ``` | ||||
| 
 | ||||
| or | ||||
| 
 | ||||
| ```html | ||||
| <style class="css-mode mode-name" media="not"> | ||||
|    <inline src="mode-name.css" /> | ||||
| </style> | ||||
| ``` | ||||
| 
 | ||||
| #### start (integer, optional) | ||||
| 
 | ||||
| Start a time range to put this mapLayer on first position. | ||||
| 
 | ||||
| #### end (integer, optional) | ||||
| 
 | ||||
| End a time range for first map. Stops sort this mapLayer. | ||||
| 
 | ||||
| ### fixedCenter (array[array, array]) | ||||
| 
 | ||||
| Choose a rectangle that must be displayed on the map. Set 2 Locations and everything between will displayed. | ||||
| 
 | ||||
| Examples for `fixedCenter`: | ||||
| 
 | ||||
| ```json | ||||
| // Set a visible frame | ||||
| "fixedCenter": [ | ||||
|   [ | ||||
|     49.3522, | ||||
|     11.7752 | ||||
|   ], | ||||
|   [ | ||||
|     48.7480, | ||||
|     12.8917 | ||||
|   ] | ||||
| ], | ||||
| ``` | ||||
| 
 | ||||
| ### nodeInfos (array, optional) | ||||
| 
 | ||||
| This option allows to show node statistics depending on following case-sensitive parameters: | ||||
| 
 | ||||
| - `name` header of statistics segment in infobox | ||||
| - `href` absolute or relative URL to statistics image | ||||
| - `image` `(required)` absolute or relative URL to image, | ||||
|   can be the same like `href` | ||||
| - `title` for the image | ||||
| 
 | ||||
| To insert current variables in either `href`, `image` or `title` | ||||
| you can use the case-sensitive template string `{NODE_ID}`, `{NODE_NAME}`, `{LOCALE}` and `{TIME}` as cache-breaker. | ||||
| 
 | ||||
| Examples for `nodeInfos`: | ||||
| 
 | ||||
| ```json | ||||
| "nodeInfos": [ | ||||
|   {  | ||||
|     "name": "Clientstatistik", | ||||
|     "href": "stats/dashboard/db/node-byid?var-nodeid={NODE_ID}", | ||||
|     "image": "stats/render/dashboard-solo/db/node-byid?panelId=1&fullscreen&theme=light&width=600&height=300&var-nodeid={NODE_ID}&var-host={NODE_NAME}&_t={TIME}", | ||||
|     "title": "Knoten {NODE_ID}" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Uptime", | ||||
|     "href": "stats/dashboard/db/node-byid?var-nodeid={NODE_ID}", | ||||
|     "image": "stats/render/dashboard-solo/db/node-byid?panelId=2&fullscreen&theme=light&width=600&height=300&var-nodeid={NODE_ID}&_t={TIME}", | ||||
|     "title": "Knoten {NODE_ID}" | ||||
|   } | ||||
| ] | ||||
| ``` | ||||
| 
 | ||||
| In order to have statistics images available, you have to set up an instance of each [Prometheus](http://prometheus.io/) and [Grafana](http://grafana.org/). | ||||
| 
 | ||||
| ### globalInfos (array, optional) | ||||
| 
 | ||||
| This option allows to show global statistics on statistics page depending on following case-sensitive parameters: | ||||
| 
 | ||||
| - `name` header of statistics segment in infobox | ||||
| - `href` absolute or relative URL to statistics image | ||||
| - `image` `(required)` absolute or relative URL to image, | ||||
|   can be the same like `href` | ||||
| - `title` for the image | ||||
| 
 | ||||
| In contrast to `nodeInfos` there is no template substitution in  `href`, `image` or `title`. | ||||
| 
 | ||||
| Examples for `globalInfos` using Grafana server rendering: | ||||
| 
 | ||||
| ```json | ||||
| "globalInfos": [ | ||||
|   {  | ||||
|     "name": "Wochenstatistik", | ||||
|     "href": "stats/render/render/dashboard-solo/db/global?panelId=1&fullscreen&theme=light&width=600&height=300", | ||||
|     "image": "nodes/globalGraph.png", | ||||
|     "title": "Bild mit Wochenstatistik" | ||||
|   } | ||||
| ] | ||||
| ``` | ||||
| 
 | ||||
| ### linkInfos (array, optional) | ||||
| 
 | ||||
| This option allows to show link statistics depending on the following case-sensitive parameters: | ||||
| 
 | ||||
| - `name` header of statistics segment in infobox | ||||
| - `href` absolute or relative URL to statistics image | ||||
| - `image` `(required)` absolute or relative URL to image, | ||||
|   can be the same like `href` | ||||
| - `title` for the image | ||||
| 
 | ||||
| To insert the source or target variable in either `href`, `image` or `title` | ||||
| you can use the case-sensitive template strings `{SOURCE_ID}`, `{TARGET_ID}`, `{SOURCE_NAME}`, `{TARGET_NAME}`, `{LOCALE}` and `{TIME}` as cache-breaker. | ||||
| 
 | ||||
| ```json | ||||
| "linkInfos": [ | ||||
|   { | ||||
|     "name": "Linkstatistik", | ||||
|     "href": "stats/dashboard/db/links?var-source={SOURCE_ID}&var-target={TARGET_ID}", | ||||
|     "image": "stats/render/dashboard-solo/db/links?panelId=1&fullscreen&theme=light&width=800&height=600&var-source={SOURCE_ID}&var-target={TARGET_ID}&_t={TIME}", | ||||
|     "title": "Bild mit Linkstatistik" | ||||
|   } | ||||
| ] | ||||
| ``` | ||||
| 
 | ||||
| ### siteNames (array, optional) | ||||
| 
 | ||||
| In this array name definitions for site statistics and node info can be saved. This requires one object for each site code. This object must contain: | ||||
| 
 | ||||
| - `site` the site code | ||||
| - `name` the defined written name for this site code | ||||
| 
 | ||||
| If neither `siteNames` nor `showSites` are set, site statistics and node info won't be displayed | ||||
| 
 | ||||
| Example for `siteNames`: | ||||
| 
 | ||||
| ```json | ||||
|   "siteNames": [ | ||||
|     { | ||||
|       "site": "ffrgb", | ||||
|       "name": "Regensburg" | ||||
|     }, | ||||
|     { | ||||
|       "site": "ffrgb-dummy", | ||||
|       "name": "Regensburg Test" | ||||
|     } | ||||
|   ], | ||||
| ``` | ||||
|      | ||||
|      | ||||
| ### supportedLocale (array) | ||||
| 
 | ||||
| Add supported locale (with matching language file in locales/*.json) and it will be matched against the browser language setting. Fallback is the first language in the array. | ||||
| 
 | ||||
| Example for `supportedLocale`: | ||||
| 
 | ||||
| ```json | ||||
| "supportedLocale": [ | ||||
|   "en", | ||||
|   "de", | ||||
|   "fr" | ||||
| ] | ||||
| ``` | ||||
|      | ||||
| ### cacheBreaker (string) | ||||
| 
 | ||||
| Will be replaced in every build to avoid missing or outdated language strings, because language.json isn't up to date. | ||||
| 
 | ||||
| _Fixed value (vy0zx)._ | ||||
| - Search available | ||||
| - Multiple pages | ||||
| - Less doc commits, faster changes | ||||
| - Export as PDF, Mobi, ePub | ||||
| 
 | ||||
| ## Sponsoring / Supporting | ||||
| 
 | ||||
| - [BrowserStack](https://www.browserstack.com/) for providing an awesome testing service for hundreds of browsers | ||||
| - [Travis CI](https://travis-ci.org/) for building meshviewer on every push and pull request | ||||
| - [Scrutinizer CI](https://scrutinizer-ci.com/g/ffrgb/meshviewer/) for testing code quality on every push and pull request | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user