markdown工具,可以将txt转化成html格式。这一类工具的作用是将按一定格式写成的可读性强的文本文件 转化为结构化的标准xhtml或html。markdown最初用perl写成,后来移植到python,java,php.这里主要 介绍下python-markdown的用法。

python-markdown模块使用有两个模式,一种是做为独立的命令行,另外一种是做为python的模块使用。

命令行模式

在Fedora下,命令行名称是markdown: [ray@localhost markdown]$ markdown。

[ray@localhost markdown]$ markdown
Usage: markdown INPUTFILE [options]
 
Options:
  -h, --help            show this help message and exit
  -f OUTPUT_FILE, --file=OUTPUT_FILE
                        write output to OUTPUT_FILE
  -e ENCODING, --encoding=ENCODING
                        encoding for input and output files
  -q, --quiet           suppress all messages
  -v, --verbose         print info messages
  -s SAFE_MODE, --safe=SAFE_MODE
                        same mode ('replace', 'remove' or 'escape'  user's
                        HTML tag)
  --noisy               print debug messages
  -x EXTENSION, --extension=EXTENSION
                        load extension EXTENSION

使用起来很简单, 直接运行markdown input.txt > output.html即可。例如: [ray@localhost markdown]$ cat notes.txt

[ray@localhost markdown]$ cat notes.txt
Who am I?
===========
This is Ray Chen speaking.
 
Where am I from?
====================
I'm from SH, China. I love this place.
 
What's next?
=================
  * nothing
  * sleep
  * study
  * reading book
 
[ray@localhost markdown]$ markdown notes.txt > notes.html
[ray@localhost markdown]$ cat notes.html
<h1>Who am I?</h1>
<p>This is Ray Chen speaking.
</p>
 
<h1>Where am I from?</h1>
<p>I'm from SH, China. I love this place.
</p>
 
<h1>What's next?</h1>
<ul>
 <li>
     nothing
 </li>
 
 <li>
     sleep
 </li>
 
 <li>
     study
 </li>
 
 <li>
     reading book
 </li>

模块用法

[ray@localhost markdown]$ cat test_markdown.py

[ray@localhost markdown]$ cat test_markdown.py
#!/usr/bin/python
 
import markdown
import codecs
 
# Open input file in read, utf-8 mode
input_file = codecs.open("notes.txt", mode="r", encoding="utf8")
text = input_file.read()
html = markdown.markdown(text)
 
# print
print html
 
# Write string html to disk
output_file = codecs.open("notes_py.html", mode="w", encoding="utf8")
output_file.write(html)

[ray@localhost markdown]$ python test_markdown.py

[ray@localhost markdown]$ python test_markdown.py
<h1>Who am I?</h1>
<p>This is Ray Chen speaking.
</p>
 
<h1>Where am I from?</h1>
<p>I'm from SH, China. I love this place.
</p>
 
<h1>What's next?</h1>
<ul>
 <li>
     nothing
 </li>
 
 <li>
     sleep
 </li>
 
 <li>
     study
 </li>
 
 <li>
     reading book
 </li>
</ul>

[ray@localhost markdown]$ cat notes_py.html

[ray@localhost markdown]$ cat notes_py.html
<h1>Who am I?</h1>
<p>This is Ray Chen speaking.
</p>
 
<h1>Where am I from?</h1>
<p>I'm from SH, China. I love this place.
</p>
 
<h1>What's next?</h1>
<ul>
 <li>
     nothing
 </li>
 
 <li>
     sleep
 </li>
 
 <li>
     study
 </li>
 
 <li>
     reading book
 </li>

后记

markdown工具在很多程序中用到,比如说wordpress, pybb等,特别适合wiki, blog,forum等。