A terminal-based presentation tool that turns Markdown files into interactive slides with code execution capabilities
Project description
slid
A terminal-based presentation tool that turns Markdown files into beautiful interactive slides with code execution capabilities.
Features
- ✨ Beautiful terminal-based presentation slides
- 🖼️ Renders Markdown with rich formatting
- ⌨️ Simple keyboard navigation (arrow keys or keyboard shortcuts)
- 🔄 Automatic slide detection using "---" separator
- 💻 Execute Python and Bash code blocks directly within the presentation
- 📋 Copy code blocks to clipboard with a single command
- 🌐 Open URLs directly from the presentation
- 🎨 Elegant color scheme and formatting
Installation
pip install slid
Usage
slid your_presentation.md
slid your_presentation.md --author "Your Name"
Navigation
- → or n: Next slide
- ← or p: Previous slide
- ↑/↓: Also navigate slides
- Number keys: Jump to specific slide
- r: Run code block (followed by block number) or open URL (followed by "url")
- c: Copy code to clipboard (followed by block number)
- q: Quit presentation
Code Execution
Code blocks are automatically detected and numbered for each slide. When on a slide with code:
- Python and Bash/Shell code blocks are automatically detected
- Press r followed by the block number to execute (e.g., r 1)
- Output is displayed in real-time
- Press any key to return to the presentation
Opening URLs
You can open URLs directly from the presentation:
- Press r followed by "url" (e.g., r url)
- The default web browser will open with the URL from the slide
- The presentation continues to display while the browser opens
Clipboard Function
To copy code to your clipboard:
- Press c followed by the block number (e.g., c 1)
- A confirmation will display that the code was copied
- Press any key to return to the presentation
License
Apache License 2.0
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
AI
This tool was generated using AI, with the next prompt:
create python tool to show slides in the terminal, (similar to "slides") but using Rich, Python library. the idea is take a Markdown File, find the key “---\”n and split the file in slides, use a beautiful color schema, and you can add at the bottom, the name of the users and the name of the slides (markdown name) and in the other side you can add the number of the slides such us (1/14 for example). allow run "bash" and "python" cells/Code Block, if you can write "r 1" run the cell 1. Also allow to copy the blocks and URL in the links using the command “c”, for example if in one slide you have 1 bash block and 2 links, you can run “c 3”, to copy the 2nd link or “r 2” to open the 1st link in the slide. For move between the slides, the user can user the arrow keys (next and previous), the enter key, or the space key (for next), up key (beginning), down key (last slide).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slid-0.1.1.tar.gz.
File metadata
- Download URL: slid-0.1.1.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a7e960da7ee9b32193379661592b9edf3b58db81ee1409f6def2801794421ef
|
|
| MD5 |
4e4c0fbcb6d286b60133895fb1bb5220
|
|
| BLAKE2b-256 |
758689617efc16ffb8d8a8693d1f78f6ab918216e1d7c12440fa71bb4dd6e6dd
|
File details
Details for the file slid-0.1.1-py3-none-any.whl.
File metadata
- Download URL: slid-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83de940ebd45ee2a875e03c8b825c273bf6ac500ec36b2896780345db2a7d5c9
|
|
| MD5 |
3180dc273c68e8d61e8e0f68f4ce3462
|
|
| BLAKE2b-256 |
55d1f4194fc0a9ed51f6fe9400403144984de8e2b71fd4f2e86a68ae89a8000a
|