마크다운 언어로 작성한 스크립트를 HTML 로 변환하려면
'markdown' 라이브러리를 사용하면 된다.
1. markdown 라이브러리 설치
pip install markdown
다음과 같은 markdown text가 있다고 가정해보자.
# Title
토람코
## Info
| Name | Type |
| -------- | -------- |
| 토람코 | 블로그 |
위 내용을 HTML로 변환하면 어떤 형태가 될지 간단히 설명하자면,
우선 마크다운 문법에서 '#' 는 header, 즉 제목/부제목을 작성할 때 사용한다.
'#'는 h1 태그, '##'는 h2 태그로
# 개수가 적을 수록 글씨 사이즈가 커진다고 보면 된다.
## Info 아래에 있는 내용은 테이블인데
세로 구분선을 '|'로, 가로 구분선을 '-'로 작성하면 된다. (작성법이 눈으로 알아보기 쉬운 편인 듯!)
2. HTML로 변환하기
어쨌거나 위의 간단한 markdown text 내용을 HTML 로 변환하는 스크립트는 다음과 같이 짤 수 있다.
import markdown
input = """
# Title
토람코
## Info
| Name | Type |
| -------- | -------- |
| 토람코 | 블로그 |
"""
result = markdown.markdown(input, extensions=['tables'])
print(result)
markdown text 를 input 에 넣고,
테이블을 인식할 수 있도록 'tables' 를 extensions 에 추가해준다.
출력된 결과(result)는 다음과 같다.
<h1>Title</h1>
<p>토람코</p>
<h1>Info</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Type</th>
</tr>
<td>토람코</td>
<td>블로그</td>
</tr>
</tbody>
</table>
이 내용을 파일로 저장해서 크롬 브라우저로 open 하면 다음과 같이 보이게 된다.
그런데 생성된 테이블에 테두리가 없어서 어쩐지 테이블 같지가 않아 보인다.
테이블에 테두리를 주고 싶은 경우 style 태그가 적용된 header 를 text 상단에 추가해주면 된다.
import markdown
input = """
# Title
토람코
## Info
| Name | Type |
| -------- | -------- |
| 토람코 | 블로그 |
"""
body = markdown.markdown(input, extensions=['tables'])
header = """
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
</style>
</head>
"""
result = header + body # 변환된 html 스크립트 상단에 header 내용 추가
print(result)
이렇게 header를 지정해서 아까 변환된 내용(body)과 합친 결과를 출력하면 다음과 같다.
지금은 아주 간단한 테이블 테두리를 지정해주었지만,
style 태그 안에 있는 내용을 입맛에 맞게 수정하여 테이블 디자인을 커스터마이징 할 수 있다 :)