본문으로 건너뛰기
cccskills
무료GitHub에 공개

ck:markdown-novel-viewer

View markdown files with calm, book-like reading experience via HTTP server. Use for long-form content, documentation preview, novel reading, report viewing, distraction-free reading.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(30)

  • SKILL.md8.9 KB
  • assets/directory-browser.css2.9 KB
  • assets/favicon.png1.8 KB
  • assets/novel-theme.css612 B
  • assets/reader.js25.0 KB
  • assets/styles/novel-theme-base.css1013 B
  • assets/styles/novel-theme-components.css3.4 KB
  • assets/styles/novel-theme-content.css2.8 KB
  • assets/styles/novel-theme-header.css3.9 KB
  • assets/styles/novel-theme-mermaid.css3.1 KB
  • assets/styles/novel-theme-overlays.css3.6 KB
  • assets/styles/novel-theme-responsive.css4.5 KB
  • assets/styles/novel-theme-sidebar.css6.2 KB
  • assets/styles/novel-theme-variables.css1.4 KB
  • assets/template.html6.0 KB
  • bun.lock2.5 KB
  • package.json419 B
  • scripts/lib/http-server.cjs11.4 KB
  • scripts/lib/markdown-renderer.cjs9.7 KB
  • scripts/lib/plan-navigator.cjs20.0 KB
  • scripts/lib/port-finder.cjs1.1 KB
  • scripts/lib/process-mgr.cjs3.2 KB
  • scripts/server.cjs12.4 KB
  • scripts/tests/server.test.cjs9.4 KB
  • tests/dashboard-assets.test.cjs10.5 KB
  • tests/dashboard-renderer.test.cjs10.9 KB
  • tests/http-server.test.cjs7.9 KB
  • tests/run-tests.cjs1.0 KB
  • tests/test-framework.cjs3.2 KB
  • tests/verify-xss.cjs3.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

markdown-novel-viewer

Background HTTP server rendering markdown files with calm, book-like reading experience.

⚠️ Installation Required

This skill requires npm dependencies. Run one of the following:

# Option 1: Install via Codex Kit CLI (recommended)
ck init  # Runs install.sh which handles all skills

# Option 2: Manual installation
cd .agents/skills/markdown-novel-viewer
npm install

Dependencies: marked, highlight.js, gray-matter

Without installation, you'll get Error 500: Error rendering markdown.

Purpose

Universal viewer - pass ANY path and view it:

  • Markdown files → novel-reader UI with serif fonts, warm theme
  • Directories → file listing browser with clickable links

Quick Start

# View a markdown file
node .agents/skills/markdown-novel-viewer/scripts/server.cjs \
  --file ./plans/my-plan/plan.md \
  --open

# Browse a directory
node .agents/skills/markdown-novel-viewer/scripts/server.cjs \
  --dir ./plans \
  --host 0.0.0.0 \
  --open

# Background mode
node .agents/skills/markdown-novel-viewer/scripts/server.cjs \
  --file ./README.md \
  --background

# Stop all running servers
node .agents/skills/markdown-novel-viewer/scripts/server.cjs --stop

Skill Command

Use $preview for quick access:

$preview plans/my-plan/plan.md    # View markdown file
$preview plans/                   # Browse directory
$preview --stop                   # Stop server

Features

Novel Theme

  • Warm cream background (light mode)
  • Dark mode with warm gold accents
  • Libre Baskerville serif headings
  • Inter body text, JetBrains Mono code
  • Maximum 720px content width

Mermaid.js Diagrams

  • Auto-renders mermaid code blocks as diagrams
  • Theme-aware (light/dark mode support)
  • Full-width toggle: Click diagram to expand/collapse
  • Error display with source preview for debugging

Directory Browser

  • Clean file listing with emoji icons
  • Markdown files link to viewer
  • Folders link to sub-directories
  • Parent directory navigation (..)
  • Light/dark mode support

Focused Reader Mode

  • Auto-hide header: Header hides on scroll down, shows on scroll up
  • Progress bar: Always-visible horizontal progress bar tracks reading position
  • Distraction-free: Minimal UI that gets out of the way while reading
  • Smooth transitions: Gentle animations for header show/hide

Plan Navigation

  • Auto-detects plan directory structure
  • Accordion sidebar with status badges (✓ complete, ⏳ in progress)
  • Previous/Next navigation buttons
  • Auto-hide header with progress bar on scroll
  • Mobile FAB (floating action button) for navigation
  • Bottom sheet sidebar for mobile devices

Keyboard Shortcuts

First-time toast: Shows "Press ? for keyboard shortcuts" on first visit (auto-dismisses after 5s)

Available shortcuts:

  • ? - Show keyboard shortcuts cheatsheet (full-screen overlay)
  • T - Toggle theme (light/dark)
  • S - Toggle sidebar (desktop)
  • ← / → - Navigate previous/next phase
  • Esc - Close sidebar (mobile) or cheatsheet modal

Cheatsheet modal: Press ? to see all shortcuts in a full-screen overlay with backdrop blur. Close with Esc, × button, or backdrop click.

Mobile Optimization

  • FAB (Floating Action Button): Fixed bottom-right button for navigation on mobile
  • Bottom sheet: Slide-up sidebar with touch gestures
  • Touch-friendly: Larger tap targets, swipe gestures
  • Responsive breakpoint: Switches at 768px viewport width

CLI Options

OptionDescriptionDefault
--file <path>Markdown file to view-
--dir <path>Directory to browse-
--port <number>Server port3456
--host <addr>Host to bind (0.0.0.0 for remote)localhost
--openAuto-open browserfalse
--backgroundRun in backgroundfalse
--stopStop all servers-

Architecture

scripts/
├── server.cjs               # Main entry point
└── lib/
    ├── port-finder.cjs      # Dynamic port allocation
    ├── process-mgr.cjs      # PID file management
    ├── http-server.cjs      # Core HTTP routing (/view, /browse)
    ├── markdown-renderer.cjs # MD→HTML conversion
    └── plan-navigator.cjs   # Plan detection & nav

assets/
├── template.html            # Markdown viewer template
├── reader.js                # Client-side interactivity
├── novel-theme.css          # Main theme file (imports modules)
├── directory-browser.css    # Directory browser styles
└── styles/                  # Modular CSS architecture
    ├── novel-theme-base.css       # Base colors, fonts, reset
    ├── novel-theme-typography.css # Headings, paragraphs, lists
    ├── novel-theme-code.css       # Code blocks, syntax highlighting
    ├── novel-theme-tables.css     # Table styling
    ├── novel-theme-links.css      # Link states, hover effects
    ├── novel-theme-layout.css     # Grid, spacing, containers
    ├── novel-theme-header.css     # Auto-hide header, progress bar
    ├── novel-theme-sidebar.css    # Accordion sidebar, status badges
    └── novel-theme-overlays.css   # Toast, cheatsheet modal

HTTP Routes

RouteDescription
/view?file=<path>Markdown file viewer
/browse?dir=<path>Directory browser
/assets/*Static assets
/file/*Local file serving (images)

Dependencies

  • Node.js built-in: http, fs, path, net
  • npm: marked, highlight.js, gray-matter (installed via npm install)

Customization

Theme Colors (CSS Variables)

Light mode variables in assets/novel-theme.css:

--bg-primary: #faf8f3;      /* Warm cream */
--accent: #8b4513;          /* Saddle brown */

Dark mode:

--bg-primary: #1a1a1a;      /* Near black */
--accent: #d4a574;          /* Warm gold */

Content Width

--content-width: 720px;

Remote Access

To access from another device on your network:

# Start with 0.0.0.0 to bind to all interfaces
node server.cjs --file ./README.md --host 0.0.0.0 --port 3456

When using --host 0.0.0.0, the server auto-detects your local network IP and includes it in the output:

{
  "success": true,
  "url": "http://localhost:3456/view?file=...",
  "networkUrl": "http://192.168.2.75:3456/view?file=...",
  "port": 3456
}

Use networkUrl to access from other devices on the same network.

Troubleshooting

Port in use: Server auto-increments to next available port (3456-3500)

Images not loading: Ensure image paths are relative to markdown file

Server won't stop: Check /tmp/md-novel-viewer-*.pid for stale PID files

Remote access denied: Use --host 0.0.0.0 to bind to all interfaces

Mermaid.js Diagrams

Usage

Use fenced code blocks with mermaid language:

```mermaid
pie title Traffic Sources
    "Organic" : 45
    "Direct" : 30
    "Referral" : 25
```

Supported Diagram Types

TypeSyntaxUse Case
Flowchartflowchart LR/TB/TDProcess flows, decision trees
SequencesequenceDiagramAPI interactions, message flows
Piepie title "..."Distribution data
GanttganttProject timelines
XY Chartxychart-betaBar/line charts
MindmapmindmapIdea hierarchies
QuadrantquadrantChart2x2 matrices

Validating Mermaid Snippets

Quick validation: Use the Mermaid Live Editor to test syntax.

Common errors and fixes:

ErrorCauseFix
Parse errorInvalid syntaxCheck diagram type declaration
Unknown diagram typeTypo in declarationUse exact type: flowchart, not flow
Expecting tokenMissing quotes/bracketsEnsure balanced delimiters
UnknownDiagramErrorEmpty or malformed blockAdd valid diagram content

Fixing Common Issues

1. Flowchart arrows

%% Wrong: A -> B
%% Correct:
flowchart LR
    A --> B

2. Pie chart values

%% Wrong: "Label": 50%
%% Correct:
pie title Sales
    "Product A" : 50
    "Product B" : 30

3. XY Chart data format

xychart-beta
    title "Monthly Sales"
    x-axis [Jan, Feb, Mar]
    y-axis "Revenue" 0 --> 100
    bar [30, 45, 60]

4. Sequence diagram participants

sequenceDiagram
    participant A as Client
    participant B as Server
    A->>B: Request
    B-->>A: Response

Debug Mode

When a diagram fails to render, the viewer shows:

  • Error message
  • Expandable source code preview
  • Line number where parsing failed (when available)

Fix the syntax and refresh the page to re-render.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

AI-optimized browser automation CLI with context-efficient snapshots. Use for long autonomous sessions, self-verifying workflows, video recording, and cloud browser testing (Browserbase).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manhvann/codexkit892026년 8월 29일 업데이트

Generate images via Nano Banana with 129 curated prompts. Mandatory validation interview refines style/mood/colors (use --skip to bypass). 3 modes: search, creative, wild. Styles: Ukiyo-e, Bento grid, cyberpunk, cinematic, vintage patent.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manhvann/codexkit892026년 8월 29일 업데이트

Analyze images/audio/video with Gemini API (better vision than Codex). Generate images (Imagen 4), videos (Veo 3). Use for vision analysis, transcription, OCR, design extraction, multimodal AI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manhvann/codexkit892026년 8월 29일 업데이트

ck:ask

무료

Answer technical and architectural questions with expert consultation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manhvann/codexkit892026년 8월 29일 업데이트

Build backends with Node.js, Python, Go (NestJS, FastAPI, Django). Use for REST/GraphQL/gRPC APIs, auth (OAuth, JWT), databases, microservices, security (OWASP), Docker/K8s.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manhvann/codexkit892026년 8월 29일 업데이트

Add authentication with Better Auth (TypeScript). Use for email/password, OAuth providers (Google, GitHub), 2FA/MFA, passkeys/WebAuthn, sessions, RBAC, rate limiting.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manhvann/codexkit892026년 8월 29일 업데이트

manhvann의 스킬 모두 보기

이 스킬의 문제 신고