colloquium 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ CLAUDE.md
@@ -0,0 +1,68 @@
1
+ # Colloquium — Agent Instructions
2
+
3
+ ## What This Is
4
+ Colloquium is an agent-native slide creation tool for research talks. Markdown-based, git-friendly, AI-drivable.
5
+
6
+ ## Commands
7
+ - Use `uv` for all Python operations
8
+ - `uv pip install -e .` to install in dev mode
9
+ - `uv run colloquium build examples/hello.md` to build slides
10
+ - `uv run colloquium serve examples/hello.md` for dev server
11
+ - `uv run pytest` to run tests
12
+
13
+ ## Architecture Patterns
14
+
15
+ ### CSS
16
+ - Slides use `display:none` by default, `display:flex` on `.active`
17
+ - CSS specificity: `.slide--type.active` not `.slide--type` (avoids display override bugs)
18
+ - CSS custom properties (`--colloquium-*`) for all theme colors/fonts
19
+ - Humans can override with custom CSS or per-slide `style` directives
20
+
21
+ ### Navigation (presentation.js)
22
+ - Keyboard: arrows, Home/End, Space, PgUp/PgDn, F (fullscreen), Esc
23
+ - Click zones: left 1/3 back, right 2/3 forward
24
+ - Touch swipe support
25
+ - Hash-based URL routing (#1, #2, ...)
26
+ - Slide counter + progress bar
27
+
28
+ ### Slide Directives
29
+ Per-slide configuration via HTML comments:
30
+ - `<!-- layout: two-column -->` — slide layout
31
+ - `<!-- class: highlight -->` — CSS classes
32
+ - `<!-- style: background: #1a1a2e -->` — inline styles
33
+ - `<!-- notes: Speaker notes here -->` — speaker notes (hidden in presentation)
34
+
35
+ ### Output
36
+ - All output is a single self-contained HTML file (CSS/JS inlined)
37
+ - KaTeX (CDN) for LaTeX math
38
+ - highlight.js (CDN) for code syntax highlighting
39
+
40
+ ### PDF Export
41
+ - Primary: `@media print` CSS makes all slides visible with page breaks, hides nav
42
+ - Users can `Cmd+P` in any browser for a clean PDF
43
+ - CLI convenience: `colloquium export` tries system Chrome `--headless --print-to-pdf`
44
+ - Optional ghostscript compression if `gs` is on PATH
45
+
46
+ ### Dependencies
47
+ - Only 3 runtime deps: markdown-it-py, mdit-py-plugins, pyyaml
48
+ - Everything else is stdlib or browser-side CDN
49
+
50
+ ### Citation Convention (Forward-Compatible)
51
+ - Use `[@key]` pandoc-style citations in slides (bibtex support planned)
52
+ - For now, use plain text citations and manual References slides
53
+
54
+ ## File Layout
55
+ ```
56
+ src/colloquium/
57
+ ├── __init__.py # Version, top-level imports
58
+ ├── cli.py # argparse CLI entry points
59
+ ├── parse.py # Markdown → Slide data structures
60
+ ├── build.py # Slides → HTML generation
61
+ ├── serve.py # Dev server with live reload
62
+ ├── export.py # PDF export (system Chrome + print CSS)
63
+ ├── deck.py # Deck class (agent-facing API)
64
+ ├── slide.py # Slide dataclass
65
+ └── themes/default/
66
+ ├── theme.css # Default theme
67
+ └── presentation.js # Navigation engine
68
+ ```
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nathan Lambert
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.4
2
+ Name: colloquium
3
+ Version: 0.1.0
4
+ Summary: Agent-native slide creation tool for research talks
5
+ Project-URL: Homepage, https://github.com/interconnects-ai/colloquium
6
+ Project-URL: Repository, https://github.com/interconnects-ai/colloquium
7
+ Author: Nathan Lambert
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Keywords: academic,markdown,presentations,research,slides
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Topic :: Text Processing :: Markup :: Markdown
16
+ Requires-Python: >=3.10
17
+ Requires-Dist: markdown-it-py>=3.0
18
+ Requires-Dist: mdit-py-plugins>=0.4
19
+ Requires-Dist: pyyaml>=6.0
20
+ Description-Content-Type: text/markdown
21
+
22
+ # Colloquium — Agent Instructions
23
+
24
+ ## What This Is
25
+ Colloquium is an agent-native slide creation tool for research talks. Markdown-based, git-friendly, AI-drivable.
26
+
27
+ ## Commands
28
+ - Use `uv` for all Python operations
29
+ - `uv pip install -e .` to install in dev mode
30
+ - `uv run colloquium build examples/hello.md` to build slides
31
+ - `uv run colloquium serve examples/hello.md` for dev server
32
+ - `uv run pytest` to run tests
33
+
34
+ ## Architecture Patterns
35
+
36
+ ### CSS
37
+ - Slides use `display:none` by default, `display:flex` on `.active`
38
+ - CSS specificity: `.slide--type.active` not `.slide--type` (avoids display override bugs)
39
+ - CSS custom properties (`--colloquium-*`) for all theme colors/fonts
40
+ - Humans can override with custom CSS or per-slide `style` directives
41
+
42
+ ### Navigation (presentation.js)
43
+ - Keyboard: arrows, Home/End, Space, PgUp/PgDn, F (fullscreen), Esc
44
+ - Click zones: left 1/3 back, right 2/3 forward
45
+ - Touch swipe support
46
+ - Hash-based URL routing (#1, #2, ...)
47
+ - Slide counter + progress bar
48
+
49
+ ### Slide Directives
50
+ Per-slide configuration via HTML comments:
51
+ - `<!-- layout: two-column -->` — slide layout
52
+ - `<!-- class: highlight -->` — CSS classes
53
+ - `<!-- style: background: #1a1a2e -->` — inline styles
54
+ - `<!-- notes: Speaker notes here -->` — speaker notes (hidden in presentation)
55
+
56
+ ### Output
57
+ - All output is a single self-contained HTML file (CSS/JS inlined)
58
+ - KaTeX (CDN) for LaTeX math
59
+ - highlight.js (CDN) for code syntax highlighting
60
+
61
+ ### PDF Export
62
+ - Primary: `@media print` CSS makes all slides visible with page breaks, hides nav
63
+ - Users can `Cmd+P` in any browser for a clean PDF
64
+ - CLI convenience: `colloquium export` tries system Chrome `--headless --print-to-pdf`
65
+ - Optional ghostscript compression if `gs` is on PATH
66
+
67
+ ### Dependencies
68
+ - Only 3 runtime deps: markdown-it-py, mdit-py-plugins, pyyaml
69
+ - Everything else is stdlib or browser-side CDN
70
+
71
+ ### Citation Convention (Forward-Compatible)
72
+ - Use `[@key]` pandoc-style citations in slides (bibtex support planned)
73
+ - For now, use plain text citations and manual References slides
74
+
75
+ ## File Layout
76
+ ```
77
+ src/colloquium/
78
+ ├── __init__.py # Version, top-level imports
79
+ ├── cli.py # argparse CLI entry points
80
+ ├── parse.py # Markdown → Slide data structures
81
+ ├── build.py # Slides → HTML generation
82
+ ├── serve.py # Dev server with live reload
83
+ ├── export.py # PDF export (system Chrome + print CSS)
84
+ ├── deck.py # Deck class (agent-facing API)
85
+ ├── slide.py # Slide dataclass
86
+ └── themes/default/
87
+ ├── theme.css # Default theme
88
+ └── presentation.js # Navigation engine
89
+ ```