Programmering

Kodere, her er et JavaScript-præsentationsværktøj, du vil elske

En af mine opgaver på mit job er at udvikle og vedligeholde tekniske præsentationer. Tidligere har jeg gemt disse præsentationer på Google Drive i Apples Keynote-format. Keynote, ligesom mange applikationer til kontorpakker, gemmer sine filer som store, fede binære klatter. Når flere personer ændrer en præsentation og forsøger at opdatere den, får du problemer. Folk kløfter lydløst hinandens ændringer.

Denne irritation er ikke unik for Keynote. PowerPoint og andre formater lider af det samme problem. Mens PowerPoint teoretisk har en XML-baseret fil, er den pakket ind i en zip, så der er ingen praktisk måde at flette ændringer på filniveau på.

Et andet problem med Keynote er, at mens der er diasmastere, skal de ting, der bliver indsat i et dias, være omhyggeligt formateret. WYSIWIG er fantastisk og forfærdeligt på samme tid. Ting, der bliver indsat i et dias, skal formateres med kærlighed. Dette betyder normalt, at mens masteren er konsistent, afviger indholdet ofte i format: afstand er lidt væk, skrifttypevalg går uden for mærket, og farver går vildt.

I en ideel verden gemmer du præsentationer på GitHub nøjagtigt som kode og skriver præsentationer i et forenklet format som Markdown uden at skulle kende stilen. UI / brand fyr eller gal kunne gøre alle de "smukke ting" foran i CSS, mens du vokser filosofisk i din punktformede prosa.

Det er nøjagtigt hvad open source, slideshow-værktøjet i browseren Remark.js lader dig gøre.

Bemærkelsesværdige tekniske præsentationer

Med Remark.js har du en HTML-fil og dog mange CSS-filer, men din præsentation er adskilt i en smag af Markdown. Du kan gemme alt på GitHub. Der er endda en præsentatortilstand, der giver dig mulighed for at se dine noter, mens dit publikum ser på dine strålende billeder.

Som navnet antyder, er Remark.js et JavaScript-bibliotek. Som ethvert JavaScript-bibliotek er der som 50 alternative implementeringer. Den mest imponerende for mig visuelt er Reveal.js.

Mens Remark.js lader dig skrive helt i Markdown med sprinkler af HTML eller udvidelser, får Reveal.js dig til faktisk at lære HTML. Jeg har sagt, at jeg kender HTML på mit CV siden 90'erne, men det er præcis som jeg ved, hvordan man bruger en pensel: Jeg laver grimme ting med begge. Derfor foretrækker jeg at bruge Remark.js.

Her er markdown- og diaseteksten til et faktisk dias fra en af ​​mine præsentationer:

—-

klasse: venstre, øverst

# Fusion Concepts: Collection

* Indeholder dokumenter

* Associeret med faktiske indekserede data og skema

* Associeret med en navngivet konfiguration i Zookeeper

* Logisk indeks, der kan spredes på flere servere

Routingstrategi, der definerer, hvordan dokumenter tildeles placeringsstrategi for shards replika, der definerer, hvor mange kopier der skal opbevares af hvert dokument i samlingerne

* En samling, som den findes på en forekomst af Solr, kaldes en “Core”

???

Script: Kort sagt er en samling et logisk indeks, der er bundet til en hel masse konfiguration og processtyring i klyngen, herunder hvordan den konfigureres, replikeres og dirigeres.

—-

Sådan ser det ud på min telefon (som jeg kan Chromecast forresten):

Andrew C. Oliver

Her er præsentatortilstand! Jeg kan indstille mine lysbilleder, så jeg kan læse min skærm som en teleprompter (det gør jeg faktisk ikke, fordi det keder mig):

Andrew C. Oliver

Når du kloner en præsentation, synkroniseres browservinduerne, selvom du går ind i præsentatortilstand på en. Dit publikum ser udsigten i det første skærmbillede. Du ser udsigten i det andet.

De dårlige ting

Remark.js er langt fra perfekt. Det er fantastisk for tekniske folk, der holder tekniske præsentationer, men jeg udsætter ikke salgsteamet for det. Hvis du har en GitHub-konto, er du sandsynligvis mere komfortabel med Markdown end PowerPoint eller Keynotes ustabile WYSIWYG-editor. Hvis du villigt læser din e-mail i Outlook, kan du sandsynligvis ikke lide det.

For at bruge dette har du brug for en lokal webserver som Python SimpleHTTPServer. Jeg anbefaler også at gå med Chrome. Firefox blev ude af synkronisering, hvis jeg klikkede rundt. Præsentationsvisningen er nyttig, men der er ingen miniaturevisning for folk, der går frem og tilbage mellem dias meget.

Hvis du organiserer dine præsentationer som separate filer, er du nødt til at genskabe og genindgå præsentationstilstand for hver enkelt. Billeder og titeldias kan kræve justering af CSS for at få det rigtige. Enhver kode, du ikke undslipper med `` backtics, bliver ødelagt (især regex). Du er også nødt til at tilpasse CSS for at gøre udskrivning til PDF-linje op til højre.

Når du har fået fat i det og får din CSS færdig, er den sammenlignende indsats for at oprette en "mere" præsentation i Remark.J's / Markdown lavere end for PowerPoint eller Keynote. Administration af versioner i GitHub er monumentalt bedre, og det at vide at jeg kan præsentere fra min telefon eller tablet gør mig glad. Næste gang du afholder en konference og indser, at dine materialer er vendt tilbage til tidligere versioner, skal du måske tænke på Remark.js.