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

pptx-prompter

v1.0.1

Published

Prompter for PowerPoint

Downloads

3

Readme

PPTX-Prompter

Prompter for PowerPoint

github (author stars) github (author followers) github (project stdver) npm (project license) npm (project release) npm (project downloads)

About

PPTX-Prompter is a client/server application for showing a prompter view for Microsoft PowerPoint ® presentations (under Windows or macOS), based on embedded, hidden, even numbered, pre-exported slides. It is intended as a replacement (or companion) for the standard slideshow view of PowerPoint and provides two killer features:

  1. Arbitrary Formatting: It allows a reasonable text formatting of the presenter content, including arbitrary graphical elements. Whatever you can put onto a PowerPoint slide can be used as the individual presenter content. You are no longer constrained by the extremely limited text rendering possibilities of the standard slideshow view.

  2. Analog Clock: It provides a nice Analog Clock, showing the done and remaining speaking time. The analog type of the clock is key, as it optically does not stress the speaker as much as a counting digital clock, does not require the speaker to perform any math calculations during his adrenalin spiced performance, and especially allows the speaker to get the current timing status with just a quick glance.

The application, written in TypeScript, consists of a central Node.js-based server component and a HTML5 Single-Page Application (SPA) as the client component. The prompter view can be opened in a fullscreen browser like Google Chrome or in a browser source of OBS Studio. In the latter case, one usually also projects the attendee content (on the beamer display) in realtime onto the left top corner of the prompter view with the help of NDI Tools to get an even better user experience.

Overview

The following is a screenshot of a prompter view corresponding to the title attendee slide of a presentation: On the top left is the preview of the current attendee content, below is the current (logical) slide number and the preview of the next attendee content and at the bottom left is an analog clock showing the done and remaining speaker time. On the right is the presenter content.

screenshot

Here is the corresponding setup overview: On the left is PowerPoint in its editing view, where the odd numbered slides carry the attendee content and the even numbered slides carry the presenter content. On the right top is the PowerPoint slideshow control view (usually visible on the notebook monitor), on the right middle is the PowerPoint attendee view (usually visible on the beamer) and on the right bottom is once again the presenter view (usually projected onto an external monitor, staying in front of the keynote speaker).

overview

Usage (Production)

  • Under Windows/macOS install Node.js for the server run-time, and Google Chrome or OBS Studio for the client run-time.

  • Run the prompter server component: npx pptx-prompter [...]

  • Open the prompter client in Google Chrome: https://127.0.0.1:12345/

Usage (Development)

  • Under Windows/macOS install Node.js for the server run-time and Google Chrome or OBS Studio for the client run-time, plus Visual Studio Code with its TypeScript, ESLint and VueJS extensions.

  • Clone the source code: git clone https://github.com/rse/pptx-prompter

  • Install all dependencies: npm install

  • Run the development build-process once: npm start build-dev

  • Run the development build-process and prompter server component continuously: npm start dev

  • Open the prompter client in Google Chrome: https://127.0.0.1:12345/

Workflow

The workflow is as following:

  1. Create a PowerPoint presentation with arbitrary attendee content on the non-hidden, odd numbered slides 1, 3, 5, etc. Create your presenter content on the hidden, even numbered slides 2, 4, 6, etc. -- by optionally using the Presenter Canvas background overlay, to know where PPTX-Prompter will insert its sidebar content on the left.

  2. Export the PowerPoint presentation as PNG files SlideN.png (N = 1, 2, ...) with resolution 1920x1090 pixels through the regular PowerPoint export functionality.

  3. Run PPTX-Prompter side-by-side to PowerPoint to let it create the prompter view. Use option -d to locate the pre-exported slides and option -u to control the analog clock.

Architecture

PPTX-Prompter consists of a server and client component. The server component reads the pre-exported slides of the PowerPoint presentation from a folder and continuously polls PowerPoint for its run-time state (viewing mode and current slide). The client component is served by the server component via HTTP, renders a read-only prompter view, and connects via WebSocket back to the server. On every PowerPoint status change (usually caused by a slideview change, triggered with a keyboard emulating remote control device), the server component pushes new information to the client component via WebSocket which in turn updates the read-only prompter view by loading the corresponding pre-exported slide image files from the server component via HTTP.

See Also

Copyright & License

Copyright © 2023 Dr. Ralf S. Engelschall Licensed under GPL 3.0