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.

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

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.13+ 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.1.0.tar.gz (26.0 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.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for linear_walkthrough-0.1.0.tar.gz
Algorithm Hash digest
SHA256 26b538463f835ce5b672c6ab6c2601920772e4484681f08d55d51fec42bc8ba7
MD5 e9aaac8ab604592fb9bb2afec2b9eed8
BLAKE2b-256 23e4a8ddff9d0dfe6648054807f0b2c842a79fdb26810b38662aefe264b51afb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for linear_walkthrough-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5385fdf288e6b5716792a7d708abbf1e4238517c7a91c2134a9387a6dd0e38e
MD5 fbfb0da160abd7b8661b1fd2bc4ab0f2
BLAKE2b-256 8e5a758589ba79620ed2a58cb151562ffe213d5309a4f5ccee985bcc57201f80

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