D2(텍스트에서 다이어그램 도구)에서 이제 ASCII 렌더링 지원

8 hours ago 1

  • D2 0.7.1 버전에서 텍스트 다이어그램을 ASCII로 렌더링하는 기능 추가
  • 코드 주석에서 간단한 ASCII 다이어그램을 활용해 함수나 클래스의 흐름 설명 가능
  • 기본적으로 유니코드 문자를 사용하지만, 옵션 플래그로 표준 ASCII 적용 선택 가능
  • 이 기능은 알파 단계로 일부 스타일, 특수 문자, 특정 도형은 지원하지 않음
  • D2 Playground와 Vim 확장 등에서 직접 ASCII 렌더링 체험 가능

D2 ASCII 렌더링 소개

D2의 최신 릴리즈(버전 0.7.1)부터 텍스트 다이어그램의 ASCII 출력 기능이 추가됨.
.txt 확장자를 가진 출력 파일은 자동으로 ASCII 렌더러로 렌더링됨.
예시는 D2 Vim 확장에서 볼 수 있으며, .d2 파일을 열고 프리뷰 창을 통해 저장할 때마다 ASCII 다이어그램 출력 상태를 실시간으로 확인 가능함.

코드 문서화에서의 활용

ASCII 다이어그램은 소스코드 주석에 삽입할 때 가장 실용적임

  • 작은 함수 또는 클래스 옆에 간단한 다이어그램을 추가하면, 흐름 설명보다 더 직관적으로 코드 이해를 돕는 장점 존재
  • Vim 확장에서는 D2 코드를 작성해 선택 영역을 ASCII 다이어그램으로 곧바로 변환 가능함

유니코드와 표준 ASCII의 선택

디폴트 ASCII 렌더링은 유니코드 상자의 그리기 문자를 사용해 더 보기 좋은 출력 제공

  • 만약 최대 이식성을 원한다면, --ascii-mode=standard 옵션 플래그를 통해 일반 ASCII 문자로도 렌더 가능함

현재 한계점

이 ASCII 렌더링 기능은 알파 단계

  • 코너 케이스, 개선 포인트, 버그가 다수 존재할 수 있음
  • 웹사이트에 버그 리포트 또는 피드백 제출을 장려함

주요 제한 사항

  • 스타일 미지원
    • 애니메이션, 폰트 등은 ASCII에서 의미 없음
    • 향후 터미널 색상 등 일부 제한적 스타일 지원 검토 계획
    • 테마도 지원 대상 아님
    • double-border, multiple 등은 향후 개선 예정 리스트에 포함
  • 불균일한 간격
    • ASCII로 변환 과정에서 박스 배치가 SVG 대비 불규칙해질 수 있음
  • 렌더 불가능 대상
    • 마크다운, Latex, 코드 등의 특수텍스트 지원 미구현
    • 이미지와 아이콘, UML 클래스, SQL 테이블 등 렌더 불가
    • 이러한 항목은 제거 혹은 플레이스홀더 표시 여부를 추후 결정 예정
  • 일부 도형 미지원
    • 클라우드, 원 등 곡선 형태 도형은 ASCII에선 잘 표현되지 않음
    • 해당 도형은 사각형으로 대체 후 좌측 상단에 작은 아이콘 추가로 유형 구분

직접 사용해보기

이 기능은 D2 Playground에서 바로 사용 가능함

  • 제공된 코드블록을 열어 직접 ASCII 렌더링을 체험할 수 있음

Read Entire Article