[javascript] Marked를 사용하여 마크다운 파일에서 파일 경로를 변경하는 방법은?

아래는 Marked를 사용하여 마크다운 파일에서 파일 경로를 변경하는 예제 코드입니다.

const marked = require('marked');
const fs = require('fs');

// 마크다운 파일을 읽어옵니다.
const markdown = fs.readFileSync('example.md', 'utf8');

// 새로운 경로로 이미지 경로를 변경하는 함수를 작성합니다.
function changeImagePath(href) {
  // 기존 경로에서 새로운 경로로 변경합니다.
  const newHref = href.replace('/path/to/old', '/path/to/new');

  return newHref;
}

// 이미지 렌더링을 위한 renderer 객체를 생성합니다.
const renderer = new marked.Renderer();

// image 메서드를 수정하여 이미지 경로를 변경합니다.
renderer.image = function (href, title, text) {
  const newHref = changeImagePath(href);

  // 변경된 경로로 이미지 태그를 생성합니다.
  return `<img src="${newHref}" alt="${text}" title="${title}">`;
};

// 마크다운을 HTML로 변환합니다.
const html = marked(markdown, { renderer });

// 변환된 HTML을 파일로 저장합니다.
fs.writeFileSync('example.html', html);

위의 예제 코드에서 changeImagePath 함수는 기존 경로를 새로운 경로로 변경하는 로직을 가지고 있습니다. 이 함수를 사용하여 이미지 태그의 src 속성을 변경하여 새로운 경로로 이미지를 로드할 수 있습니다.

예를 들어, /path/to/old/image.jpg 경로를 /path/to/new/image.jpg로 변경하고 싶다면, changeImagePath 함수의 로직을 적절히 수정하면 됩니다.

이렇게 수정된 renderer 객체를 marked 함수의 옵션으로 전달하여 마크다운을 HTML로 변환하면, 이미지 경로가 변경된 결과를 얻을 수 있습니다.