Claude Plugin Paper

A Claude Code plugin for pretty-printing markdown documents and conversations with beautiful, customizable templates.
Developed by Clawdy & Seolcoding
Features
- Beautiful Templates - Clean, professional document styles (B&W and color friendly)
- Conversation Printing - Print Claude Code chat sessions with formatted messages
- Real-time Customization - Live preview with adjustable fonts, colors, and layouts
- Code Syntax Highlighting - Powered by highlight.js
- Modern UI - Glass morphism control bar with Bootstrap styling
- Settings Persistence - Preferences saved automatically via LocalStorage
- Zero External Services - All processing happens locally
Installation
Method 1: GitHub Direct (Recommended)
# Add as marketplace
/plugin marketplace add seolcoding/claude-plugin-paper
# Install the plugin
/plugin install paper@seolcoding-paper
Method 2: Local Installation
# Clone the repository
git clone https://github.com/seolcoding/claude-plugin-paper.git
cd paper
# Install dependencies
bun install
# or: npm install
# Add as local plugin
claude plugins add .
Method 3: From npm (Coming Soon)
npx claude-plugins install claude-plugin-paper
Quick Start
Print a Markdown File
/paper ./docs/README.md
Print with Template
/paper ./report.md --template report
Print Latest Conversation
/paper --conversation --latest
Usage
Basic Commands
| Command | Description |
|---|
/paper <file.md> | Print a markdown file |
/paper --conversation --latest | Print latest Claude conversation |
/paper --conversation <path.jsonl> | Print specific conversation file |
/paper | Interactive mode - asks what to print |
Options
| Option | Short | Description |
|---|
--template <name> | -t | Template: default, report, minimal |
--css <file> | -c | Custom CSS file to inject |
--bw | | B&W printer hint (uses default/minimal) |
--color | | Color printer hint (uses report) |
--interactive | -i | Interactive template selection |
Examples
# B&W friendly printing
/paper ./doc.md --bw
# Color report with headers
/paper ./report.md --template report
# Custom styling
/paper ./doc.md --css ./my-style.css
# Print conversation with color template
/paper --conversation --latest --color
Templates
| Template | Description | Best For |
|---|
default | Clean, professional document style | B&W printers, general documents |
report | Formal report with headers, page numbers | Color printers, business reports |
minimal | Compact, ink-saving design | Drafts, reference sheets |
Real-time Customization
When the print preview opens, you get access to a control bar with:
- Theme Selection - Switch templates instantly
- Font Size - Adjust base font size
- Scale - Zoom in/out for preview
- Color Mode - Color, B&W, or Sepia
- Print Button - Direct print with Cmd/Ctrl+P
Settings Modal
Click the gear icon for advanced options:
- Layout (margins, width, padding)
- Custom colors with presets
- Header/Footer customization
- Font adjustments
Project Structure
paper/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── commands/
│ └── paper.md # /paper slash command
├── skills/
│ └── paper/
│ └── SKILL.md # Auto-trigger skill
├── scripts/
│ ├── paper.mjs # Main print script
│ └── conversation-to-md.mjs # JSONL converter
├── templates/
│ ├── default.css # B&W friendly
│ ├── report.css # Color report
│ └── minimal.css # Ink-saving
├── tests/
│ └── paper.test.mjs # Test suite
└── package.json
Publishing & Distribution
For Plugin Developers
See docs/PUBLISHING.md for detailed publishing guide including:
- GitHub direct installation
- npm package publishing
- Official marketplace submission
- Creating your own marketplace
Quick Publish Steps
# 1. Commit all changes
git add .
git commit -m "Prepare for release"
# 2. Create version tag
git tag -a v1.0.0 -m "Initial release"
# 3. Push to GitHub
git push origin main
git push origin v1.0.0
# 4. Create GitHub Release
gh release create v1.0.0 --title "Paper v1.0.0" --notes "Initial release"
Tech Stack