Skip to content

boostcampwm-snu-2026-1/rendermd-hyuk

Repository files navigation

rendermd

CI License Node pnpm

A static web tool to preview LLM-generated markdown in real time and save it as a PDF.

Live: https://boostcampwm-snu-2026-1.github.io/rendermd-hyuk/

Boostcamp Web & Mobile SNU 2026 — solo project (3-week shared track)

Development setup

  • Node.js >=22
  • pnpm >=9
pnpm install      # install deps and activate Husky hooks
pnpm dev          # dev server (available after Next.js setup in week 2)
pnpm build        # static build → out/ (week 2+)
pnpm format       # apply Prettier
pnpm format:check # check formatting (used by CI)
pnpm test         # run Vitest (watch mode)
pnpm test:run     # run Vitest once (used by CI)

Tech stack

Next.js (static export) · TypeScript · CodeMirror 6 · react-markdown · KaTeX · CSS Modules · pnpm · Husky · Vitest · commitlint · GitHub Actions

Rationale: docs/proposal.md

Documentation

Demo

Walkthrough video

demo.mp4

Narrated 3:25 walkthrough — paste, live preview, toolbar formatting, slash menu, themes, math alignment, and PDF export. 1920×1080 · H.264 · 12 MB. Mirror: demo-v1 release asset.

User flow

flowchart LR
    A([Paste LLM<br/>response]) --> B[Markdown editor<br/>left pane]
    B --> C[Live preview<br/>right pane]
    C --> D{Tweak<br/>theme?}
    D -->|yes| E[light / dark /<br/>sepia / HC]
    E --> C
    D -->|no| F[Click<br/>Export PDF]
    F --> G[Browser print<br/>dialog]
    G --> H([Save as PDF])
Loading

Screenshots

Captured from the live site via pnpm dlx tsx scripts/capture.ts (Playwright).

Desktop (1440×900) Mobile (390×844)
Light light desktop light mobile
Dark dark desktop dark mobile
Sepia sepia desktop sepia mobile
High contrast hc desktop hc mobile

PDF samples (themed): light · dark

Branch strategy

main         ← deployed (GitHub Pages auto-deploy)
 ↑
dev          ← integration
 ↑
feature/*    ← per-feature
  • No direct pushes to main.
  • feature/* PRs merge into dev.
  • devmain PRs trigger auto deploy.

Commits

Follows Conventional Commits. The Husky commit-msg hook runs commitlint and rejects non-conforming messages.

Example: feat(editor): add CodeMirror markdown highlighting

See CONTRIBUTING.md for the full format.

Author

  • 최재혁 / jay20012024

License

MIT