Log bespoke.js events and state to the console

npm install bespoke-logbook
6 downloads in the last week
12 downloads in the last month

Build Status


Log bespoke.js events and state to the console

The default events are logged by default, as are any custom events from plugins.


Download the production version or the development version, or use a package manager.


First, include bespoke.js, bespoke-convenient.js and bespoke-logbook.js in your page.

Then, simply include the plugin when instantiating your presentation.

bespoke.horizontal.from('article', {
  convenient: true,
  logbook: true

Overriding event logging

You can override logging per eventName, either at instantiation or dynamically. You can pass false to turn off the specific logger, a plain string, or a function.

Custom events

The function will be called once before firing the event, and once after, with the result -

// Before the event handlers have been called
myCustomEventLoggingOverride("fire", eventName[, eventData, ...])

// After all event handlers have been called
myCustomEventLoggingOverride("fired", result, eventName[, eventData, ...])

Default events

The default events are fired a bit differently than custom events - they aren't intercepted, but rather listened to.

// An event parameter is passed

Override at instantiation

bespoke.horizontal.from("article", {
    logbook: {
        overrides: {
            // An example of a default event
            "activate": function(e) {
                console.log("activate", "Slide #" + e.index + " was activated!", e.slide);
            // An example of a custom event
            "custom1": function() {
                console.log("Custom logging is so much fun", arguments)
            // An example of a custom event logged with a static string
            "custom2": "Will only log this string"

Override dynamically

bespoke.plugins.logbook.override("deactivate", function(e) {
    console.log("deactivate", "Slide #" + e.index + " was deactivated!", e.slide);

Enable/disable logbook

// logbook is making a lot of noise in the console

// logbook is good as dead

// logbook is back once again, with the ill behaviour

Package managers


$ bower install bespoke-logbook


$ npm install bespoke-logbook

The bespoke-logbook npm package is designed for use with browserify, e.g.



  • Accept separate before/after custom event overrides.
  • Normalize default and custom event overrides.
  • Mimic the default event handlers' event object?
  • Allow option to not autostart/enable logbook at instantiation.


Mark Dalgleish for bespoke.js and related tools. This plugin was built with generator-bespokeplugin.

Adam Edmond, addyeddy on flickr, for his photo Old log book (CC BY 2.0).

My best friend, bespoke-convenient, for continued support - rain and shine. I love you, man.


Copyright (c) 2013, Joel Purra All rights reserved.

When using bespoke-logbook, comply to the MIT license. Please see the LICENSE file for details, and the MIT License on Wikipedia.

Bitdeli Badge

npm loves you