Gute Möglichkeit, Code in Präsentationen für Programmierworkshops zu verwalten

Gute Möglichkeit, Code in Präsentationen für Programmierworkshops zu verwalten

Ich bin gerade dabei, einen Programmierworkshop aufzusetzen (eigentlich geht es dabei um OOD, aber das dürfte nicht so wichtig sein).

Ich habe hauptsächlich zwei Arten von Ressourcen:

  • Folien (HTML / reveal.js)
  • Beispielprojekte (Java)

An vielen Stellen soll Code aus den Beispielprojekten in der Präsentation auftauchen.

Wie lässt sich das am besten erreichen?

Meine Anforderungen sind

  • eine einfache Möglichkeit, einen Codeausschnitt anzugeben, der in einer Präsentation verwendet werden soll, und den Ort, an dem er erscheinen soll

  • Änderungen im Code werden automatisch in der Präsentation wiedergegeben (das Ausführen eines Build-Tools ist in Ordnung, manuelles Ausschneiden und Einfügen jedoch nicht).

  • defekte Links (z. B. der Versuch, einen Codeausschnitt einzubetten, der nicht existiert, oder das Markieren eines Ausschnitts, der in der Präsentation nicht verwendet wird, sollte eine Warnung erzeugen

  • Bonuspunkte für Verknüpfungen zwischen Code und Präsentation

Antwort1

Asciidoktorhttp://asciidoctor.org/könnte die meisten Ihrer Anforderungen lösen:

  • Verwenden Sie einfaches ASCII, um den Inhalt zu schreiben
  • Codeausschnitte aus echten Quellcodedateien einbinden
  • defekte Links erzeugen eine Warnung beim Erstellen der Ausgabe
  • Präsentationen in reveal.js und deck.js erstellt

Sie finden unterhttps://github.com/asciidoctor/asciidoctor-gradle-exampleseinige Beispiele zur Verwendung von Asciidoctor mit Gradle (andere Build-Tools funktionieren aber auch).

Du kannstDurchsuchen Sie hier die Beispielausgabeund Sie finden eine mit deck.js und reveal.js gerenderte Präsentation (suchen Sie nach den Unterkapiteln 3.4 und 9.4 mit der Bezeichnung „Ausgaben“)

Eine weitere Inspirationsquelle könnten die Kartendecks von Dan Allan sein:https://github.com/mojavelinux/decks

Sie haben auch nach Links vom Code zurück zur Präsentation gefragt. Das Beste, was Asciidoctor Ihnen meines Wissens bieten kann, ist, dass das Tag, mit dem Sie Ihren Codeausschnitt im Code markiert haben ( // tag::XXX[]), auch in der Quelle Ihrer Präsentation vorhanden sein wird ( include::Class.java[tags=XXX])

verwandte Informationen