요즘 챗GPT와 작업을 하면서 GitHub에 올릴 마크다운(.md) 문서를 종종 만들고 있다. 이는 GitHub의 공식 문서 형식이기 때문이다. 보다 정확하게는 표준 Markdown(CommonMark)를 확장한 GitHub Flavored Markdown(GFM)이다.
'이 정도면 됐다'라는 생각이 드는 개발 관련 문서는 GitHub에, 아직 다듬어지지 않은 생각이나 앞으로의 개발 계획을 가볍게 작성한 것은 주로 위키 사이트에 올린다. 챗GPT와 작업하면서 만든 문서를 종종 DokuWiki 포맷으로 변환하기도 하지만, 간혹 문법에 맞지 않는 결과를 만들어내기 때문에 손으로 고치는 일이 귀찮다. DokiWiki에서 마크다운 형식의 문서를 쓸 수 있는 플러그인이 없을까? 당연히 있다. 그것도 하나가 아니다.
가장 최근까지 개발이 이어지는 것은 무엇이 있나... Commonmark Plugin이라는 것을 찾았다. 마지막 업데이트는 지난달 7일. 개발자의 이름은 Sungbin Jeon. 오, 한국인임에 틀림이 없다. 반가운 마음에 설치를 한 것은 좋았는데...
망했다. PHP 버전이 너무 낮아서 화면이 깨진다. 나는 아직도 PHP 7.4를 쓰고 있는데, 이 플러그인은 최소한 8.2를 요구한다. 호스팅어로 로그인하여 조심스럽게 PHP를 업그레이드하였다. 이내 화면은 정상으로 돌아왔다.
이 플러그인의 사용법은 간단하다. 새 위키 문서를 시작할 때 맨 위에 <!DOCTYPE markdown>라는 스타일 헤더를 넣은 뒤 이어서 마크다운 문서 본문을 넣으면 된다. 다음은 Commonmark Plugin의 활용 첫 사례이다.
ADT는 텍스트 형식의 드럼 패턴 파일, 이를 바이너리 캐시로 전환한 것은 ADP이다. 이 두 가지의 포맷은 PC나 Nano Ardule에서 반복 재생할 수 있는 기본 단위가 된다. 이를 체인 형태로 엮어서 곡 단위로 만든 텍스트 파일은 ARR이며, 이를 다시 바이너리 스트림으로 전환한 것이 앞으로 개발할 ADS 파일이다. 'S'는 스트림을 뜻한다. 현재 개발 완료된 Nano Ardule 펌웨어(C++)의 재생 엔진이 혹시 1-bar 패턴 정보를 다루는 것이 가능한지를 점검하고자 코드를 분석한 뒤 만든 보고서가 바로 이 문서이다. 덧붙이자면 이러한 정보 체계는 모두 내가 고안하였다. 드럼 연주 패턴을 그리드 형식으로 표현하는 관행은 매우 오래되었지만, PC와 임베디드 시스템(아두이노 나노)을 위한 공개형 '표준' 포맷으로 만드려는 시도는 거의 없었던 것으로 안다.
마크다운 문서를 직접 웹브라우저에서 확인하는 것과 느낌은 사뭇 다르다. DokuWiki의 느낌이 물씬 난다.
Ardule Drum Patternology Ecosystem을 만들기 위해 가야 할 길은 아직도 멀다. 재료에 해당하는 447개의 드럼 패턴은 일단 확보해 두었으나 두 시스템(아두이노 나노와 PC)에서 돌아가는 프로그램에 추가할 기능은 아직도 많다. 이 여정을 이어나가기 위해 필요한 문서는 앞으로 Ardule - Design Notes & Architectural Decision에 정리해 둘 것이다.