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

652
Jens Schauder

Ich erstelle gerade einen Programmier-Workshop (eigentlich geht es um OOD, aber das sollte keine Rolle spielen).

Ich habe hauptsächlich zwei Arten von Ressourcen:

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

An vielen Stellen sollte Code aus den Beispielprojekten in der Präsentation erscheinen.

Was ist ein guter Weg, um das zu erreichen?

Meine Anforderungen sind

  • Eine einfache Möglichkeit, ein Code-Snippet anzugeben, das in einer Präsentation verwendet werden soll, und den Ort, an dem es angezeigt werden soll

  • Änderungen im Code werden automatisch in der Präsentation übernommen (Ausführen eines Build-Tools ist in Ordnung, manuelles Ausschneiden und Einfügen von Elementen ist nicht möglich).

  • Unterbrochene Links (z. B. der Versuch, ein nicht vorhandenes Codefragment einzubetten oder ein nicht in der Präsentation verwendetes Snippet zu markieren, führt zu einer Warnung

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

2
Es wäre wirklich hilfreich, den Grund für die engen Abstimmungen zu kennen. Jens Schauder vor 8 Jahren 0

1 Antwort auf die Frage

3
ahus1

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

  • Verwenden Sie reines ASCII, um den Inhalt zu schreiben
  • Include-Codeausschnitte aus echten Quellcodedateien
  • Defekte Links erzeugen beim Erstellen der Ausgabe eine Warnung
  • erstellte Präsentationen in enthell.js und deck.js

Auf https://github.com/asciidoctor/asciidoctor-gradle-examples finden Sie einige Beispiele zur Verwendung von Asciidoctor mit Gradle (andere Build-Tools funktionieren jedoch ebenfalls).

Sie können die Beispielausgabe hier durchsuchen und eine Präsentation finden, die mit deck.js und enthüllt.js gerendert wurde (siehe Unterkapitel 3.4 und 9.4 mit der Bezeichnung "Outputs").

Eine weitere Inspirationsquelle könnten Dan Allans Decks sein: https://github.com/mojavelinux/decks

Sie haben auch nach Links vom Code zurück zur Präsentation gefragt. Der beste Asciidoctor, der Ihnen AFAIK bieten kann, ist, dass das Tag, mit dem Sie Ihr Code-Snippet im Code ( // tag::XXX[]) markiert haben, auch in der Quelle Ihrer Präsentation vorhanden ist ( include::Class.java[tags=XXX]).