npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

presentate

v0.1.2

Published

A command-line and telnet presentation tool.

Downloads

13

Readme

Presentate

Presentate is a terminal presentation tool. It enables you to create presentations that are as beautiful as your terminal can be. If web browsers can be in the terminal, why can't presentations?

Installation

(sudo) npm i -g presentate

Basic usage

  Usage: presentate [options]

  Options:

    -h, --help            output usage information
    -V, --version         output the version number
    -T --telnet [port]    telnet viewer port number
    -t --top [num]        lines of padding from the top (default: 1)
    -l --left [num]       columns of padding from the left (default: 3)
    -c --center [WxH]     center in the terminal, with width w and height H
    -f --file [filename]  a slides file (default: ./slides.presentate)
    -A --all              show all the slides at once, delimited by "\n---\n"
    -N --notes [port]     telnet notes port number
    -X --next [port]      telnet next slide port number
    -s --sizing_slide     insert a sizing slide at the beginning
    -H --html             generate HTML version of "--all" (add your own CSS)

Create a file called slides.presentate. Format it as you would any other text file. Separate the slides with a line consisting only of ---. You can make a (almost) cool reveal effect by inserting {pause} where you want to stop rendering the slide. See the thirst slide in the included slides.presentate for details.

You can default values for any of the CLI options above by putting something like this at the top of your file:

{"top": 1, "left": 3}
===

That first line must be well-formatted JSON, and the second line must be exactly === on its own line. These values are overridden by command-line options.

You can use tags from colors-templ to add some ANSI color codes, etc., to your presentation. Raw codes are also supported.

Syntax highlighting for code blocks is supported (but is currently not very good, sorry!). Surround your code with {code:ext} and {/code}, with a language file-extenstion instead of ext.

You can add slide notes (for use with the -N or --notes options) by putting &&& on its own line. Everything after that, for each slide, will be the slide's notes. If you specificy a telnet notes port, you can telnet to that port during a presentation to see the notes for the current slide.

You can open up your presentation by doing:

$ presentate

And then you can quit your presentation by pressing Q or ESC.

Advanced usage

If you include presentate in your node application, you can require it. The exported object is a function, so you can call it like this:

require('presentate')(options, inputStream, outputStream, cb);

Where options.slides is a string that looks like a .presentate file, amd the rest of the options object's properties are equivalent to the longer-form command-line parameters. You can use process.stdin and process.stdout for the default behavior. The presentation starts when you call the presentate function, and calls cb when the presentation finishes (by pressing Q or ESC in the presentation);

TODO

  • PDF output
  • Slide templates.
  • Basic effects.
  • Interactive slides.
  • Slideshow mode.
  • Edit mode.

License

See LICENSE file.