zoukankan      html  css  js  c++  java
  • 使用markdown语法撰写csdn博客

    在CSDN之下写blog无疑是一件非常吃力的事情,对于非常多simple爱好者来讲,能用markdown语法来书写代码是最优雅简洁只是的了。本文主要介绍markdown语法和怎样它来撰写csdn下的blog。


    1 基本原理

    撰写csdn博客有两种模式,源码模式和可视化模式,当中可视化模式是我们最经常使用的,源码模式主要是html语法。通常模式下,我们不会选用源码模式,可是,我们能够将源码模式作为中间输出,来沟通markdown和可视化博客。简单而言,我们直接撰写mardown文档,通过python脚本转化成html放到csdn的blog编辑器中,然后生成blog。所以,这里面一个非常关键的地方在于撰写将markdown转化成html的python脚本。


    2. 功能python脚本

    脚本的功能是将markdown语法转变成html文件。代码例如以下:

    #!/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的详细语法。


    3 区块元素


    3.1 段落与换行

    换行须要插入一个明显的空行来实现,也就是说,须要连续两个换行符号。

    效果:

    这是第一段

    这是第二段

    代码:这是第一段(两次换行)这是第二段


    3.2区块引用

    区块引用是>来实现的,效果例如以下:

    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.
    


    3.3标题

    标题是通过#实现的,#个数的多少,表示标题的等级。

    效果:

    first head

    second head

    third head

    实际代码:

    #first head
    ##second head
    ###third head
    

    问题:区块元素会自己主动加入换行符吗?

    答:标题元素确实会加入换行符号, 可是其它区块元素不会加入换行符号。


    3.4列表

    无序列表使用*、+、-来作为列表标记,标记后面最少跟着一个空格,效果:

    • red
    • green
    • blue

    代码例如以下:

    * red
    * green
    * blue
    

    注意:列表和标题一样,会自己主动换行

    答:通过缩进来引用代码,代码内部的markdown解析将被屏蔽。

    列表项包括多个段落的时候,我们将在第二个段落之后,每一个段落開始,加上四个以上的空格或者制表符,这样就能够实现以下的效果:

    1. first of a table

      second of a table

    另外,列表中并没有屏蔽markdown语法,能够在列表中放入区块,也能够放入引用代码块。在列表中放入缩进的情况例如以下:

    这里是缩进之后


    3.5 code block

    我们来看看代码块的语法:

    int main()
    {
        int a;
    }
    


    3.6 切割线

    切割线的语法是三个以上的","、"-"、"_",效果例如以下



    4. 区段元素


    4.1 链接

    markdown 支持两种链接模式,行内式和參考式:都用“ []”来引用链接文字。

    行内式的链接语法与效果例如以下:

    [google](http://www.google.com"the character you will see when mouse on")
    

    google


    4.2 强调

    使用一对“ *”或者一对“ -”来标记须要强调的内容;使用一对两个“*”或者“-”来对字体进行加粗。效果例如以下:outstanding,and,strong。值得注意的是,符号两边不能含有空格,否则,这些符号将被当作符号本身进行解析;另外,我们相同能够使用反斜线来转义它们.outstanding, andstrong outstanding, and strong

    很多其它语法介绍能够參考这里:markdown 语法介绍


    4.3 小块代码

    使用单个反引號来表示小块代码引用,效果如printf

  • 相关阅读:
    2013第五周上机任务【项目1 三角形类(构造函数)】
    Google搜索小技巧
    项目总结:文件上传(MVC uploadify)
    Oracle 触发器 Update 不能操作本表的疑问
    【笔试题STL】求两个vector的交集
    Zookeeper(六)数据模型
    是的,我们真的在遭遇有史以来最大的DDoS攻击,并且还在加剧
    在MFC框架下使用osg报内存泄露的解决办法
    NetBeans 时事通讯(刊号 # 107 Jun 25, 2010)
    VS 2008中的C/C++静态代码分析工具Prefast
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3816351.html
Copyright © 2011-2022 走看看