在CSDN之下写blog无疑是一件很是吃力的事情,对于很是多simple爱好者来说,能用markdown语法来书写代码是最优雅简洁只是的了。本文主要介绍markdown语法和怎样它来撰写csdn下的blog。html
撰写csdn博客有两种模式,源码模式和可视化模式,当中可视化模式是咱们最常常使用的,源码模式主要是html语法。一般模式下,咱们不会选用源码模式,但是,咱们可以将源码模式做为中间输出,来沟通markdown和可视化博客。简单而言,咱们直接撰写mardown文档,经过python脚本转化成html放到csdn的blog编辑器中,而后生成blog。因此,这里面一个很是关键的地方在于撰写将markdown转化成html的python脚本。python
脚本的功能是将markdown语法转变成html文件。代码例如如下:git
#!/usr/bin/python #coding utf8 import markdown import sys sys.defaultencoding=('utf8') sys.defaultdecoding=('utf8') filename=sys.argv[1] markfile=open(filename) markcontent=markfile.read(); print "markcontent type:", type(markcontent)#str ob htmlcontent=markdown.markdown(markcontent.decode('utf8'))# print "htmlcontent type:", type(htmlcontent)#unicode ob htmlfilename=filename+".html" htmlfile=open(htmlfilename, "w") htmlcontent=htmlcontent.encode('gbk')#translate into str htmlfile.write(htmlcontent) htmlfile.close() markfile.close()
功能比較简单,不在此解释,如下两部分介绍markdown的详细语法。github
换行需要插入一个明显的空行来实现,也就是说,需要连续两个换行符号。markdown
效果:编辑器
这是第一段字体
这是第二段ui
代码:这是第一段(两次换行)这是第二段google
区块引用是>
来实现的,效果例如如下:code
This is a block
相应代码:> This is a block
注意:区块引用,并无屏蔽内部的markdown语法解析。
问题:假设一个区块引用包括几个段落那么该怎样处理呢?
答: 每个段落以前,都加上区块引用符号,效果:
First para in a block
second para in the block.
>First para in a block >second para in the block.
标题是经过#
实现的,#
个数的多少,表示标题的等级。
效果:
实际代码:
#first head ##second head ###third head
问题:区块元素会本身主动加入换行符吗?
答:标题元素确实会加入换行符号, 但是其它区块元素不会加入换行符号。
无序列表使用*、+、-
来做为列表标记,标记后面最少跟着一个空格,效果:
代码例如如下:
* red * green * blue
注意:列表和标题同样,会本身主动换行
答:经过缩进来引用代码,代码内部的markdown解析将被屏蔽。
列表项包括多个段落的时候,咱们将在第二个段落以后,每个段落開始,加上四个以上的空格或者制表符,这样就可以实现如下的效果:
first of a table
second of a table
另外,列表中并无屏蔽markdown语法,可以在列表中放入区块,也可以放入引用代码块。在列表中放入缩进的状况例如如下:
这里是缩进以后
咱们来看看代码块的语法:
int main() { int a; }
切割线的语法是三个以上的","、"-"、"_",效果例如如下
markdown 支持两种连接模式,行内式和參考式:都用“ []”来引用连接文字。
行内式的连接语法与效果例如如下:
[google](http://www.google.com"the character you will see when mouse on")
使用一对“ *”或者一对“ -”来标记需要强调的内容;使用一对两个“*”或者“-”来对字体进行加粗。效果例如如下:outstanding,and,strong。值得注意的是,符号两边不能含有空格,不然,这些符号将被看成符号自己进行解析;另外,咱们相同可以使用反斜线来转义它们.outstanding, andstrong outstanding, and strong
不少其它语法介绍可以參考这里:markdown 语法介绍
使用单个反引號来表示小块代码引用,效果如printf