[javascript] Marked를 사용하여 문서 작성 시 특정 단어를 바꾸는 기능을 구현하는 방법은?

먼저, 마크다운 문서를 HTML로 변환하는 과정에서 원하는 단어를 찾아서 해당 단어를 다른 단어로 대체해주어야 합니다. 이를 위해 Marked의 renderer를 확장하여 필요한 기능을 추가할 수 있습니다.

아래는 Marked에서 renderer확장을 통해 단어를 대체하는 예시 코드입니다.

const marked = require('marked');

// 단어 대체를 위한 renderer 확장
const renderer = new marked.Renderer();
renderer.text = function (text) {
    // 대체할 단어와 대체될 단어를 설정합니다.
    const replacementMap = {
        '바꿀단어': '새로운단어',
        //...
    };

    // 대체할 단어가 포함되어 있으면 대체될 단어로 바꿉니다.
    for (let word in replacementMap) {
        if (text.includes(word)) {
            const regex = new RegExp(word, 'g');
            text = text.replace(regex, replacementMap[word]);
        }
    }
    
    // 마크다운 텍스트를 HTML로 변환하여 반환합니다.
    return marked.parseInline(text);
};

// 변환할 마크다운 문서
const markdown = `# 제목

이것은 바꿀단어입니다.`;

// Marked를 사용하여 마크다운 문서를 HTML로 변환합니다.
const convertedHtml = marked(markdown, { renderer: renderer });

console.log(convertedHtml);

위의 코드에서 replacementMap 객체에는 대체할 단어와 대체될 단어를 설정합니다. 그리고 renderer.text 함수를 확장하여 매치되는 단어를 찾아 대체합니다.

위 코드를 실행하면 # 제목\n\n이것은 새로운단어입니다.와 같이 변환된 HTML이 출력됩니다.

이렇게 Marked를 사용하여 문서 작성 시 특정 단어를 바꾸는 기능을 구현할 수 있습니다.