Giter Club home page Giter Club logo

squeenote's Introduction

Squeenote - A way for nerds to present to other nerds.

Squeenote is a browser-based presentation engine built for people who are used to presenting to a sea of people's foreheads poking out, barely visible, from behind aluminium rectangles with glowing Apple logos.

Squeenote lets you author presentations in simple HTML5, and lets your audience follow you as you move through your slides. If you've got clickables or other interactive content in your slides, your audience can play around in the comfort of their own browser while you talk.

Audience members can opt to sit back and watch (Squeenote clients can automatically follow the presenter as she changes slides), or go off-track and explore the presentation in their own time, rejoining the rest of the audience whenever they choose.

Squeenote presentations can be uploaded to a static file server for archival.

To watch a presentation about squeenote:

  1. Install Node.js (Squeenote is built for v0.94)
  2. git clone git://github.com/danski/Squeenote.git
  3. cd Squeenote
  4. node squeenote.node.js
  5. Open your browser to http://127.0.0.1:8080

Presenter mode

Enabling presenter mode keeps the Squeenote Server synched to your slide so that client users can follow your position in the presentation. To enable presenter mode, open Squeenote in your browser and press the equals key (=). Enter your presenter password and hit return.

Server options

The Squeenote Node.js app supports several command line flags:

node squeenote.node.js -f mypresentation.html -p presenterpassword -P port

The default file is "index.html", the default password is "ishouldhavesetapassword" and the default port is 8080.

Squeenote components

Squeenote is built to be modular. There are several required components and several replaceable ones:

  • squeenote.Server is the Squeenote Node.js application.
  • squeenote.Device is the Javascript class responsible for identifying mobile client devices such as the iPhone and iPad.
  • squeenote.Presentation Is the Javascript class used to control the state of the presentation and maintain sync with the server.
  • squeenote.UI is responsible for drawing client and presenter controls into the markup. It subscribes to events from squeenote.Presentation in order to keep the user informed, and emits several events in turn from its various clickables.
  • squeenote-default is the provided presentation theme. It's in /public/squeenote-default, and you can customise it, copy it and mangle it to your heart's content. The theme is responsible for slide change animations and document formatting, and as such listens to events from squeenote.Presentation in order to apply animations on slide change. The default theme consists of a single CSS file and a single JS file, both located in this folder.

Presentation markup

Squeenote's markup is extremely simple. Simply include an <ol /> tag directly inside the body, and Squeenote will treat all the <li /> elements within it as individual slides. Squeenote includes a default theme which provides some basic styling and animations. Feel free to open them up (in /public/squeenote-default), or copy them to a new folder and create a new theme. Here's an example HTML presentation with one slide:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Squeenote</title>
    <!-- Common dependencies -->
    <script type="text/javascript" src="/public/common/js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="/public/common/js/jquery-ui-1.8.2.custom.min.js"></script>
    <script type="text/javascript" src="/public/common/js/jqtouch.min.js"></script>
    <script type="text/javascript" src="/public/common/js/socket.io.js"></script>
    <!-- Squeenote core -->
    <script type="text/javascript" src="/public/common/js/squeenote.device.js"></script>
    <script type="text/javascript" src="/public/common/js/squeenote.presentation.js"></script>
    <script type="text/javascript" src="/public/common/js/squeenote.ui.js"></script>
    <link rel="stylesheet" href="/public/common/css/controls.css" type="text/css" media="screen" title="no title" charset="utf-8">  
    <!-- Boot Squeenote -->
    <script type="text/javascript">
      $(document).ready(function() {
        squeenote.Device = new squeenote.Device();
        squeenote.Presentation = new squeenote.Presentation();
      })
      $(document).bind("presentationLoaded.squeenote", function(event, presentation) {
        squeenote.UI = new squeenote.UI(presentation);
      });
    </script>
    
    <!-- Theme files -->
    <script type="text/javascript" src="/public/squeenote-default/theme.js"></script>
    <link rel="stylesheet" href="/public/squeenote-default/theme.css" type="text/css" media="screen" title="no title" charset="utf-8">
  </head>
  <body>
    <ol>
      <li>
        <h1>Squeenote</h1>
        <h3>A way for nerds to present to other nerds</h3>
        <p>Press &larr; or &rarr; on the keyboard to move between slides, or use the buttons at the top right.</p>
        <p><a href="http://github.com/danski/squeenote">http://github.com/danski/squeenote</a></p>
      </li>
    </ol>
  </body>
</html>

Creative Commons License
Squeenote by Dan Glegg is licensed under a Creative Commons Attribution 2.0 UK: England & Wales License.
Based on a work at github.com.

squeenote's People

Contributors

crcastle avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.