
MyST 문서를 더 편리하게 쓰기 위해 개발한 편집기와 관련 도구들이 MyST 핵심 엔진의 개선 과제를 드러냈다. 제작자는 실험용 편집기 myst-author와 언어 서버, 구문 강조 도구 등을 만들었으며, 일부는 아직 우회 방식에 의존하거나 개념 증명 단계라고 설명했다.
myst-author는 렌더링된 문서를 클릭하면 MyST 소스가 나타나고, 내용을 수정한 뒤 다른 곳을 클릭하면 다시 렌더링하는 편집기다. 웹 편집기로 쓰거나 VS Code·JupyterLab 확장으로 이용할 수 있고, Binder에서 체험하거나 Codespaces에서 열 수 있다. 편집·렌더링에는 CodeMirror 6을 쓴다. JupyterHub나 Binder에서 MyST 엔진을 쉽게 실행하기 어려워 테마 서버 대신 mystmd를 헤드리스 모드로 실행하고, 브라우저에서 MyST React 구성 요소로 문서를 렌더링한다.
함께 만든 도구에는 프로젝트의 레이블과 참조, 지시문 등을 편집기에 제공하는 mystmd-lsp, mystmd 프로세스의 시작과 종료를 관리하는 mystmd-client, 여러 편집기에서 재사용할 수 있는 구문 강조 문법 myst-syntax, CodeMirror의 LSP 클라이언트에 인레이 힌트를 추가하는 codemirror-lsp-inlay-hints가 있다. myst-author는 이 도구들을 활용해 자동 완성, 구문 강조, 참조 정보 표시를 제공한다. mystmd-lsp는 VS Code 확장과 함께 제공되며, 다른 LSP 지원 편집기에서는 npm install -g mystmd-lsp로 설치할 수 있다. Binder에서 체험하거나 Codespaces에서 열 수 있다.
별도 실험인 myst-parser-unified는 MyST 문서를 remark로 직접 파싱하는 방법을 살폈다. 기존 markdown-it 파서는 줄 안에서의 열 위치를 제공하지 않아 자동 완성 기능을 구현할 때 어려움이 있었다. 2026년 10월 기준으로 기존 파서의 결과와 비교했을 때, 변환 전에는 MyST 예제 90개 중 65개와 CommonMark 예제 651개 중 398개가 일치했다. 기존 엔진의 AST 형식으로 변환한 뒤에는 각각 83개와 625개가 일치했다. 남은 MyST 예제의 차이는 구문 파싱이 아니라 스마트 따옴표와 URL 자동 링크 처리에서 비롯됐다. 새 파서는 기존 파서보다 약 2배 느렸다. 일반적인 페이지에서는 약 0.2밀리초 대신 0.4밀리초, 실제 MyST 파일 약 600개에서는 약 0.5초 대신 1초가 걸렸다고 설명했다. 이 도구는 편집기 구성에 사용되지 않았으며, 개념 증명으로 소개됐다.
제작자는 mystmd가 편집기 도구에 필요한 API와 구조화된 경고, 페이지별 파일·레이블 정보 등을 충분히 제공하지 않아 여러 도구에서 우회 처리가 필요했다고 지적했다. 그는 이런 기능을 핵심 엔진에 포함하고 MyST 적합성 테스트를 갱신하면 도구의 복잡성을 줄일 수 있다고 제안했다. 코드는 CC0 라이선스로 공개했으며, 제작자는 일부가 유용할 수 있지만 프로덕션 준비가 된 상태는 아니라고 밝혔다. 개선 과제와 실험의 전체 내용
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요