SKILLS/leetcode-daily-card/SKILL.md

2.7 KiB

name description metadata
leetcode-daily-card A Node.js script that fetches the daily LeetCode challenge and renders it as a PNG card, HTML page, or Markdown document.
clawdbot
emoji os
📋
linux
darwin
win32

LeetCode Daily Card Generator

A Node.js script that automatically fetches the daily LeetCode challenge and renders it as a PNG card, HTML page, or Markdown document.

Features

  • Automatic Daily Fetch: Retrieves the current daily LeetCode problem via GraphQL API
  • Browser Rendering: Uses Puppeteer for high-quality PNG output with CSS styling
  • Multiple Output Formats: .png (image), .html (styled page), .md (markdown)
  • Theme Support: Light and dark themes
  • CJK Support: Noto Sans SC and system fonts for Chinese characters
  • Code Highlighting: Syntax highlighting via highlight.js
  • LaTeX Support: KaTeX rendering for math formulas

Installation

cd scripts
npm install

Dependencies

  • puppeteer-core: Browser automation (uses local Chrome/Edge)
  • marked: Markdown parsing
  • katex: LaTeX math rendering
  • highlight.js: Code syntax highlighting

Usage

# Generate PNG card (default light theme)
node run.js output.png

# Generate PNG with dark theme
node run.js output.png --dark

# Generate HTML page
node run.js output.html

# Generate Markdown document
node run.js output.md

# Custom max width (for long descriptions)
node run.js output.png --max-width=800 --dark

Output Formats

PNG Card

  • Gradient header with date and LeetCode icon
  • Question title, ID, difficulty badge, acceptance rate
  • Tags as styled pills
  • Full problem description with code formatting
  • Footer with link to problem page

HTML Page

  • Same styling as PNG, exportable as standalone file
  • Responsive design
  • Interactive links

Markdown Document

  • Clean Markdown formatting
  • Question metadata in Info section
  • Full problem description
  • Example test cases
  • Link to problem page

Supported Platforms

  • Windows: Chrome/Edge from default installation paths
  • macOS: Chrome/Edge from Applications
  • Linux: Chrome/Chromium from system PATH

Workflow

LeetCode GraphQL API
    ↓
Fetch Question Data
    ↓
Generate HTML Template
    ↓
Browser Rendering (PNG) / File Output (HTML/MD)

Browser Configuration

The script auto-detects installed browsers in this order:

  1. CHROME_PATH environment variable
  2. Google Chrome
  3. Microsoft Edge
  4. Chromium
# Force specific browser
CHROME_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe" node run.js output.png

Notes

  • Requires internet access to fetch from LeetCode API
  • Browser must be installed for PNG/HTML output
  • Markdown output works without browser