bespoke-logbook

Log bespoke.js events and state to the console

npm install bespoke-logbook
13 downloads in the last month

Build Status

bespoke-logbook

Log bespoke.js events and state to the console

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

Download

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

Usage

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
myDefaultEventLoggingOverride(e)

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
bespoke.plugins.logbook.disable();

// logbook is good as dead

bespoke.plugins.logbook.enable();
// logbook is back once again, with the ill behaviour

Package managers

Bower

$ bower install bespoke-logbook

npm

$ npm install bespoke-logbook

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

require('bespoke');
require('bespoke-convenient');
require('bespoke-logbook');

TODO

  • 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.

Credits

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.

License

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