Display markdown content on a Samsung Frame TV in Art Mode. Note that I've only tested this on an old Frame, I believe this won't work with newer models.
Watches a markdown file for changes, renders it to a styled 1920×1080 image (I have a 32" Frame), and uploads it via samsungtvws.
- Samsung Frame TV (not all versions will work, tested on 2022 QE32LS03TC)
- Python 3.13+
git clone git@github.com:tavva/frame-automation.git
cd frame-automation
uv sync
uv run playwright install chromiumexport FRAME_TV_IP=192.168.1.x
export FRAME_CONTENT_FILE=/path/to/content.md
export FRAME_THEME=default # optional, see below
uv run frame-updateThemes live in the themes/ directory. A theme is either:
- A single CSS file:
themes/default.css - A folder with assets:
themes/paper/theme.css+themes/paper/background.jpg
Built-in themes:
- default - dark background, light text
- paper - paper texture with shadow border
- paper-bleed - paper texture, full screen (no border)
- split - content left, photo right, with shadow border
- split-bleed - content left, photo right, full screen
The split themes display a photo on the right side. Place your photo at themes/split/user-provided/photo.jpg.
To create a custom theme, add a CSS file or folder to themes/. The CSS has full control over styling. Use url(filename.jpg) for assets relative to the theme folder.
The content file is standard markdown:
# This Week
- First item
- Second item
- Third itemMIT

