Python 實現 Html 轉 Markdown(支持 MathJax 數學公式)

由於須要轉 html 到 markdown,找了個 python 的庫,該庫主要是利用正則表達式實現將 Html 轉爲 Markdown。html

數學公式須要本身修改代碼來處理。python

我 fork 的項目地址:https://github.com/fipped/tomdgit

使用方法:

把項目 clone 到當前路徑,而後新建一個 python 文件:github

#coding:utf-8
from tomd import tomd
import os

# 全部博客 html 文件在目錄blog 裏
root="blog"
for file in os.listdir(root):
    path = os.path.join(root, file)
    if os.path.isfile(path):
        filename = os.path.splitext(file)
        if filename[1] == '.html':
            tomd.Tomd("".join(open(path).readlines()),root,file).export()

運行完,就可在blog目錄看到全部 html 對應的.md 文件了。正則表達式

正則的一些用法:

  • .*?.是除了換行的任意字符,*是重複任意次,?表示非貪婪匹配,因此 <h1.*?>(.*?)</h1>匹配完<h1.*?>後就會匹配最先出現的</h1>markdown

  • [\s\S]*?\s是空白符,包括空格、換行等,\S是非空白符,因此就是任意字符重複任意次的非貪婪匹配。code

  • ((?!sometext).)*?:這裏就是非貪婪地匹配不是字符串sometext的任意內容任意次。htm

相關文章
相關標籤/搜索