A modern map design studio.
Pull request Compare This branch is 193 commits behind tilemill-project:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
_posts/docs/reference
assets
commands
controllers
data/82945364-10m-admin-0-countries
examples
lib
models
platforms
plugins
servers
templates
test
views
.gitignore
.travis.yml
LICENSE.md
README.md
configure.js
index.js
package.json
rebuild_cxx.sh
tilemill.ico

README.md

TileMill is a modern map design studio powered by Node.js and Mapnik.

Installation instructions, development docs and other information are available on the TileMill website.

Build Status

Build Status Dependencies

Key modules

  • mapnik - Build Status
  • node-mapnik - Build Status
  • carto - Build Status
  • tilelive.js - Build Status
  • tilelive-mapnik - Build Status
  • millstone - Build Status
  • node-mbtiles - Build Status
  • node-sqlite3 - Build Status

Depends

  • Mapnik v2.3.0
  • Node.js v0.10.x or v0.8.x
  • Protobuf: libprotobuf-lite and protoc

For details follow:

Running tests

Install mocha and run the tests

npm install mocha
npm test

Note: the tests require a running postgres server and a postgis enabled database called template_postgis.

If you do not have a template_postgis create one like:

createdb -E UTF8 template_postgis
psql -c "CREATE EXTENSION postgis" template_postgis

If you experience failing tests here are two tips:

  1. Debug the project data by running TileMill with

    ./index.js --files=./test/fixtures/files/

  2. Try clearing the cache of test data:

    rm -rf ./test/fixtures/files/

For more info see: http://postgis.net/docs/manual-1.5/ch02.html

Documentation

TileMill documentation is kept in the gh-pages branch, which is independently managed and not merged with master.

TileMill's in-app reference available as the "Manual" (see below for syncing details) is a very small subset of docs for offline usage and is manually sync'ed from the gh-pages branch.

To view all the TileMill documentation locally, first checkout the gh-pages branch:

git checkout gh-pages

Then install Jekyll:

sudo gem install jekyll

And run Jekyll:

jekyll

Once Jekyll has started you should be able to view the docs in a browser at:

http://localhost:4000/tilemill/

Syncing manual

To sync the manual with gh-pages updates do:

export TILEMILL_SOURCES=`pwd`
cd ../
git clone --depth=1 -b gh-pages https://github.com/mapbox/tilemill tilemill-gh-pages
cd ${TILEMILL_SOURCES}
export TILEMILL_GHPAGES=../tilemill-gh-pages
rm -rf ${TILEMILL_SOURCES}/assets/manual
mkdir -p ${TILEMILL_SOURCES}/assets/manual
cp -r ${TILEMILL_GHPAGES}/assets/manual/* ${TILEMILL_SOURCES}/assets/manual/
git add ${TILEMILL_SOURCES}/assets/manual/*
rm -rf ${TILEMILL_SOURCES}/_posts/docs/reference
mkdir -p ${TILEMILL_SOURCES}/_posts/docs/reference
cp -r ${TILEMILL_GHPAGES}/_posts/docs/reference/* ${TILEMILL_SOURCES}/_posts/docs/reference/
git add ${TILEMILL_SOURCES}/_posts/docs/reference/*