Skip to main content

Build a slidershow media presentation from a sheet.

Just put file names into the sheet and we generate the HTML file.

graph LR;
sheet --> slidershow-builder --> presentation.html

Features

  • Find files on disk, evade hassling with the relative paths.

Ex. You just use the file name from Google Photos, slidershow-builder will find an original file within the given directories scope.

  • auto-conversion

Some formats cannot be played in the browser; slidershow-builder will automatically creates a cache folder with the mp4 files, playable everywhere.

Installation

pip install slidershow-builder

Sheet

Format of the sheet

Columns:

comment filename start commands

Comment is an inserted HTML comment, displayed at the presenter's notes.

Text frame

  • filename:
  • start: header
  • commands: subtitle

Image frame

start: point [left = 0, top = 0, scale = 1, transition_duration = 0, duration = 0, data-rotate = 0]

Ex: [[], [100,100,5]] will begin unzoomed, on the next frame we zoom to 5.

See: https://github.com/CZ-NIC/slidershow/?tab=readme-ov-file#data-step-points

How to get the point? Go to the slidershow in the browser, open properties Alt+p and click on the new point.

Video frame

start

  • video start time, empty = 0:00

commands

  • number is a timestamp, jehož akce určují následující buňky
  • posouvací šipka, ex: →60.5 skočí z momentu na 60.5
  • rate a číslo změní rate momentu rate 2
  • mute, unmute
  • R+number(M|U): rate. Ex: R2 = rate 2, R4M = rate 4 + mute
  • P = rate 1, unmute
  • F+number: faster rate. Ex F2 = rate 1.2
  • comma character behaves like a cell-separator, these are independent commands rate 2, unmuterate 2 a unmute
  • poslední osamělé číslo je end
  • point command zooms, ex: point:[0,0,2,null,null,270] zoom and rotate. (Point musí být v buňce zvlášť.)

Ex: 15, → 4, 1:10: At 0:15, jump to 0:04, then end at 1:10.

Section break

comment: SECTION

If the row starts with the word "SECTION", a new <section> is inserted. (And the row is skipped.)

Rows:

Parsing ends on the first empty row.

Usage

$ slidershow-builder --help
usage: slidershow-builder [-h] [OPTIONS]

╭─ options ──────────────────────────────────────────────────────────────────╮
│ -h, --help                                                                 │
│     show this help message and exit                                        │
│ --verbose, -v                                                              │
│     verbosity level, can be used multiple times to increase                │
│ --file PATH                                                                │
│     (required)                                                             │
│ --sheet STR                                                                │
│     Sheet name to process. If None, all will be processed and multiple     │
│     files will be generated (if `--output` set).                           │
│     (...)                                                                  │
│ --output PATH                                                              │
│     By default, the output is printed to the screen. (default: None)       │
│ --replace-in-filename {[STR STR [STR STR ...]]}                            │
│     If set, filename from the sheet will be replaced according to this.    │
│        Ex: --replace-filename /mnt/user /mnt/foo jpg JPG -> filename       │
│     /mnt/user/dir/img.jpg  /mnt/foo/dir/img.JPG (default: None)           │
│ --filename-autosearch {[PATH [PATH ...]]}                                  │
│     If the filename is without path and the file does not exist, try       │
│     finding the file within these dirs. (default: None)                    │
│ --no-filename-autosearch-cache                                             │
│     Use a cache file for filename_autosearch, persistent accress program   │
│     launches. (default: True)                                              │
╰────────────────────────────────────────────────────────────────────────────╯
╭─ convert options ──────────────────────────────────────────────────────────╮
│ Auto-convert for browser-compatible formats.                               │
│ Creates a cached copies with compatible JPG and MP4.                       │
│ ────────────────────────────────────────────────────────────────────────── │
│ --convert.enable                                                           │
│     The cache will be used for needy media. (default: False)               │
│ --convert.no-autogenerate                                                  │
│     If .enable, generate all the needy media to the cache. (default: True) │
│ --convert.cache-dir PATH                                                   │
│     (default: /tmp)                                                        │
│ --convert.no-heic                                                          │
│     Generate JPG from HEIC. (default: True)                                │
│ --convert.no-hevc                                                          │
│     Generate MP4 from HEVC. (default: True)                                │
│ --convert.no-hevc-in-mp4                                                   │
│     Check for HEVC codec in MP4 video files. (default: True)               │
╰────────────────────────────────────────────────────────────────────────────╯
╭─ slidershow options ───────────────────────────────────────────────────────╮
│ --slidershow.template PATH                                                 │
│     HTML template the presentation is made of. (default: ...)              │
│ --slidershow.url STR                                                       │
│     The URL to be used for generating. Ex. you might want to use an        │
│     offline local copy of the project. (default:                           │
│     https://cdn.jsdelivr.net/gh/CZ-NIC/slidershow@main/slidershow/slidersh │
│     ow.js)                                                                 │
╰────────────────────────────────────────────────────────────────────────────╯

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slidershow_builder-0.6.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slidershow_builder-0.6.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file slidershow_builder-0.6.0.tar.gz.

File metadata

  • Download URL: slidershow_builder-0.6.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for slidershow_builder-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a40f52c920275f39d986daad73b3d5b976561df15dddc00c13580f085e5cdaf5
MD5 00f9b1548e9dcff39e61486b949f268b
BLAKE2b-256 e93261691c76bbeec951a2e63e23a02f3053a1583b588eeaed1f0ccc3be4b71f

See more details on using hashes here.

File details

Details for the file slidershow_builder-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for slidershow_builder-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7c7cfd572052904cc00075156c3f15eb7589ec2c0dde6fdaa7e26076fca579d
MD5 a51b16eaacf6cd8f9c37a39e573a0d8f
BLAKE2b-256 672514ee3f75458a50a452608fa19af4382641382ed322d011969d03f960e367

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page