MarkdownをHTMLに変換

Markdownで書かれたファイルをhtmlに変換して別ファイルで保存するプログラムを作る。このプログラムはエスケープ処理も行っている。

markdownのインストール

これから作成するプログラムを実行するには、あらかじめ「markdown」ライブラリをインストールしておく必要がある。

①以下のコマンドを端末にコピー&ペーストして「Enter」キーを押す。

conda install markdown

②「Proceed ([y]/n)?」で「Enter」キーを押す。

プログラムの作成

○下のコードを「~/py」フォルダーに「markdown2html.py」ファイルとして保存する。

# coding: utf-8

import sys
import markdown

def markdown2html(md_file):
    '''markdownで書かれたファイルをhtmlに変換し、別ファイルとして作成する。
        Args:
            md_file: mdファイル名。
    '''

    # ファイルを読み込む。
    input_file = markdown.codecs.open(md_file, mode='r', encoding='utf-8')
    text = input_file.read()

    # htmlに変換する。
    html = markdown.markdown(text)

    # 書き込み用のファイルを作成する。
    html_file = md_file.replace('.md', '.html')
    output_file = markdown.codecs.open(html_file, 'w', encoding='utf-8',
                                       errors='xmlcharrefreplace')

    # ファイルを書き込む。
    output_file.write(html)

if __name__ == '__main__':
    # 設定を読み込む。
    argv = sys.argv
    md_file = argv[1]

    # markdownで書かれたファイルをhtmlに変換し、別ファイルとして作成する。
    markdown2html(md_file)

プログラムの実行

「~/ドキュメント/blog/00」フォルダーにMarkdownで書かれた「00.md」ファイルがあるとして説明する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを押す。

%run ~/py/markdown2html.py ~/ドキュメント/blog/00/00.md

「~/ドキュメント/blog/00」フォルダーにhtmlに変換された「00.html」ファイルが生成する。ちなみに、このブログの記事はこうやって作成している。

(2017/02/05更新)

コメント

非公開コメント