Changelog for patat-0.13.0.0
Changelog
0.13.0.0 (2024-10-30)
-
Incrementally display output of
eval
commands (#132)Rather than waiting for the process to complete and then displaying its output,
patat
now fetches thestdout
andstderr
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 addstderr: false
to the eval configuration, e.g.:patat: eval: bash: command: bash stderr: false
0.12.0.1 (2024-09-28)
- Fix width of code blocks when using wide characters (#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 (#167)
wrap
is used at the top-level of settings for wrapping at a certain column, and insideeval
to determine the type in which the result is "wrapped". Using the same name for both is confusing, so this addseval.container
as the new name foreval.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
becomescontainer: code
wrap: raw
becomescontainer: none
wrap: rawInline
becomescontainer: 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 (#164)
Using a specific wrap column, e.g.
wrap: 60
, works well together withauto
margins (see below). -
Support centering content with auto margins (#164)
Configuration is done through the existing
margins
setting.To vertically center content, use
top: auto
. To horizontally center content, use bothleft: auto
andright: auto
. For example:--- 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 theeval
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 configurekitten
code snippets to evaluate using Kitty's commandicat
. This uses therawInline
code setting to ensure that the resulting output is not wrapped in a code block, and thefragment
andreplace
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 ```
0.10.1.1 (2023-10-18)
-
Fix issues in text wrapping when starting a transition
This could show transitions using different wrapping or dropped characters when a line extends past the terminal width.
0.10.1.0 (2023-10-15)
-
Add dissolve transition effect (#150)
-
Add random transitions (#151)
Set transition
type
torandom
to randomly sample transition effects
0.10.0.0 (2023-10-12)
-
Add transition effects (#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 (#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 (#147)
0.9.2.0 (2023-09-26)
-
Read configuration from XDG standard directory (#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 (#145) (#126)
0.9.1.0 (2023-09-25)
-
Fall back to forcing UTF-8 if decoding fails (#144) (#127)
When we try to read a file that is encoded in UTF-8, and the system locale is not set to UTF-8, the GHC runtime system will throw an error.
While this typically indicates that the user should update their system locale using e.g. the
LANG
environment variable, we want to provide a good initial experience for people unfamiliar with this, and in 2023 it's reasonable to assume files may be encoded in UTF-8. -
Dependency updates:
- Bump
skylighting
upper bound to 0.15 (#143)
- Bump
0.9.0.0 (2023-09-13)
-
Add proper support for speaker notes (#142)
You can configure
patat
to write the speaker notes for the current slide to a file whenever the slide changes:patat: speakerNotes: file: /tmp/notes.txt
Then, you can display these in a second terminal (presumably on a second monitor) by just displaying this file whenever it changes. entr is one way to do that:
echo /tmp/notes.txt | entr -s 'clear; cat /tmp/notes.txt'
Alternatively, just use a second
patat
instance with--watch
enabled:patat -w /tmp/notes.txt
-
Add support for showing plain text files (#141)
This isn't super useful on its own, it's meant to support speaker notes.
-
Add syntaxDefinitions to settings (#140)
This allows users to add custom kate highlighting XML files in the settings:
--- patat: syntaxDefinitions: - 'impurescript.xml' ... Here is some *im*purescript: ```impurescript ... ```
0.8.9.0 (2023-06-27)
- Apply block quote theming to entire block (#119) (#111)
- Fix table header theming (#128)
- Dependency updates:
aeson
to 2.1optparse-applicative
to 0.18pandoc
to 3.1pandoc-types
to 1.23text
to 2.0time
to 1.12
0.8.8.0 (2022-10-26)
- Allow hiding slide number (contribution by Paweł Dybiec)
- Support additional markdown extensions (contribution by Spreadcat)
- Dependency updates:
aeson
to 2.0ansi-terminal
to 0.11base64-bytestring
to 1.2bytestring
to 0.11optparse-applicative
to 1.16pandoc
to 2.19skylighting
to 0.13
0.8.7.0 (2021-03-12)
- Fix alignment and display of CJK characters in presentation title, author and tables
- Add support for showing images in Kitty terminal
- Search in
$PATH
forw3mimgdisplay
- Bump
pandoc
dependency to 2.11 - Refactor
Patat.Presentation.Display
module to make it pure
0.8.6.1 (2020-09-18)
- Fix issue with laziness for evaluted code blocks, they should only be evaluated when we actually want to show them
- Bump stack resolver to
lts-16.9
0.8.6.0 (2020-09-11)
- Allow evaluating code blocks (see README for more info)
- Refactor implementation of fragments
- Add breadcrumbs to title based on headers
- Error out when YAML parsing fails
0.8.5.0 (2020-06-29)
- Bump
pandoc
dependency to 2.9 - Switch to
goldplate
for testing
0.8.4.3 (2020-01-21)
- Fix Haddock syntax in some comments (contribution by Asad Saeeduddin)
0.8.4.2 (2020-01-18)
- Add builds for Mac OS
- Refactor CircleCI config & Makefile
0.8.4.1 (2019-10-29)
- Bump CircleCI configuration
- Bump release script
- Add slide seeking to
--help
output
0.8.4.0 (2019-10-09)
- Add slide seeking (enter slide number +
enter
) - Fix turning tty echo off/on during presentation
- Run
w3mimgdisplay
cleanup action, fixing image issues on some terminals
0.8.3.0 (2019-09-07)
- Fix test failure again, and ensure that it works for multiple pandoc versions by slightly modifying test input
- Include pandoc version info in
patat --version
0.8.2.5 (2019-08-12)
- Fix test failure caused by slightly different pandoc output for lists
0.8.2.4 (2019-08-12)
- Bump
optparse-applicative
upper bound to 0.16 - Bump
skylighting
upper bound to 0.9
0.8.2.3 (2019-06-25)
- Bump upper
pandoc
dependency to 2.8
0.8.2.2 (2019-02-04)
- Bump lower
base
dependency to 4.8
0.8.2.1 (2019-02-03)
- Bump
pandoc
to 2.6 - Bump
ansi-terminal
to 0.10
0.8.2.0 (2019-01-24)
- GHC 7.8 compatibility
0.8.1.3 (2019-01-24)
- Bump
pandoc
to 2.4 - Bump
yaml
to 0.11
0.8.1.2 (2018-10-29)
- Work around test failure caused by slightly different syntax highlighting in different pandoc versions
0.8.1.1 (2018-10-26)
- Tickle CircleCI cache
0.8.1.0 (2018-10-26)
- Add support for italic ansi code in themes
- Fix centered titles not being centered (contribution by Hamza Haiken)
0.8.0.0 (2018-08-31)
- Themed border rendering improvements (contribution by Hamza Haiken)
- Add support for margins (contribution by Hamza Haiken)
- Add RGB colour support for themes (contribution by Hamza Haiken)
- Add experimental images support
- Add images support for iTerm2 (contribution by @2mol)
0.7.2.0 (2018-05-08)
- GHC 8.4 compatibility
0.7.1.0 (2018-05-08)
- GHC 8.4 compatibility
0.7.0.0 (2018-05-04)
- Support HTML-style comments
0.6.1.2 (2018-04-30)
- Bump
pandoc
to 2.2
0.6.1.1 (2018-04-27)
- Bump
aeson
to 1.3 - Bump
skylighting
to 0.7 - Bump
time
to 1.9 - Bump
ansi-terminal
to 0.8
0.6.1.0 (2018-01-28)
- Bump
skylighting
to 0.6 - Bump
pandoc
to 2.1 - Bump
ansi-terminal
to 0.7
0.6.0.1 (2017-12-24)
- Automatically upload linux binary to GitHub
0.6.0.0 (2017-12-19)
- Make pandoc extensions customizable in the configuration
- Bump
pandoc
to 2.0
0.5.2.2 (2017-06-14)
- Add
network-uri
dependency to fix travis build
0.5.2.1 (2017-06-14)
- Bump
optparse-applicative-0.14
dependency
0.5.2.0 (2017-05-16)
- Add navigation using
PageUp
andPageDown
. - Use
skylighting
instead of deprecatedhighlighting-kate
for syntax highlighting.
0.5.1.2 (2017-04-26)
- Make build reproducible even if timezone changes (patch by Félix Sipma)
0.5.1.1 (2017-04-23)
- Include
README
inExtra-source-files
so it gets displayed on Hackage
0.5.1.0 (2017-04-23)
- Bump
aeson-1.2
dependency - Fix vertical alignment of title slides
- Fix wrapping issue with inline code at end of line
- Add bash-completion script generation to Makefile
0.5.0.0 (2017-02-06)
-
Add a
slideLevel
option & autodetect it. This changes the waypatat
splits slides. For more information, see theREADME
or theman
page. If you just want to get the old behavior back, just add:--- patat: slideLevel: 1 ...
To the top of your presentation.
-
Clear the screen when finished with the presentation.
0.4.7.1 (2017-01-22)
- Bump
directory-1.3
dependency - Bump
time-1.7
dependency
0.4.7.0 (2017-01-20)
- Bump
aeson-1.1
dependency - Parse YAML for settings using
yaml
instead of pandoc - Clarify watch & autoAdvance combination in documentation.
0.4.6.0 (2016-12-28)
- Redraw the screen on unknown commands to prevent accidental typing from showing up.
- Make the cursor invisible during the presentation.
- Move the footer down one more line to gain some screen real estate.
0.4.5.0 (2016-12-05)
- Render the date in a locale-independent manner (patch by Daniel Shahaf).
0.4.4.0 (2016-12-03)
- Force the use of UTF-8 when generating the man page.
0.4.3.0 (2016-12-02)
- Use
SOURCE_DATE_EPOCH
if it is present instead of getting the date fromgit log
.
0.4.2.0 (2016-12-01)
- Fix issues with man page generation on Travis.
0.4.1.0 (2016-12-01)
- Fix compatibility with
pandoc-1.18
andpandoc-1.19
. - Add a man page.
0.4.0.0 (2016-11-15)
- Add configurable auto advancing.
- Support fragmented slides.
0.3.3.0 (2016-10-31)
- Add a
--version
flag. - Add support for
pandoc-1.18
which includes a newLineBlock
element.
0.3.2.0 (2016-10-20)
- Keep running even if errors are encountered during reload.
0.3.1.0 (2016-10-18)
- Fix compilation with
lts-6.22
.
0.3.0.0 (2016-10-17)
- Add syntax highlighting support.
- Fixed slide clipping after reload.
0.2.0.0 (2016-10-13)
- Add theming support.
- Fix links display.
- Add support for wrapping.
- Allow org mode as input format.
0.1.0.0 (2016-10-02)
- Upload first version from hotel wifi in Kalaw.