Petit projet, tu deviendras (peut-être) grand !

SliDesk

Slides as Code

Insights

Logo

old logo
old logo

🧐 Comment je faisais avant ?

asciidoc + asciidoctor

# install ruby first
$ gem install asciidoctor

asciidoctor-revealjs

# install node first
$ npm i --save asciidoctor @asciidoctor/reveal.js

⚙️ Conversion

/* Load Asciidoctor.js and the reveal.js converter */
var asciidoctor = require('@asciidoctor/core')()
var asciidoctorRevealjs = require('@asciidoctor/reveal.js')
asciidoctorRevealjs.register()

/* Convert the document 'presentation.adoc' using the reveal.js converter */
var options = { safe: 'safe', backend: 'revealjs' }
asciidoctor.convertFile('presentation.adoc', options)

# generate a presentation.html file
$ node convert-slides.js

📽️ Presentation

$ open presentation.html

🤯 Easy ?

📋 Cahier des charges

🤗 À la base

c’est juste pour moi, mais repo ouvert

Bun

$ bun build ./index.ts --compile --outfile slidesk

Cross-Compilation

$ bun build --compile --target=bun-linux-x64 ./path/to/my/app.ts --outfile myapp

$ bun build --compile --target=bun-windows-x64 ./path/to/my/app.ts --outfile myapp

$ bun build --compile --target=bun-darwin-arm64 ./path/to/my/app.ts --outfile myapp
$ bun build --compile --target=bun-darwin-x64 ./path/to/my/app.ts --outfile myapp

📦 Installation ou Utilisation

$ brew install gouz/tools/slidesk

$ bunx slidesk

$ docker run -it -v "$(pwd)"/:/slidesk/ -p 1337:1337 gouz/slidesk:latest slidesk -tn

🎤 Premières conférences

💍 Naissance d’une Communauté

Neuf compagnons, qu’il en soit ainsi !

Vous formerez la Communauté de l’Anneau !

~ Elrond

🐣 Early birds

philippart-s

philippart-s

yodamad

yodamad

Et aussi :

  • Jim Gloagen
  • Thomas Da Rocha
  • Aurélie Vache
  • Hugues Lepesant
  • Thierry Chantier
  • Olivier Azeau
  • Frédéric Léger

🕸️ Slidesk.link

📖 Témoignages

…, j’ai kiffé et je vais recommencer pour mes prezs de formations, meetups/talks et ainsi que pour ma nouvelle boîte …


Les possibilités de SliDesk sont immenses, tout en conservant un outil assez sobre. Bref, j’ai mis “passer du temps pour mieux découvrir SliDesk” dans ma liste d’envies.

📢 On en parle

Youtube / Twitch:

  • Olivier Poncet
  • Stéphane Trébel
  • Lenra
  • Programmez!
  • Blogs

🦋 @slidesk.link

📋 Checklist

1. De la documentation tu écriras

2. Des exemples tu fourniras

3. Des articles tu écriras

4. Des démos tu réaliseras

⚙️ Components

/**
 * components/bird.mjs
 * Early Birds
 * usage: !‎bird(pseudo)
 */

const birdTemplate = (pseudo) => `
  <div class="bird">
    <img src="assets/communautes/${pseudo}.webp" alt="${pseudo}">
    <h3>${pseudo}</h3>
    <div class="sd-qrcode" data-url="https://github.com/${pseudo}" style="width: 200px"></div>
  </div>
`;

export default (data) => {
  let newData = data;
  [...newData.matchAll(/!bird\((.*)\)/g)].forEach((match) => {
    newData = newData.replace(match[0], birdTemplate(match[1]));
  });
  return newData;
};

📝 Templates

templates/split/split.sdt

<sd-title />

<div class="split">
  <div class="left">
    <sd-left />
  </div>
  <div class="right">
    <sd-right />
  </div>
</div>

<sd-content />

slide.sdf

    ## Title .[#split]

    [[left]]

    left content

    [[/left]]

    [[right]]

    right content

    [[/right]]

    Bottom

🥳 Démo

gouz.dev

Sylvain Gougouzian

gouz
gouz

🫶 Merci

Des feedbacks ?

Photos, illustrations : Unsplash