저는 현재 프로그래밍 워크숍을 만들고 있습니다(실제로는 OOD에 관한 것이지만 그다지 중요하지는 않습니다).
나는 주로 두 가지 종류의 리소스를 가지고 있습니다.
- 슬라이드(HTML/reveal.js)
- 샘플 프로젝트(Java)
여러 위치에서 샘플 프로젝트의 코드가 프레젠테이션에 나타나야 합니다.
그것을 달성하는 좋은 방법은 무엇입니까?
내 요구 사항은
프레젠테이션에 사용할 코드 조각과 코드 조각이 표시되어야 하는 위치를 지정하는 쉬운 방법
코드 변경 사항은 프레젠테이션에 자동으로 반영됩니다(빌드 도구를 실행하는 것은 괜찮지만 수동으로 잘라내어 붙여넣는 것은 그렇지 않습니다).
끊어진 링크(예: 존재하지 않는 코드 조각을 삽입하려고 시도하거나 프레젠테이션에 사용되지 않는 조각을 표시하면 경고가 생성됨)
코드와 프레젠테이션 간의 연결에 대한 보너스 포인트
답변1
Asciidoctorhttp://asciidoctor.org/대부분의 요구 사항을 해결할 수 있습니다.
- 일반 ASCII를 사용하여 내용을 작성합니다.
- 실제 소스 코드 파일의 코드 조각 포함
- 끊어진 링크는 출력을 빌드할 때 경고를 생성합니다.
- Reveal.js 및 Deck.js에서 프레젠테이션을 만들었습니다.
다음에서 찾을 수 있습니다.https://github.com/asciidoctor/asciidoctor-gradle-examplesAsciidoctor를 Gradle과 함께 사용하는 방법에 대한 몇 가지 예입니다(그러나 다른 빌드 도구도 작동함).
당신은 할 수 있습니다여기에서 샘플 출력을 찾아보세요.그리고 Deck.js 및 discover.js로 렌더링된 프레젠테이션을 찾을 수 있습니다("출력"이라고 표시된 하위 장 3.4 및 9.4를 찾으세요).
또 다른 영감의 원천은 Dan Allan의 데크 세트일 수 있습니다.https://github.com/mojavelinux/decks
또한 코드에서 프레젠테이션으로의 링크도 요청했습니다. Asciidoctor가 AFAIK를 제공할 수 있는 최고의 방법은 코드에서 코드 조각을 표시하는 데 사용한 태그( // tag::XXX[]
)가 프레젠테이션 소스( include::Class.java[tags=XXX]
) 에도 있다는 것입니다.