nimiSlides icon indicating copy to clipboard operation
nimiSlides copied to clipboard

Use Table for Reveal.js config object

Open HugoGranstrom opened this issue 1 year ago • 1 comments

Reveal.js has a wide range of configuration and supporting them all in nimiSlides is tedious work. Instead we will have a Table[string, string] which will represent the key-value pairs in the object. Then custom templates like disableVerticalCentering can modify this table instead of having to hard-code it into the main partial. It would then be implemented something like this:

template disableVerticalCentering() =
  nb.setConfig("center", "false")

A setConfig, getConfig should be the main API used to not make the code dependent on the current mustache backend.

With this, users can modify all the settings themselves without having to extend nimiSlides with all the options manually.

HugoGranstrom avatar Jun 29 '23 14:06 HugoGranstrom

Upon further inspection it seems like mustache doesn't support rendering tables the way I thought (looping over them), so instead it will have to be a seq[Table[string, string]] where we have to specify the key and value for each parameter as its own Table.

HugoGranstrom avatar Jun 29 '23 17:06 HugoGranstrom