graphsay
v0.0.1
Published
Generate animated GitHub-style contribution graph messages as SVG, GIF, WebP, or MP4
Maintainers
Readme
graphsay
Generate animated GitHub-style contribution graph messages as SVG, GIF, WebP, or MP4.
Installation
Prerequisites
Run with npx (no install needed)
npx graphsay -m "HELLO WORLD" -f svgInstall globally
npm install -g graphsayInstall from source
git clone https://github.com/leereilly/graphsay.git
cd graphsay
npm install
npm run buildUsage
npx graphsay --message "HELLO WORLD" --format svgOptions
| Flag | Description | Default |
|------|-------------|---------|
| -m, --message <TEXT> | Message to display (required, max 500 chars) | — |
| -t, --theme <THEME> | light, dark, or both | both |
| -f, --format <FORMAT> | svg, gif, webp, mp4 | mp4 |
| -o, --output <PATH> | Output file path | auto-generated |
| --color <HEX> | Text color hex code | #40c463 |
| --mode <MODE> | scroll or static | scroll |
| --speed <SECONDS> | Step interval in seconds | 0.15 |
| --no-transparent | Add a background color instead of transparent | transparent |
| --no-loop | Disable looping (SVG plays once and freezes; GIF does not loop) | loops |
Examples
# SVG with light theme (scroll)
npx graphsay -m "HELLO WORLD" -f svg -t light
# SVG with both light/dark mode support
npx graphsay -m "HELLO WORLD" -f svg -t both# Static centered text (dark theme)
npx graphsay -m "HELLO WORLD" -f svg -t dark --mode static
# Custom color
npx graphsay -m "RUST" -f svg --color "#ff6600"
# GIF output (requires ffmpeg)
npx graphsay -m "HELLO" -f gif -t light
# With background color (non-transparent)
npx graphsay -m "HELLO WORLD" -f svg -t dark --no-transparent
# MP4 video (requires ffmpeg)
npx graphsay -m "HELLO" -f mp4➡️ Output
Requirements
- SVG output: No additional dependencies
- GIF/WebP/MP4 output: Requires ffmpeg to be installed and available on PATH
Testing
npm test