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

nerdshow

v0.5.0

Published

Presentation software for nerds, with smartphone remote control

Downloads

35

Readme

nerdshow

Generate HTML presentations, serve presentation files and control presentation with mobile device.

  • create your presentation by editing Markdown and/or HTML snippets
  • Syntax highlighting (by now only for JavaScript)
  • remote control your presentation with your smartphone
  • share a presentation across many browser instances (on distributed PCs)

The name?

This tool will probably only be used by nerds and the presentations will be for nerds ==> nerdshow!

Demo

Slides

Remote Control

The remote control software only works when pages are served by node.js. In this demo you can see only the mobile application. It is not connected with a presentation.

Generate Presentations

  • Copy examples/empty to local folder
  • Edit presentation.json
  • add Markdown and/or html files and add them to presentation.json (slides array)
  • Markdown extension: insert raw html by placing '.' in the first column, e.g. .</div><div class="slide">
  • Since v0.4.0: <div class="slide"> are generated automatically by runtime (from <h1> until next <h1>)
  • Run generator nerdshow-generate presentation.json
  • Run presentation nerdshow . --debug
  • Open an html5 browser http://localhost:8008/
  • Open remote control http://localhost:8008/nerdshow/rc/

Usage

Run Generator

Usage: nerdshow-generate <path/to/presentation.json> [options]

Options:
  --nerdshow-folder   base url for nerdshow runtime      [default: "/nerdshow"]
  --socketio-enabled  disable socket-io for static html  [default: true]
  --hijs-enabled      highlight code as javascript       [default: true]
  --zoom-enabled      enable zoom.js (Ctrl+Click)        [default: false]
  --help, -h          show help and exit

To disable an option, enter --no-<option>, e.g. --no-socketio-enabled.

If you want to host a presentation on a web-server, you can save space when you reference the nerdshow runtime-files:

  • Either hard-wired in you presentation.json file: "nerdshow-folder": "http://hgoebl.github.io/nerdshow/rt/0.4.0"
  • or as a command-line option: --nerdshow-folder http://hgoebl.github.io/nerdshow/rt/0.4.0

Be aware that github.io will not serve files over https so if your presentation is served via https, this won't work.

Run Presentation

Usage: nerdshow path/to/presentation [options]

Options:
  --port          TCP port of web server        [default: "8008"]
  --encoding, -e  character-set of stdin input  [default: "utf8"]
  --debug         output for easier debugging   [default: false]
  --help, -h      show help and exit

If you run 'nerdshow' w/out a path to a presentation folder, it will serve the examples folder: http://localhost:8008/

Installation

You can install nerdshow locally or globally. This depends on how much your presentations are spread across your file system. If you put them in one location, I would install it locally, if not, then globally (add option -g):

npm install nerdshow [-g]

TODO / Bugs

  • Provide a boilerplate/template for new presentation (nerdshow-create)
  • Provide CSS for print (showing all slides and div.class='handout'
  • Add support for SyntaxHighlighter (from Alex Gorbatschev)
  • Migrate generation code to assemble or provide an assemble plugin
  • Provide grunt plugin (and gulp.js)
  • When zooming (Ctrl+Click Source-Code) all images disappear (background + img)
  • HowTo documentation + enhance example
  • Implement/Test incremental page updates (ul/li elements coming item by item)
  • Isolate different presentations delivered by the same server
  • Generate a QR-Code for the remote control URL
  • Output error message when used with IE <= 9
  • Write some test code
  • Generate impress.js Slides (Positioning slides along paths/patterns)

License

MIT (see LICENSE file)

Credits

  • S5 Presentation diascope Original Source comes from minad/diascope
  • JavaScript Syntax Highlighter hijs from cloudhead
  • See package.json (marked, express, socket-io, optimist, mote, cheerio)
  • jQuery and jQuery Mobile

See also

Here you can find information about similar tools, the S5 format and some fancy new alternative implementations for HTML-based slide shows:

General / Overviews

S5

Utilities / Helpers

Similar Tools and Utilities