Skip to main content

Generate GitHub-styled HTML walkthroughs from markdown

Project description

linear-walkthrough

Generate self-contained, GitHub-styled HTML walkthroughs from GFM markdown.

Takes markdown files with code walkthroughs and produces single-file HTML pages with syntax highlighting, dark mode support, and Mermaid diagram rendering. Optionally launches an interactive server where you can select text and ask Claude follow-up questions.

Screenshot of linear-walkthrough interactive mode

Install

# Run directly from GitHub
uvx --from git+https://github.com/uptick/linear-walkthrough linear-walkthrough input.md -o output.html

# Or install locally
uv pip install git+https://github.com/uptick/linear-walkthrough
linear-walkthrough input.md -o output.html

AI Coding Assistants

Add the skill to your AI coding assistant:

npx skills add uptick/linear-walkthrough

Works with Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Goose, OpenCode, and Windsurf.

Example prompts:

/linear-walkthrough Walk me through the auth module
/linear-walkthrough Create a walkthrough for PR #42
/linear-walkthrough Give me a beginner-friendly walkthrough of the API layer

Quick Start

# File input → file output
uv run linear-walkthrough input.md -o output.html

# Stdin → stdout
cat input.md | uv run linear-walkthrough -o out.html

# Interactive server mode (opens browser)
uv run linear-walkthrough input.md --serve

Features

  • GFM markdown — tables, task lists, fenced code blocks
  • Syntax highlighting — Pygments with light/dark theme support via prefers-color-scheme
  • Mermaid diagrams — rendered client-side from fenced mermaid blocks
  • Self-contained output — single HTML file with all CSS inlined
  • Interactive mode — select text in the browser, ask Claude follow-up questions, responses appended to the source file

Interactive Server Mode

uv run linear-walkthrough walkthrough.md --serve [-p PORT] [--cwd DIR]

Starts a local HTTP server (default port 7847) that renders your walkthrough with a text selection UI. Select any text and ask a question — Claude responds using the full walkthrough as context. Follow-up responses are appended to the original markdown file.

Project Structure

linear_walkthrough/
  cli.py           - CLI entry point
  renderer.py      - Markdown → HTML via markdown-it-py + Pygments
  template.py      - Minijinja template loader + CSS
  server.py        - Interactive server mode (stdlib http.server + claude subprocess)
  templates/
    page.html              - Static output template
    page_interactive.html  - Interactive template with follow-up JS

Tech Stack

  • Python 3.12+ managed with uv
  • markdown-it-py — GFM parsing
  • Pygments — syntax highlighting
  • minijinja — HTML templating
  • Mermaid.js — diagram rendering (CDN)

Development

uv run ruff check .    # lint
uv run mypy .          # type check
uv run pytest          # test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linear_walkthrough-0.3.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linear_walkthrough-0.3.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file linear_walkthrough-0.3.1.tar.gz.

File metadata

  • Download URL: linear_walkthrough-0.3.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.14

File hashes

Hashes for linear_walkthrough-0.3.1.tar.gz
Algorithm Hash digest
SHA256 748f575207d06a66654c4fa7a0d24331fab402ec63e7b5d216956c0fc9ab6f73
MD5 8df8e9dda0e9509e29856c6c56fbd214
BLAKE2b-256 caf63457d3192d052eec61da8de21d22a11a40ddd6b78e0ad93a47935e91b603

See more details on using hashes here.

File details

Details for the file linear_walkthrough-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for linear_walkthrough-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fed201b1839a7ad60851be6cb70578334e0ea15bfa6a15c98bcde56a80d60f7e
MD5 60349668d057c6f86018e211d50ddcfd
BLAKE2b-256 06c957941a7f6845cfd370cb9167ade3cf268d6032ea54d6419d0013617e5a07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page