https://github.com/tilemill-project/tilemill
Revision e7ca7fb45d159f5c3dcbed2dc602153a55ace5f9 authored by Tom MacWright on 04 April 2016, 20:23:25 UTC, committed by Tom MacWright on 04 April 2016, 20:23:25 UTC
1 parent 7e47f1e
Tip revision: e7ca7fb45d159f5c3dcbed2dc602153a55ace5f9 authored by Tom MacWright on 04 April 2016, 20:23:25 UTC
Update README.md
Update README.md
Tip revision: e7ca7fb
README.md
TileMill is a modern map design studio powered by [Node.js](http://nodejs.org) and [Mapnik](http://mapnik.org).
Installation instructions, development docs and other information are available on the [TileMill website](https://mapbox.com/tilemill).
**[Mapbox Studio](https://www.mapbox.com/mapbox-studio/) is the modern alternative to TileMill**: if you're starting out and creating a map today, we recommend starting with [Mapbox Studio](https://www.mapbox.com/mapbox-studio/) rather than TileMill.
# Build Status
[![Build Status](https://secure.travis-ci.org/mapbox/tilemill.png)](https://travis-ci.org/mapbox/tilemill)
[![Build status](https://ci.appveyor.com/api/projects/status/hw3rqpyd7bj0cb03?svg=true)](https://ci.appveyor.com/project/Mapbox/tilemill)
[![Dependencies](https://david-dm.org/mapbox/tilemill.png)](https://david-dm.org/mapbox/tilemill)
### Key modules
- mapnik - [![Build Status](https://secure.travis-ci.org/mapnik/mapnik.png?branch=2.3.x)](https://travis-ci.org/mapnik/mapnik)
- node-mapnik - [![Build Status](https://secure.travis-ci.org/mapnik/node-mapnik.png)](https://travis-ci.org/mapnik/node-mapnik)
- carto - [![Build Status](https://secure.travis-ci.org/mapbox/carto.png)](http://travis-ci.org/mapbox/carto)
- tilelive - [![Build Status](https://secure.travis-ci.org/mapbox/tilelive.png)](https://travis-ci.org/mapbox/tilelive)
- tilelive-mapnik - [![Build Status](https://secure.travis-ci.org/mapbox/tilelive-mapnik.png)](https://travis-ci.org/mapbox/tilelive-mapnik)
- millstone - [![Build Status](https://secure.travis-ci.org/mapbox/millstone.png)](http://travis-ci.org/mapbox/millstone)
- node-mbtiles - [![Build Status](https://secure.travis-ci.org/mapbox/node-mbtiles.png)](http://travis-ci.org/mapbox/node-mbtiles)
- node-sqlite3 - [![Build Status](https://secure.travis-ci.org/mapbox/node-sqlite3.png)](http://travis-ci.org/mapbox/node-sqlite3)
# Depends
- Mapnik v2.3.0
- Node.js v0.10.x or v0.8.x
- Protobuf: libprotobuf-lite and protoc
However, node-mapnik (which depends on Mapnik and protobuf) is now packaged as a binary. So, you do not need an external Mapnik. See [Installation](#installation)
# Installation
To install from source just do:
git clone https://github.com/mapbox/tilemill.git
cd tilemill
npm install
Then to start TileMill do:
./index.js # and then view http://localhost:20009 in your web browser
For more extended details follow:
- [Install packages](http://mapbox.com/tilemill/docs/install/)
- [Build from source](http://mapbox.com/tilemill/docs/source/)
# 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 mb-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 mb-pages branch.
To view all the TileMill documentation locally, first checkout the mb-pages branch:
git checkout mb-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 mb-pages updates do:
export TILEMILL_SOURCES=`pwd`
cd ../
git clone --depth=1 -b mb-pages https://github.com/mapbox/tilemill tilemill-mb-pages
cd ${TILEMILL_SOURCES}
export TILEMILL_GHPAGES=../tilemill-mb-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/*
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...