Prezentácie expresne pomocou Slidy

08.09 | 09:39 | Richard | Richard

Potrebujeme rýchlo spraviť prezentáciu, ale nechceme použiť klasické prezentačné nástroje alebo Beamer?
A čo takto použiť webový prehliadač?

Use case

Keď som potreboval spraviť tri prezentácie na konferenciu OSSConf 2024, vedel som, že použitie „klasických“ prezentačných nástrojov ako Libre(Open)Office Impress, Canva, či nebodaj PowerPoint ma bude iritovať. Jednak sa mi nechcelo klikať a poziciovať text a obrázky myšou, iné nástroje majú nepeknú licenciu alebo bežia niekde v zákutiach internetu.
Pritom som vedel, že nepotrebujem „fancy“ efekty, zložité umiestnenia obrázkov,…
Uvažoval som nad Beamer-om, ale nakoniec som si povedal, že skúsim niečo nové.

Nakoniec som zvolil Slidy.

 

Slidy

…je jednoduchý a ľahko použiteľný framework v (ako napovedá názov) javascripte na vytváranie prezentácií. Umožňuje prezentovať obsah vo forme slajdov priamo v internetovom prehliadači. Len ešte dodám, že nie je jediným nástrojom, existujú i Reveal.js, Impress.js, Slidev…

Hlavné výhody Slidy:

Priamo autori tento nástroj interaktívne prezentujú na svojom webe a táto prezentácia slúži aj ako manuál.

V princípe je to takto:

Samotná šablóna sa dá stiahnuť na tomto linku, alebo aj pohľadať niekde na webe.

 

Pandoc

No, pravdupovediac, javascript neovládam, weby nerobím, hoci pár html príkazov poznám. CSS dokážem modifikovať a prispôsobiť si ho.

A tu prichádza na scénu (🎺🎺🎺) famózny mocný a známy nástroj: pandoc. Ten dokáže konvertovať značkovací jazyk Markdown (a iné) do html tak, že tam pridá i potrebné príkazy pre Slidy. Dokumentácia je pomerne strohá, ale použiteľná.

Zrejme každý vie, čo je Markdown - je to jednoduchý značkovací jazyk, ktorý umožňuje formátovať text pomocou jednoduchých symbolov. Napríklad tučný text zadáme takto **tučný text** atď., viac napovie napríklad známy LearnXinYminutes. Len dodám, že umožňuje vkladanie priamo html príkazov tam, kde formátovacie alebo iné možnosti markdown-u nestačia.

Ako na to?

Bez omáčok a príkras opíšem, ako som to robil ja, a je to asi nejaké funkčné minimum. Čarodejníci 🧙 v JS určite dokážu spraviť veci, ktoré by žiadny prezentačný program nedokázal.

Vytvoríme si niekoľko súborov:

No a samozrejme spomínaný Slidy. Ten je uložený v podadresári s identickým názvom.

U mňa konkrétne je to takto:

├── Makefile
├── prezentacia.md
├── obrazky/
└── slidy/
    ├── scripts/
    └── styles/

Súbor Makefile

Je jednoduchý a „odbijeme“ ho pár riadkami:

dokument = prezentacia.md

all:
	pandoc -t html --mathml -s -t slidy -V slidy-url=slidy -o out.html $(dokument)
	firefox --kiosk out.html 

Makefile používam (namiesto bežného skriptu) preto, lebo sa dá volať (predvolene) príkazom make z akéhokoľvek IDE, a aj to zväčša len klávesovou skratkou.

 

Súbor prezentacia.md

Hlavička dokumentu

…musí obsahovať tieto položky - teda najmä output: slidy_presentation, čo je informácia pre spomínaný pandoc:

---
title: Testovacia SLIDY prezentácia
author: Richard 
date: 08. 09. 2024
output: slidy_presentation
---

Slajdy, text, formátovanie…

Oplatí sa prečítať si niečo o Markdown-e, alebo si pozrieť nejaké krátke video. Je to skutočne (až neskutočne) jednoduché, priamočiare. Príklad napovie:

# Nadpis prvej úrovne = nadpis slajdu / nový slajd

<link href="./slidy/styles/theme.css" rel="stylesheet">


## Nadpis druhej úrovne 

A vložený text, napríklad *kurzívou*, **tučný**.

### Nadpis tretej úrovne

A čo takto odrážky:

- odr. 1
- odr. 2
- odr. 3

Je tu zaujímavý bug. Odkaz na vlastný CSS súbor musí byť v až za uvedením prvej snímky (#), inak sa do výslednej prezentácie vloží prázdna snímka.

 

Vloženie obrázku je jednoduché, pomocou syntaxe markdown, alebo html. Html má výhodu, že s obrázkom môžeme robiť ďalšie operácie, ako napr. zmena veľkosti:

# Vložíme si obrázok #1

Pomocou *Markdown-u*, centrovanie pomocou *html*

<center>
![](./obrazky/m-logo.png)
</center>


# Vložíme si obrázok #2

Ale ide to aj samozrejme pomocou čistého *html*

<center>
<img src="./obrazky/m-logo.png" alt="logo" width="300"/>
</center>

Ako vidíme, dajú sa slobodne kombinovať oba prístupy. Nielen pri vkladaní obrázkov, ale tiež hyperlinkov, medzier (<br>), a i.

 

Tabuľky sa „kreslia“ pomocou ASCII znakov. Isteže v nejakom GNU Nano, alebo mcedit to bude náročné. Ale lepšie IDE s podporou Markdown-u to určite zvláda automatizovane.

# Jednoduchá tabuľka

|                A | B     |        C |
|-----------------:|:------|:--------:|
| zarovnaná vpravo | vľavo | na stred |


### Vložená ako *verbatim* text

Napríklad pre výpis kódu a pod.

    |                A | B     | C        |
    |-----------------:|:------|:--------:|
    | zarovnaná vpravo | vľavo | na stred |

    ⇤ Tu sú vložené štyri medzery, alebo aj <TAB>, závisí od 
	  obľúbeného editora.

Hádam by aj stačilo!

 

Z ukážok je zrejmé, že tvorba prezentácie je extrémne rýchla. Jej vzhľad závisí od CSS súboru, ale keď si ten raz vytvoríme (stiahneme/ukradneme/…), tak už len píšeme text, pomerne rýchlym spôsobom.

Žiadne posúvanie myšou, klikanie,…

Áno, aj prezentačné nástroje majú šablóny a štýly. Ale užívateľ preferujúci klávesnicu „prevráti oči 🙄“ už pri prvom nepodarenom pokuse posunúť text na požadované miesto 😉.

 

Pre koho je to teda určené?

Aj keď sa dajú klasické vruty do dreva umiestňovať aj kladivom, predsa je len aku-skrutkovač vhodnejší ☺. Vhodný nástroj je α - ω každej práce.

 

Slidy je vhodný ak:

Naopak, nie je vhodný ak:

 

Spomínané prezentácie je možné si pozrieť na https://famme.sk/ossconf-2024/.

A táto „demo“ prezentácia je priložená k blogu.

 

Samozrejme, ideálna situácia je, ak nemusíme robiť (pracovné) prezentácie vôbec ☺.

Prílohy