Project Introduction of Slides
Slides is an innovative tool that allows users to create and present slide presentations directly from their terminal. This project is designed to make the process of creating, presenting, and managing presentations easy and efficient, utilizing markdown files as its foundation.
Installation
Getting started with Slides is straightforward, catering to various operating systems and platforms:
- MacOS users can simply use Homebrew with the command
brew install slides
. - Arch Linux users can install with
yay -S slides
. - For those on Nixpkgs (unstable), installation can be done via
nix-env -iA nixpkgs.slides
. - Any Linux distribution running
snapd
can install Slides usingsudo snap install slides
. - Developers comfortable with Go can install it directly from the source with
go install github.com/maaslalani/slides@latest
or by cloning from the GitHub repository.
Additionally, binaries are available for direct download from the releases page on GitHub for those who prefer not to build from the source.
Usage
To begin using Slides, create a markdown file that will house your presentation. Here's a simple workflow to demonstrate its capabilities:
# Welcome to Slides
A terminal-based presentation tool
---
## Everything is markdown
The entire presentation is just a markdown file.
Once your markdown file is prepared, you can run it using the command slides presentation.md
. Slides watches the file for any changes and updates the presentation in real time.
Slides also supports advanced capabilities like:
- Code Execution: By pressing
<C-e>
, you can execute code blocks directly within a slide, and the outputs are displayed on the same slide. - Pre-process Slides: Embed pre-processing commands in your slides which can execute before presenting, converting input to output for display.
Slides can also live stream presentations over SSH, making it accessible without local installation.
Navigation
Slides provides intuitive navigation through the following commands:
- Next Slide: Press keys like
space
,right
,down
, orenter
. - Previous Slide: Utilize keys such as
left
,up
, orp
. - Specific Navigation: Jump to a slide by pressing
number + G
or go to the first or last slide usinggg
orG
respectively.
Search and Filtering
Finding a slide quickly is possible with the search feature. By pressing /
, users can input their search term and press Enter
for results. For cycling through search results, ctrl+n is used.
Configuration
For users who want a personalized experience, Slides offers configuration options that let you adjust its look and feel. This includes detailing author names, custom date formats, slide pagination formats, and theme selections contained in a json
file.
Alternatives
Slides finds its inspiration from tools like lookatme
, and alternatives like sli.dev
, sent
, and presenterm
, each offering unique features in the realm of terminal-based presentations.
Conclusion
Slides offers an efficient, terminal-based approach to creating and presenting slide shows, combining simplicity with powerful features. It is versatile for various user preferences and provides an accessible platform for creating engaging presentations directly from your terminal. Whether you are a developer or someone who appreciates markdown and terminal efficiency, Slides allows you to focus on the content without the overhead of complex presentation software.