Embed an interactive timeline of historical events on a news or educational website using a Google Spreadsheet as the data source.
Display a sequence of events with photos, YouTube videos, and links as navigable slides on a web page.
This version is no longer maintained, new projects should use TimelineJS3 from Knight Lab instead.
TimelineJS is a JavaScript library from Northwestern University's Knight Lab for adding interactive, media-rich timelines to websites. The idea is to give journalists, educators, and publishers an easy way to display a sequence of events visually without needing to design anything from scratch. Content can come from a Google Spreadsheet, which means non-technical users can fill in dates and descriptions in a familiar table format and have the timeline update automatically. The library pulls in media from external services automatically. Pasting a YouTube link, a Flickr photo URL, a tweet, a Vimeo video, a SoundCloud track, or a Google Maps embed into the data source causes the timeline to display that content in a formatted card. Users navigate through events as slides, and the library supports dozens of languages for localization, including Arabic, Chinese, French, Russian, Spanish, and many others. Embedding the timeline on a page is straightforward: drop a div element into the HTML, point a configuration object at a data file or spreadsheet, and load a script from the Knight Lab's CDN. A handful of optional settings control the initial zoom level, which slide to start on, whether to use URL hash bookmarks so users can link to a specific event, and which font combination to use. The README notes clearly at the top that this version of TimelineJS is no longer under development. Knight Lab has released a successor called TimelineJS3, which uses a different JSON format. This older version remains available from the Knight Lab CDN but will not receive updates. Developers starting fresh are directed to the newer repository. No conversion tool exists to migrate data from the old JSON format to the new one, though the README describes the process as manageable manually.
← nuknightlab on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.