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.1.tar.gz (18.0 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.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slidershow_builder-0.6.1.tar.gz
  • Upload date:
  • Size: 18.0 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.1.tar.gz
Algorithm Hash digest
SHA256 92df8108b7bd56b1ef4a52d90af51a513ece5262005cb83d2b87707802ccd49a
MD5 7e38a9d43c31284eeaf3b35afb67ff08
BLAKE2b-256 5271ad31106d265a33c5f5302af3551f71c1915da472af6e3a7b414ef2b82b27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for slidershow_builder-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c583a43dbe32bf76102d3c2972faf9de12b1ad06d4fb9413b13e3eca59a2070b
MD5 9cb95e6d95cd178a3dcaddc144b1172a
BLAKE2b-256 6864488e1fdc711410a1767505d05718530f625ed210211050cef95fdc5806db

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