파이썬으로 마크다운 문서를 HTML로 변환하기
Python
//
2024년 06월 02일 작성
//
2024년 08월 13일 업데이트
파이썬으로 마크다운(markdown) 문서를 HTML로 변환하는 방법을 간단히 정리해 보자. 이 글에서는 Python-Markdown 패키지를 이용한다.
Python-Markdown 패키지 설치
단순하게 늘 하던 대로(?) pip
로 markdown
패키지를 설치하면 된다.
pip install markdown
마크다운 문서를 HTML로 변환하기
예를 들어 마크다운 텍스트 문서를 읽어들여 text
라는 변수에 담아놨다면 아래와 같이 호출할 수 있다.
import markdown
html = markdown.markdown(text)
이런 식으로 하면 HTML로 변환된 결과물이 html
변수에 담기게 된다.
이 방법 말고 아래와 같은 식으로 Markdown
인스턴스를 생성해서 변환할 수도 있다.
import markdown
md = markdown.Markdown()
html = md.convert(text)
이렇게 하면 하나의 마크다운 인스턴스로 여러 번 변환시키는 것도 가능하다. 다만 마크다운 인스턴스에 특정한 정보를 쌓아서 사용하는 경우 연속 변환 시 사이드이펙트가 있을 수도 있으므로 리셋 시키면서 사용할 수도 있다.
import markdown
md = markdown.Markdown()
html1 = md.convert(text1)
md.reset()
html2 = md.convert(text2)
마크다운 파일에서 바로 불러들여서 HTML로 변환한 후 바로 파일로 저장하기
markdownFromFile
이라는 함수를 사용하면 마크다운 파일에서 내용을 바로 로드한 후 변환한 HTML 텍스트를 얻을 수 있다.
import markdown
html = markdown.markdownFromFile(input=input_path)
이름과는 다르게 이 함수는 출력 기능도 제공한다. 아래와 같이 output
을 명시하면 해당 파일 경로로 HTML 파일을 출력해 준다.
import markdown
html = markdown.markdownFromFile(input=input_path, output=output_path)
필요하다면 encoding
도 명시할 수 있지만 utf-8
이 기본 값이니 이외의 인코딩이 필요한 경우가 아니라면 굳이 명시할 필요는 없다.
참고로 이 외에 Markdown
인스턴스에서 convertFile
이라는 메서드도 사용할 수 있다.
import markdown
md = markdown.Markdown()
md.convertFile(input=input_path, output=output_path)
전달하는 파라미터 구성은 앞서 살펴본 markdownFromFile
과 동일하다.