explaingit

ksky521/nodeppt

10,363JavaScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A Node.js command-line tool that converts Markdown text files into browser-based slide presentations with animations, speaker notes, charts, and diagrams, no GUI or PowerPoint required.

Mindmap

mindmap
  root((nodeppt))
    Workflow
      Write Markdown
      Preview in browser
      Build static output
    Slide features
      Background images
      CSS class layout
      Speaker notes
      Speaker mode
    Plugins
      echarts charts
      mermaid diagrams
      KaTeX math
    Navigation
      Keyboard shortcuts
      Overview mode
      Fullscreen
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Write a technical slide deck in Markdown and preview it live in the browser with hot-reload as you edit.

USE CASE 2

Embed data charts or flow diagrams directly in slides using the built-in echarts and mermaid plugins.

USE CASE 3

Export a finished presentation as static HTML and CSS files to host on any web server.

USE CASE 4

Use speaker mode to display private notes on a second screen while the audience sees only the main slides.

Tech stack

JavaScriptNode.jsnpmMarkdownCSSechartsmermaidKaTeX

Getting it running

Difficulty · easy Time to first run · 5min

Optimized for Chrome, other browsers may have layout or animation issues.

In plain English

nodeppt is a tool for creating web-based slide presentations by writing Markdown, a plain text format that uses simple symbols for formatting like bold and headings. Instead of clicking through a GUI like PowerPoint, you write the content of your slides in a text file, and nodeppt converts that file into a browser-based presentation with animations and transitions. The basic workflow involves three commands: one to create a new slide file from a template, one to preview it in a browser with a local development server so you can see changes as you write, and one to build the final output into a folder of HTML and CSS files that you can host anywhere or share directly. Slides are separated in the Markdown file using a custom tag called slide. Each slide can have a background image or video, and you can control layout and alignment using CSS class names added directly in the Markdown. There is support for speaker notes and a dedicated speaker mode that lets you view your notes and a slide preview on a separate screen while the audience sees the main presentation. Keyboard shortcuts handle navigation, fullscreen, and an overview mode that shows all slides at once. The tool includes three optional plugins: echarts for embedding charts with data, mermaid for drawing flow diagrams and sequence diagrams, and KaTeX for rendering mathematical notation. Icon support is built in through FontAwesome. To export to PDF, you open the presentation in Chrome and use the browser's print function. The README is primarily written in Chinese. nodeppt is installed via npm, the Node.js package manager, and is optimized for Chrome.

Copy-paste prompts

Prompt 1
I'm using nodeppt to create a presentation. Write a Markdown file with 5 slides explaining REST APIs, including one slide with a mermaid sequence diagram showing a client-server HTTP request cycle.
Prompt 2
In nodeppt, how do I add a full-screen background image to a slide and center the text vertically? Show me the Markdown and CSS class syntax.
Prompt 3
Write a nodeppt Markdown presentation about JavaScript promises with a KaTeX math formula on one slide and an echarts bar chart on another, plus speaker notes on each slide.
Open on GitHub → Explain another repo

← ksky521 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.