-
Decker slides can now be installed as progressive web apps (PWAs). We don't cache the content locally, so consumers of published slides still need internet connection. But the PWA mechanism allows to add slides to the home-screen (for iOS) or as an app shortcut (Chrome, Safari).
-
The whiteboard can now be configured to automatically switch on (when a pen-hover is detected) and off (two seconds after pen-up event). While it is convenient not having to toggle the whiteboard manually, it also means that one cannot use a pen to interact with elements on the slide. By default this feature is disabled. To enable, use this setting:
whiteboard: autotoggle: true
-
Remove inert polyfill, since the inert feature is now supported in up-to-date browsers.
-
column-1-2-3
DIV style columns are now detected recursively. -
Files can be excluded from file watching using glob patterns:
watch: exclude: - "**/*.swp" - "**/~*"
-
The new command
decker transcribe
transcribes all recorded videos to.vtt
files that are available with the integrated video player. The recorded language must be configured explicitly, default is German. By default, both German and English subtitles will be generated. In order to use this, install whisper.cpp. Those are the configuration options.# whisper.cpp default transcription settings whisper: base-dir: /usr/local/share/whisper.cpp model: models/ggml-large.bin # the recorded language (e.g., "de" or "en") lang: de
-
Move
rsync
configuration entirely todecker.yaml
.This will certainly break projects that define their own rsync options. They will have to add the removed options to their local rsync options list:
publish: rsync: options: - "--recursive" - "--copy-links" - "--delete" ...
-
The title attribute on links and images is used as the
aria-label
, there are no more tooltips on links and images. -
The title slide can now be extensively customized with multiple authors, institutions and logos. For example:
authors: - name: 'First Author' url: 'https://example.com/first' affiliation: # 'First Department' name: 'First Department' url: 'https://example.com/first-dep' logo: '/test/decks/assets/dummy-long.png' - name: 'Second Author' url: 'https://example.com/second' affiliation: 'Second Department' - 'Third Author'
-
The use of
highlight.js
for code syntax highlighting is no longer supported. Use Pandoc highlighting by settinghighlight-style:
to something. To see supported highlight styles dopandoc --list-highlight-styles
-
3D glTF files (https://www.khronos.org/gltf/) can now be embedded using Googles model-viewer (https://modelviewer.dev/):
![Expressive Robot (with autoplay)](assets/robot.glb){autoplay=1}
-
Decks can be switched to handout mode during presentation. All slides will be shown in one linearly scrollable HTML document view. Special handout versions of decks are no longer created by default.
-
Static resources can now be listed as file or directory paths in the variable
static-resources
. Directories are traversed recursively, adding all contained files to the list. -
Examiner style poll (the ones loaded from YAML files) results can now be saved if running off a local Decker server (
decker -S
). They are stored in*-poll.json
files alongside the presentation sources. Enable with:save-polls: true
-
Always generate an index document. If a custom
index.md
is present, the generated index is stored asgenerated-index.html
alongside the customindex.html
.
-
Use OKSolar (https://meat.io/oksolar) as default palette for resource pack
mono
. -
Add syntax extensions from Kate (https://kate-editor.org/syntax/) for built-in code highlighting by through meta variable
extra-highlight-syntax
. For example:extra-highlight-syntax: Asm6502: asm6502.xml
-
Better messages for errors during template compilation.
-
Save whiteboard annotation when recording stops (
zzz
) and also save them to the local download folder. -
Embed Geogebra (https://www.geogebra.org) apps using standard image notation. For Example:
![Interactive Geogebra](gradient.ggb)
-
Automatically open recording panel after initiating recording mode ('r').
-
Defer device search until after initiation of recording mode ('r').
-
Block quotes can now have captions and are layouted as a standard media element. For example:
> The answer is 42. Caption: Douglas Adams, *The Hitchhikers Guide to the Galaxy*
-
Add the new
nwburg
resource pack containing the JMU templates and styles. -
Various fixes and enhancements to the
tudo
resource pack. -
Handle palettes of arbitrary size. The lower half of the palette is treated as shades, the upper half as accents.
-
Removed files (like
*-annot.json
) are now also removed frompublic
. -
Add
decker purge
command. There two cleanup commands now:decker clean
- removespublic
.decker purge
- also removes.decker
(which contains crunched MP4s)
-
Rename:
decker-engine
is nowfeedback
. -
Handouts are not built by default anymore. Use
decker handouts
explicitly. -
Additional math macros have been removed from the default resource pack. Use your favorite resource pack or
decker.yaml
to define them. -
Decks that have
draft: true
or whose deck ids are theno-index:
list are removed from the search index. -
Use GPL-3.0 license.
-
Add the
tudo
resource pack. -
Add template macros. For example:
assign: | <a class="index-name" title="HTML Seite" href="assignments/:(url)-page.html">:(title) <i class="fas fa-file-code"></i></a>
can be invoked as
[@assign](a05 "Aufgabe 5")
and yields
<a class="index-name" title="HTML Seite" href="assignments/a05-page.html">Aufgabe 5<i class="fas fa-file-code"></i></a>
-
Add dynamic Lua filters for the Pandoc AST. For example:
pandoc:
filters:
before:
- upcase-h1.lua
with upcase-h1.lua
containing:
local text = pandoc.text
function Header(el)
if el.level == 1 then
return el:walk {
Str = function(el)
return pandoc.Str(text.upper(el.text))
end
}
end
end
transforms:
# A Lua Plugin {.columns}
to:
# A LUA PLUGIN {.columns}
-
Use Scotty instead of Snap as a webserver.
-
Add a separate
template/index.html
template andsupport/css/index.css
for the index page. -
Render blocks and DIVs with class
details
as<detail><summary> ... </summary> ... </detail>
-
Whiteboard uses all 16 palette colors in light and dark mode. The whiteboard button is only shown in presenter mode.
-
There is a presenter mode now (toggle with
ppp
). Currently enables the following:- Arm the recording key (``).
- Show the whiteboard button.
- Start a quiz session with the quiz server, if configured.
-
Panndocs footnotes are now rendered at the end of the slide, wrapped in a DIV with class
footnotes
. -
Many, many bugs have been fixed all around.