Tags: feature-not-a-bug/patat
Tags
0.14.0.0 (2024-02-06)
* Align based on final layout for incremental lists and other fragments
(jaspervdj#174). This avoids lists "jumping around" as they are revealed when
using `auto` `margins`.
* Rename `fragment` to `reveal` in eval settings. `fragment` will continue
to be available for backwards-compatibility.
* Use a temporary file to atomically write speaker notes.
We weren't writing the file all-at-once before, so if you were using a
simple tool like `tail -F` before, this could cause some speaker notes to
not be displayed.
* Refactor the internal AST to use our own derivation of the Pandoc AST.
This is a major rework of the internals but should not cause any changes
visible to the user.
0.13.0.0 (2024-10-30) * Incrementally display output of `eval` commands (jaspervdj#132) Rather than waiting for the process to complete and then displaying its output, `patat` now fetches the `stdout` and `stderr` as it becomes available and refreshes the display. This means that by default, **stderr is now displayed as well**. To disable displaying `stderr`, you can add `stderr: false` to the eval configuration, e.g.: ```yaml patat: eval: bash: command: bash stderr: false ```
0.12.0.1 (2024-09-28) * Fix width of code blocks when using wide characters (jaspervdj#171) * Bump `pandoc` upper bound to 3.3.
0.12.0.0 (2024-02-27)
* Render tabs in code blocks by expanding them to spaces. The amount of
spaces a tab character aligns to is customizable using `tabStop`, e.g.
`tabStop: 8`. The default is 4.
* Rename eval.wrap to eval.container (jaspervdj#167)
`wrap` is used at the top-level of settings for wrapping at a certain
column, and inside `eval` to determine the type in which the result
is "wrapped". Using the same name for both is confusing, so this adds
`eval.container` as the new name for `eval.wrap`. `eval.wrap` will continue
to be supported for the forseeable future, but its use will be discouraged.
This also changes the values (again keeping the original ones for
backwards-compat), so the complete changes to a configuration would be:
- `wrap: code` becomes `container: code`
- `wrap: raw` becomes `container: none`
- `wrap: rawInline` becomes `container: inline`
* Add a `type: matrix` transition effect, loosely inspired by the 1999 science
fiction movie.
0.11.0.0 (2024-02-14) * Support wrapping at a specific column (jaspervdj#164) Using a specific wrap column, e.g. `wrap: 60`, works well together with `auto` margins (see below). * Support centering content with auto margins (jaspervdj#164) Configuration is done through the existing `margins` setting. To vertically center content, use `top: auto`. To horizontally center content, use both `left: auto` and `right: auto`. For example: ```markdown --- title: Centered presentation author: John Doe patat: margins: left: auto right: auto top: auto ... Hello world ``` Setting `wrap: true` is recommended when vertically centering content if there are any lines that are too wide for the terminal.
0.10.2.0 (2023-11-25)
* Add eval.wrap option
This adds a new `wrap` section to the `eval` configuration.
By default, the output is wrapped in a code block again with the original syntax
highlighting. You can customize this behaviour by setting `wrap` to:
* `code`: the default setting.
* `raw`: no formatting applied.
* `rawInline`: no formatting applied and no trailing newline.
You can use `rawInline` to draw graphics. In order to do that, for example,
we could configure `kitten` code snippets to evaluate using [Kitty]'s
command `icat`. This uses the `rawInline` code setting to ensure that the
resulting output is not wrapped in a code block, and the `fragment` and
`replace` settings immediately replace the snippet:
---
patat:
eval:
kitten:
command: sed 's/^/kitten /' | bash
replace: true
fragment: false
wrap: rawInline
...
See, for example:
```kitten
icat --align left dank-meme.jpg
```
[Kitty]: https://sw.kovidgoyal.net/kitty/
0.10.1.0 (2023-10-15) * Add dissolve transition effect (jaspervdj#150) * Add random transitions (jaspervdj#151) Set transition `type` to `random` to randomly sample transition effects
0.10.0.0 (2023-10-12) * Add transition effects (jaspervdj#149) This adds a framework for setting transition effects in between slides. Only a single transition type is implemented at this point, `slideLeft`. Example configuration: patat: transition: type: slideLeft frames: 24 # Optional duration: 1 # Seconds, optional * Allow overriding certain settings in slides (jaspervdj#148) Configuration was typically done in the metadata block of the input file, or in a per-user configuration. These settings are applied to the entire presentation. We now allow selectively overriding these settings on a per-slide basis, by adding one or more config blocks to those slides. Config blocks are comments that start with `config:`. They can be placed anywhere in the slide. # This is a normal slide Normal slide content # This slide has a different colour header <!--config: theme: header: [vividYellow] --> Wow, how did that happen? * Allow configuring top margin (jaspervdj#147)
0.9.2.0 (2023-09-26) * Read configuration from XDG standard directory (jaspervdj#146) The per-user patat configuration file was `$HOME/.patat.yaml`, which does not follow the XDG standard. We now support `$XDG_CONFIG_DIRECTORY/patat/config.yaml` (typically `$XDG_CONFIG_DIRECTORY` is set to `$HOME/.config`) which is compliant with the standard. Note that `$HOME/.patat.yaml` is still supported for backward-compatibility, but anything in `$XDG_CONFIG_DIRECTORY` takes precedence. * Support filenames in bash completion (jaspervdj#145) (jaspervdj#126)
PreviousNext