Skip to main content

Agent-native slide creation tool for research talks

Project description

Colloquium — Agent Instructions

What This Is

Colloquium is an agent-native slide creation tool for research talks. Markdown-based, git-friendly, AI-drivable.

Commands

  • Use uv for all Python operations
  • uv pip install -e . to install in dev mode
  • uv run colloquium build examples/hello.md to build slides
  • uv run colloquium serve examples/hello.md for dev server
  • uv run pytest to run tests

Architecture Patterns

CSS

  • Slides use display:none by default, display:flex on .active
  • CSS specificity: .slide--type.active not .slide--type (avoids display override bugs)
  • CSS custom properties (--colloquium-*) for all theme colors/fonts
  • Humans can override with custom CSS or per-slide style directives

Navigation (presentation.js)

  • Keyboard: arrows, Home/End, Space, PgUp/PgDn, F (fullscreen), Esc
  • Click zones: left 1/3 back, right 2/3 forward
  • Touch swipe support
  • Hash-based URL routing (#1, #2, ...)
  • Slide counter + progress bar

Slide Directives

Per-slide configuration via HTML comments:

  • <!-- layout: two-column --> — slide layout
  • <!-- class: highlight --> — CSS classes
  • <!-- style: background: #1a1a2e --> — inline styles
  • <!-- notes: Speaker notes here --> — speaker notes (hidden in presentation)

Output

  • All output is a single self-contained HTML file (CSS/JS inlined)
  • KaTeX (CDN) for LaTeX math
  • highlight.js (CDN) for code syntax highlighting

PDF Export

  • Primary: @media print CSS makes all slides visible with page breaks, hides nav
  • Users can Cmd+P in any browser for a clean PDF
  • CLI convenience: colloquium export tries system Chrome --headless --print-to-pdf
  • Optional ghostscript compression if gs is on PATH

Dependencies

  • Only 3 runtime deps: markdown-it-py, mdit-py-plugins, pyyaml
  • Everything else is stdlib or browser-side CDN

Citation Convention (Forward-Compatible)

  • Use [@key] pandoc-style citations in slides (bibtex support planned)
  • For now, use plain text citations and manual References slides

File Layout

src/colloquium/
├── __init__.py       # Version, top-level imports
├── cli.py            # argparse CLI entry points
├── parse.py          # Markdown → Slide data structures
├── build.py          # Slides → HTML generation
├── serve.py          # Dev server with live reload
├── export.py         # PDF export (system Chrome + print CSS)
├── deck.py           # Deck class (agent-facing API)
├── slide.py          # Slide dataclass
└── themes/default/
    ├── theme.css     # Default theme
    └── presentation.js  # Navigation engine

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

colloquium-0.1.0.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

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

colloquium-0.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for colloquium-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a408309e5c806676ef89ca17da271b9f989b671351e184aaaf7ca2502b4a8608
MD5 b94c17129659aaebd0cec257a38d73e3
BLAKE2b-256 f16bc74ed6117f4c5baf1591a1186faf628be8d945ffc836f053c5a87c81e715

See more details on using hashes here.

File details

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

File metadata

  • Download URL: colloquium-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.12

File hashes

Hashes for colloquium-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9779d279cc2952fdd188cd6987d677009b11c21f4f5c07e77878d6a20b95b830
MD5 cfccce714ff4be7254b2e501498162e2
BLAKE2b-256 efba2160e93a552c9a4f8dc3f9b8d778eece465e7c76f73ebd1bd1d2c19da352

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