Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Commit

Permalink
Merge pull request #16 from pathmapper/static
Browse files Browse the repository at this point in the history
Add option to serve directory under /static/ (supersedes #2)
  • Loading branch information
pathmapper committed Jul 24, 2020
2 parents c264cd1 + b7ef094 commit c9504fc
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,38 @@ You can download a single binary for Linux, OSX or Windows from [the latest rele

Simply start up a web server and access the Maputnik editor GUI at `localhost:8000`.

```
```bash
maputnik
```

Expose a local style file to Maputnik allowing the web based editor
to save to the local filesystem.

```
```bash
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.

```
```bash
maputnik --watch --file basic-v9.json
```

Choose a local port to listen on, instead of using the default port 8000.

```
```bash
maputnik --port 8001
```

Specify a path to a directory which, if it exists, will be served under http://localhost:8000/static/ .
Could be used to serve sprites and glyphs.

```bash
maputnik --static ./localFolder
```

### API

`maputnik` exposes the configured styles via a HTTP API.
Expand Down
12 changes: 11 additions & 1 deletion maputnik.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func main() {
app := cli.NewApp()
app.Name = "maputnik"
app.Usage = "Server for integrating Maputnik locally"
app.Version = "Editor: 1.7.0; Desktop: 1.0.6"
app.Version = "Editor: 1.7.0; Desktop: 1.0.7"

app.Flags = []cli.Flag{
&cli.StringFlag{
Expand All @@ -32,6 +32,10 @@ func main() {
Value: 8000,
Usage: "TCP port to listen on",
},
&cli.StringFlag{
Name: "static",
Usage: "Serve directory under /static/",
},
}

app.Action = func(c *cli.Context) error {
Expand All @@ -57,6 +61,12 @@ func main() {
}
}

staticDir := c.String("static")
if staticDir != "" {
h := http.StripPrefix("/static/", http.FileServer(http.Dir(staticDir)))
router.PathPrefix("/static/").Handler(h)
}

router.PathPrefix("/").Handler(http.StripPrefix("/", gui))
loggedRouter := handlers.LoggingHandler(os.Stdout, router)
corsRouter := handlers.CORS(handlers.AllowedHeaders([]string{"Content-Type"}), handlers.AllowedMethods([]string{"GET", "PUT"}), handlers.AllowedOrigins([]string{"*"}), handlers.AllowCredentials())(loggedRouter)
Expand Down

0 comments on commit c9504fc

Please sign in to comment.