我目前正在創建一個程式設計研討會(實際上是關於 OOD 的,但這應該不重要)。
我主要有兩種資源:
- 投影片(HTML/reveal.js)
- 範例專案(Java)
在許多地方,範例專案中的程式碼應該會出現在簡報中。
實現這目標的好方法是什麼?
我的要求是
指定簡報中要使用的程式碼片段及其出現位置的簡單方法
程式碼中的變更會自動反映在簡報中(執行建置工具是可以的,手動剪下和貼上內容則不行)
損壞的連結(例如嘗試嵌入不存在的程式碼片段或標記簡報中未使用的程式碼片段)應該會產生警告
在程式碼和簡報之間建立連結的獎勵積分
答案1
阿西多克托http://asciidoctor.org/可能會解決您的大部分需求:
- 使用純 ASCII 寫入內容
- 包含來自真實原始碼檔案的程式碼片段
- 損壞的連結將在建置輸出時產生警告
- 在reveal.js和deck.js中建立簡報
你會發現在https://github.com/asciidoctor/asciidoctor-gradle-examples一些如何將 Asciidoctor 與 gradle 結合使用的範例(但其他建置工具也可以使用)。
你可以在這裡瀏覽範例輸出你會發現一個用 Deck.js 和 Reveal.js 渲染的簡報(尋找標示「輸出」的子章節 3.4 和 9.4)
另一個靈感來源可能是 Dan Allan 的牌組:https://github.com/mojavelinux/decks
您還要求提供從程式碼到簡報的連結。 Asciidoctor 可以為您提供的最好的功能是,您用於在程式碼 ( ) 中標記程式碼片段的標籤// tag::XXX[]
也將出現在您的簡報的原始程式碼 ( include::Class.java[tags=XXX]
)中