You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@baremaps.apache.org by bc...@apache.org on 2022/11/16 22:57:56 UTC

[incubator-baremaps] branch 489-remove-docs-directory created (now f472debd)

This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a change to branch 489-remove-docs-directory
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git


      at f472debd Remove docs directory, fix links and .asf.yaml

This branch includes the following new commits:

     new f472debd Remove docs directory, fix links and .asf.yaml

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-baremaps] 01/01: Remove docs directory, fix links and .asf.yaml

Posted by bc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch 489-remove-docs-directory
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git

commit f472debdc160b10c7824e6ff19c3f29feaaa8fe0
Author: Bertil Chapuis <bc...@gmail.com>
AuthorDate: Wed Nov 16 23:57:43 2022 +0100

    Remove docs directory, fix links and .asf.yaml
---
 .asf.yaml                                          |    2 -
 README.md                                          |    2 +-
 docs/CNAME                                         |    1 -
 docs/Gemfile                                       |    6 -
 docs/_config.yml                                   |   12 -
 docs/_data/menu.yaml                               |   18 -
 docs/_layouts/default.html                         |   51 -
 docs/_layouts/home.html                            |   19 -
 docs/_sass/normalize.scss                          |  427 ------
 docs/_sass/skeleton.scss                           |  418 ------
 docs/_sass/style.scss                              |   34 -
 docs/about.md                                      |   22 -
 docs/assets/css/main.scss                          |    6 -
 docs/assets/demo.html                              |   72 -
 docs/assets/screenshot.jpg                         |  Bin 334131 -> 0 bytes
 docs/assets/style.json                             | 1517 --------------------
 docs/examples/contour/index.md                     |   56 -
 docs/examples/contour/indexes.sql                  |    0
 .../contour/liecthenstein-aster-dem-v2-3857.tif    |  Bin 1966773 -> 0 bytes
 .../contour/liecthenstein-aster-dem-v2.tif         |  Bin 1739201 -> 0 bytes
 docs/examples/contour/style.json                   |   31 -
 docs/examples/contour/tileset.json                 |   29 -
 docs/examples/extrusion/index.md                   |   74 -
 docs/examples/extrusion/indexes.sql                |    5 -
 docs/examples/extrusion/screenshot.png             |  Bin 288760 -> 0 bytes
 docs/examples/extrusion/style.json                 |   31 -
 docs/examples/extrusion/tileset.json               |   31 -
 docs/examples/extrusion/workflow.json              |   42 -
 docs/examples/geoadmin/index.md                    |   50 -
 docs/examples/geoadmin/style.json                  |   31 -
 docs/examples/geoadmin/tileset.json                |   29 -
 docs/examples/geoadmin/tileset.yaml                |   19 -
 docs/examples/index.md                             |   15 -
 docs/examples/naturalearth/index.md                |   46 -
 docs/examples/naturalearth/indexes.sql             |  135 --
 docs/examples/naturalearth/style.json              |   33 -
 docs/examples/naturalearth/tileset.json            | 1360 ------------------
 docs/examples/naturalearth/workflow.json           |   32 -
 docs/examples/openstreetmap/database.png           |  Bin 59671 -> 0 bytes
 docs/examples/openstreetmap/index.md               |  143 --
 docs/examples/openstreetmap/indexes.sql            |    5 -
 .../openstreetmap/liechtenstein-latest.osm.pbf     |  Bin 2710779 -> 0 bytes
 docs/examples/openstreetmap/screenshot.png         |  Bin 262397 -> 0 bytes
 docs/examples/openstreetmap/style.js               |   26 -
 docs/examples/openstreetmap/style.json             |   26 -
 docs/examples/openstreetmap/tileset.json           |  521 -------
 docs/examples/openstreetmap/workflow.json          |   42 -
 docs/examples/serving-vector-tiles.md              |  151 --
 docs/favicon.ico                                   |  Bin 15086 -> 0 bytes
 docs/index.html                                    |   29 -
 docs/installation.md                               |   53 -
 docs/notes/java-nio.md                             |    3 -
 docs/notes/postgis.md                              |    3 -
 docs/release.md                                    |    5 -
 docs/stylesheet.md                                 |   12 -
 55 files changed, 1 insertion(+), 5674 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 7ecc7c26..926c5191 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -17,8 +17,6 @@
 github:
   description: Create custom vector tiles from OpenStreetMap and other data sources with Postgis and Java.
   homepage: baremaps.apache.org
-  ghp_branch: main
-  ghp_path: /docs
   labels:
     - java 
     - vector-tiles 
diff --git a/README.md b/README.md
index 30c529ba..44af1bad 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@
 
 [Baremaps](https://www.baremaps.com/) is a toolkit for creating custom vector tiles from [OpenStreetMap](https://www.openstreetmap.org) and other data sources with Postgis and Java. The project is licensed under [Apache License 2.0](LICENSE).
 
-[![State of the map](/docs/assets/screenshot.jpg)](https://www.baremaps.com/assets/demo.html)
+[![State of the map](https://baremaps.apache.org/assets/screenshot.jpg)](https://www.baremaps.com/assets/demo.html)
 
 Baremaps is inspired by [Osmosis](https://github.com/openstreetmap/osmosis), but it comes with additional features, such as the ability to:
 -   Process data in parallel with the [Stream API](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html) introduced in Java 8
diff --git a/docs/CNAME b/docs/CNAME
deleted file mode 100644
index d0af0f39..00000000
--- a/docs/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-baremaps.apache.org
diff --git a/docs/Gemfile b/docs/Gemfile
deleted file mode 100644
index 0410b66a..00000000
--- a/docs/Gemfile
+++ /dev/null
@@ -1,6 +0,0 @@
-source "https://rubygems.org"
-gem "jekyll", "~> 3.9.2"
-gem "github-pages", "~> 227"
-gem "jekyll-sitemap", "~> 1.4.0"
-gem "jekyll-gist", "~> 1.5.0"
-gem "jekyll-github-metadata", "~> 2.13.0"
diff --git a/docs/_config.yml b/docs/_config.yml
deleted file mode 100644
index d5d73215..00000000
--- a/docs/_config.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-title: Baremaps
-repository: baremaps/baremaps
-exclude:
-  - examples/target
-  - examples/test
-  - examples/examples.iml
-  - examples/pom.xml
-plugins:
-  - jekyll-sitemap
-  - jekyll-gist
-  - jekyll-github-metadata
-  - jekyll-optional-front-matter
\ No newline at end of file
diff --git a/docs/_data/menu.yaml b/docs/_data/menu.yaml
deleted file mode 100644
index 79b485ec..00000000
--- a/docs/_data/menu.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-items:
-  - page: <i class="fas fa-bullseye"></i> About
-    url: /about/
-  - page: <i class="fas fa-download"></i> Installation
-    url: /installation/
-  - page: <i class="fas fa-vial"></i> Examples
-    url: /examples/
-    subitems:
-      - page: OpenStreetMap
-        url: /examples/openstreetmap/
-      - page: NaturalEarth
-        url: /examples/naturalearth/
-      - page: Contour
-        url: /examples/contour/
-  - page: <i class="fas fa-paint-roller"></i> Stylesheet
-    url: /stylesheet/
-  - page: <i class="fas fa-map"></i> Demo
-    url: /assets/demo.html
\ No newline at end of file
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
deleted file mode 100644
index b17bdc95..00000000
--- a/docs/_layouts/default.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html lang="{{ site.lang | default: "en-US" }}">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>{{ page.title }} - {{ site.title }}</title>
-    {% if page.description %}<meta name="description" content="{{ site.description }}">{% endif %}
-    <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
-  </head>
-  <body>
-    <div class="container">
-      <div class="row">
-          <div class="four columns">
-            <header>
-              <h2 class="logo"><a href="/"><i class="far fa-map"></i> {{ site.title }}</a></h2>
-              <p>{{ site.description }}</p>
-              <p>
-                <a class="github-button" href="https://github.com/baremaps/baremaps" data-size="large" data-show-count="true"
-                   aria-label="Star baremaps/baremaps on GitHub">Star</a>
-                <a class="github-button" href="https://github.com/baremaps/baremaps/releases/latest"
-                   data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large"
-                   aria-label="Download baremaps/baremaps on GitHub">Download</a>
-              </p>
-            </header>
-            <nav>
-              <ul>
-                {% for item in site.data.menu.items %}
-                <li>
-                  <a href="{{ item.url }}">{{ item.page }}</a>
-                  {% if item.subitems[0] %}
-                  <ul>
-                    {% for subitem in item.subitems %}
-                    <li><a href="{{ subitem.url }}">{{ subitem.page }}</a></li>
-                    {% endfor %}
-                  </ul>
-                  {% endif %}
-                </li>
-                {% endfor %}
-              </ul>
-            </nav>
-          </div>
-          <article class="eight columns">
-            {{ content }}
-            <p><a class="edit" href="{{site.github.repository_url}}/edit/main/docs/{{page.path}}"><i class="fas fa-edit"></i> Improve this page</a></p>
-          </article>
-      </div>
-    </div>
-    <script async defer src="https://kit.fontawesome.com/14dcd5fdfb.js" crossorigin="anonymous"></script>
-    <script async defer src="https://buttons.github.io/buttons.js" crossorigin="anonymous"></script>
-  </body>
-</html>
diff --git a/docs/_layouts/home.html b/docs/_layouts/home.html
deleted file mode 100644
index a320cac8..00000000
--- a/docs/_layouts/home.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html lang="{{ site.lang | default: "en-US" }}">
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta charset="utf-8">
-    <title>{{ page.title }} - {{ site.title }}</title>
-    <meta name="description" content="{{ site.description }}">
-    <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
-  </head>
-  <body>
-    <div class="container">
-      <div class="row">
-        {{ content }}
-      </div>
-    </div>
-    <script async defer src="https://kit.fontawesome.com/14dcd5fdfb.js" crossorigin="anonymous"></script>
-    <script async defer src="https://buttons.github.io/buttons.js" crossorigin="anonymous"></script>
-  </body>
-</html>
diff --git a/docs/_sass/normalize.scss b/docs/_sass/normalize.scss
deleted file mode 100644
index 81c6f31e..00000000
--- a/docs/_sass/normalize.scss
+++ /dev/null
@@ -1,427 +0,0 @@
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-
-/**
- * 1. Set default font family to sans-serif.
- * 2. Prevent iOS text size adjust after orientation change, without disabling
- *    user zoom.
- */
-
-html {
-  font-family: sans-serif; /* 1 */
-  -ms-text-size-adjust: 100%; /* 2 */
-  -webkit-text-size-adjust: 100%; /* 2 */
-}
-
-/**
- * Remove default margin.
- */
-
-body {
-  margin: 0;
-}
-
-/* HTML5 display definitions
-   ========================================================================== */
-
-/**
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
- * and Firefox.
- * Correct `block` display not defined for `main` in IE 11.
- */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
-  display: block;
-}
-
-/**
- * 1. Correct `inline-block` display not defined in IE 8/9.
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
- */
-
-audio,
-canvas,
-progress,
-video {
-  display: inline-block; /* 1 */
-  vertical-align: baseline; /* 2 */
-}
-
-/**
- * Prevent modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
- */
-
-audio:not([controls]) {
-  display: none;
-  height: 0;
-}
-
-/**
- * Address `[hidden]` styling not present in IE 8/9/10.
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
- */
-
-[hidden],
-template {
-  display: none;
-}
-
-/* Links
-   ========================================================================== */
-
-/**
- * Remove the gray background color from active links in IE 10.
- */
-
-a {
-  background-color: transparent;
-}
-
-/**
- * Improve readability when focused and also mouse hovered in all browsers.
- */
-
-a:active,
-a:hover {
-  outline: 0;
-}
-
-/* Text-level semantics
-   ========================================================================== */
-
-/**
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
- */
-
-abbr[title] {
-  border-bottom: 1px dotted;
-}
-
-/**
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
- */
-
-b,
-strong {
-  font-weight: bold;
-}
-
-/**
- * Address styling not present in Safari and Chrome.
- */
-
-dfn {
-  font-style: italic;
-}
-
-/**
- * Address variable `h1` font-size and margin within `section` and `article`
- * contexts in Firefox 4+, Safari, and Chrome.
- */
-
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-/**
- * Address styling not present in IE 8/9.
- */
-
-mark {
-  background: #ff0;
-  color: #000;
-}
-
-/**
- * Address inconsistent and variable font size in all browsers.
- */
-
-small {
-  font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
- */
-
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-
-sup {
-  top: -0.5em;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-/* Embedded content
-   ========================================================================== */
-
-/**
- * Remove border when inside `a` element in IE 8/9/10.
- */
-
-img {
-  border: 0;
-}
-
-/**
- * Correct overflow not hidden in IE 9/10/11.
- */
-
-svg:not(:root) {
-  overflow: hidden;
-}
-
-/* Grouping content
-   ========================================================================== */
-
-/**
- * Address margin not present in IE 8/9 and Safari.
- */
-
-figure {
-  margin: 1em 40px;
-}
-
-/**
- * Address differences between Firefox and other browsers.
- */
-
-hr {
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-  height: 0;
-}
-
-/**
- * Contain overflow in all browsers.
- */
-
-pre {
-  overflow: auto;
-}
-
-/**
- * Address odd `em`-unit font size rendering in all browsers.
- */
-
-code,
-kbd,
-pre,
-samp {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-
-/* Forms
-   ========================================================================== */
-
-/**
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
- * styling of `select`, unless a `border` property is set.
- */
-
-/**
- * 1. Correct color not being inherited.
- *    Known issue: affects color of disabled elements.
- * 2. Correct font properties not being inherited.
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
- */
-
-button,
-input,
-optgroup,
-select,
-textarea {
-  color: inherit; /* 1 */
-  font: inherit; /* 2 */
-  margin: 0; /* 3 */
-}
-
-/**
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
- */
-
-button {
-  overflow: visible;
-}
-
-/**
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
- * All other form control elements do not inherit `text-transform` values.
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
- * Correct `select` style inheritance in Firefox.
- */
-
-button,
-select {
-  text-transform: none;
-}
-
-/**
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- *    and `video` controls.
- * 2. Correct inability to style clickable `input` types in iOS.
- * 3. Improve usability and consistency of cursor style between image-type
- *    `input` and others.
- */
-
-button,
-html input[type="button"], /* 1 */
-input[type="reset"],
-input[type="submit"] {
-  -webkit-appearance: button; /* 2 */
-  cursor: pointer; /* 3 */
-}
-
-/**
- * Re-set default cursor for disabled elements.
- */
-
-button[disabled],
-html input[disabled] {
-  cursor: default;
-}
-
-/**
- * Remove inner padding and border in Firefox 4+.
- */
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  border: 0;
-  padding: 0;
-}
-
-/**
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
- */
-
-input {
-  line-height: normal;
-}
-
-/**
- * It's recommended that you don't attempt to style these elements.
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
- *
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
- * 2. Remove excess padding in IE 8/9/10.
- */
-
-input[type="checkbox"],
-input[type="radio"] {
-  box-sizing: border-box; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
- * `font-size` values of the `input`, it causes the cursor style of the
- * decrement button to change from `default` to `text`.
- */
-
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-/**
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
- *    (include `-moz` to future-proof).
- */
-
-input[type="search"] {
-  -webkit-appearance: textfield; /* 1 */
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box; /* 2 */
-  box-sizing: content-box;
-}
-
-/**
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
- * Safari (but not Chrome) clips the cancel button when the search input has
- * padding (and `textfield` appearance).
- */
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-/**
- * Define consistent border, margin, and padding.
- */
-
-fieldset {
-  border: 1px solid #c0c0c0;
-  margin: 0 2px;
-  padding: 0.35em 0.625em 0.75em;
-}
-
-/**
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
- */
-
-legend {
-  border: 0; /* 1 */
-  padding: 0; /* 2 */
-}
-
-/**
- * Remove default vertical scrollbar in IE 8/9/10/11.
- */
-
-textarea {
-  overflow: auto;
-}
-
-/**
- * Don't inherit the `font-weight` (applied by a rule above).
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
- */
-
-optgroup {
-  font-weight: bold;
-}
-
-/* Tables
-   ========================================================================== */
-
-/**
- * Remove most spacing between table cells.
- */
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-td,
-th {
-  padding: 0;
-}
\ No newline at end of file
diff --git a/docs/_sass/skeleton.scss b/docs/_sass/skeleton.scss
deleted file mode 100644
index f28bf6c5..00000000
--- a/docs/_sass/skeleton.scss
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
-* Skeleton V2.0.4
-* Copyright 2014, Dave Gamache
-* www.getskeleton.com
-* Free to use under the MIT license.
-* http://www.opensource.org/licenses/mit-license.php
-* 12/29/2014
-*/
-
-
-/* Table of contents
-––––––––––––––––––––––––––––––––––––––––––––––––––
-- Grid
-- Base Styles
-- Typography
-- Links
-- Buttons
-- Forms
-- Lists
-- Code
-- Tables
-- Spacing
-- Utilities
-- Clearing
-- Media Queries
-*/
-
-
-/* Grid
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-.container {
-  position: relative;
-  width: 100%;
-  max-width: 960px;
-  margin: 0 auto;
-  padding: 0 20px;
-  box-sizing: border-box; }
-.column,
-.columns {
-  width: 100%;
-  float: left;
-  box-sizing: border-box; }
-
-/* For devices larger than 400px */
-@media (min-width: 400px) {
-  .container {
-    width: 85%;
-    padding: 0; }
-}
-
-/* For devices larger than 550px */
-@media (min-width: 550px) {
-  .container {
-    width: 80%; }
-  .column,
-  .columns {
-    margin-left: 4%; }
-  .column:first-child,
-  .columns:first-child {
-    margin-left: 0; }
-
-  .one.column,
-  .one.columns                    { width: 4.66666666667%; }
-  .two.columns                    { width: 13.3333333333%; }
-  .three.columns                  { width: 22%;            }
-  .four.columns                   { width: 30.6666666667%; }
-  .five.columns                   { width: 39.3333333333%; }
-  .six.columns                    { width: 48%;            }
-  .seven.columns                  { width: 56.6666666667%; }
-  .eight.columns                  { width: 65.3333333333%; }
-  .nine.columns                   { width: 74.0%;          }
-  .ten.columns                    { width: 82.6666666667%; }
-  .eleven.columns                 { width: 91.3333333333%; }
-  .twelve.columns                 { width: 100%; margin-left: 0; }
-
-  .one-third.column               { width: 30.6666666667%; }
-  .two-thirds.column              { width: 65.3333333333%; }
-
-  .one-half.column                { width: 48%; }
-
-  /* Offsets */
-  .offset-by-one.column,
-  .offset-by-one.columns          { margin-left: 8.66666666667%; }
-  .offset-by-two.column,
-  .offset-by-two.columns          { margin-left: 17.3333333333%; }
-  .offset-by-three.column,
-  .offset-by-three.columns        { margin-left: 26%;            }
-  .offset-by-four.column,
-  .offset-by-four.columns         { margin-left: 34.6666666667%; }
-  .offset-by-five.column,
-  .offset-by-five.columns         { margin-left: 43.3333333333%; }
-  .offset-by-six.column,
-  .offset-by-six.columns          { margin-left: 52%;            }
-  .offset-by-seven.column,
-  .offset-by-seven.columns        { margin-left: 60.6666666667%; }
-  .offset-by-eight.column,
-  .offset-by-eight.columns        { margin-left: 69.3333333333%; }
-  .offset-by-nine.column,
-  .offset-by-nine.columns         { margin-left: 78.0%;          }
-  .offset-by-ten.column,
-  .offset-by-ten.columns          { margin-left: 86.6666666667%; }
-  .offset-by-eleven.column,
-  .offset-by-eleven.columns       { margin-left: 95.3333333333%; }
-
-  .offset-by-one-third.column,
-  .offset-by-one-third.columns    { margin-left: 34.6666666667%; }
-  .offset-by-two-thirds.column,
-  .offset-by-two-thirds.columns   { margin-left: 69.3333333333%; }
-
-  .offset-by-one-half.column,
-  .offset-by-one-half.columns     { margin-left: 52%; }
-
-}
-
-
-/* Base Styles
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-/* NOTE
-html is set to 62.5% so that all the REM measurements throughout Skeleton
-are based on 10px sizing. So basically 1.5rem = 15px :) */
-html {
-  font-size: 62.5%; }
-body {
-  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
-  line-height: 1.6;
-  font-weight: 400;
-  font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
-  color: #222; }
-
-
-/* Typography
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-h1, h2, h3, h4, h5, h6 {
-  margin-top: 0;
-  margin-bottom: 2rem;
-  font-weight: 300; }
-h1 { font-size: 4.0rem; line-height: 1.2;  letter-spacing: -.1rem;}
-h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
-h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
-h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
-h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
-h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }
-
-/* Larger than phablet */
-@media (min-width: 550px) {
-  h1 { font-size: 5.0rem; }
-  h2 { font-size: 4.2rem; }
-  h3 { font-size: 3.6rem; }
-  h4 { font-size: 3.0rem; }
-  h5 { font-size: 2.4rem; }
-  h6 { font-size: 1.5rem; }
-}
-
-p {
-  margin-top: 0; }
-
-
-/* Links
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-a {
-  color: #1EAEDB; }
-a:hover {
-  color: #0FA0CE; }
-
-
-/* Buttons
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-.button,
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"] {
-  display: inline-block;
-  height: 38px;
-  padding: 0 30px;
-  color: #555;
-  text-align: center;
-  font-size: 11px;
-  font-weight: 600;
-  line-height: 38px;
-  letter-spacing: .1rem;
-  text-transform: uppercase;
-  text-decoration: none;
-  white-space: nowrap;
-  background-color: transparent;
-  border-radius: 4px;
-  border: 1px solid #bbb;
-  cursor: pointer;
-  box-sizing: border-box; }
-.button:hover,
-button:hover,
-input[type="submit"]:hover,
-input[type="reset"]:hover,
-input[type="button"]:hover,
-.button:focus,
-button:focus,
-input[type="submit"]:focus,
-input[type="reset"]:focus,
-input[type="button"]:focus {
-  color: #333;
-  border-color: #888;
-  outline: 0; }
-.button.button-primary,
-button.button-primary,
-input[type="submit"].button-primary,
-input[type="reset"].button-primary,
-input[type="button"].button-primary {
-  color: #FFF;
-  background-color: #33C3F0;
-  border-color: #33C3F0; }
-.button.button-primary:hover,
-button.button-primary:hover,
-input[type="submit"].button-primary:hover,
-input[type="reset"].button-primary:hover,
-input[type="button"].button-primary:hover,
-.button.button-primary:focus,
-button.button-primary:focus,
-input[type="submit"].button-primary:focus,
-input[type="reset"].button-primary:focus,
-input[type="button"].button-primary:focus {
-  color: #FFF;
-  background-color: #1EAEDB;
-  border-color: #1EAEDB; }
-
-
-/* Forms
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="text"],
-input[type="tel"],
-input[type="url"],
-input[type="password"],
-textarea,
-select {
-  height: 38px;
-  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
-  background-color: #fff;
-  border: 1px solid #D1D1D1;
-  border-radius: 4px;
-  box-shadow: none;
-  box-sizing: border-box; }
-/* Removes awkward default styles on some inputs for iOS */
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="text"],
-input[type="tel"],
-input[type="url"],
-input[type="password"],
-textarea {
-  -webkit-appearance: none;
-     -moz-appearance: none;
-          appearance: none; }
-textarea {
-  min-height: 65px;
-  padding-top: 6px;
-  padding-bottom: 6px; }
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="text"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="password"]:focus,
-textarea:focus,
-select:focus {
-  border: 1px solid #33C3F0;
-  outline: 0; }
-label,
-legend {
-  display: block;
-  margin-bottom: .5rem;
-  font-weight: 600; }
-fieldset {
-  padding: 0;
-  border-width: 0; }
-input[type="checkbox"],
-input[type="radio"] {
-  display: inline; }
-label > .label-body {
-  display: inline-block;
-  margin-left: .5rem;
-  font-weight: normal; }
-
-
-/* Lists
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-ul {
-  list-style: circle inside; }
-ol {
-  list-style: decimal inside; }
-ol, ul {
-  padding-left: 0;
-  margin-top: 0; }
-ul ul,
-ul ol,
-ol ol,
-ol ul {
-  margin: 1.5rem 0 1.5rem 3rem;
-  font-size: 90%; }
-li {
-  margin-bottom: 1rem; }
-
-
-/* Code
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-code {
-  padding: .2rem .5rem;
-  margin: 0 .2rem;
-  font-size: 90%;
-  white-space: nowrap;
-  background: #F1F1F1;
-  border: 1px solid #E1E1E1;
-  border-radius: 4px; }
-pre > code {
-  display: block;
-  padding: 1rem 1.5rem;
-  white-space: pre; }
-
-
-/* Tables
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-th,
-td {
-  padding: 12px 15px;
-  text-align: left;
-  border-bottom: 1px solid #E1E1E1; }
-th:first-child,
-td:first-child {
-  padding-left: 0; }
-th:last-child,
-td:last-child {
-  padding-right: 0; }
-
-
-/* Spacing
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-button,
-.button {
-  margin-bottom: 1rem; }
-input,
-textarea,
-select,
-fieldset {
-  margin-bottom: 1.5rem; }
-pre,
-blockquote,
-dl,
-figure,
-table,
-p,
-ul,
-ol,
-form {
-  margin-bottom: 2.5rem; }
-
-
-/* Utilities
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-.u-full-width {
-  width: 100%;
-  box-sizing: border-box; }
-.u-max-full-width {
-  max-width: 100%;
-  box-sizing: border-box; }
-.u-pull-right {
-  float: right; }
-.u-pull-left {
-  float: left; }
-
-
-/* Misc
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-hr {
-  margin-top: 3rem;
-  margin-bottom: 3.5rem;
-  border-width: 0;
-  border-top: 1px solid #E1E1E1; }
-
-
-/* Clearing
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-
-/* Self Clearing Goodness */
-.container:after,
-.row:after,
-.u-cf {
-  content: "";
-  display: table;
-  clear: both; }
-
-
-/* Media Queries
-–––––––––––––––––––––––––––––––––––––––––––––––––– */
-/*
-Note: The best way to structure the use of media queries is to create the queries
-near the relevant code. For example, if you wanted to change the styles for buttons
-on small devices, paste the mobile query code up in the buttons section and style it
-there.
-*/
-
-
-/* Larger than mobile */
-@media (min-width: 400px) {}
-
-/* Larger than phablet (also point when grid becomes active) */
-@media (min-width: 550px) {}
-
-/* Larger than tablet */
-@media (min-width: 750px) {}
-
-/* Larger than desktop */
-@media (min-width: 1000px) {}
-
-/* Larger than Desktop HD */
-@media (min-width: 1200px) {}
diff --git a/docs/_sass/style.scss b/docs/_sass/style.scss
deleted file mode 100644
index f66a1d0b..00000000
--- a/docs/_sass/style.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-body {
-  margin: 60px 0;
-}
-
-img {
-  width: 100%;
-}
-
-.logo a {
-  color: black;
-}
-
-.logo a, nav a {
-  text-decoration: none;
-}
-
-.home {
-  text-align: center;
-}
-
-nav > ul > li {
-  list-style: none;
-}
-
-section li {
-  padding-left: 1.28571429em;
-  text-indent: -1.28571429em;
-}
-
-#map {
-  border: 0;
-}
\ No newline at end of file
diff --git a/docs/about.md b/docs/about.md
deleted file mode 100644
index d354461e..00000000
--- a/docs/about.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: default
-title: About
-description: An open source toolkit for creating vector tiles from OpenStreetMap and other data sources.
-permalink: /about/
----
-
-# About
-
-Baremaps is an [open source](https://github.com/baremaps/baremaps/blob/master/LICENSE) toolkit for creating vector tiles from [OpenStreetMap](https://www.openstreetmap.org) and other data sources.
-
-[![State of the map](/assets/screenshot.jpg)](/assets/demo.html)
-
-It is inspired by [Osmosis](https://github.com/openstreetmap/osmosis), but it comes with additional features, such as the ability to:
--   Process data in parallel with the [Stream API](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html) introduced in Java 8
--   Import data faster with the [COPY API](https://www.postgresql.org/docs/11/sql-copy.html) of Postgresql
--   Create postgis geometries on the fly with [JTS](https://github.com/locationtech/jts)
--   Create and serve customized [Vector Tiles](https://docs.mapbox.com/vector-tiles/specification/)
-
-On the longer run, the aim of the project is to work with a variety of data sources in order to create highly specialized and customized maps.
-
-
diff --git a/docs/assets/css/main.scss b/docs/assets/css/main.scss
deleted file mode 100644
index 424f9a48..00000000
--- a/docs/assets/css/main.scss
+++ /dev/null
@@ -1,6 +0,0 @@
----
----
-
-@import "normalize";
-@import "skeleton";
-@import "style";
diff --git a/docs/assets/demo.html b/docs/assets/demo.html
deleted file mode 100644
index b5269d7f..00000000
--- a/docs/assets/demo.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<html>
-<head>
-  <link href='https://api.mapbox.com/mapbox-gl-js/v0.44.0/mapbox-gl.css' rel='stylesheet'/>
-
-  <style>
-
-    body {
-      line-height: 1.6;
-      font-weight: 300;
-      font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
-      color: #222;
-    }
-
-    header {
-      position: fixed;
-      background-color: white;
-      margin: 9px;
-      padding: 20px;
-      z-index: 1;
-      border: solid 2px lightgray;
-      border-radius: 5px;
-      width: 300px;
-    }
-
-    header h2 {
-      margin: 0;
-    }
-
-    header p {
-      margin: 0 0 10px 0;
-    }
-
-    #map {
-      width: 100%;
-      height: 100%;
-      z-index: 0;
-    }
-
-  </style>
-  <title>Demonstration - Baremaps</title>
-</head>
-<body style="margin: 0">
-<header>
-  <h2><i class="far fa-map"></i> Baremaps</h2>
-  <p>These <a target="_blank" href="https://docs.mapbox.com/vector-tiles/reference/">vector tiles</a> have been crafted with <a href="https://www.baremaps.com">Baremaps</a> and <a target="_blank" href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> data.</p>
-  <a class="github-button" href="https://github.com/baremaps/baremaps" data-size="large" data-show-count="true"
-     aria-label="Star baremaps/baremaps on GitHub">Star</a>
-  <a class="github-button" href="https://github.com/baremaps/baremaps/releases/latest"
-     data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large"
-     aria-label="Download baremaps/baremaps on GitHub">Download</a>
-</header>
-<div id="map"></div>
-<script src='https://api.mapbox.com/mapbox-gl-js/v0.44.0/mapbox-gl.js'></script>
-<script src="https://kit.fontawesome.com/14dcd5fdfb.js" crossorigin="anonymous"></script>
-<script src="https://buttons.github.io/buttons.js" crossorigin="anonymous"></script>
-<script>
-
-  // Initialize the map
-  var map = new mapboxgl.Map({
-    container: 'map',
-    style: 'https://tiles.baremaps.com/style.json',
-    center: [6.5743, 46.5189],
-    zoom: 14,
-    minZoom: 6,
-    maxZoom: 18
-  });
-
-  map.addControl(new mapboxgl.NavigationControl());
-
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/assets/screenshot.jpg b/docs/assets/screenshot.jpg
deleted file mode 100644
index 39e72e6b..00000000
Binary files a/docs/assets/screenshot.jpg and /dev/null differ
diff --git a/docs/assets/style.json b/docs/assets/style.json
deleted file mode 100644
index 1554fb46..00000000
--- a/docs/assets/style.json
+++ /dev/null
@@ -1,1517 +0,0 @@
-{
-  "id" : "baremaps",
-  "version" : 8,
-  "sprite" : "",
-  "glyphs" : "https://tiles.baremaps.com/fonts/{fontstack}/{range}.pbf",
-  "sources" : {
-    "baremaps" : {
-      "bounds" : [ 5.8358, 45.6591, 10.9794, 47.87 ],
-      "maxZoom" : 14.0,
-      "minZoom" : 6.0,
-      "tiles" : [ "https://tiles.baremaps.com/2021-01-03/{z}/{x}/{y}.pbf" ],
-      "type" : "vector"
-    }
-  },
-  "layers" : [ {
-    "id" : "background",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "background-color" : "rgb(242, 239, 233)"
-    },
-    "source" : "baremaps",
-    "type" : "background"
-  }, {
-    "filter" : [ "any", [ "==", "amenity", "kindergarten" ], [ "==", "amenity", "school" ], [ "==", "amenity", "college" ], [ "==", "amenity", "university" ] ],
-    "id" : "amenity_education",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(255, 255, 228)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "amenity",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "village_green" ] ],
-    "id" : "landuse_village_green",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(205, 235, 176)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "salt_pond" ] ],
-    "id" : "landuse_salt_pond",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 211, 223)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "reservoir" ] ],
-    "id" : "landuse_reservoir",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 211, 223)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "religious" ] ],
-    "id" : "landuse_religious",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(205, 204, 201)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "recreation_ground" ] ],
-    "id" : "landuse_recreation_ground",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(223, 252, 226)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "railway" ] ],
-    "id" : "landuse_railway",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(236, 218, 233)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "quarry" ] ],
-    "id" : "landuse_quarry",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(195, 194, 194)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "plant_nursery" ] ],
-    "id" : "landuse_plant_nursery",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(174, 223, 162)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "military" ] ],
-    "id" : "landuse_military",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(242, 228, 221)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "landfill" ] ],
-    "id" : "landuse_landfill",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(182, 182, 144)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "greenhouse_horticulture" ] ],
-    "id" : "landuse_greenhouse_horticulture",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(237, 240, 214)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "greenfield" ] ],
-    "id" : "landuse_greenfield",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(242, 238, 232)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "grass" ] ],
-    "id" : "landuse_grass",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(207, 237, 165)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "garages" ] ],
-    "id" : "landuse_garages",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(222, 221, 204)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "cemetery" ] ],
-    "id" : "landuse_cemetery",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 203, 175)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "brownfield" ] ],
-    "id" : "landuse_brownfield",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(182, 182, 144)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "basin" ] ],
-    "id" : "landuse_basin",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 211, 223)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "vineyard" ] ],
-    "id" : "landuse_vineyard",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(172, 225, 161)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "orchard" ] ],
-    "id" : "landuse_orchard",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(172, 225, 161)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "meadow" ] ],
-    "id" : "landuse_meadow",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(205, 235, 176)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "farmyard" ] ],
-    "id" : "landuse_farmyard",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(238, 213, 179)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "farmland" ] ],
-    "id" : "landuse_farmland",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(237, 240, 214)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "allotments" ] ],
-    "id" : "landuse_allotments",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(202, 224, 191)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "retail" ] ],
-    "id" : "landuse_retail",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(254, 213, 208)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "residential" ] ],
-    "id" : "landuse_residential",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(225, 225, 225)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "construction" ] ],
-    "id" : "landuse_construction",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(199, 199, 180)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "commercial" ] ],
-    "id" : "landuse_commercial",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(242, 216, 217)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "highway", "pedestrian" ] ],
-    "id" : "landuse_pedestrian",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(221, 221, 233)",
-      "fill-outline-color" : "rgb(184, 183, 182)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "any", [ "==", "natural", "sand" ] ],
-    "id" : "natural_sand",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(240, 229, 196)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "shingle" ] ],
-    "id" : "natural_shingle",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(232, 223, 216)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "scree" ] ],
-    "id" : "natural_scree",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(232, 223, 216)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "bare_rock" ] ],
-    "id" : "natural_bare_rock",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(217, 212, 206)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "grassland" ] ],
-    "id" : "natural_grassland",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(207, 236, 177)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "heath" ] ],
-    "id" : "natural_heath",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(214, 217, 159)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "scrub" ] ],
-    "id" : "natural_scrub",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(201, 216, 173)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "wood" ] ],
-    "id" : "natural_wood",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(157, 202, 138)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "glacier" ] ],
-    "id" : "natural_glacier",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(221, 236, 236)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "track" ] ],
-    "id" : "leisure_track",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(196, 224, 203)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "swimming_pool" ] ],
-    "id" : "leisure_swimming_pool",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 211, 223)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(120, 183, 202)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "stadium" ] ],
-    "id" : "leisure_stadium",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(223, 252, 226)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "sports_centre" ] ],
-    "id" : "leisure_sports_centre",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(223, 252, 226)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "any", [ "==", "leisure", "pitch" ], [ "==", "leisure", "track" ] ],
-    "id" : "leisure_pitch",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 224, 203)",
-      "fill-outline-color" : "rgb(147, 210, 185)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "nature_reserve" ] ],
-    "id" : "leisure_nature_reserve",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "line-width" : 5,
-      "line-color" : "rgba(230, 233, 222, 0.5)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "line"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "miniature_golf" ] ],
-    "id" : "leisure_miniature_golf",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(181, 226, 181)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "marina" ] ],
-    "id" : "leisure_marina",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(181, 208, 208)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(164, 187, 212)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "ice_rink" ] ],
-    "id" : "leisure_ice_rink",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(221, 236, 236)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(140, 220, 189)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "golf_course" ] ],
-    "id" : "leisure_golf_course",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(181, 226, 181)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "garden" ] ],
-    "id" : "leisure_garden",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(205, 235, 176)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "dog_park" ] ],
-    "id" : "leisure_dog_park",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(224, 252, 227)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "park" ] ],
-    "id" : "leisure_park",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(200, 250, 204)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "leisure", "playground" ] ],
-    "id" : "leisure_playground",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(223, 252, 226)",
-      "fill-outline-color" : "rgb(164, 221, 169)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "leisure",
-    "type" : "fill"
-  }, {
-    "id" : "aerialway",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 1,
-      "line-color" : "rgb(177, 177, 175)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "aerialway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "natural", "beach" ] ],
-    "id" : "natural_beach",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(255, 241, 186)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "natural",
-    "type" : "fill"
-  }, {
-    "filter" : [ "any", [ "==", "amenity", "grave_yard" ] ],
-    "id" : "amenity_grave_yard",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 203, 175)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "amenity",
-    "type" : "fill"
-  }, {
-    "filter" : [ "any", [ "==", "amenity", "parking" ], [ "==", "amenity", "motorcycle_parking" ] ],
-    "id" : "amenity_parking",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(238, 238, 238)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(222, 214, 214)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "amenity",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "industrial" ] ],
-    "id" : "landuse_industrial",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(236, 218, 233)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "==", "landuse", "forest" ] ],
-    "id" : "landuse_forest",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(171, 210, 156)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "landuse",
-    "type" : "fill"
-  }, {
-    "id" : "water",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(170, 211, 223)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(170, 211, 223)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "water",
-    "type" : "fill"
-  }, {
-    "id" : "waterway",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(170, 211, 223)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "waterway",
-    "type" : "line"
-  }, {
-    "id" : "building",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(216, 208, 201)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(199, 185, 174)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "building",
-    "type" : "fill"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "bridleway" ] ],
-    "id" : "highway_bridleway",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 1,
-      "line-color" : "rgb(68, 159, 66)",
-      "line-dasharray" : [ 2, 2 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "all", [ "has", "area" ], [ "any", [ "==", "highway", "footway" ], [ "==", "highway", "path" ], [ "==", "highway", "sidewalk" ], [ "==", "highway", "crossing" ], [ "==", "highway", "steps" ] ] ],
-    "id" : "highway_path_area",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(221, 221, 231)",
-      "fill-outline-color" : "rgb(168, 181, 171)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "!has", "area" ], [ "any", [ "==", "highway", "footway" ], [ "==", "highway", "path" ], [ "==", "highway", "sidewalk" ], [ "==", "highway", "crossing" ], [ "==", "highway", "steps" ] ] ],
-    "id" : "highway_path",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 1,
-      "line-color" : "rgb(250, 132, 117)",
-      "line-dasharray" : [ 2, 2 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "raceway" ] ],
-    "id" : "highway_raceway",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 4,
-      "line-color" : "rgb(254, 192, 202)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "bus_guideway" ] ],
-    "id" : "highway_bus_guideway",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 4,
-      "line-color" : "rgb(102, 102, 255)",
-      "line-dasharray" : [ 4, 2 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "track" ] ],
-    "id" : "highway_track",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 1,
-      "line-color" : "rgb(173, 132, 39)",
-      "line-dasharray" : [ 4, 2, 2, 2 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "all", [ "has", "area" ], [ "==", "highway", "pedestrian" ] ],
-    "id" : "highway_pedestrian_area",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(221, 221, 231)",
-      "fill-outline-color" : "rgb(183, 183, 186)",
-      "fill-antialias" : true
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "fill"
-  }, {
-    "filter" : [ "all", [ "!has", "area" ], [ "==", "highway", "pedestrian" ] ],
-    "id" : "highway_pedestrian_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(184, 183, 182)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "all", [ "!has", "area" ], [ "==", "highway", "pedestrian" ] ],
-    "id" : "highway_pedestrian",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 4 ] ]
-      },
-      "line-color" : "rgb(221, 221, 231)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "road" ] ],
-    "id" : "highway_road_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(201, 201, 200)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "road" ] ],
-    "id" : "highway_road",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 4 ] ]
-      },
-      "line-color" : "rgb(221, 221, 221)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "service" ] ],
-    "id" : "highway_service_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(213, 211, 211)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "service" ] ],
-    "id" : "highway_service",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 4 ] ]
-      },
-      "line-color" : "rgb(254, 254, 254)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "living_street" ] ],
-    "id" : "highway_living_street_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(207, 207, 207)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "living_street" ] ],
-    "id" : "highway_living_street",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 4 ] ]
-      },
-      "line-color" : "rgb(237, 237, 237)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "residential" ] ],
-    "id" : "highway_residential_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(211, 207, 206)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "residential" ] ],
-    "id" : "highway_residential",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(254, 254, 254)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "unclassified" ] ],
-    "id" : "highway_unclassified_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(211, 207, 206)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "unclassified" ] ],
-    "id" : "highway_unclassified",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(254, 254, 254)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "tertiary" ], [ "==", "highway", "tertiary_link" ] ],
-    "id" : "highway_tertiary_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(190, 189, 188)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "tertiary" ], [ "==", "highway", "tertiary_link" ] ],
-    "id" : "highway_tertiary",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(254, 254, 254)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "secondary" ], [ "==", "highway", "secondary_link" ] ],
-    "id" : "highway_secondary_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(154, 166, 67)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "secondary" ], [ "==", "highway", "secondary_link" ] ],
-    "id" : "highway_secondary",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(248, 250, 202)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "primary" ], [ "==", "highway", "primary_link" ] ],
-    "id" : "highway_primary_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 16 ] ]
-      },
-      "line-color" : "rgb(192, 147, 62)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "primary" ], [ "==", "highway", "primary_link" ] ],
-    "id" : "highway_primary",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(253, 221, 179)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "trunk" ], [ "==", "highway", "trunk_link" ] ],
-    "id" : "highway_trunk_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 16 ] ]
-      },
-      "line-color" : "rgb(217, 111, 78)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "trunk" ], [ "==", "highway", "trunk_link" ] ],
-    "id" : "highway_trunk",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(250, 193, 172)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "motorway" ], [ "==", "highway", "motorway_link" ] ],
-    "id" : "highway_motorway_casing",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 16 ] ]
-      },
-      "line-color" : "rgb(227, 82, 126)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "highway", "motorway" ], [ "==", "highway", "motorway_link" ] ],
-    "id" : "highway_motorway",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 12 ] ]
-      },
-      "line-color" : "rgb(233, 144, 161)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "highway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "bridge", "yes" ] ],
-    "id" : "railway_bridge",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 24 ] ]
-      },
-      "line-color" : "rgb(197, 197, 196)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "railway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "railway", "rail" ], [ "==", "railway", "funicular" ], [ "==", "railway", "light_rail" ], [ "==", "railway", "monorail" ], [ "==", "railway", "tram" ], [ "==", "railway", "subway" ] ],
-    "id" : "railway_rail_offset",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 8 ] ]
-      },
-      "line-color" : "rgb(112, 112, 112)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "railway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "railway", "rail" ], [ "==", "railway", "funicular" ] ],
-    "id" : "railway_rail",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 6 ] ]
-      },
-      "line-color" : "rgb(255, 255, 255)",
-      "line-dasharray" : [ 2, 4 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "railway",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "railway", "miniature" ], [ "==", "railway", "narrow_gauge" ], [ "==", "railway", "preserved" ], [ "==", "railway", "turntable" ] ],
-    "id" : "railway_light_rail",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 4 ] ]
-      },
-      "line-color" : "rgb(102, 102, 102)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "railway",
-    "type" : "line"
-  }, {
-    "id" : "route_ferry",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 1,
-      "line-color" : "rgb(102, 102, 255)",
-      "line-dasharray" : [ 4, 4 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "route",
-    "type" : "line"
-  }, {
-    "id" : "boundary",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : 1,
-      "line-color" : "rgb(207, 155, 203)",
-      "line-dasharray" : [ 8, 2, 2, 2 ]
-    },
-    "source" : "baremaps",
-    "source-layer" : "boundary",
-    "type" : "line"
-  }, {
-    "filter" : [ "any", [ "==", "power", "tower" ], [ "==", "power", "pole" ], [ "==", "power", "portal" ], [ "==", "power", "catenary_mast" ] ],
-    "id" : "power_tower",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "circle-color" : "rgb(171, 171, 171)",
-      "circle-opacity" : 1,
-      "circle-radius" : {
-        "stops" : [ [ 13, 1 ], [ 14, 2 ], [ 15, 3 ], [ 16, 4 ], [ 17, 5 ], [ 18, 6 ] ]
-      }
-    },
-    "source" : "baremaps",
-    "source-layer" : "points",
-    "type" : "circle"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "tree" ] ],
-    "id" : "natural_tree",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "circle-color" : "rgb(113, 205, 111)",
-      "circle-opacity" : 1,
-      "circle-radius" : {
-        "stops" : [ [ 14, 0.75 ], [ 15, 1.5 ], [ 16, 3 ], [ 17, 6 ], [ 18, 12 ] ]
-      }
-    },
-    "source" : "baremaps",
-    "source-layer" : "points",
-    "type" : "circle"
-  }, {
-    "filter" : [ "all", [ "==", "natural", "tree" ] ],
-    "id" : "natural_trunk",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "circle-color" : "rgb(129, 94, 39)",
-      "circle-opacity" : 1,
-      "circle-radius" : {
-        "stops" : [ [ 14, 0.25 ], [ 15, 0.5 ], [ 16, 1 ], [ 17, 2 ], [ 18, 4 ] ]
-      }
-    },
-    "source" : "baremaps",
-    "source-layer" : "points",
-    "type" : "circle"
-  }, {
-    "filter" : [ "any", [ "==", "power", "plant" ], [ "==", "power", "substation" ] ],
-    "id" : "power_station",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgb(226, 203, 222)",
-      "fill-antialias" : true,
-      "fill-outline-color" : "rgb(171, 171, 171)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "power",
-    "type" : "fill"
-  }, {
-    "filter" : [ "any", [ "==", "power", "cable" ], [ "==", "power", "line" ] ],
-    "id" : "power_cable_line",
-    "layout" : {
-      "visibility" : "visible",
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-width" : {
-        "base" : 1.2,
-        "stops" : [ [ 4, 0 ], [ 20, 4 ] ]
-      },
-      "line-color" : "rgb(171, 171, 171)"
-    },
-    "source" : "baremaps",
-    "source-layer" : "power",
-    "type" : "line"
-  } ]
-}
\ No newline at end of file
diff --git a/docs/examples/contour/index.md b/docs/examples/contour/index.md
deleted file mode 100644
index a1fbba81..00000000
--- a/docs/examples/contour/index.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: default
-title: Contour Lines in Vector Tiles
----
-
-# Contour Lines in Vector Tiles
-
-This example demonstrates how to produce contours from a digital elevation model (DEM) and how to display them with vector tiles.
-
-The approach consists in using the [`gdal_contour`](https://gdal.org/programs/gdal_contour.html) command.
-Therefore, start by installing `gdal`:
-
-```bash
-sudo apt-get install gdal-bin
-```
-
-The geotiff present in this directory comes from the [ASTER](https://asterweb.jpl.nasa.gov/gdem.asp) dataset.
-We used the following command to reproject the geotiff in the desired projection (e.g. WebMercator) before importing it in the database.
-
-```
-gdalwarp -rc \
-  -s_srs epsg:4326 -t_srs epsg:3857 \
-  -dstnodata 0 -of GTiff -co tiled=yes \
-  liecthenstein-aster-dem-v2.tif \
-  liecthenstein-aster-dem-v2-3857.tif
-```
-
-You can now import any GeoTiff DEM as contours in postgis. 
-In the following command, the `-nln` argument name the table that contains the data, 
-the `-a` argument name the column that contains the elevation, 
-the `-i` argument specifies the interval in meters at which contours are generated. 
-
-```
-gdal_contour \
-  -a elevation -nln aster_dem -i 10 \
-  -f PostgreSQL \
-  liecthenstein-aster-dem-v2-3857.tif "PG:host=localhost user=baremaps password=baremaps dbname=baremaps"
-```
-
-Some index can now be added to the database to improve performances. 
-When available, a smoothing function such as `ST_ChaikinSmoothing` can be used to improve rendering of the contours. 
-
-```postgresql
-DROP INDEX IF EXISTS aster_dem_gix;
-CREATE INDEX CONCURRENTLY IF NOT EXISTS aster_dem_gix ON aster_dem USING SPGIST(wkb_geometry);
-```
-
-Finally, to preview the map in the browser, run the tile server with the following command. 
-Your changes to the configuration files will be automatically reloaded by the browser.
-
-```bash
-baremaps map dev \
-  --database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
-  --tileset 'tileset.json' \
-  --style 'style.json'
-```
diff --git a/docs/examples/contour/indexes.sql b/docs/examples/contour/indexes.sql
deleted file mode 100644
index e69de29b..00000000
diff --git a/docs/examples/contour/liecthenstein-aster-dem-v2-3857.tif b/docs/examples/contour/liecthenstein-aster-dem-v2-3857.tif
deleted file mode 100644
index 93f78b72..00000000
Binary files a/docs/examples/contour/liecthenstein-aster-dem-v2-3857.tif and /dev/null differ
diff --git a/docs/examples/contour/liecthenstein-aster-dem-v2.tif b/docs/examples/contour/liecthenstein-aster-dem-v2.tif
deleted file mode 100644
index e9e705cd..00000000
Binary files a/docs/examples/contour/liecthenstein-aster-dem-v2.tif and /dev/null differ
diff --git a/docs/examples/contour/style.json b/docs/examples/contour/style.json
deleted file mode 100644
index 16047415..00000000
--- a/docs/examples/contour/style.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "version" : 8,
-  "sources" : {
-    "baremaps" : {
-      "type" : "vector",
-      "url" : "http://localhost:9000/tiles.json"
-    }
-  },
-  "layers" : [ {
-    "id" : "background",
-    "type" : "background",
-    "maxzoom" : 24,
-    "paint" : {
-      "background-color" : "rgba(255, 255, 255, 1)"
-    }
-  }, {
-    "id" : "aster_dem",
-    "type" : "line",
-    "source" : "baremaps",
-    "source-layer" : "aster_dem",
-    "layout" : {
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-color" : "rgba(181, 169, 152, 1)"
-    }
-  } ],
-  "center" : [ 9.5554, 47.166 ],
-  "zoom" : 14
-}
\ No newline at end of file
diff --git a/docs/examples/contour/tileset.json b/docs/examples/contour/tileset.json
deleted file mode 100644
index 7999eb55..00000000
--- a/docs/examples/contour/tileset.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-  "tilejson": "2.1.0",
-  "center": [
-    9.5554,
-    47.166,
-    14.0
-  ],
-  "bounds": [
-    9.471078,
-    47.04774,
-    9.636217,
-    47.27128
-  ],
-  "tiles": [
-    "http://localhost:9000/tiles/{z}/{x}/{y}.mvt"
-  ],
-  "vector_layers": [
-    {
-      "id": "aster_dem",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 20,
-          "sql": "SELECT ogc_fid, jsonb_build_object('elevation', elevation::text), wkb_geometry FROM aster_dem"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/extrusion/index.md b/docs/examples/extrusion/index.md
deleted file mode 100644
index 29931616..00000000
--- a/docs/examples/extrusion/index.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: default 
-title: Extrusion Example
----
-
-# Extrusion Example
-
-This example builds upon the [OpenStreetMap example](https://www.baremaps.com/examples/openstreetmap/) and shows how 3d
-buildings can be extruded with Maplibre. First, start by downloading the OSM data for London in the current directory.
-
-To import London data in the database.
-
-```
-baremaps workflow execute --file workflow.json
-```
-
-In the [tileset.json](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/extrusion/tileset.json)
-file, notice the SQL query associated with the building layer. Here, the number of levels stored in OSM is multiplied by
-3, which rawly corresponds to the height of a level in meters.
-
-```sql
-SELECT id,
-       tags || jsonb_build_object('building:height', (CASE
-                                                          WHEN tags ->> 'building:levels' ~ '^[0-9\\.]+$'
-                                                              THEN tags ->> 'building:levels'
-                                                          ELSE '1' END)::real * 3),
-       geom
-FROM osm_ways
-WHERE tags ? 'building'
-```
-
-This property is then used in
-the [style.json](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/extrusion/style.json) file to
-extrude the buildings.
-
-```json
-{
-  ...
-  "layers": [
-    {
-      "id": "building",
-      "type": "fill-extrusion",
-      "source": "baremaps",
-      "source-layer": "building",
-      "paint": {
-        "fill-extrusion-color": "rgb(152, 174, 221)",
-        "fill-extrusion-height": [
-          "get",
-          "building:height"
-        ],
-        "fill-extrusion-base": 0,
-        "fill-extrusion-opacity": 0.9
-      }
-    }
-  ],
-  ...
-}
-```
-
-To preview this example, start the tile viewer. Here, the cache directive is
-a [caffeine specification](https://www.javadoc.io/doc/com.github.ben-manes.caffeine/caffeine/2.2.2/com/github/benmanes/caffeine/cache/CaffeineSpec.html)
-for a 100MB tile cache.
-
-```shell
-baremaps map dev \
-  --database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
-  --tileset 'tileset.json' \
-  --style 'style.json'
-```
-
-Well done, a map of London with extruded buildings should now appear in your [browser](http://localhost:9000/)!
-
-![Tile viewer](screenshot.png)
-
diff --git a/docs/examples/extrusion/indexes.sql b/docs/examples/extrusion/indexes.sql
deleted file mode 100644
index 6990e7b6..00000000
--- a/docs/examples/extrusion/indexes.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_ways_gin ON osm_ways USING gin (nodes);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_relations_gin ON osm_relations USING gin (member_refs);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_nodes_gix ON osm_nodes USING GIST (geom);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_ways_gix ON osm_ways USING GIST (geom);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_relations_gix ON osm_relations USING GIST (geom);
\ No newline at end of file
diff --git a/docs/examples/extrusion/screenshot.png b/docs/examples/extrusion/screenshot.png
deleted file mode 100644
index f95080ac..00000000
Binary files a/docs/examples/extrusion/screenshot.png and /dev/null differ
diff --git a/docs/examples/extrusion/style.json b/docs/examples/extrusion/style.json
deleted file mode 100644
index 2189120c..00000000
--- a/docs/examples/extrusion/style.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "version": 8,
-  "center": [
-    0.1278,
-    51.5074
-  ],
-  "zoom": 14,
-  "sources": {
-    "baremaps": {
-      "type": "vector",
-      "url": "http://localhost:9000/tiles.json"
-    }
-  },
-  "layers": [
-    {
-      "id": "building",
-      "type": "fill-extrusion",
-      "source": "baremaps",
-      "source-layer": "building",
-      "paint": {
-        "fill-extrusion-color": "rgb(152, 174, 221)",
-        "fill-extrusion-height": [
-          "get",
-          "building:height"
-        ],
-        "fill-extrusion-base": 0,
-        "fill-extrusion-opacity": 0.9
-      }
-    }
-  ]
-}
\ No newline at end of file
diff --git a/docs/examples/extrusion/tileset.json b/docs/examples/extrusion/tileset.json
deleted file mode 100644
index e5a4695d..00000000
--- a/docs/examples/extrusion/tileset.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "tilejson": "2.2.0",
-  "center": [
-    0.1278,
-    51.5074,
-    14.0
-  ],
-  "bounds": [
-    -0.511482,
-    51.28554,
-    0.335437,
-    51.69344
-  ],
-  "minzoom": 12.0,
-  "maxzoom": 14.0,
-  "tiles": [
-    "http://localhost:9000/tiles/{z}/{x}/{y}.mvt"
-  ],
-  "vector_layers": [
-    {
-      "id": "building",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags || jsonb_build_object('building:height', (CASE WHEN tags ->> 'building:levels' ~ '^[0-9\\\\.]+$' THEN tags ->> 'building:levels' ELSE '1' END)::real * 3), geom FROM osm_ways WHERE tags ? 'building'"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/extrusion/workflow.json b/docs/examples/extrusion/workflow.json
deleted file mode 100644
index de11af58..00000000
--- a/docs/examples/extrusion/workflow.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "steps": [
-    {
-      "id": "download",
-      "needs": [],
-      "tasks": [
-        {
-          "type": "DownloadUrl",
-          "url": "https://download.geofabrik.de/europe/great-britain/england/greater-london-latest.osm.pbf",
-          "path": "greater-london-latest.osm.pbf"
-        }
-      ]
-    },
-    {
-      "id": "import",
-      "needs": [
-        "download"
-      ],
-      "tasks": [
-        {
-          "type": "ImportOpenStreetMap",
-          "file": "greater-london-latest.osm.pbf",
-          "database": "jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps",
-          "databaseSrid": 3857
-        }
-      ]
-    },
-    {
-      "id": "index",
-      "needs": [
-        "import"
-      ],
-      "tasks": [
-        {
-          "type": "ExecuteSql",
-          "file": "indexes.sql",
-          "database": "jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/geoadmin/index.md b/docs/examples/geoadmin/index.md
deleted file mode 100644
index c20f6b59..00000000
--- a/docs/examples/geoadmin/index.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: default
-title: Geoadmin Noise Exposure in Vector Tiles
----
-
-# Geoadmin noise exposure in vector tiles
-
-The Federal Office for the Environment (FOEN) provides a GeoTiff describing the [traffic noise levels](https://www.bafu.admin.ch/bafu/de/home/zustand/daten/geodaten/laerm--geodaten.html) in Switzerland.
-Download an uncompress the archive that contains the GeoTiff.
-
-If needed, you can now reproject the geotiff in the desired projection before importing it in the database.
-Start by reprojecting the geotiff (EPSG:2056) from LV95 to WebMercator (EPSG:3857)
-
-```
-gdalwarp -rc \
-  -s_srs epsg:2056 -t_srs epsg:3857 \
-  -dstnodata 0 -of GTiff -co tiled=yes \
-  StrassenLaerm_Tag_LV95.tif \
-  StrassenLaerm_Tag_LV95-3857.tif
-```
-
-You can now import any GeoTiff DEM as contours in postgis.
-Here, the `-nln` argument name the table that contains the data,
-the `-a` argument name the column that contains the elevation,
-the `-i` argument specifies the interval in meters at which contours are generated.
-
-```
-gdal_polygonize.py \
-  StrassenLaerm_Tag_LV95-3857.tif \
-  -f PostgreSQL \
-  "PG:host=localhost user=baremaps password=baremaps dbname=baremaps" \
-  geoadmin_traffic_noise_day
-```
-
-The following index can now be created to improve performances.
-When available, a smoothing function such as `ST_ChaikinSmoothing` can be used to improve rendering.
-
-```postgresql
-DROP INDEX IF EXISTS geoadmin_traffic_noise_day_gix;
-CREATE INDEX CONCURRENTLY IF NOT EXISTS geoadmin_traffic_noise_day_gix ON geoadmin_traffic_noise_day USING SPGIST(wkb_geometry);
-```
-
-To preview and edit the map in the browser, run the tile server with the following command:
-
-```bash
-baremaps map dev \
-  --database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
-  --config 'tileset.json' \
-  --style 'style.json'
-```
diff --git a/docs/examples/geoadmin/style.json b/docs/examples/geoadmin/style.json
deleted file mode 100644
index af13470d..00000000
--- a/docs/examples/geoadmin/style.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "version" : 8,
-  "sources" : {
-    "baremaps" : {
-      "type" : "vector",
-      "url" : "http://localhost:9000/tiles.json"
-    }
-  },
-  "layers" : [ {
-    "id" : "background",
-    "type" : "background",
-    "maxzoom" : 24,
-    "paint" : {
-      "background-color" : "rgba(255, 255, 255, 1)"
-    }
-  }, {
-    "id" : "geoadmin_traffic_noise_day",
-    "type" : "line",
-    "source" : "baremaps",
-    "source-layer" : "geoadmin_traffic_noise_day",
-    "layout" : {
-      "line-cap" : "round",
-      "line-join" : "round"
-    },
-    "paint" : {
-      "line-color" : "rgba(181, 169, 152, 1)"
-    }
-  } ],
-  "center" : [ 9.5554, 47.166 ],
-  "zoom" : 14
-}
\ No newline at end of file
diff --git a/docs/examples/geoadmin/tileset.json b/docs/examples/geoadmin/tileset.json
deleted file mode 100644
index 167cff11..00000000
--- a/docs/examples/geoadmin/tileset.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-  "tilejson": "2.1.0",
-  "center": [
-    6.5743,
-    46.5189,
-    14.0
-  ],
-  "bounds": [
-    9.471078,
-    47.04774,
-    9.636217,
-    47.27128
-  ],
-  "tiles": [
-    "http://localhost:9000/tiles/{z}/{x}/{y}.mvt"
-  ],
-  "vector_layers": [
-    {
-      "id": "geoadmin_traffic_noise_day",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 20,
-          "sql": "SELECT ogc_fid, ('{level:' || dn::text || '}') as tags, wkb_geometry as geom FROM geoadmin_traffic_noise_day"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/geoadmin/tileset.yaml b/docs/examples/geoadmin/tileset.yaml
deleted file mode 100644
index b21d19c8..00000000
--- a/docs/examples/geoadmin/tileset.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-id: 'contour'
-center:
-  lon: 6.5743
-  lat: 46.5189
-  zoom: 14
-bounds:
-  minLon: 5.8358
-  minLat: 45.6591
-  maxLon: 10.9794
-  maxLat: 47.8700
-  minZoom: 10
-  maxZoom: 20
-layers:
-  - id: 'geoadmin_traffic_noise_day'
-    type: 'geometry'
-    queries:
-      - minZoom: 12
-        maxZoom: 20
-        sql: SELECT ogc_fid, ('{level:' || dn::text || '}') as tags, wkb_geometry as geom FROM geoadmin_traffic_noise_day
diff --git a/docs/examples/index.md b/docs/examples/index.md
deleted file mode 100644
index 771bd8f6..00000000
--- a/docs/examples/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: default
-title: Examples
-permalink: /examples/
----
-
-# Examples
-
-Several examples illustrate how to import datasets in postgis in order to produce vector tiles:
-- The [OpenStreetMap](/examples/openstreetmap/) example is a good introduction to Baremaps, it shows how to produce high resolution vector tiles.
-- The [Extrusion](/examples/openstreetmap/) builds upon the OpenStreetMap example and shows how to extrude buildings.
-- The [NaturalEarth](/examples/naturalearth/) example shows how to produce low resolution vector tiles.
-- The [Contour](/examples/contour/) example shows how to produce contour lines from a digital elevation model.
-
-The [OpenStreetMap Vecto](/stylesheet/) repository shows how to build a more advanced configuration and stylesheet for Baremaps.
\ No newline at end of file
diff --git a/docs/examples/naturalearth/index.md b/docs/examples/naturalearth/index.md
deleted file mode 100644
index cd33cb55..00000000
--- a/docs/examples/naturalearth/index.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: default
-title: NaturalEarth Example
----
-
-# NaturalEarth Example
-
-[Natural Earth](https://www.naturalearthdata.com/) is a public domain map dataset available at 1:10m, 1:50m, and 1:110 million scales.
-This example shows how to create vector tiles from the Natural Earth dataset.
-
-The first step consists in downloading the Natural Earth data, decompressing it, and importing it in the database. 
-The following workflow will allow you to achieve this result.
-
-```
-baremaps workflow execute --file workflow.json
-```
-
-To preview and edit the map in the browser, run the tile server with the following command:
-
-```
-baremaps map dev \
-  --database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
-  --tileset 'tileset.json' \
-  --style 'style.json'
-```
-
-## Working with shapefiles
-
-The NaturalEarth dataset is also distributed in the [shapefile format](https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries.zip).
-As demonstrated in the following command, shapefiles can easily be imported in postgis with `ogr2ogr`.
-Here, notice that the data is reprojected in WebMercator (EPSG:3857) to improve performance at query time.
-
-```
-ogr2ogr \
-  -f "PostgreSQL" "PG:host=localhost user=baremaps dbname=baremaps password=baremaps" \
-  "ne_10m_admin_0_countries.shp" \
-  -lco GEOMETRY_NAME=geom \
-  -lco FID=gid \
-  -lco PRECISION=no \
-  -nlt PROMOTE_TO_MULTI \
-  -nln ne_10m_admin_0_countries \
-  -s_srs EPSG:4326 \
-  -t_srs EPSG:3857 \
-  --config OGR_ENABLE_PARTIAL_REPROJECTION TRUE \
-  -overwrite
-```
diff --git a/docs/examples/naturalearth/indexes.sql b/docs/examples/naturalearth/indexes.sql
deleted file mode 100644
index 109077c7..00000000
--- a/docs/examples/naturalearth/indexes.sql
+++ /dev/null
@@ -1,135 +0,0 @@
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_antarctic_claim_limit_lines_gix ON ne_10m_admin_0_antarctic_claim_limit_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_antarctic_claims_gix ON ne_10m_admin_0_antarctic_claims USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_boundary_lines_disputed_areas_gix ON ne_10m_admin_0_boundary_lines_disputed_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_boundary_lines_land_gix ON ne_10m_admin_0_boundary_lines_land USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_boundary_lines_map_units_gix ON ne_10m_admin_0_boundary_lines_map_units USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_boundary_lines_maritime_indicator_gix ON ne_10m_admin_0_boundary_lines_maritime_indicator USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_countries_gix ON ne_10m_admin_0_countries USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_countries_lakes_gix ON ne_10m_admin_0_countries_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_disputed_areas_gix ON ne_10m_admin_0_disputed_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_disputed_areas_scale_rank_minor_islands_gix ON ne_10m_admin_0_disputed_areas_scale_rank_minor_islands USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_label_points_gix ON ne_10m_admin_0_label_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_map_subunits_gix ON ne_10m_admin_0_map_subunits USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_map_units_gix ON ne_10m_admin_0_map_units USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_pacific_groupings_gix ON ne_10m_admin_0_pacific_groupings USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_scale_rank_gix ON ne_10m_admin_0_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_scale_rank_minor_islands_gix ON ne_10m_admin_0_scale_rank_minor_islands USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_seams_gix ON ne_10m_admin_0_seams USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_0_sovereignty_gix ON ne_10m_admin_0_sovereignty USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_label_points_details_gix ON ne_10m_admin_1_label_points_details USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_label_points_gix ON ne_10m_admin_1_label_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_seams_gix ON ne_10m_admin_1_seams USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_gix ON ne_10m_admin_1_states_provinces USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_lakes_gix ON ne_10m_admin_1_states_provinces_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_lines_gix ON ne_10m_admin_1_states_provinces_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_scale_rank_gix ON ne_10m_admin_1_states_provinces_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_admin_1_states_provinces_scale_rank_minor_islands_gix ON ne_10m_admin_1_states_provinces_scale_rank_minor_islands USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_airports_gix ON ne_10m_airports USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_antarctic_ice_shelves_lines_gix ON ne_10m_antarctic_ice_shelves_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_antarctic_ice_shelves_polys_gix ON ne_10m_antarctic_ice_shelves_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_coastline_gix ON ne_10m_coastline USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_geographic_lines_gix ON ne_10m_geographic_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_geography_marine_polys_gix ON ne_10m_geography_marine_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_geography_regions_elevation_points_gix ON ne_10m_geography_regions_elevation_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_geography_regions_points_gix ON ne_10m_geography_regions_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_geography_regions_polys_gix ON ne_10m_geography_regions_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_glaciated_areas_gix ON ne_10m_glaciated_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_lakes_europe_gix ON ne_10m_lakes_europe USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_lakes_gix ON ne_10m_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_lakes_historic_gix ON ne_10m_lakes_historic USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_lakes_north_america_gix ON ne_10m_lakes_north_america USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_lakes_pluvial_gix ON ne_10m_lakes_pluvial USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_land_gix ON ne_10m_land USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_land_ocean_label_points_gix ON ne_10m_land_ocean_label_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_land_ocean_seams_gix ON ne_10m_land_ocean_seams USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_land_scale_rank_gix ON ne_10m_land_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_minor_islands_coastline_gix ON ne_10m_minor_islands_coastline USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_minor_islands_gix ON ne_10m_minor_islands USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_minor_islands_label_points_gix ON ne_10m_minor_islands_label_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_ocean_gix ON ne_10m_ocean USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_ocean_scale_rank_gix ON ne_10m_ocean_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_parks_and_protected_lands_area_gix ON ne_10m_parks_and_protected_lands_area USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_parks_and_protected_lands_line_gix ON ne_10m_parks_and_protected_lands_line USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_parks_and_protected_lands_point_gix ON ne_10m_parks_and_protected_lands_point USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_parks_and_protected_lands_scale_rank_gix ON ne_10m_parks_and_protected_lands_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_playas_gix ON ne_10m_playas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_populated_places_gix ON ne_10m_populated_places USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_populated_places_simple_gix ON ne_10m_populated_places_simple USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_ports_gix ON ne_10m_ports USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_railroads_gix ON ne_10m_railroads USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_railroads_north_america_gix ON ne_10m_railroads_north_america USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_reefs_gix ON ne_10m_reefs USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_rivers_europe_gix ON ne_10m_rivers_europe USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_gix ON ne_10m_rivers_lake_centerlines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_rivers_lake_centerlines_scale_rank_gix ON ne_10m_rivers_lake_centerlines_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_rivers_north_america_gix ON ne_10m_rivers_north_america USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_roads_gix ON ne_10m_roads USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_roads_north_america_gix ON ne_10m_roads_north_america USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_time_zones_gix ON ne_10m_time_zones USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_urban_areas_gix ON ne_10m_urban_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_10m_urban_areas_landscan_gix ON ne_10m_urban_areas_landscan USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_boundary_lines_land_gix ON ne_110m_admin_0_boundary_lines_land USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_countries_gix ON ne_110m_admin_0_countries USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_countries_lakes_gix ON ne_110m_admin_0_countries_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_map_units_gix ON ne_110m_admin_0_map_units USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_pacific_groupings_gix ON ne_110m_admin_0_pacific_groupings USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_scale_rank_gix ON ne_110m_admin_0_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_sovereignty_gix ON ne_110m_admin_0_sovereignty USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_0_tiny_countries_gix ON ne_110m_admin_0_tiny_countries USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_1_states_provinces_gix ON ne_110m_admin_1_states_provinces USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_1_states_provinces_lakes_gix ON ne_110m_admin_1_states_provinces_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_1_states_provinces_lines_gix ON ne_110m_admin_1_states_provinces_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_admin_1_states_provinces_scale_rank_gix ON ne_110m_admin_1_states_provinces_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_coastline_gix ON ne_110m_coastline USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_geographic_lines_gix ON ne_110m_geographic_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_geography_marine_polys_gix ON ne_110m_geography_marine_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_geography_regions_elevation_points_gix ON ne_110m_geography_regions_elevation_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_geography_regions_points_gix ON ne_110m_geography_regions_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_geography_regions_polys_gix ON ne_110m_geography_regions_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_glaciated_areas_gix ON ne_110m_glaciated_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_lakes_gix ON ne_110m_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_land_gix ON ne_110m_land USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_ocean_gix ON ne_110m_ocean USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_populated_places_gix ON ne_110m_populated_places USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_populated_places_simple_gix ON ne_110m_populated_places_simple USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_110m_rivers_lake_centerlines_gix ON ne_110m_rivers_lake_centerlines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_lines_disputed_areas_gix ON ne_50m_admin_0_boundary_lines_disputed_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_lines_land_gix ON ne_50m_admin_0_boundary_lines_land USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_lines_maritime_indicator_gix ON ne_50m_admin_0_boundary_lines_maritime_indicator USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_boundary_map_units_gix ON ne_50m_admin_0_boundary_map_units USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_breakaway_disputed_areas_gix ON ne_50m_admin_0_breakaway_disputed_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_breakaway_disputed_areas_scale_rank_gix ON ne_50m_admin_0_breakaway_disputed_areas_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_countries_gix ON ne_50m_admin_0_countries USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_countries_lakes_gix ON ne_50m_admin_0_countries_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_map_subunits_gix ON ne_50m_admin_0_map_subunits USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_map_units_gix ON ne_50m_admin_0_map_units USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_pacific_groupings_gix ON ne_50m_admin_0_pacific_groupings USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_scale_rank_gix ON ne_50m_admin_0_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_sovereignty_gix ON ne_50m_admin_0_sovereignty USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_tiny_countries_gix ON ne_50m_admin_0_tiny_countries USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_0_tiny_countries_scale_rank_gix ON ne_50m_admin_0_tiny_countries_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_1_states_provinces_gix ON ne_50m_admin_1_states_provinces USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_1_states_provinces_lakes_gix ON ne_50m_admin_1_states_provinces_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_1_states_provinces_lines_gix ON ne_50m_admin_1_states_provinces_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_admin_1_states_provinces_scale_rank_gix ON ne_50m_admin_1_states_provinces_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_airports_gix ON ne_50m_airports USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_lines_gix ON ne_50m_antarctic_ice_shelves_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_antarctic_ice_shelves_polys_gix ON ne_50m_antarctic_ice_shelves_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_coastline_gix ON ne_50m_coastline USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_geographic_lines_gix ON ne_50m_geographic_lines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_geography_marine_polys_gix ON ne_50m_geography_marine_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_geography_regions_elevation_points_gix ON ne_50m_geography_regions_elevation_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_geography_regions_points_gix ON ne_50m_geography_regions_points USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_geography_regions_polys_gix ON ne_50m_geography_regions_polys USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_glaciated_areas_gix ON ne_50m_glaciated_areas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_lakes_gix ON ne_50m_lakes USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_lakes_historic_gix ON ne_50m_lakes_historic USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_land_gix ON ne_50m_land USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_ocean_gix ON ne_50m_ocean USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_playas_gix ON ne_50m_playas USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_populated_places_gix ON ne_50m_populated_places USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_populated_places_simple_gix ON ne_50m_populated_places_simple USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_ports_gix ON ne_50m_ports USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_rivers_lake_centerlines_gix ON ne_50m_rivers_lake_centerlines USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_rivers_lake_centerlines_scale_rank_gix ON ne_50m_rivers_lake_centerlines_scale_rank USING SPGIST(geom);
-CREATE INDEX IF NOT EXISTS ne_50m_urban_areas_gix ON ne_50m_urban_areas USING SPGIST(geom);
diff --git a/docs/examples/naturalearth/style.json b/docs/examples/naturalearth/style.json
deleted file mode 100644
index 2fa41fd3..00000000
--- a/docs/examples/naturalearth/style.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-  "version" : 8,
-  "sources" : {
-    "baremaps" : {
-      "type" : "vector",
-      "url" : "http://localhost:9000/tiles.json"
-    }
-  },
-  "layers" : [ {
-    "id" : "ne_50m_admin_0_countries",
-    "type" : "fill",
-    "source" : "baremaps",
-    "source-layer" : "ne_50m_admin_0_countries",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgba(125, 105, 105, 1)",
-      "fill-outline-color" : "rgba(0, 0, 0, 1)"
-    }
-  }, {
-    "id" : "ne_10m_admin_0_countries",
-    "type" : "fill",
-    "source" : "baremaps",
-    "source-layer" : "ne_10m_admin_0_countries",
-    "paint" : {
-      "fill-color" : "rgba(125, 105, 105, 1)",
-      "fill-outline-color" : "rgba(0, 0, 0, 1)"
-    }
-  } ],
-  "center" : [ 0, 0 ],
-  "zoom" : 4
-}
\ No newline at end of file
diff --git a/docs/examples/naturalearth/tileset.json b/docs/examples/naturalearth/tileset.json
deleted file mode 100644
index 76164595..00000000
--- a/docs/examples/naturalearth/tileset.json
+++ /dev/null
@@ -1,1360 +0,0 @@
-{
-  "tilejson": "2.2.0",
-  "minzoom": 0,
-  "maxzoom": 12,
-  "tiles": [
-    "http://localhost:9000/tiles/{z}/{x}/{y}.mvt"
-  ],
-  "vector_layers": [
-    {
-      "id": "ne_110m_admin_0_boundary_lines_land",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_boundary_lines_land AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_countries",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_countries AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_countries_lakes",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_countries_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_map_units",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_map_units AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_pacific_groupings",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_pacific_groupings AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_scale_rank",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_sovereignty",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_sovereignty AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_0_tiny_countries",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_0_tiny_countries AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_1_states_provinces",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_1_states_provinces AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_1_states_provinces_lakes",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_1_states_provinces_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_1_states_provinces_lines",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_1_states_provinces_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_admin_1_states_provinces_scale_rank",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_admin_1_states_provinces_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_coastline",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_coastline AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_geographic_lines",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_geographic_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_geography_marine_polys",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_geography_marine_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_geography_regions_elevation_points",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_geography_regions_elevation_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_geography_regions_points",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_geography_regions_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_geography_regions_polys",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_geography_regions_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_glaciated_areas",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_glaciated_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_lakes",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_land",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_land AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_ocean",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_ocean AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_populated_places",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_populated_places AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_populated_places_simple",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_populated_places_simple AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_110m_rivers_lake_centerlines",
-      "queries": [
-        {
-          "minzoom": 0,
-          "maxzoom": 2,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_110m_rivers_lake_centerlines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_boundary_lines_disputed_areas",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_boundary_lines_disputed_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_boundary_lines_land",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_boundary_lines_land AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_boundary_lines_maritime_indicator",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_boundary_lines_maritime_indicator AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_boundary_map_units",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_boundary_map_units AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_breakaway_disputed_areas",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_breakaway_disputed_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_breakaway_disputed_areas_scale_rank",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_breakaway_disputed_areas_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_countries",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_countries AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_countries_lakes",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_countries_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_map_subunits",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_map_subunits AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_map_units",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_map_units AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_pacific_groupings",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_pacific_groupings AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_scale_rank",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_sovereignty",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_sovereignty AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_tiny_countries",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_tiny_countries AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_0_tiny_countries_scale_rank",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_0_tiny_countries_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_1_states_provinces",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_1_states_provinces AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_1_states_provinces_lakes",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_1_states_provinces_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_1_states_provinces_lines",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_1_states_provinces_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_admin_1_states_provinces_scale_rank",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_admin_1_states_provinces_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_airports",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_airports AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_antarctic_ice_shelves_lines",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_antarctic_ice_shelves_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_antarctic_ice_shelves_polys",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_antarctic_ice_shelves_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_coastline",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_coastline AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_geographic_lines",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_geographic_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_geography_marine_polys",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_geography_marine_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_geography_regions_elevation_points",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_geography_regions_elevation_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_geography_regions_points",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_geography_regions_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_geography_regions_polys",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_geography_regions_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_glaciated_areas",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_glaciated_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_lakes",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_lakes_historic",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_lakes_historic AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_land",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_land AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_ocean",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_ocean AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_playas",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_playas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_populated_places",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_populated_places AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_populated_places_simple",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_populated_places_simple AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_ports",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_ports AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_rivers_lake_centerlines",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_rivers_lake_centerlines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_rivers_lake_centerlines_scale_rank",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_rivers_lake_centerlines_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_50m_urban_areas",
-      "queries": [
-        {
-          "minzoom": 2,
-          "maxzoom": 5,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_50m_urban_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_antarctic_claim_limit_lines",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_antarctic_claim_limit_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_antarctic_claims",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_antarctic_claims AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_boundary_lines_disputed_areas",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_boundary_lines_disputed_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_boundary_lines_land",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_boundary_lines_land AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_boundary_lines_map_units",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_boundary_lines_map_units AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_boundary_lines_maritime_indicator",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_boundary_lines_maritime_indicator AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_countries",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_countries AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_countries_lakes",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_countries_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_disputed_areas",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_disputed_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_disputed_areas_scale_rank_minor_islands",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_disputed_areas_scale_rank_minor_islands AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_label_points",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_label_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_map_subunits",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_map_subunits AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_map_units",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_map_units AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_pacific_groupings",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_pacific_groupings AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_scale_rank",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_scale_rank_minor_islands",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_scale_rank_minor_islands AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_seams",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_seams AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_0_sovereignty",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_0_sovereignty AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_label_points",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_label_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_label_points_details",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_label_points_details AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_seams",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_seams AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_states_provinces",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_states_provinces AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_states_provinces_lakes",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_states_provinces_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_states_provinces_lines",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_states_provinces_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_states_provinces_scale_rank",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_states_provinces_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_admin_1_states_provinces_scale_rank_minor_islands",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_admin_1_states_provinces_scale_rank_minor_islands AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_airports",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_airports AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_antarctic_ice_shelves_lines",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_antarctic_ice_shelves_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_antarctic_ice_shelves_polys",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_antarctic_ice_shelves_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_coastline",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_coastline AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_geographic_lines",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_geographic_lines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_geography_marine_polys",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_geography_marine_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_geography_regions_elevation_points",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_geography_regions_elevation_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_geography_regions_points",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_geography_regions_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_geography_regions_polys",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_geography_regions_polys AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_glaciated_areas",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_glaciated_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_lakes",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_lakes AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_lakes_europe",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_lakes_europe AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_lakes_historic",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_lakes_historic AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_lakes_north_america",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_lakes_north_america AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_lakes_pluvial",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_lakes_pluvial AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_land",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_land AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_land_ocean_label_points",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_land_ocean_label_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_land_ocean_seams",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_land_ocean_seams AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_land_scale_rank",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_land_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_minor_islands",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_minor_islands AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_minor_islands_coastline",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_minor_islands_coastline AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_minor_islands_label_points",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_minor_islands_label_points AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_ocean",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_ocean AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_ocean_scale_rank",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_ocean_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_parks_and_protected_lands_area",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_parks_and_protected_lands_area AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_parks_and_protected_lands_line",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_parks_and_protected_lands_line AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_parks_and_protected_lands_point",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_parks_and_protected_lands_point AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_parks_and_protected_lands_scale_rank",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_parks_and_protected_lands_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_playas",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_playas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_populated_places",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_populated_places AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_populated_places_simple",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_populated_places_simple AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_ports",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_ports AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_railroads",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_railroads AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_railroads_north_america",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_railroads_north_america AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_reefs",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_reefs AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_rivers_europe",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_rivers_europe AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_rivers_lake_centerlines",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_rivers_lake_centerlines AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_rivers_lake_centerlines_scale_rank",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_rivers_lake_centerlines_scale_rank AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_rivers_north_america",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_rivers_north_america AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_roads",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_roads AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_roads_north_america",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_roads_north_america AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_time_zones",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_time_zones AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_urban_areas",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_urban_areas AS t"
-        }
-      ]
-    },
-    {
-      "id": "ne_10m_urban_areas_landscan",
-      "queries": [
-        {
-          "minzoom": 5,
-          "maxzoom": 12,
-          "sql": "SELECT fid as id, '{}'::jsonb as tags, geom FROM ne_10m_urban_areas_landscan AS t"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/naturalearth/workflow.json b/docs/examples/naturalearth/workflow.json
deleted file mode 100644
index bd9d6444..00000000
--- a/docs/examples/naturalearth/workflow.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-  "steps": [
-    {
-      "id": "natural_earth_vector",
-      "needs": [],
-      "tasks": [
-        {
-          "type": "DownloadUrl",
-          "url": "https://naciscdn.org/naturalearth/packages/natural_earth_vector.gpkg.zip",
-          "path": "natural_earth_vector.gpkg.zip"
-        },
-        {
-          "type": "UnzipFile",
-          "file": "natural_earth_vector.gpkg.zip",
-          "directory": "natural_earth_vector"
-        },
-        {
-          "type": "ImportGeoPackage",
-          "file": "natural_earth_vector/packages/natural_earth_vector.gpkg",
-          "database": "jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps",
-          "sourceSRID": 4326,
-          "targetSRID": 3857
-        },
-        {
-          "type": "ExecuteSql",
-          "file": "indexes.sql",
-          "database": "jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/openstreetmap/database.png b/docs/examples/openstreetmap/database.png
deleted file mode 100644
index cf7e2852..00000000
Binary files a/docs/examples/openstreetmap/database.png and /dev/null differ
diff --git a/docs/examples/openstreetmap/index.md b/docs/examples/openstreetmap/index.md
deleted file mode 100644
index 630cadba..00000000
--- a/docs/examples/openstreetmap/index.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-layout: default
-title: OpenStreetMap Example
----
-
-# OpenStreetMap Example
-
-Baremaps aims at being the most productive toolkit for creating custom vector tiles from OpenStreetMap data.
-
-In this tutorial, we'll learn how to use Baremaps to import OpenStreetMap data in a Postgis database and how to create vector tiles from this data.
-Notice that the following steps assume that Baremaps and Postgis are [installed](https://www.baremaps.com/installation/).
-Also, if you are in a hurry, consider skipping the "Under the Hood" sections.
-
-## Dataset
-
-OpenStreetMap (OSM) is a free and editable map of the world.
-It is maintained by a community of passionate volunteers in a way which is similar to Wikipedia.
-Every week, OpenStreetMap publishes a [full dump](https://planet.openstreetmap.org/) of its data in two flavours: a large XML file of about 90GB and a more compact binary file of about 50GB in the  [Protocol Buffer Format](https://developers.google.com/protocol-buffers) (PBF).
-As processing such large files can take several hours, [Geofabrik](http://www.geofabrik.de/data/download.html) regularly publishes smaller extracts of OSM for specific regions.
-In this example we will use a tiny extract of OSM for [Liechtenstein](https://en.wikipedia.org/wiki/Liechtenstein), which is suitable for fast experiments.
-
-## Importing OpenStreetMap Data
-
-A workflow is a directed acyclic graph of steps executed by Baremaps. 
-To download and import the sample OSM data in Postgres, execute the following [workflow](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/openstreetmap/workflow.json). 
-
-```
-baremaps workflow execute --file workflow.json
-```
-
-Depending on the size of the OpenStreetMap file, the execution of this command may take some time.
-Eventually, the output produced by the command should look as follows.
-
-```
-[INFO ] 2022-07-26 09:47:40.906 [main] Workflow - Executing workflow workflow.json
-[INFO ] 2022-07-26 09:47:41.208 [pool-2-thread-1] DownloadUrl - Downloading https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf to liechtenstein-latest.osm.pbf
-[INFO ] 2022-07-26 09:48:14.496 [pool-2-thread-1] DownloadUrl - Finished downloading https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf to liechtenstein-latest.osm.pbf
-[INFO ] 2022-07-26 09:48:14.497 [pool-2-thread-2] ImportOpenStreetMap - Importing liechtenstein-latest.osm.pbf into jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps
-[INFO ] 2022-07-26 09:48:14.504 [pool-2-thread-2] HikariDataSource - HikariPool-1 - Starting...
-[INFO ] 2022-07-26 09:48:14.669 [pool-2-thread-2] HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@13d835e3
-[INFO ] 2022-07-26 09:48:14.671 [pool-2-thread-2] HikariDataSource - HikariPool-1 - Start completed.
-[INFO ] 2022-07-26 09:48:19.172 [pool-2-thread-2] ImportOpenStreetMap - Finished importing liechtenstein-latest.osm.pbf into jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps
-[INFO ] 2022-07-26 09:48:19.172 [pool-2-thread-2] HikariDataSource - HikariPool-1 - Shutdown initiated...
-[INFO ] 2022-07-26 09:48:19.177 [pool-2-thread-2] HikariDataSource - HikariPool-1 - Shutdown completed.
-[INFO ] 2022-07-26 09:48:19.178 [pool-2-thread-3] ExecuteSqlFile - Executing indexes.sql into jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps
-[INFO ] 2022-07-26 09:48:19.179 [pool-2-thread-3] HikariDataSource - HikariPool-2 - Starting...
-[INFO ] 2022-07-26 09:48:19.213 [pool-2-thread-3] HikariPool - HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@25c4ab89
-[INFO ] 2022-07-26 09:48:19.213 [pool-2-thread-3] HikariDataSource - HikariPool-2 - Start completed.
-[INFO ] 2022-07-26 09:48:21.365 [pool-2-thread-3] ExecuteSqlFile - Finished executing indexes.sql into jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps
-[INFO ] 2022-07-26 09:48:21.365 [pool-2-thread-3] HikariDataSource - HikariPool-2 - Shutdown initiated...
-[INFO ] 2022-07-26 09:48:21.367 [pool-2-thread-3] HikariDataSource - HikariPool-2 - Shutdown completed.
-[INFO ] 2022-07-26 09:48:21.368 [main] Workflow - Finished executing workflow workflow.json
-```
-
-### Under the Hood (Optional)
-
-What can we learn from this output?
-First, we notice that Baremaps uses a connection pool to parallelize the import procedure.
-Then it imports the OSM data, populating the tables previously created.
-In our case, the input is a file provided by Geofabrik.
-
-OSM's [conceptual model](https://wiki.openstreetmap.org/wiki/Elements) builds upon the notions of nodes, ways and relations.
-In this normalized data model, a line (or way) is formed by a sequence of points (nodes) referenced by their id.
-In order to save denormalized geometries in Postgis (e.g. linestring, polygon, multi-polygon, etc.), Baremaps creates a cache for nodes, ways and relations.
-[LMDB](https://symas.com/lmdb/) is used under the hood to achieve great performance.
-
-After the creation of the cache, Baremaps can populate the database with geometries.
-The geometries are stored in three tables named after the OSM conceptual model: `osm_nodes`, `osm_ways`, and `osm_relations`.
-In order to improve performances at query time, Baremaps also creates indexes for the tags and the geometries.
-The following Figure displays the schema of the Postgis database created by Baremaps.
-
-![Postgis database](database.png)
-
-## Creating Vector Tiles
-
-In order to create vector tiles, Baremaps uses JSON configuration files.
-You can obtain a copy of the [tileset.json](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/openstreetmap/tileset.json) and [style.json](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/openstreetmap/style.json) file in the repository.
-The [tileset.json](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/openstreetmap/tileset.json) is loosely based on the [TileJSON](https://github.com/mapbox/tilejson-spec) specification. 
-It defines general tileset properties and lists layers containing SQL queries to be executed by Postgis.
-The [style.json](https://raw.githubusercontent.com/baremaps/baremaps/main/docs/examples/openstreetmap/style.json) file is a [Maplibre Style](https://maplibre.org/maplibre-gl-js-docs/api/).
-It defines general style and rendering properties. 
-
-Let's preview and edit the map with the sample configuration files by executing the following command in a terminal.
-
-```
-baremaps map dev \
-  --database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
-  --tileset 'tileset.json' \
-  --style 'style.json'
-```
-
-Well done, a local development server should have started. 
-You can now visualize a map of Liechtenstein in your browser ([http://localhost:9000/](http://localhost:9000/))!
-Notice that the changes in the configuration files are automatically reloaded by the browser.
-
-### Under the Hood (Optional)
-
-Baremaps extensively rely on the fantastic [ST_AsMVT](https://postgis.net/docs/ST_AsMVT.html) functions released by the Postgis team to produce [Mapbox Vector Tiles](https://docs.mapbox.com/vector-tiles/specification/).
-However, in the following excerpt of the json configuration file, none of these concepts appear in the SQL queries.
-
-```json
-{
-  ...
-  "vector_layers": [
-    {
-      "id": "aeroway",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'aeroway'"
-        },
-        ...
-      ]
-    },
-  ],
-  ...
-}
-```
-
-Why don't we see these function calls in the configuration?
-Baremaps wants you to focus on the content of the tiles, and relieves you from the burden of writing complex SQL queries.
-In fact, at runtime, Baremaps merges all the queries of the configuration file into a single optimized query that produces vector tiles.
-
-In production, vector tiles are rarely served dynamically. Why is that so?
-First, a large blob store is much cheaper than a relational database to [operate](https://wiki.c2.com/?StorageIsCheap).
-Second, content delivery networks (CDNs) greatly improve web performances by caching static content close to the end user.
-Baremaps has been conceived with these lasting trends in mind.
-The following command produces a local directory containing precomputed static tiles.
-These tiles can be served with Apache, Nginx, or Caddy, but also copied in a blob store behind a content delivery network, such as Cloudflare, Stackpath, or Fastly.
-
-```
-baremaps map export \
-  --database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
-  --tileset 'tileset.json' \
-  --repository 'tiles/'
-```
-
-## Conclusion
-
-In this tutorial, we learnt how to import OpenStreetMap data in Postgis and how to create vector tiles with Baremaps.
-Prior to the release of Baremaps, we believe that creating a pipeline for publishing vector tiles from OpenStreetMap data was a rather time consuming task.
-As shown in this demonstration, Baremaps literally brings back the fun to creating a web mapping pipeline!
diff --git a/docs/examples/openstreetmap/indexes.sql b/docs/examples/openstreetmap/indexes.sql
deleted file mode 100644
index 6990e7b6..00000000
--- a/docs/examples/openstreetmap/indexes.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_ways_gin ON osm_ways USING gin (nodes);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_relations_gin ON osm_relations USING gin (member_refs);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_nodes_gix ON osm_nodes USING GIST (geom);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_ways_gix ON osm_ways USING GIST (geom);
-CREATE INDEX CONCURRENTLY IF NOT EXISTS osm_relations_gix ON osm_relations USING GIST (geom);
\ No newline at end of file
diff --git a/docs/examples/openstreetmap/liechtenstein-latest.osm.pbf b/docs/examples/openstreetmap/liechtenstein-latest.osm.pbf
deleted file mode 100644
index 591fd91d..00000000
Binary files a/docs/examples/openstreetmap/liechtenstein-latest.osm.pbf and /dev/null differ
diff --git a/docs/examples/openstreetmap/screenshot.png b/docs/examples/openstreetmap/screenshot.png
deleted file mode 100644
index 3121c6ed..00000000
Binary files a/docs/examples/openstreetmap/screenshot.png and /dev/null differ
diff --git a/docs/examples/openstreetmap/style.js b/docs/examples/openstreetmap/style.js
deleted file mode 100644
index 127ae1a1..00000000
--- a/docs/examples/openstreetmap/style.js
+++ /dev/null
@@ -1,26 +0,0 @@
-export default {
-  "version" : 8,
-  "sources" : {
-    "baremaps" : {
-      "type" : "vector",
-      "url" : "http://localhost:9000/tiles.json"
-    }
-  },
-  "layers" : [ {
-    "id" : "building",
-    "type" : "fill",
-    "source" : "baremaps",
-    "source-layer" : "building",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgba(255, 0, 0, 1)"
-    }
-  } ],
-  "center" : [ 9.5554, 47.166 ],
-  "metadata" : {
-    "maputnik:renderer" : "mbgljs"
-  },
-  "zoom" : 14
-};
\ No newline at end of file
diff --git a/docs/examples/openstreetmap/style.json b/docs/examples/openstreetmap/style.json
deleted file mode 100644
index f64b679f..00000000
--- a/docs/examples/openstreetmap/style.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "version" : 8,
-  "sources" : {
-    "baremaps" : {
-      "type" : "vector",
-      "url" : "http://localhost:9000/tiles.json"
-    }
-  },
-  "layers" : [ {
-    "id" : "building",
-    "type" : "fill",
-    "source" : "baremaps",
-    "source-layer" : "building",
-    "layout" : {
-      "visibility" : "visible"
-    },
-    "paint" : {
-      "fill-color" : "rgba(255, 0, 0, 1)"
-    }
-  } ],
-  "center" : [ 9.5554, 47.166 ],
-  "metadata" : {
-    "maputnik:renderer" : "mbgljs"
-  },
-  "zoom" : 14
-}
\ No newline at end of file
diff --git a/docs/examples/openstreetmap/tileset.json b/docs/examples/openstreetmap/tileset.json
deleted file mode 100644
index b714ed8a..00000000
--- a/docs/examples/openstreetmap/tileset.json
+++ /dev/null
@@ -1,521 +0,0 @@
-{
-  "tilejson": "2.2.0",
-  "center": [
-    9.5554,
-    47.166,
-    14.0
-  ],
-  "bounds": [
-    9.471078,
-    47.04774,
-    9.636217,
-    47.27128
-  ],
-  "minzoom": 12.0,
-  "maxzoom": 14.0,
-  "tiles": [
-    "http://localhost:9000/tiles/{z}/{x}/{y}.mvt"
-  ],
-  "vector_layers": [
-    {
-      "id": "aeroway",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'aeroway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'aeroway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'aeroway' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "waterway",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'waterway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'waterway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'waterway' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "landuse",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'landuse'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'landuse'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'landuse' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "railway",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'railway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'railway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'railway' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "highway",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'highway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'highway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'highway' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "public_transport",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'public_transport'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'public_transport'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'public_transport' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "aerialway",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'aerialway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'aerialway'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'aerialway' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "geological",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'geological'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'geological'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'geological' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "building",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'building'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'building'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'building' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "amenity",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'amenity'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'amenity'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'amenity' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "craft",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'craft'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'craft'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'craft' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "emergency",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'emergency'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'emergency'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'emergency' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "historic",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'historic'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'historic'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'historic' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "leisure",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'leisure'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'leisure'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'leisure' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "man_made",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'man_made'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'man_made'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'man_made' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "military",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'military'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'military'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'military' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "natural",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'natural'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'natural'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'natural' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "office",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'office'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'office'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'office' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "place",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'place'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'place'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'place' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "power",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'power'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'power'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'power' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "route",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'route'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'route'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'route' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "shop",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'shop'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'shop'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'shop' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "sport",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'sport'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'sport'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'sport' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "telecom",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'telecom'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'telecom'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'telecom' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    },
-    {
-      "id": "tourism",
-      "queries": [
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_nodes WHERE tags ? 'tourism'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_ways WHERE tags ? 'tourism'"
-        },
-        {
-          "minzoom": 12,
-          "maxzoom": 20,
-          "sql": "SELECT id, tags, geom FROM osm_relations WHERE tags ? 'tourism' AND tags ->> 'type' = 'multipolygon'"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/docs/examples/openstreetmap/workflow.json b/docs/examples/openstreetmap/workflow.json
deleted file mode 100644
index 9ebd677a..00000000
--- a/docs/examples/openstreetmap/workflow.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "steps": [
-    {
-      "id": "download",
-      "needs": [],
-      "tasks": [
-        {
-          "type": "DownloadUrl",
-          "url": "https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf",
-          "path": "liechtenstein-latest.osm.pbf"
-        }
-      ]
-    },
-    {
-      "id": "import",
-      "needs": [
-        "download"
-      ],
-      "tasks": [
-        {
-          "type": "ImportOpenStreetMap",
-          "file": "liechtenstein-latest.osm.pbf",
-          "database": "jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps",
-          "databaseSrid": 3857
-        }
-      ]
-    },
-    {
-      "id": "index",
-      "needs": [
-        "import"
-      ],
-      "tasks": [
-        {
-          "type": "ExecuteSql",
-          "file": "indexes.sql",
-          "database": "jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps"
-        }
-      ]
-    }
-  ]
-}
diff --git a/docs/examples/serving-vector-tiles.md b/docs/examples/serving-vector-tiles.md
deleted file mode 100644
index f6071748..00000000
--- a/docs/examples/serving-vector-tiles.md
+++ /dev/null
@@ -1,151 +0,0 @@
-# Serving Vector Tiles
-
-In this tutorial, we’ll learn how to serve precomputed vector tiles using Python and Nginx.
-
-In production, vector tiles are rarely served dynamically. Why is that so? First, a large blob store is much cheaper than a relational database to operate. Second, content delivery networks (CDNs) greatly improve web performances by caching static content close to the end user. Baremaps has been conceived with these lasting trends in mind. The following command produces a local directory containing precomputed static tiles. 
-
-```
-baremaps export \
---database 'jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps' \
---tileset 'tiles.json' \
---repository 'tiles/'
-```
-
-These tiles can be served with Apache, Nginx, or Python, but also copied in a blob store behind a content delivery network, such as Cloudflare, Stackpath, or Fastly.
-
-## Serve with Python
-
-Mapbox vector tiles should be served with the following headers.
-
-```
-content-encoding: gzip
-content-type: application/vnd.mapbox-vector-tile
-```
-Sample python code to server vector tiles with python built-in webserver
-
-```
-#server.py
-
-try:
-    from http import server # Python 3
-except ImportError:
-    import SimpleHTTPServer as server # Python 2
-
-class MyHTTPRequestHandler(server.SimpleHTTPRequestHandler):
-    def end_headers(self):
-        self.send_my_headers()
-
-        server.SimpleHTTPRequestHandler.end_headers(self)
-
-    def send_my_headers(self):
-        self.send_header("Access-Control-Allow-Origin", "*")
-        self.send_header("content-encoding", "gzip")
-        self.send_header("content-type", "application/vnd.mapbox-vector-tile")
-
-
-if __name__ == '__main__':
-    server.test(HandlerClass=MyHTTPRequestHandler, port=9001)
-```
-Run the following command in a terminal, where you saved the static tiles directory;
-
-`
-$ python server.py
-`
-
-and your tiles should be serving;
-
-`
-Serving HTTP on 0.0.0.0 port 9001 (http://0.0.0.0:9001/) ...
-`
-
-Now you can access the tiles through a url like this, depending upon your directory structure;
-
-http://localhost:9001/tiles/{z}/{x}/{y}.mvt
-
-OR
-
-http://yourip:9001/tiles/{z}/{x}/{y}.mvt
-
-## Serve with Nginx
-
-I asume that you already have nginx installed on your system. By default it is not configured to serve vector tiles and to do that you need to edit the nginx configuration file. Open a terminal and run the following command;
-
-```
-# vi /etc/nginx/sites-enabled/default  [On Debian/Ubuntu]
-# vi /etc/nginx/nginx.conf             [On CentOS/RHEL]
-```
-
-Default server configuration
-
-```
-server {
-        listen 80 default_server;
-        listen [::]:80 default_server;
-
-        root /var/www/html;
-
-        # Add index.php to the list if you are using PHP
-        index index.html index.htm index.nginx-debian.html;
-
-        server_name _;
-
-        location / {
-            # First attempt to serve request as file, then
-            # as directory, then fall back to displaying a 404.
-            try_files $uri $uri/ =404;
-          }
-       }
-```
-
-Add the following lines to the configuration file;
-
-```
-location ~* \.mvt$ {
-    include proxy_params;
-    add_header Access-Control-Allow-Origin *;
-    add_header Content-Encoding gzip;
-    add_header Content-Type application/vnd.mapbox-vector-tile;
-  }
-```
-
-Your final nginx configuration should look like this;
-
-```
-server {
-        listen 80 default_server;
-        listen [::]:80 default_server;
-
-        root /var/www/html;
-
-        # Add index.php to the list if you are using PHP
-        index index.html index.htm index.nginx-debian.html;
-
-        server_name _;
-
-        location / {
-            # First attempt to serve request as file, then
-            # as directory, then fall back to displaying a 404.
-            try_files $uri $uri/ =404;
-        }
-        
-        # Add support for serving pbf files
-        location ~* \.mvt$ {
-            include proxy_params;
-            add_header Access-Control-Allow-Origin *;
-            add_header Content-Encoding gzip;
-            add_header Content-Type application/vnd.mapbox-vector-tile;
-        }
-        }
-```
-
-Copy the tiles folder into nginx root directory i.e. `/var/www/html`
-
-and you should be now able to access the tiles with a url like this;
-
-http://localhost:80/tiles/{z}/{x}/{y}.mvt
-
-OR
-
-http://yourip:80/tiles/{z}/{x}/{y}.mvt
-
-
diff --git a/docs/favicon.ico b/docs/favicon.ico
deleted file mode 100644
index c8d067bc..00000000
Binary files a/docs/favicon.ico and /dev/null differ
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index 76cbe1d7..00000000
--- a/docs/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: home
-title: Custom Vector Tiles
----
-<div class="home">
-  <header>
-    <h1><i class="far fa-map"></i> {{ site.title }}</h1>
-  </header>
-  <nav>
-    <p>
-      {% for item in site.data.menu.items %}
-      {% if item != site.data.menu.items[0] %} | {% endif %} <a href="{{ item.url }}">{{ item.page }}</a>
-      {% endfor %}
-    </p>
-  </nav>
-  <section>
-    <p>{{ site.description }}</p>
-    <p>
-      <a class="github-button" href="https://github.com/baremaps/baremaps" data-size="large" data-show-count="true"
-         aria-label="Star baremaps/baremaps on GitHub">Star</a>
-      <a class="github-button" href="https://github.com/baremaps/baremaps/releases/latest"
-         data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large"
-         aria-label="Download baremaps/baremaps on GitHub">Download</a>
-    </p>
-    <a href="/assets/demo.html"><img src="/assets/screenshot.jpg" alt="screenshot"></a>
-    <p><a class="edit" href="{{site.github.repository_url}}/edit/main/docs/{{page.path}}"><i class="fas fa-edit"></i> Edit this page</a></p>
-  </section>
-  
-</div>
\ No newline at end of file
diff --git a/docs/installation.md b/docs/installation.md
deleted file mode 100644
index 3407486d..00000000
--- a/docs/installation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: default
-title: Installation
-permalink: /installation/
----
-
-# Installation
-
-In order to run Baremaps, you first need to install Java 8 or a later version. 
-[SDKMAN](https://sdkman.io/) provides a convenient Command Line Interface (CLI) to install and upgrade Java.
-
-To install baremaps, download and unzip the latest [release](https://github.com/baremaps/baremaps/releases/latest). 
-Then, add the `/bin` folder to your `PATH` variable:
-
-```
-wget https://github.com/baremaps/baremaps/releases/latest/download/baremaps.zip
-unzip baremaps.zip
-export PATH=$PATH:`pwd`/baremaps/bin
-```
-
-Calling the `baremaps` command should now result in an output similar to the following:
-
-```
-Usage: baremaps [COMMAND]
-A toolkit for producing vector tiles.
-Commands:
-  import  Import OpenStreetMap data in the Postgresql database.
-  update  Update OpenStreetMap data in the Postgresql database.
-  export  Export vector tiles from the Postgresql database.
-  serve   Serve vector tiles from the the Postgresql database.
-```
-
-In order to run Baremaps, you need to setup a [postgis](https://postgis.net/) database.
-The following docker image will allow you to jump start this installation:
-
-```
-docker run \
-  --name baremaps \
-  --publish 5432:5432 \
-  -e POSTGRES_DB=baremaps \
-  -e POSTGRES_USER=baremaps \
-  -e POSTGRES_PASSWORD=baremaps \
-  -d postgis/postgis:latest
-```
-
-You can then stop and start the container with the following commands:
-
-```
-docker stop baremaps
-docker start baremaps
-```
-
-From there, the [OpenStreetMap](/examples/openstreetmap/) example is a good introduction to Baremaps, it shows how to produce high resolution vector tiles.
diff --git a/docs/notes/java-nio.md b/docs/notes/java-nio.md
deleted file mode 100644
index b1803782..00000000
--- a/docs/notes/java-nio.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# JAVA NIO
-
-- https://stackoverflow.com/questions/14011919/when-changing-the-file-length-do-i-need-to-remap-all-associated-mappedbytebuffer
\ No newline at end of file
diff --git a/docs/notes/postgis.md b/docs/notes/postgis.md
deleted file mode 100644
index 105a2cc5..00000000
--- a/docs/notes/postgis.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Postgis
-
-- https://osm2pgsql.org/doc/manual.html#tuning-the-postgresql-server
\ No newline at end of file
diff --git a/docs/release.md b/docs/release.md
deleted file mode 100644
index cea0ac84..00000000
--- a/docs/release.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Release
-
-```bash
-mvn release:prepare -DautoVersionSubmodules=true -DgenerateBackupPoms=false
-```
diff --git a/docs/stylesheet.md b/docs/stylesheet.md
deleted file mode 100644
index 6044467d..00000000
--- a/docs/stylesheet.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: default
-title: OpenStreetMap Vecto
-permalink: /stylesheet/
----
-
-# OpenStreetMap Vecto
-
-[OpenStreetMap Vecto](https://github.com/baremaps/openstreetmap-vecto) is an ongoing effort to build a general-purpose configuration and stylesheet for Baremaps.
-It is used to generate vector tiles and to produce a Mapbox [stylesheet](https://docs.mapbox.com/mapbox-gl-js/style-spec/) inspired by [OpenStreetMap Carto](https://github.com/gravitystorm/openstreetmap-carto).
-
-[![State of the map](/assets/screenshot.jpg)](/assets/demo.html)