在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

使用markdown语法撰写csdn博客的更多相关文章

  1. 在Markdown中转载CSDN博客

    1.CSDN博客页面右键,点击[检查] 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中article_content 即可,会在代码框中自动选中art ...

  2. 转载CSDN博客步骤

    在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考博客原址:http: ...

  3. CSDN博客步骤:

    在SCDN看到喜欢的文章想转载又嫌一个一个敲太麻烦,干脆直接收藏.但有时候作者把原文章删除或设置为私密文章后又看不了.所以还是转载来的好.这篇博文为快速转载博客的方法,亲测有效,教程如下. 原博客原址 ...

  4. Python爬取CSDN博客文章

    0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...

  5. csdn 博客,你很努力,有人帮你-2015年03一个月17日本

    今天泛化 开始使用简书 正则表达式的博客写了两篇文章 回顾 Core Data 基本使用 总结 Xcode6新特性 简单聊聊 简书,事实上一開始学 MarkDown 语法的时候,已经用了,但是,一直认 ...

  6. JAVA爬虫挖取CSDN博客文章

    开门见山,看看这个教程的主要任务,就去csdn博客,挖取技术文章,我以<第一行代码–安卓>的作者为例,将他在csdn发表的额博客信息都挖取出来.因为郭神是我在大学期间比较崇拜的对象之一.他 ...

  7. 【转】Android Building System 总结 - 一醉千年 - CSDN博客

    原文网址:http://www.360doc.com/content/15/0314/23/1709014_455175716.shtml  Android Building System 总结 收藏 ...

  8. 告示:CSDN博客通道支持Windows Live Writer写blog离线好友

    尊敬的各位CSDN用户: 您好! 为了更好的服务客户.CSDN已经支持Windows Live Writer离线写博客啦.Windows Live Writer于2014年5月29日正式上线啦!欢迎大 ...

  9. 敏捷开发用户故事系列之十一:CSDN博客用户故事分析

    这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的 ...

随机推荐

  1. sun.misc.BASE64Encoder是内部专用 API, 可能会在未来发行版中删除

    简介 MEVAN打包遇到问题“sun.misc.BASE64Encoder是内部专用 API, 可能会在未来发行版中删除”,属于警告!项目虽然能正常运行,但是有警告就是一种隐患,要将隐患消灭在萌芽中. ...

  2. Append加载动态轮播

    前几天遇到了些小麻烦,不过很快就解决了.之所以要记下来是因为作为一名前端的程序员,要理解页面的加载顺序是最重要的.要不然自己写程序意外的出现bug~~ 刚开始写利用Append的时候,利用火狐的fir ...

  3. CentOS NFS的安装配置、启动及mount挂载方法

    一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : yum -y install n ...

  4. Selenium2学习之-环境搭建

    1.下载安装Eclipse 2.下载并配置jdk环境变量 2.1 介绍一下环境变量设置 2.1.1 点击环境变量 2.1.2 新增系统变量JAVA_HOME 变量名:JAVA_HOME 变量值:C:\ ...

  5. 3:url无规律的多页面爬取

    试例网站:豆瓣电影TOP250:http://movie.douban.com/top250 关键点:在审查元素下查看后页即可以看到跳转的url.而且最后一页就此属性就没有了. 由于关键是实现分页,所 ...

  6. Linux操作系统分析__破解操作系统的奥秘

    学号:SA12226343  姓名:sunhongbo 一.操作系统工作的基础 存储程序计算机和堆栈(函数调用堆栈)机制以及中断机制是操作系统工作的基础. 现代计算机仍采用存储程序计算机的结构体系和工 ...

  7. MVC文件上传 - 使用Request.Files上传多个文件

    控制器 1: using System; 2: using System.Collections.Generic; 3: using System.IO; 4: using System.Linq; ...

  8. 类库dll引用不成功问题

    警告:未能解析引用的程序集“*******, Version=1.0.0.0, Culture=neutral,”,因为它对不在当前目标框架“.NETFramework,Version=v4.0,Pr ...

  9. C# List<T>转为 DataTable

    // remove "this" if not on C# 3.0 / .NET 3.5 public static System.Data.DataTable ConvertTo ...

  10. java线层的启动与停止

    class Do8 { public static void main(String[] args) { Resource r =new Resource(); Input in =new Input ...