How googleworkspace/md2googleslides works
md2gslides converts Markdown/HTML into Google Slides presentations, through either its CLI or embeddable generator API. The main workflow parses slide content, prepares images, selects layouts, builds Slides API requests, and updates or reloads a deck. README-documented capabilities include rich text, code highlighting, tables, notes, videos, images, custom layouts, and append/erase behavior. Some subsystem links reflect documented features and tree paths; unsampled implementation wiring is omitted where uncertain.
Main entry points: slide_generator.ts Slide generator · extract_slides.ts Slide extraction · md2gslides.js CLI · auth.ts OAuth authorizer
Components 24
Entry points
- CLI
bin/md2gslides.js - Library API
index.js - OAuth authorizer
src/auth.ts - Token store
src/auth.ts
Content parsing
- Slide extraction
src/parser/extract_slides.ts - Markdown parser
src/parser/parser.ts - Parse context
src/parser/env.ts - Style parsing
src/parser/css.ts - Code highlighting
src/parser/syntax_highlight.ts - Slide definitions
src/slides.ts
Slide rendering
- Slide generator
src/slide_generator.ts - Layout selection
src/layout/match_layout.ts - Request building
src/layout/generic_layout.ts - Presentation helpers
src/layout/presentation_helpers.ts - Image generation
src/images/generate.ts - Math rendering
src/images/mathjax.ts - SVG conversion
src/images/svg.ts - Image sizing
src/images/probe.ts - Local image upload
src/images/upload.ts
External services
- Google OAuth
- Google Slides API
- File.io
- Image sources
Other components
- Author
Connections 28
- Author → CLI: provides input
- Author → Library API: supplies content
- CLI → OAuth authorizer: authorizes
- OAuth authorizer → Token store: reads/writes
- OAuth authorizer → Google OAuth: requests tokens
- CLI → Slide generator: configures
- Library API → Slide generator: exports
- Slide generator → Slide extraction: parses content
- Slide extraction → Markdown parser: tokenizes
- Slide extraction → Parse context: builds slide data
- Slide extraction → Style parsing: parses styles
- Slide extraction → Code highlighting: highlights code
- Slide extraction → Slide definitions: creates definitions
- Slide generator → Slide definitions: processes slides
- Slide generator → Image generation: generates images
- Slide generator → Image sizing: probes dimensions
- Image sizing → Image sources: reads dimensions
- Slide generator → Local image upload: uploads local images
- Local image upload → File.io: uploads image
- Image generation → Math rendering: renders math
- Math rendering → SVG conversion: converts SVG
- Slide generator → Layout selection: selects layouts
- Layout selection → Request building: creates renderer
- Request building → Presentation helpers: finds placeholders
- Slide generator → Google Slides API: creates/updates decks
- Slide generator → Google Slides API: loads presentation
- CLI → Google Slides API: copies deck
- Google Slides API → Author: returns presentation