5P by byexist 4시간전 | ★ favorite | 댓글과 토론

Confluence와 Jira는 문서를 ADF(Atlassian Document Format)라는 JSON 구조로 저장합니다. API로 페이지를 읽고 쓸 때 이 포맷을 직접 다뤄야 하는데, 패널·멘션·컬러텍스트 같은 ADF 전용 기능은 Markdown으로 변환하면 손실됩니다.

Marklas는 ADF 전용 기능을 HTML 주석 어노테이션으로 보존해서 이 문제를 해결합니다.

<!-- adf:panel {"panelType": "warning"} -->  
이 API는 v2에서 제거될 예정입니다.  
<!-- /adf:panel -->  

어노테이션은 GitHub이나 에디터에서 렌더링되지 않아 가독성에 영향이 없고, 다시 파싱하면 원본 ADF 구조가 그대로 복원됩니다.

ADF → Markdown(어노테이션 포함) → ADF       ✅ 손실 최소화  
일반 Markdown → ADF                      ✅ 동작  
from marklas import to_adf, to_md  
  
md = to_md(confluence_adf)       # Markdown으로 변환하여 편집  
adf = to_adf(md)                 # 다시 ADF로 복원  

기존 상용 변환 라이브러리를 사용하다 불편함을 느껴서 직접 만들었습니다.

Python 3.13+, 외부 의존성은 mistune 하나입니다.