プログラミングワークショップのプレゼンテーションでコードを管理する良い方法

プログラミングワークショップのプレゼンテーションでコードを管理する良い方法

現在、プログラミング ワークショップを作成中です (実際は OOD に関するものですが、それはあまり重要ではありません)。

主に 2 種類のリソースがあります。

  • スライド (HTML / reveal.js)
  • サンプル プロジェクト (Java)

プレゼンテーションの多くの場所にサンプル プロジェクトのコードが表示されるはずです。

それを達成するための良い方法は何でしょうか?

私の要件は

  • プレゼンテーションで使用するコードスニペットとその表示場所を指定する簡単な方法

  • コードの変更はプレゼンテーションに自動的に反映されます (ビルド ツールを実行するのは問題ありませんが、手動で切り取って貼り付けるのは問題があります)

  • 壊れたリンク(存在しないコードスニペットを埋め込もうとしたり、プレゼンテーションで使用されていないスニペットをマークしたりするなど)には警告が表示されるはずです。

  • コードとプレゼンテーションをリンクさせるとボーナスポイントが加算されます

答え1

アスキー博士http://asciidoctor.org/ほとんどの要件を解決できるかもしれません:

  • コンテンツを書き込むにはプレーンASCIIを使用する
  • 実際のソースコードファイルからのコードスニペットを含める
  • 壊れたリンクは出力を構築するときに警告を表示します
  • reveal.js と deck.js でプレゼンテーションを作成しました

見つけられますhttps://github.com/asciidoctor/asciidoctor-gradle-examplesAsciidoctor を Gradle で使用する方法の例をいくつか示します (ただし、他のビルド ツールも動作します)。

あなたはできるサンプル出力をここで参照してくださいdeck.js と reveal.js でレンダリングされたプレゼンテーションが見つかります (「出力」というラベルの付いたサブチャプター 3.4 と 9.4 を探してください)

もう一つのインスピレーションの源は、Dan Allan のデッキセットかもしれません。https://github.com/mojavelinux/decks

また、コードからプレゼンテーションへのリンクも求められました。私の知る限り、Asciidoctor が提供できる最良の方法は、コード内でコード スニペットをマークするために使用したタグ ( ) がプレゼンテーションのソース ( )// tag::XXX[]にも存在することです。include::Class.java[tags=XXX]

関連情報