This allows specifying the dimensions to use when exporting a
presentation to PDF. This allows exporting to PDF in contexts without a
tty which should help people write scripts that automatically export
presentations. This now also adds a step in the CI that tries to export
the default presentation as PDF, which couldn't be tested before because
of the tty restriction.
```yaml
export:
dimensions:
rows: 35
columns: 135
```
This respects font sizes in the generated PDF. The one thing that is not
yet supported here is text with font size > 1 _and_ with a background
color. The background color only shows up in the line where the text is.
But this should be rarer (e.g. a font size > 1 code block?) so this
works for most cases.
Fixes https://github.com/mfontanini/presenterm-export/issues/17
This removes the need for `presenterm-export` and instead invokes
weasyprint directly from presenterm. This removes lots of logic and
simplifies things considerably. Besides this it also opens the door to
be able to use font sizes in the generated PDF + allowing other types of
export in the future, like HTML.
This also gets rid of the need for tmux, essentially now we take the
operations to render the presentation and use a converter internally
that turns them into HTML, which we then feed to weasyprint.
Relates to https://github.com/mfontanini/presenterm-export/issues/17
Changes in 0.10.0 were made to fix some incorrect ansi escape code
parsing when processing snippet execution output. However, those changes
were still not handling parsing properly and ended up causing it to
break in other cases.
This change hopefully fixes that. This also removes ansi-parser and
starts using vte to parse escape codes as ansi-parser doesn't let you
have more than 5 segments in an escape code. As an added bonus this also
removes a bunch of dependencies.
Fixes#499
This causes end slide shorthands to be respected when in speaker notes
mode.
This speaker notes/presentation mode code needs some splitting, this
currently makes it hard to know what needs to be done / is done in each
case. But this does for now.
Fixes#491
This adds an `alignment` comment command that can have a
left/center/right values. This uncovered a few issues in how some
elements (e.g. lists in particular, but also normal text) render with
center/right alignment, but they'll be fixed separately.
Fixes#492
The new `--current-theme` switch will print the theme in use to stdout.
This will be the configured theme in the config file, if set, or the
default theme as a fallback.
Relates to #488
This changes the behavior for incremental lists so that pauses are added
before and after lists. This changes the default behavior since this
seems more sensible.
To use the original behavior that causes no pauses before nor after set
`defaults.incremental_lists.pause_before` and
`defaults.incremental_lists.pause_after` to `false` in the config file.
The following presentation:
```markdown
<!-- incremental_lists: true -->
greetings I know:
* hi
* bye
vegetables I know:
* potato
* carrot
```
Now looks like this:
[](https://asciinema.org/a/QQq1IZzyLSyquh9TKRjVGFy0u)
Fixes#486