프로그래밍 워크샵을 위한 프레젠테이션에서 코드를 관리하는 좋은 방법

프로그래밍 워크샵을 위한 프레젠테이션에서 코드를 관리하는 좋은 방법

저는 현재 프로그래밍 워크숍을 만들고 있습니다(실제로는 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]) 에도 있다는 것입니다.

관련 정보