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.2.0.tar.gz (356.7 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.2.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for linear_walkthrough-0.2.0.tar.gz
Algorithm Hash digest
SHA256 318d10f5596573ca4ca41b57f3c9fee576959dda80a066897f5496e61a55267d
MD5 16bd6f560a84fc4542c6653f199c9b38
BLAKE2b-256 135af204ae5216170c82569767fa11f2aca72d6b7ae1a06655e14683c87eb0c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for linear_walkthrough-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7bccb766de308419cb66944258497f7d5e61cb69b8626b142310ecbb5a4210c
MD5 ba05c151e59c0082e291f6170efe8397
BLAKE2b-256 f3275938de7c8fb8efc5911ea7a43ba6ab295680ec9f79311efdbb3dac7bd7ab

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