Zettelstore Contrib

Files in presenter/ of tip
Login

Files in presenter/ of tip

Files in directory /presenter from the latest check-in


Zettel Presenter generates slide shows, handouts, and more from zettels stored in a Zettelstore.

Build Instructions

To build Zettel Presenter, simply navigate to the directory of this sub-project and run the following command:

go build .

This will create an executable named presenter.

You can also download the executables for Windows and macOS from https://zettelstore.de/contrib/uv.

Note: Please ensure that the version of Zettel Presenter matches the version of Zettelstore to avoid compatibility issues.

Run instructions

# presenter -h
Usage of presenter:
-l string
        Listen address (default: ":23120")
[URL] URL of Zettelstore (default: "http://127.0.0.1:23123")

Configuration

Additional configuration is stored in the metadata of a zettel with the special identifier 00009000001000. Currently, two keys are supported:

Slide Set

A slide set is a zettel marked with a zettel role defined by the configuration key slideset-role (default: "slideset", as mentioned above). Its primary purpose is to list all zettel that will act as slides for a slideshow. In other words, it serves as a table of contents.

Internally, the Zettel Presenter looks for the first list in the slide set zettel, whether ordered or unordered. For each first-level list item, it checks the very first link reference. If the link points to a zettel, that zettel will be included in the slide set.

It is perfectly fine to reference the same zettel multiple times, as long as each reference appears in a different first-level item of the slide set zettel.

The second purpose of the slide set zettel is to define metadata needed for the slideshow or handout. This metadata is stored within the zettel’s metadata and includes:

Slide

A slide is simply a zettel referenced by a slide set zettel. The Zettel Presenter does not require a specific zettel role for slides. However, it’s considered good practice to assign a dedicated zettel role, such as "slide". This makes it easier to find and list specific slides based on their zettel role.

Similar to the slide set zettel, the Zettel Presenter also looks at the metadata of a slide zettel:

Slide Roles

Currently, two slide roles are implemented: slide show and handout.

Presenting a slide show is the primary use case for the Zettel Presenter. All relevant slides are gathered and an HTML-based slide show is generated.

The handout is another HTML document that contains all relevant slides, but without the interactive slide show elements. Instead, the slides are presented in a linear format. Zettel that are referenced but not part of the slide set, yet have the visibility set to "public", will be added at the end of the handout for further reference. This ensures you can provide a complete document to your audience without risking the inclusion of confidential material.

When you reference a zettel from the same slide set, an appropriate HTML link will be created. Since a zettel might appear more than once in the slide set, the Zettel Presenter searches for references in reverse order (backwards).

If you reference a zettel outside the slide set, it will be linked in the slide show. Following the link will display the referenced zettel, but not within the context of the slide show. As mentioned earlier, such links will only appear in the handout if the referenced zettel has "public" visibility. In this case, it will be considered part of the slide set.

Navigating

Zettel Presenter operates in a simple, intuitive way, using the same zettel identifiers as Zettelstore. If no zettel identifier is provided in the URL, Zettel Presenter will display the home zettel of Zettelstore.

When the zettel is a slide set, all relevant zettels are collected and used to create a slide show or handout. These zettels are presented in a numbered or ordered list. Clicking on any item in the list will take you to the corresponding slide in the slide show.

At the bottom of the slide set, there is a link to generate the handout.

If the zettel is not part of a slide set, it will be displayed in a straightforward manner, similar to how it appears in the Zettelstore web interface. This view allows you to display additional content (if linked from a slide) or navigate to a slide set zettel to begin a presentation.