2016-11-23 10:20:59 +01:00
# Maputnik [![Build Status](https://travis-ci.org/maputnik/editor.svg?branch=master)](https://travis-ci.org/maputnik/editor) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/anelbgv6jdb3qnh9/branch/master?svg=true)](https://ci.appveyor.com/project/lukasmartinelli/editor) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://tldrlegal.com/license/mit-license)
2015-06-15 15:21:19 +02:00
2016-12-03 23:24:42 +01:00
< img width = "200" align = "right" alt = "Maputnik" src = "media/maputnik.png" / >
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/ )
2016-09-20 13:51:54 +02:00
targeted at developers and map designers. Creating your own custom map is easy with **Maputnik** .
2016-09-11 14:30:08 +02:00
2016-12-03 23:24:42 +01:00
*Maputnik is an early prototype and is under development.
[Thanks to the supporters of the Kickstarter campaign who made this project possible ](https://www.kickstarter.com/projects/174808720/maputnik-visual-map-editor-for-mapbox-gl )*.
2016-09-11 14:25:03 +02:00
## Features
2016-09-11 14:30:08 +02:00
- [x] Completely free and open source
- [x] Visual interface for designing maps
2016-09-19 21:25:24 +02:00
- [x] Immediate feedback (thanks to [style diffs ](https://github.com/mapbox/mapbox-gl-style-spec/blob/mb-pages/lib/diff.js ))
2016-09-11 14:30:08 +02:00
- [x] Edit layers
- [x] Easy to deploy as single HTML file
2016-12-03 23:24:42 +01:00
- [ ] Support for Open Layers 3
2016-09-11 14:25:03 +02:00
2016-11-23 21:09:20 +01:00
![Demo showing interactive feedback ](media/demo.gif )
2016-09-19 21:25:24 +02:00
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
2016-09-20 13:51:54 +02:00
Maputnik is written in ES6 and is using [React ](https://github.com/facebook/react ), [Immutable.js ](https://facebook.github.io/immutable-js/ ) 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
```
2016-09-08 19:57:35 +02:00
Build a production package for distribution.
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
# install lint dependencies
npm install --save-dev eslint eslint-plugin-react
# run linter
npm run lint
2015-06-15 15:21:19 +02:00
```
2016-09-19 16:11:52 +02:00
2016-11-09 15:08:38 +01:00
## Docker
2016-11-24 10:18:56 +01:00
Start a container using the official Docker image.
2016-11-09 15:08:38 +01:00
```
docker run --name maputnik -p 8888:8888 -d maputnik/editor
```
Stop the container
```
docker stop maputnik
```
2016-09-26 21:09:09 +02:00
## Sponsors
This project would not be possible without commercial and individual sponsors.
2016-09-26 21:14:12 +02:00
### Gold
2016-09-26 21:09:09 +02:00
2016-11-23 21:09:20 +01:00
[![Wemap ](media/sponsors/wemap.jpg )](https://getwemap.com/)
2016-09-26 21:09:09 +02:00
2016-11-23 21:09:20 +01:00
[![Terranodo ](media/sponsors/terranodo.png )](http://terranodo.io/)
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
2016-09-26 21:14:12 +02:00
< a href = "https://www.klokantech.com/" >
2016-11-23 21:09:20 +01:00
< img alt = "Klokan Technologies" style = "display:inline" src = "media/sponsors/klokantech.png" / >
2016-09-26 21:14:12 +02:00
< / a >
2016-09-26 21:15:57 +02:00
< a href = "https://www.dreipol.ch/" >
2016-11-23 21:09:20 +01:00
< img alt = "Dreipol" style = "display:inline" src = "media/sponsors/dreipol.png" / >
2016-09-26 21:14:12 +02:00
< / a >
< 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**
- Alan McConchie
- Odi
- Mats Norén
- Uli [geOps ](http://geops.ch/ )
- Helge Fahrnberger
Kirusanth Poopalasingam
2016-11-09 15:08:38 +01:00
2016-10-24 20:08:02 +02:00
**Stakeholder**
- 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
**Supporter**
- 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
2016-12-03 23:24:42 +01:00
**Disclaimer** This project is not affiliated with Mapbox or Mapbox Studio. It is a 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.