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.
- colloquium-0.1.0/AGENTS.md +1 -0
- colloquium-0.1.0/CLAUDE.md +68 -0
- colloquium-0.1.0/LICENSE +21 -0
- colloquium-0.1.0/PKG-INFO +89 -0
- colloquium-0.1.0/examples/hello.html +706 -0
- colloquium-0.1.0/examples/hello.md +106 -0
- colloquium-0.1.0/pyproject.toml +37 -0
- colloquium-0.1.0/src/colloquium/__init__.py +8 -0
- colloquium-0.1.0/src/colloquium/build.py +174 -0
- colloquium-0.1.0/src/colloquium/cli.py +116 -0
- colloquium-0.1.0/src/colloquium/deck.py +138 -0
- colloquium-0.1.0/src/colloquium/export.py +116 -0
- colloquium-0.1.0/src/colloquium/parse.py +131 -0
- colloquium-0.1.0/src/colloquium/serve.py +83 -0
- colloquium-0.1.0/src/colloquium/slide.py +45 -0
- colloquium-0.1.0/src/colloquium/themes/__init__.py +0 -0
- colloquium-0.1.0/src/colloquium/themes/default/presentation.js +170 -0
- colloquium-0.1.0/src/colloquium/themes/default/theme.css +381 -0
- colloquium-0.1.0/tests/__init__.py +0 -0
- colloquium-0.1.0/tests/test_build.py +119 -0
- colloquium-0.1.0/tests/test_deck.py +125 -0
- colloquium-0.1.0/tests/test_parse.py +123 -0
- colloquium-0.1.0/uv.lock +117 -0
|
@@ -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
|
+
```
|
colloquium-0.1.0/LICENSE
ADDED
|
@@ -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
|
+
```
|