maputnik/README.md

168 lines
6.4 KiB
Markdown
Raw Normal View History

2017-11-01 17:51:26 +01:00
# Maputnik
[![Build Status](https://travis-ci.org/maputnik/editor.svg?branch=master)][travis]
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/anelbgv6jdb3qnh9/branch/master?svg=true)][appveyor]
[![Dependency Status](https://david-dm.org/maputnik/editor.svg)][dm-prod]
[![Dev Dependency Status](https://david-dm.org/maputnik/editor/dev-status.svg)][dm-dev]
[![License](https://img.shields.io/badge/license-MIT-blue.svg)][license]
[travis]: https://travis-ci.org/maputnik/editor
[appveyor]: https://ci.appveyor.com/project/lukasmartinelli/editor
[dm-prod]: https://david-dm.org/maputnik/editor
[dm-dev]: https://david-dm.org/maputnik/editor#info=devDependencies
[license]: https://tldrlegal.com/license/mit-license
2015-06-15 15:21:19 +02:00
2016-12-31 10:34:32 +01:00
<img width="200" align="right" alt="Maputnik" src="src/img/maputnik.png" />
2016-12-03 23:24:42 +01:00
2016-09-11 14:25:03 +02:00
A free and open visual editor for the [Mapbox GL styles](https://www.mapbox.com/mapbox-gl-style-spec/)
2017-01-13 10:18:20 +01:00
targeted at developers and map designers.
2016-09-11 14:30:08 +02:00
- :link: Design your maps online at **<https://maputnik.github.io/editor/>** (all in local storage)
2017-01-13 10:18:20 +01:00
- :link: Use the [Maputnik CLI](https://github.com/maputnik/editor/wiki/Maputnik-CLI) for local style development
2016-12-22 23:09:42 +01:00
2017-01-14 15:09:27 +01:00
Mapbox has built one of the best and most amazing OSS ecosystems. A key component to ensure its longevity and independance is an OSS map designer.
## Donations
If you or your organisation has seen value from Maputnik, please consider donating at <https://maputnik.github.io/donate>
2017-01-06 09:53:57 +01:00
## Documentation
The documentation can be found in the [Wiki](https://github.com/maputnik/editor/wiki). You are welcome to collaborate!
2017-01-13 14:08:22 +01:00
- :link: **Study the [Maputnik Wiki](https://github.com/maputnik/editor/wiki)**
2017-01-13 10:18:20 +01:00
- :video_camera: Design a map from Scratch https://youtu.be/XoDh0gEnBQo
2017-01-06 09:53:57 +01:00
2017-01-13 14:08:22 +01:00
[![Design Map from Scratch](https://j.gifs.com/g5XMgl.gif)](https://youtu.be/XoDh0gEnBQo)
2016-09-11 14:25:03 +02:00
2016-09-08 19:57:35 +02:00
## Develop
2015-06-15 15:21:19 +02:00
2017-01-13 10:18:20 +01:00
Maputnik is written in ES6 and is using [React](https://github.com/facebook/react) and [Mapbox GL JS](https://www.mapbox.com/mapbox-gl-js/api/).
2016-09-11 14:25:03 +02:00
2016-11-23 10:20:59 +01:00
We ensure building and developing Maputnik works with
- Linux, OSX and Windows
2016-11-23 21:02:04 +01:00
- Node >4
2016-11-23 10:20:59 +01:00
2016-09-08 19:57:35 +02:00
Install the deps, start the dev server and open the web browser on `http://localhost:8888/`.
2015-06-15 15:21:19 +02:00
2016-09-08 19:57:35 +02:00
```bash
# install dependencies
npm install
# start dev server
npm start
2015-06-15 15:21:19 +02:00
```
The build process will watch for changes to the filesystem, rebuild and autoreload the editor. However note this from the webpack-dev-server docs
> webpack uses the file system to get notified of file changes. In some cases this does not work. For example, when using Network File System (NFS). Vagrant also has a lot of problems with this.
Snippet from <https://webpack.js.org/configuration/dev-server/#devserver-watchoptions->
To enable polling add `export WEBPACK_DEV_SERVER_POLLING=1` to your enviroment.
2015-06-15 15:21:19 +02:00
```
2016-09-08 19:57:35 +02:00
npm run build
2015-06-15 15:21:19 +02:00
```
2016-09-08 19:57:35 +02:00
Lint the JavaScript code.
2015-06-15 15:21:19 +02:00
```
2016-09-08 19:57:35 +02:00
# run linter
npm run lint
2017-01-13 10:18:20 +01:00
npm run lint-styles
```
2018-04-10 16:13:55 +02:00
## Tests
For testing we use [webdriverio](http://webdriver.io) and [selenium-standalone](https://github.com/vvo/selenium-standalone)
2018-04-15 10:17:07 +02:00
[selenium-standalone](https://github.com/vvo/selenium-standalone) starts a server that will launch browsers on your local machine. We use chrome so you **must** have chrome installed on your machine.
Now open and terminal and run the following. This will install the drivers on your local machine
```
./node_modules/.bin/selenium-standalone install
```
Now start the standalone server
2018-04-10 16:13:55 +02:00
```
2018-04-15 10:17:07 +02:00
./node_modules/.bin/selenium-standalone start
2018-04-10 16:13:55 +02:00
```
Then open another terminal and run
```
npm test
```
After some time you should see a browser launch which will be automated by the test runner.
2017-10-05 04:42:04 +02:00
## Related Projects
- [maputnik-dev-server](https://github.com/nycplanning/labs-maputnik-dev-server) - An express.js server that allows for quickly loading the style from any mapboxGL map into mapuntnik.
2016-09-26 21:09:09 +02:00
## Sponsors
2017-01-01 22:29:22 +01:00
Thanks to the supporters of the **[Kickstarter campaign](https://www.kickstarter.com/projects/174808720/maputnik-visual-map-editor-for-mapbox-gl)**. This project would not be possible without these commercial and individual sponsors.
2016-09-26 21:09:09 +02:00
2016-09-26 21:14:12 +02:00
### Gold
2016-09-26 21:09:09 +02:00
2017-01-13 14:40:02 +01:00
- [Wemap](https://getwemap.com/)
- [Orbicon Informatik](https://www.orbiconinformatik.dk/)
- [Terranodo](http://terranodo.io/)
2017-01-13 10:18:20 +01:00
<a href="https://getwemap.com/">
2017-01-13 14:40:02 +01:00
<img width="33%" alt="Wemap" style="display:inline" src="media/sponsors/wemap.jpg" />
2017-01-13 10:18:20 +01:00
</a>
2017-01-13 14:10:36 +01:00
<a href="http://terranodo.io/">
2017-01-13 14:40:02 +01:00
<img width="33%" alt="Terranodo" style="display:inline" src="media/sponsors/terranodo.png" />
2017-01-13 10:18:20 +01:00
</a>
2017-01-13 14:10:36 +01:00
<a href="https://www.orbiconinformatik.dk/">
2017-01-13 14:40:02 +01:00
<img width="32%" alt="Terranodo" style="display:inline" src="media/sponsors/orbicon_informatik.png" />
2017-01-13 14:10:36 +01:00
</a>
<br/>
2016-09-28 15:48:39 +02:00
2016-09-26 21:14:12 +02:00
### Silver
2016-09-26 21:09:09 +02:00
2017-01-13 14:40:02 +01:00
- [Klokan Technologies](https://www.klokantech.com/)
- [Geofabrik](http://www.geofabrik.de/)
- [Dreipol](https://www.dreipol.ch/)
2016-09-26 21:14:12 +02:00
<a href="https://www.klokantech.com/">
2017-01-13 14:40:02 +01:00
<img width="18%" alt="Klokan Technologies" style="display:inline-block" src="media/sponsors/klokantech.png" />
2016-09-26 21:14:12 +02:00
</a>
2017-01-13 14:10:36 +01:00
<a href="http://www.geofabrik.de/">
2017-01-13 14:40:02 +01:00
<img width="18%" alt="Geofabrik" style="display:inline-block" src="media/sponsors/geofabrik.png" />
2017-01-13 14:10:36 +01:00
</a>
2016-09-26 21:15:57 +02:00
<a href="https://www.dreipol.ch/">
2017-01-13 14:40:02 +01:00
<img width="18%" alt="Dreipol" style="display:inline-block" src="media/sponsors/dreipol.png" />
2016-09-26 21:14:12 +02:00
</a>
2017-01-13 10:18:20 +01:00
2016-09-26 21:14:12 +02:00
<br/>
2016-09-26 21:09:09 +02:00
2016-09-26 21:14:12 +02:00
### Individuals
2016-09-26 21:09:09 +02:00
2016-10-24 20:08:02 +02:00
**Influential Stakeholder**
2017-01-04 20:26:04 +01:00
Alan McConchie, Odi, Mats Norén, Uli [geOps](http://geops.ch/), Helge Fahrnberger ([Toursprung](http://www.toursprung.com/)), Kirusanth Poopalasingam
2016-10-24 20:08:02 +02:00
**Stakeholder**
2017-01-01 22:29:22 +01:00
Brian Flood, Vasile Coțovanu, Andreas Kalkbrenner, Christian Mäder, Gregor Wassmann, Lee Armstrong, Rafel, Jon Burgess, Lukas Lehmann, Joachim Ungar, Alois Ackermann, Zsolt Ero, Jordan Meek
2016-10-24 20:08:02 +02:00
**Supporter**
2017-01-01 22:29:22 +01:00
Sina Martinelli, Nicholas Doiron, Neil Cawse, Urs42, Benedikt Groß, Manuel Roth, Janko Mihelić, Moritz Stefaner, Sebastian Ahoi, Juerg Uhlmann, Tom Wider, Nadia Panchaud, Oliver Snowden, Stephan Heuel, Tobin Bradley, Adrian Herzog, Antti Lehto, Pascal Mages, Marc Gehling, Imre Samu, Lauri K., Visahavel Parthasarathy, Christophe Waterlot-Buisine, Max Galka, ubahnverleih, Wouter van Dam, Jakob Lobensteiner, Samuel Kurath, Brian Bancroft
2016-09-26 21:09:09 +02:00
2016-09-19 21:25:24 +02:00
## License
2016-09-19 16:11:52 +02:00
2016-09-20 13:51:54 +02:00
Maputnik is [licensed under MIT](LICENSE) and is Copyright (c) Lukas Martinelli and contributors.
2016-09-19 16:11:52 +02:00
2018-09-11 13:52:39 +02:00
**Disclaimer** This project is not affiliated with Mapbox or Mapbox Studio. It is an independent style editor for the
2016-09-19 16:11:52 +02:00
open source technology in the Mapbox GL ecosystem.
2016-12-03 23:24:42 +01:00
As contributor please take extra care of not violating any Mapbox trademarks. Do not get inspired by Mapbox Studio and make your own decisions for a good style editor.