Thanks to visit codestin.com
Credit goes to github.com

Skip to content

amatsuda/przn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

przn

A terminal-based presentation tool written in Ruby. Renders Markdown slides with Kitty text sizing protocol support for beautifully scaled headings.

Installation

gem install przn

Usage

przn your_slides.md

PDF export

przn --export your_slides.md
przn --export pdf your_slides.md
przn --export pdf -o output.pdf your_slides.md

Requires a TrueType font (with glyf outlines) for proper rendering. Prawn does not support CFF-based fonts (most .otf files). Fonts are auto-detected in this order: NotoSansJP TTF, HackGen, Arial Unicode.

Key bindings

Key Action
l j Space Next slide
h k Previous slide
g First slide
G Last slide
q Ctrl-C Quit

Markdown format

przn's Markdown format is compatible with Rabbit's Markdown mode.

Slide splitting

Slides are separated by # (h1) headings.

# Slide 1

content

# Slide 2

more content

Text formatting

*emphasis*
**bold**
~~strikethrough~~
`inline code`

Lists

* item 1
* item 2
  * nested item

- also works as bullets

1. ordered
2. list

Code blocks

Fenced code blocks:

```ruby
puts "hello"
```

Indented code blocks (4 spaces) with optional kramdown IAL:

    def hello
      puts "world"
    end
{: lang="ruby"}

Block quotes

> quoted text
> continues here

Tables

| Header 1 | Header 2 |
|----------|----------|
| cell 1   | cell 2   |

Definition lists

term
:   definition

Text sizing

Uses Rabbit-compatible {::tag} notation. Supported size names: xx-small, x-small, small, large, x-large, xx-large, xxx-large, xxxx-large, and numeric 1-7.

{::tag name="x-large"}Big text{:/tag}
{::tag name="7"}Maximum size{:/tag}

On Kitty-compatible terminals, sized text is rendered using the OSC 66 text sizing protocol. On other terminals, the markup is silently ignored.

Alignment

{:.center}
centered text

{:.right}
right-aligned text

Comments

{::comment}
This text is hidden from the presentation.
{:/comment}

Notes

Visible text {::note}(speaker note){:/note}

License

The gem is available as open source under the terms of the MIT License.

About

A pure Ruby terminal based presentation tool

Resources

License

Stars

Watchers

Forks

Packages