Reputation: 3363
I'm working on a script to transfer Markdown
to HTML, I've tried both markdown
and markdown2
.
As I use MathJax
to make it able to show math formulas in LaTex, I found markdown
is better for me than markdown2
.
However, both of them don't recognize code blocks in ```
.
My code is written in Python
.
My Markdown
code is:
计算香农熵的函数:
```
from math import log
def calcShannonEnt(dataSet):
numEntries = len(dataSet) #类别个数
labelCount = {}
for featVec in dataSet: #对每一条数据
currentLabel = featVec[-1] #currentLabel为当前数据的类别
if currentLabel not in labelCount.keys(): #计数
labelCount[currentLabel] = 0
labelCount[currentLabel] += 1
shannonEnt = 0.0
for key in labelCount.keys():
prob = float(labelCount[key]) / float(numEntries)
shannonEnt -= prob * float(log(prob,2))#计算香农熵
return shannonEnt
```
使用要求:
- 调用的数据必须储存在列表中,且所有列表元素有相同长度
- 列表元素的最后一列为类别
[sorted函数及operator.itemgetter函数的用法详解](http://blog.csdn.net/alvine008/article/details/37757753
I hope those Chinese characters don't bother you. The HTML code is :
<p>计算香农熵的函数:</p>
<pre><code>```
from math import log
def calcShannonEnt(dataSet):
numEntries = len(dataSet) #类别个数
labelCount = {}
for featVec in dataSet: #对每一条数据
currentLabel = featVec[-1] #currentLabel为当前数据的类别
if currentLabel not in labelCount.keys(): #计数
labelCount[currentLabel] = 0
labelCount[currentLabel] += 1
shannonEnt = 0.0
for key in labelCount.keys():
prob = float(labelCount[key]) / float(numEntries)
shannonEnt -= prob * float(log(prob,2))#计算香农熵
return shannonEnt
```
使用要求:
- 调用的数据必须储存在列表中,且所有列表元素有相同长度
- 列表元素的最后一列为类别
[sorted函数及operator.itemgetter函数的用法详解](http://blog.csdn.net/alvine008/article/details/37757753
</code></pre>
What's the problem?
Upvotes: 8
Views: 1880
Reputation: 3363
With the help of @Waylan the problem has been solved perfectly. It is because I didn't enable the extensions. See extensions
Now it is right:
html_txt = markdown.markdown(post.body_markdown, extensions=['fenced_code'])
Upvotes: 11