Hello World

Rendering of the hello_world example

The smallest useful config: a single screen showing “Hello, World!” centered on the panel. It uses no data sources and no custom fonts (text falls back to the bundled FiraSans).

Files

  • hello_world.yml — the config. Sets the panel size and schedules the hello screen.

  • hello_world.xml.jinja — the screen template.

Try it

From the web/ directory, point CONFIG_DIR at this folder and render the config to a PNG:

CONFIG_DIR=examples/hello_world uv run todays_paper hello_world -o hello_world.png

To serve it to a device, name the config file after the device’s UUID (e.g. <uuid>.yml) and run the server with CONFIG_DIR pointing at this folder.

Source

hello_world.xml.jinja

<screen>
    <text align="center" valign="middle" size="120">Hello, World!</text>
</screen>

hello_world.yml

# The simplest possible config: one screen, no data sources.

settings:
  timezone: Europe/Stockholm

screens:
  # Panel resolution. Use 1024x758 for an ED060XC3 panel, 1448x1072 for an ED060KC1 panel.
  width: 1024
  height: 758
  rotate: 0
  hello:
    template: hello_world.xml.jinja

scheduler:
  # Show the same screen all week, re-rendered every midnight.
  - days: [1, 2, 3, 4, 5, 6, 7]
    hour: 0
    screen: hello