A fun way to create your presentation

  • Users starred: 7
  • Users forked: 5
  • Users watching: 7
  • Updated at: 2019-01-04 03:54:27


Create your presentation in a fun way

Build Status npm version


Create your presentation in a fun way!

  • ☑️ Your slides are just choo views.
  • ☑️ There is a default style and you can use tachyons!
  • ☑️ Routing is done.
  • ☑️ You can move around emitting: FORWARD AND BACKWARD builtin events.
  • ☑️ UI Controls included.
  • ☑️ Support for notes included.


$ npm install @geut/choo-slides

Getting started

You can quickly create a project using create-choo-app. From there, I usually create a slides folder. This is where your slides live and your slides are just choo views. For example:

var { headline } = require('@geut/choo-slides/components')

module.exports = function () {
  return headline({ title: 'Your slide title' })

I like to use index.js files to group things and export them from a single place that is easy to find. Usually like this:

const slides = [

module.exports = slides

Finally, you should include this file in your choo app and use it.

const chooSlides = require('@geut/choo-slides')
const slides = require('./slides')

// and then, after creating your choo app
app.use(chooSlides({ slides }))

You can take a look at the example directory. 🆒


As mentioned before, usage is quite simple. choo-slides works like a plugin. It extends your choo-app adding support for navigating your slides like a presentation tool. Also, adds a baseline style available via sheetify.

var css = require('sheetify')
var choo = require('choo')
var chooSlides = require('@geut/choo-slides')
var mySlides = require('./slides');

var app = choo()
app.use(chooSlides({ slides: mySlides }))



  • slides: an array of choo views.
  • slideView: a function representing a choo view. This can be used to overwrite the original slideView that comes with choo-slides.
  • notFoundView: a function representing a choo view. This can be used to overwrite the original "not found" view.

Components 🆕

Some default components are available under: @geut/choo-slides/components. Currently you can find:

component HTML Element
headline h1 .. h6
text p
list ul
listItem li

Checkout the example to see components in action.

Note: this is just a temporal solution around componentization for choo-slides.


MIT License