[javascript] Marked를 사용하여 마크다운 파일의 메타데이터를 추출하는 방법은?
먼저, Marked를 프로젝트에 설치해야 합니다. npm을 사용한다면 다음 명령어를 실행하여 Marked를 설치하세요:
npm install marked
Marked를 설치했다면, 다음과 같이 사용하여 마크다운 파일의 메타데이터를 추출할 수 있습니다:
const fs = require('fs');
const marked = require('marked');
const markdownContent = fs.readFileSync('example.md', 'utf-8'); // 추출할 마크다운 파일
const tokens = marked.lexer(markdownContent); // 마크다운 파일을 토큰으로 변환
let metadata = {};
if (tokens.length > 0 && tokens[0].type === 'heading' && tokens[0].depth === 1) {
// 첫 번째 토큰이 1단계 제목인 경우에만 메타데이터 추출
const heading = tokens.shift();
metadata.title = heading.text;
}
// 토큰을 순회하며 메타데이터 추출
for (let i = 0; i < tokens.length; i++) {
const token = tokens[i];
if (token.type === 'paragraph' && token.text.startsWith('**')) { // 메타데이터는 볼드로 표시됨
const parts = token.text.split(': ').map(part => part.trim());
if (parts.length === 2) {
const key = parts[0].substring(2).toLowerCase();
metadata[key] = parts[1];
}
}
}
console.log(metadata); // 추출한 메타데이터 출력
위의 코드는 example.md
파일에서 메타데이터를 추출합니다. 메타데이터는 다음과 같은 형식으로 작성되어야 합니다:
# 제목
**키: 값**
본문...
위의 예제는 첫 번째 토큰이 1단계 제목인 경우와, 키: 값 형식으로 작성된 메타데이터를 추출합니다. 필요에 따라 코드를 수정하여 다른 형식의 메타데이터를 추출할 수도 있습니다.
마크다운 파일의 메타데이터를 추출하는 방법에 대해 설명했습니다. Marked를 사용하면 더 다양한 기능을 활용할 수 있으니, 공식 문서와 예제 코드를 참고하시면 도움이 될 것입니다.