Files
editor/README.md
2019-02-09 10:09:05 +01:00

85 lines
2.8 KiB
Markdown

# Maputnik Desktop [![Build Status](https://travis-ci.org/maputnik/desktop.svg?branch=master)](https://travis-ci.org/maputnik/desktop) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/sepe9jhfs123dwk9?svg=true)](https://ci.appveyor.com/project/lukasmartinelli/desktop)
> :warning: The desktop build of Maputnik is no longer maintained.
![](https://camo.githubusercontent.com/ea32c1383049053bd0ceba2b31834841f229bf64/68747470733a2f2f63312e737461746963666c69636b722e636f6d2f352f343339362f33363730343333373739315f343236383236313038395f6e2e6a7067)
---
A Golang based cross platform executable for integrating Maputnik locally.
This binary packages up the JavaScript and CSS bundle produced by [maputnik/editor](https://github.com/maputnik/desktop)
and embeds it in the program for easy distribution. It also allows
exposing a local style file and work on it both in Maputnik and with your favorite
editor.
Report issues on [maputnik/editor](https://github.com/maputnik/editor).
## Install
You can download a single binary for Linux, OSX or Windows from [the latest releases of **maputnik/editor**](https://github.com/maputnik/editor/releases/latest).
### Usage
Simply start up a web server and access the Maputnik editor GUI at `localhost:8000`.
```
maputnik
```
Expose a local style file to Maputnik allowing the web based editor
to save to the local filesystem.
```
maputnik --file basic-v9.json
```
Watch the local style for changes and inform the editor via web socket.
This makes it possible to edit the style with a local text editor and still
use Maputnik.
```
maputnik --watch --file basic-v9.json
```
### API
`maputnik` exposes the configured styles via a HTTP API.
| Method | Description
|---------------------------------|---------------------------------------
| `GET /styles` | List the ID of all configured style files
| `GET /styles/{filename}` | Get contents of a single style file
| `PUT /styles/{filename}` | Update contents of a style file
| `WEBSOCKET /ws` | Listen to change events for the configured style files
### Build
Clone the repository **recursively** since the Maputnik editor is embedded
as submodule. Make sure you clone it into the correct directory `$GOPATH/src/github.com/maputnik`.
```
git clone --recursive git@github.com:maputnik/desktop.git
```
Install the 3rd party dependencies.
```
go get -u golang.org/x/sys/...
go get github.com/gorilla/handlers
go get github.com/gorilla/mux
go get github.com/gorilla/websocket
go get github.com/fsnotify/fsnotify
go get github.com/urfave/cli
go get github.com/elazarl/go-bindata-assetfs/...
go get github.com/jteeuwen/go-bindata/...
```
Run `make` to build the app distribution bundle and create the `maputnik` binary
embedding the editor.
```
make
```
You should now find the `maputnik` binary in your directory.