Skip to content

Releases: HugoGranstrom/nimiSlides

Column-gap + Fix for Nim 1.6

23 May 20:02
557f357
Compare
Choose a tag to compare

The CI now checks correctly that the code works on the latest Nim 1.6.x. One bug was found and fixed.

The gap between columns can now changed by passing the width of the gap in em:

let gap = 2.0
columns(gap):
  column:
    nbText: "Hi"
  column:
    nbText: "Bye"

What's Changed

New Contributors

  • @quimt made their first contribution in #36

Full Changelog: v0.2.5...v0.2.6

Auto-animation to the people

26 Jan 18:07
c9e80b9
Compare
Choose a tag to compare

You can now use auto-animation with less boilerplate code:

autoAnimateSlides(5):
  showUntil(3):
    nbText: "1, 2, 3"
  nbText: "Always"
  showFrom(3):
    nbText: "3, 4, 5"

See docs for more information.

We have also updated to the latest Reveal.js version 5.0.4.

Nim 2.0 Compatible

03 Aug 14:18
fc96adc
Compare
Choose a tag to compare

NimiSlides is now Nim 2.0 compatible (as well as 1.6). The CI now tests 1.6.x, stable and devel.

Let there be docs!

28 Jun 21:25
216d3c8
Compare
Choose a tag to compare
  • Docs
    • nimiSlides finally have somewhat proper docs!
    • You can see the API docs here.
    • And I have spent time writing tutorials for most of the features of nimiSlides with embedded showcases for each feature. You can find these in a neat nimiBook here.
  • @svenrdz has made their first contributions to nimiSlides which I am very grateful of ❤️ :
    • Update to latest Reveal.js version (4.5.0).
    • Added Dracula theme.
    • Added support for gradient backgrounds (see the background tutorial for examples)
  • Added disableVerticalCentering which when called disables Reveal.js' automatic vertical (up-down) centering, placing the content at the top of the slides.
  • fadeIn finally works!
    • The fadeIn fragment has always been a bit of a weird fella. But now it should behave as expected.
    • This didn't work before, but does now: fragment(@[fadeIn, grows]). Before it would just ignore the fadeIn, but now it is taken into account.
  • animateCode accepts sets now!
    • You can now supply a set to animateCode to highlight lines that aren't next to each other.
    • For example, animateCode(1, {2, 4..6}): body will first highlight line 1, then lines 2, 4, 5, 6.
    • This was possible before, but it was inconvenient, and you had to use a low-level API to achieve it.

Columns update

09 Jan 11:10
Compare
Choose a tag to compare
  • columns now create equally sized columns, no matter the content. (A empty column takes up as much width as one full of content).
  • adaptiveColumns has the behavior of the old columns where columns only are as big as their content needs.
  • The columns themselves are still created using column for both.

Compatible with nimib v0.3.3

14 Nov 09:20
Compare
Choose a tag to compare

Fix so the blocks using nbJs are compatible with the new behavior in nimib v0.3.3.

Let it slide, let it slide, let it slide

27 Sep 21:08
03fdbad
Compare
Choose a tag to compare

v0.2 - Let it slide, let it slide, let it slide

This is a feature-update which brings new features mainly to slide layout and background. Now you can have fullscreen images, videos and iframe. You can also create columns to better structure your slides. Lists that reveal one element at a time are now more powerful than ever and you can add a footer and images in the corners. NimConf 2022 is around the corner, I hope this release will bring useful additions for those wanting to try nimiSlides out.

  • Update to use nimib v0.3.1.
  • slide now accepts a SlideOptions created through slideOptions proc instead of a bool. It has the following fields:
    • autoAnimate - same as previously, it tries to automatically animate the transition of slides.
    • colorBackground - set the background color of the slide.
    • imageBackground - set the background to an image.
    • videoBackground - set the background to a video file (not Youtube, use iframe for it)
    • iframeBackground - set the background to an iframe of a website (fullscreen).
    • iframeInteractive - make the iframe interactive.
  • Add showSlideNumber template to enable showing the current slide number.
  • Add useScrollWheel template to enable stepping through the slides with the scroll wheel.
  • columns template to create equally wide columns:
slide:
  columns:
    column:
      nbText: "Left column"
    column:
      nbText: "Right column"
  • footer(text: string, fontSize=20, opacity=0.6, rawHtml=false) template to a footer to every slide. The input is a string with markdown, unless the argument rawHtml=true in which case it is treated as raw HTML.
    • The footer will be shown on all slides except those with image-, video- or iframe-backgrounds.
  • Support for making lists that incrementally reveal the list items are supported using the templates orderedList, unorderedList and listItem.
  • addStyle allows you to add CSS to the document.
  • cornerImage(image: string, corner: Corner, size: int = 100) allows you to place an image in the corners: UpperLeft, UpperRight, LowerLeft, LowerRight.
  • Experimental features - the API for these are not yet stable and might change in the future:
    • fragmentThen - Allows the construction of fragments like growThenShrink by fragmentThen(grows, shrinks). The second animations happens at the same time as the next animation, reducing the number of clicks needed.
    • align template to simply align its content like this: align("left"):

Let the slideshow begin!

12 Jul 21:26
87765a7
Compare
Choose a tag to compare

This is the first official release of nimiSlides, your one-stop-shop for making beautiful slideshows in Nim.