안녕하세요, Markdown 문서에서 외부 링크나 이미지를 허용된 URI만 남기고 나머지는 자동으로 걸러주는 npm 라이브러리인, textlint-rule-allowed-uris를 소개합니다.

이 플러그인은 다음과 같은 특징이 있습니다.

  • 허용·차단 패턴을 정규식으로 지정: links, images 각각에 대해 허용(whitelist)·차단(blacklist) URI 패턴을 자유롭게 설정할 수 있습니다.
  • Markdown 전용: .md, .mdx 파일에서 Markdown 문법 및 HTML 태그로 작성된 링크·이미지를 모두 검사합니다.
  • 로컬 경로, 해시, 쿼리스트링 지원: 외부 URL뿐 아니라 상대/절대 경로, 해시, 쿼리스트링이 들어간 경로 등도 검사 대상입니다.
  • 설정이 유연: 옵션을 지정하지 않으면 아무것도 검사하지 않고, 필요에 따라 허용/차단 규칙을 세밀하게 조정할 수 있습니다.
  • 미사용 정의(Reference) 검사 옵션: 필요 시 사용하지 않은 정의도 체크 가능합니다.

설치 및 사용법은 아래와 같습니다.

  1. 설치
    npm install --save-dev textlint-rule-allowed-uris  
    
  2. .textlintrc.js에 패턴 지정
    module.exports = {  
      rules: {  
        "allowed-uris": {  
          allowed: {  
            links: [/mycompany\.com/],  
            images: [/imgur\.com/],  
          },  
          disallowed: {  
            links: [/forbidden\.com/],  
          },  
          checkUnusedDefinitions: true,  
        }  
      }  
    }  
    
  3. 실행
    npx textlint --rule allowed-uris -f pretty-error file.md  
    

문서의 링크와 이미지를 정책적으로 관리하고 싶은 분들께 추천합니다!

더 자세한 정보와 예시는 GitHub의 README.md 참고해주시면 감사하겠습니다.