Una buena manera de preparar timelines es TimelineJS. Los datos se deben alojar en una hoja de cálculo de Google, hacerla pública y generar un iframe desde la página de TimelineJS. El proyecto está también en Github. Al actualizar la hoja de cálculo se actualiza automáticamente todo. Con etiquetas (hasta 6) se pueden asignar una línea a una tema.
Funciona perfectamente insertado en este post, pero también en las presentaciones con reveal.js.