HugoGranstrom / nimiSlides

A Reveal.js theme for nimib for making slideshow presentations in Nim
https://hugogranstrom.com/nimiSlides
MIT License
80 stars 6 forks source link

add backgroundSize field to slideOptions to control layout of image and video background #49

Open pietroppeter opened 3 months ago

pietroppeter commented 3 months ago

reveal.js supports a data-background-size field that allows to control how an image or video background is shown. The default is "cover", which means the slide will be completed covered by the image. Another interesting option is contain, which resizes the image to fit in the slide. See https://revealjs.com/backgrounds/

As usual a bit in a hurry so I will not submit a PR now, but the change is rather straightforward:

There are also other options that are currently not reachable from nimislides that could be added as well.

For the curious: motivated by this presentation about Advent Of Code (in Italian) that I will be presenting tomorrow at Python Catania meetup. https://github.com/pietroppeter/diventa-avventore-del-codice

code snippet:

  elif options.imageBackground.len > 0:
    result.add """data-background-image="$1" """ % [options.imageBackground]
    if options.backgroundSize.len > 0:
      result.add """data-background-size="$1" """ % [options.backgroundSize]
  elif options.videoBackground.len > 0:
    result.add """data-background-video="$1" """ % [options.videoBackground]
    if options.backgroundSize.len > 0:
      result.add """data-background-size="$1" """ % [options.backgroundSize]