A Maputnik fork with the pmtiles protocol.
Find a file
2020-06-06 11:29:24 +02:00
.codesandbox Added back in codesandbox CI config. 2020-05-27 10:45:52 +01:00
.github Merge pull request #699 from orangemug/maintenance/component-refactor 2020-06-03 16:18:04 +01:00
.storybook Added 'a11y' and 'source' addons to storybook as well as more stories 2020-06-03 09:52:54 +01:00
config Added firefox tests and fixed docker deploy 2020-05-24 12:56:52 +01:00
media/sponsors Add sponsor logos 2017-01-13 14:12:26 +01:00
src Update Basic and Toner 2020-06-06 11:29:24 +02:00
stories Added 'a11y' and 'source' addons to storybook as well as more stories 2020-06-03 09:52:54 +01:00
test Disable undo/redo again. 2020-05-31 15:48:20 +01:00
.babelrc Update all the dependencies 2019-10-09 19:51:57 +01:00
.dockerignore Optimize docker image 2019-08-03 12:08:54 -04:00
.editorconfig Spaces not tabs 2016-12-03 17:03:39 +01:00
.gitignore Added '/build' to .gitignore 2018-01-17 15:46:48 +00:00
.topissuesrc Create .topissuesrc 2018-10-20 18:35:35 +02:00
Dockerfile Optimize docker image 2019-08-03 12:08:54 -04:00
LICENSE Change names in package.json and License 2016-09-08 19:52:06 +02:00
package-lock.json Added 'a11y' and 'source' addons to storybook as well as more stories 2020-06-03 09:52:54 +01:00
package.json Added 'a11y' and 'source' addons to storybook as well as more stories 2020-06-03 09:52:54 +01:00
README.md Reordered header items in README. 2020-05-27 10:37:01 +01:00
sandbox.config.json Added new CI workflow using GitHub actions. 2020-05-24 11:13:16 +01:00

Maputnik logo

Maputnik

GitHub CI status License

A free and open visual editor for the Mapbox GL styles targeted at developers and map designers.

Usage

docker run -it --rm -p 8888:8888 maputnik/editor

Donations

Mapbox has built one of the best and most amazing OSS ecosystems. A key component to ensure its longevity and independence is an OSS map designer. If you or your organisation has seen value from Maputnik, please consider donating at https://maputnik.github.io/donate

Documentation

The documentation can be found in the Wiki. You are welcome to collaborate!

Design Map from Scratch

Develop

Maputnik is written in ES6 and is using React and Mapbox GL JS.

We ensure building and developing Maputnik works with the current active LTS Node.js version and above.

Install the deps, start the dev server and open the web browser on http://localhost:8888/.

# install dependencies
npm install
# start dev server
npm start

If you want Maputnik to be accessible externally use the --host option:

# start externally accessible dev server
npm start -- --host 0.0.0.0

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 source)

To enable polling add export WEBPACK_DEV_SERVER_POLLING=1 to your environment.

npm run build

Lint the JavaScript code.

# run linter
npm run lint
npm run lint-styles

Tests

For testing we use webdriverio and selenium-standalone

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 a 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

./node_modules/.bin/selenium-standalone start

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.

  • maputnik-dev-server - An express.js server that allows for quickly loading the style from any mapboxGL map into mapuntnik.

Sponsors

Thanks to the supporters of the Kickstarter campaign. This project would not be possible without these commercial and individual sponsors.

Gold

Wemap Terranodo Terranodo

Silver

Klokan Technologies Geofabrik Dreipol

Individuals

Influential Stakeholder

Alan McConchie, Odi, Mats Norén, Uli geOps, Helge Fahrnberger (Toursprung), Kirusanth Poopalasingam

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

License

Maputnik is licensed under MIT and is Copyright (c) Lukas Martinelli and contributors.

Disclaimer This project is not affiliated with Mapbox or Mapbox Studio. It is an independent style editor for the open source technology in the Mapbox GL ecosystem. 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.