Hacky fork of maaslalani's slides
go install github.com/c0rydoras/folien@latest
From source:
git clone https://github.com/c0rydoras/folien.git
cd folien
go install
You can also download a binary from the releases page.
Create a simple markdown file that contains your folien:
# Welcome to Folien
A terminal based presentation tool
---
## Everything is markdown
In fact, this entire presentation is a markdown file.
---
## Everything happens in your terminal
Create folien and present them without ever leaving your terminal.
---
## Code execution
```go
package main
import "fmt"
func main() {
fmt.Println("Execute code directly inside the folien")
}
```
You can execute code inside your folien by pressing `<C-e>`,
the output of your command will be displayed at the end of the current slide.
---
## Pre-process folien
You can add a code block with three tildes (`~`) and write a command to run _before_ displaying
the folien, the text inside the code block will be passed as `stdin` to the command
and the code block will be replaced with the `stdout` of the command.
```
~~~graph-easy --as=boxart
[ A ] - to -> [ B ]
~~~
```
The above will be pre-processed to look like:
┌───┐ to ┌───┐
│ A │ ────> │ B │
└───┘ └───┘
For security reasons, you must pass a file that has execution permissions
for the folien to be pre-processed. You can use `chmod` to add these permissions.
```bash
chmod +x file.md
```
Checkout the example folien.
Then, to present, run:
folien presentation.md
If given a file name, folien
will automatically look for changes in the file and update the presentation live.
folien
also accepts input through stdin
:
curl http://example.com/folien.md | folien
Go to the first slide with the following key sequence:
- g g
Go to the next slide with any of the following key sequences:
- space
- right
- down
- enter
- n
- j
- l
- Page Down
- number + any of the above (go forward n slides)
Go to the previous slide with any of the following key sequences:
- left
- up
- p
- h
- k
- N
- Page Up
- number + any of the above (go back n slides)
Go to a specific slide with the following key sequence:
- number + G
Go to the last slide with the following key:
- G
To quickly jump to the right slide, you can use the search function.
Press /, enter your search term and press Enter
(The search term is interpreted as a regular expression. The /i
flag causes case-insensitivity.).
Press ctrl+n after a search to go to the next search result.
If folien finds a code block on the current folien it can execute the code block and display the result as virtual text on the screen.
Press ctrl+e on a slide with a code block to execute it and display the result.
You can add a code block with three tildes (~
) and write a command to run
before displaying the slides, the text inside the code block will be passed
as stdin
to the command and the code block will be replaced with the stdout
of the command. Wrap the pre-processed block in three backticks to keep
proper formatting and new lines.
```
~~~graph-easy --as=boxart
[ A ] - to -> [ B ]
~~~
```
The above will be pre-processed to look like:
┌───┐ to ┌───┐
│ A │ ────> │ B │
└───┘ └───┘
For security reasons, you must pass a file that has execution permissions
for the folien to be pre-processed. You can use chmod
to add these permissions.
chmod +x file.md
folien
allows you to customize your presentation's look and feel with metadata at the top of your folien.md
.
This section is entirely optional,
folien
will use sensible defaults if this section or any field in the section is omitted.
---
theme: ./path/to/theme.json
author: Gopher
date: MMMM dd, YYYY
paging: Slide %d / %d
---
theme
: Path tojson
file containing a glamour theme, can also be a link to a remotejson
file which folien will fetch before presenting.author
: Astring
to display on the bottom-left corner of the presentation view. Defaults to the OS current user's full name. Can be empty to hide the author.date
: Astring
that is used to format today's date in theYYYY-MM-DD
format. If the date is not a valid format, the string will be displayed. Defaults toYYYY-MM-DD
.paging
: Astring
that contains 0 or more%d
directives. The first%d
will be replaced with the current slide number and the second%d
will be replaced with the total folien count. Defaults toSlide %d / %d
. You will need to surround the paging value with quotes if it starts with%
.
Given the date January 02, 2006:
Value | Translates to |
---|---|
YYYY |
2006 |
YY |
06 |
MMMM |
January |
MMM |
Jan |
MM |
01 |
mm |
1 |
DD |
02 |
dd |
2 |
Credits: This project was forked from slides
See the development documentation