Skip to content
Álvaro Ortiz edited this page Jun 17, 2014 · 4 revisions

This is odyssey.js's development wiki.

odyssey.js is a library to help journalists, bloggers, and other people on the web publish stories that combine narratives with maps and map interactions. The library is open source, developed by CartoDB, and freely available to use in your projects. It is initially being built to work with most modern browsers.

Read more in the repo home.

Or get started with the Editor and Documentation.

This wiki has some (partially outdated ;) notes about the development.


An storymap will be a compilation of different states for a map, with some content bits associated to them. An state will have:

  • A map state:
    In the very first version this will be defined by a zoom level and a center location (lat/lng). In following versions the library should be able to show different layers, different styles or different data.
    Events that takes the user to different states of the storymap, should be dispatched by the map features.

  • Content bits: A candidate for storing and structuring the content is markdown. In order of importance, the content that is needed for each state is: Title, texts, links, lists and images. All these content bits should be freely placed and styled.

JSON structure

To be filled by @javisantana.

Publishing templates

An storymap should support different responsive publication templates. Ideally, for creating an storymap, only a JSON file with the content of the different states and a publication template would be needed. The first two publishing templates are defined below:

  • Slideshow:
    Similar to a keynote / the rollingstones map. Each screen represents an state. Having an option to autoplay would be great. Another option is this one by mapbox

  • Scrolling story:
    Similar to this developed by the NYT. The map remains visible while the content scrolls. Based on the scroll location, the different states are being shown.

Clone this wiki locally