ctrlshiftの日記

2010-05-15 python

Markup Language「Markdown」をPythonで使う

| 14:34 | Markup Language「Markdown」をPythonで使うを含むブックマーク

軽量なMarkup Languageとして、Movable TypeGitHubなど、いくつかのコンテンツ管理システムでも利用されている「Markdown」を、Pythonから使ってみました。

Python版の「Markdown」は、PyPI内の以下のリンクからダウンロードできます。

プロジェクト自体のページは、以下のリンクをたどって行くことができます。

このライブラリを自分のスクリプトから使う方法には、以下のようにします。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import markdown

def main():
    md = markdown.Markdown()
    md.convertFile(input="input.txt", output="output.html", encoding="utf8")

if '__main__' == __name__:
    main()

このライブラリを使うことで、例えば以下のようなMarkdown記法で書かれたファイルが、HTMLファイルに変換できるようになります。

下の文章がMarkdown記法

This is an Example Text
=======================

Hello, World!
-------------

This is an example text of Markdown.
日本語も使えるよ。

The following script is an example to use this library.

    import markdown
    def main():
        md = markdown.Markdown()
        md.convertFile(input="input.txt", output="output.html", encoding="utf8")
    if '__main__' == __name__:
        main()

This library is able to download from [threre](http://pypi.python.org/pypi/Markdown).

そして、ライブラリで変換したのが、下のHTML

<h1>This is an Example Text</h1>
<h2>Hello, World!</h2>
<p>This is an example text of Markdown.
日本語も使えるよ。</p>
<p>The following script is an example to use this library.</p>
<pre><code>import markdown
def main():
    md = markdown.Markdown()
    md.convertFile(input="input.txt", output="output.html", encoding="utf8")
if '__main__' == __name__:
    main()
</code></pre>
<p>This library is able to download from <a href="http://pypi.python.org/pypi/Markdown">threre</a>.</p>

自分のスクリプトブログのような、簡単な記述方法を導入したいときなど、この「Markdown」のライブラリを使うと便利かもしれないですね。

このライブラリの他の使い方については、こちらのページが参考になると思います。

この「Markdown」ライブラリは、Pythonのバージョンは2.5以上ならば、そのままの状態でライブラリが使えます。

Pythonのバージョンが2.5未満の場合は、ElementTreeのライブラリが必要とのことです。

また、Python 3.x系でも、「2to3」を使うことで利用できるそうです。

トラックバック - http://d.hatena.ne.jp/ctrlshift/20100515/1273901682