Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cleaver

Package Overview
Dependencies
Maintainers
1
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cleaver

plug-n-play HTML slideshows

  • 0.0.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
24
increased by200%
Maintainers
1
Weekly downloads
 
Created
Source

Cleaver

a command-line tool for generating HTML slideshows with JSON


Quick Setup

Get it on NPM.

npm install -g cleaver

And use it like so (with an optional --debug parameter)

cleaver --file=path/to/something.json

About

See it in action here.

Cleaver is a one-stop shop for generating HTML presentations in record time. Using only an intuitive JSON format, you can produce good-looking, interactive presentations without writing any code or placing a measly textbox.

Development

Cleaver uses node for development. Once you are all set up and have cloned your fork, you can begin making changes to the code base. The outline is described below.

bin/

Contains the cleaver executable which groups together all of the logic. You can integration test by running this script.

examples/

Basic examples of cleaver usage.

lib/

main.js: is directly called by ./bin/cleaver and contains logic to check for file input. It then passes arguments to render().

render.js: contains a method render() which is the core logic of cleaver.

styles/

default.css: the initial styling rules (these have low specificity and are easily overwritten.

dark.css: an example showing the capabilities of extending styles.

templates/

layout.mustache: contains the overall layout of a cleaver render, including CSS and JS placement.

All other templates are denoted with a _ to signify partial layouts. They are unique to their slide type.

Reference

Consider a very basic (examples/basic.json) example as shown below:

{
  "name": "Example",
  "author": {
    "name": "Aaron Patterson",
    "twitter": "@tenderlove",
    "url": "http://tenderlovemaking.com"
  },
  "slides": [
    {
      "type": "main",
      "title": "Cleaver 101",
      "subtitle": "A first look at quick HTML presentations"
    },
    {
      "type": "text",
      "title": "A textual example",
      "content": 
        "Content can be written in **Markdown!** New lines are written
        with two angle brackets.>>

        Now this will be in a separate paragraph"
    },
    {
      "type": "list",
      "title": "A list of things",
      "items": [
        "Item 1",
        "Item B",
        "Item gamma"
      ]
    }
  ]
}

Render it like so:

cleaver --file=examples/basic.json

You can also specify an output file (default: output.html) and a stylesheet:

cleaver --file=examples/basic.json --output=render.html --style=styles/dark.css

By default, cleaver will place navigation arrows in the bottom corners of your presentation. To omit those, append a --nocontrols flag to your command.

cleaver --file=examples/basic.json --nocontrols

Header Information

name: A string representing the name of the document. Cleaver will populate the document's <title> with this string.

author: A hash containing a name, twitter handle, and homepage URL. This information is used to populate the last slide in every presentation.

description: An optional description of the slideshow.

Slides

main: Intro slide containing a title and subtitle. (templates/_main.mustache)

text: Basic slide containing title and content, which is rendered in markdown. NOTE: Since newlines are escaped in JSON, use >> to specify a new paragraph. (templayes/_text.mustache)

list: A list slide with properties title and items, an array of strings. (templates/_list.mustache)

author: Automatically-populated, this slide uses information from the author hash. (templates/_author.mustache)

Further Information

Cleaver produces a single document, output.html containg CSS and JavaScript (jQuery) code. Everything is rendered from templates/layout.mustache.

styles/default.css is always rendered first. If an additional stylesheet is specified with the --style flag, that will be rendered after so you can override the default style. Watch out for specificity.

To navigate the slideshow:

  • reverse: H, J, LEFT, DOWN, and Backspace
  • forward: K, L, ENTER, UP, RIGHT, and Space

MIT Licensed

Keywords

FAQs

Package last updated on 30 Nov 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc