피드로 돌아가기
Building a Markdig Extension for DocFX: Remote Content Inclusion with AI Rewriting
Dev.toDev.to
DevOps

Markdig 확장 기반의 원격 콘텐츠 통합 및 AI Rewrite 파이프라인 구축

Building a Markdig Extension for DocFX: Remote Content Inclusion with AI Rewriting

sai pramod2026년 5월 22일5intermediate

Context

분산된 소스의 콘텐츠를 DocFX 빌드 타임에 통합하는 과정에서 발생하는 중복 데이터 관리 및 최신성 유지의 한계점 분석. 정적 사이트 생성기의 로컬 파일 의존성으로 인한 원격 리소스 인라인 처리 기능의 부재 해결 필요성 대두.

Technical Solution

  • DocFX Fork 대신 public BuildOptions.ConfigureMarkdig 접점을 활용한 확장 구조 설계로 업스트림 업데이트 호환성 확보
  • AsyncLocal 기반의 Source Stack을 통한 재귀 호출 탐지 및 최대 Depth 8단계 제한으로 무한 루프 방지
  • In-process Caching을 도입하여 동일 URL에 대한 중복 요청을 제거하고 빌드 효율성 최적화
  • 동시성 제어를 위해 In-flight Request를 최대 8개로 캡핑하여 대상 서버의 부하 및 Throttling 위험 최소화
  • IRewriteService 인터페이스 기반의 플러그인 구조를 설계하여 LLM 벤더 종속성 없는 AI 콘텐츠 톤앤매너 조정 기능 구현
  • Azure Managed Identity 및 JWT 등 다양한 Auth Mode를 환경 변수 기반으로 처리하여 보안성 강화

- 프레임워크 확장 시 Fork 대신 공개 API/Extension Point를 활용하여 유지보수 비용 최소화 - 원격 리소스 참조 구조 설계 시 Cycle Detection 및 Max Depth 설정을 통한 시스템 안정성 확보 - 외부 API 연동 파이프라인 내에 Concurrency Limit과 Caching 계층을 필수적으로 배치 - AI 기능 도입 시 Interface 추상화를 통해 특정 모델이나 벤더에 종속되지 않는 Pluggable 구조 채택

원문 읽기