使用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解析将被屏蔽。
列表项包括多个段落的时候,我们将在第二个段落之后,每一个段落開始,加上四个以上的空格或者制表符,这样就能够实现以下的效果:
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")
4.2 强调
使用一对“ *”或者一对“ -”来标记须要强调的内容;使用一对两个“*”或者“-”来对字体进行加粗。效果例如以下:outstanding,and,strong。值得注意的是,符号两边不能含有空格,否则,这些符号将被当作符号本身进行解析;另外,我们相同能够使用反斜线来转义它们.outstanding, andstrong
outstanding, and strong
很多其它语法介绍能够參考这里:markdown 语法介绍
4.3 小块代码
使用单个反引號来表示小块代码引用,效果如printf
使用markdown语法撰写csdn博客的更多相关文章
- 在Markdown中转载CSDN博客
1.CSDN博客页面右键,点击[检查] 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中article_content 即可,会在代码框中自动选中art ...
- 转载CSDN博客步骤
在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考博客原址:http: ...
- CSDN博客步骤:
在SCDN看到喜欢的文章想转载又嫌一个一个敲太麻烦,干脆直接收藏.但有时候作者把原文章删除或设置为私密文章后又看不了.所以还是转载来的好.这篇博文为快速转载博客的方法,亲测有效,教程如下. 原博客原址 ...
- Python爬取CSDN博客文章
0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...
- csdn 博客,你很努力,有人帮你-2015年03一个月17日本
今天泛化 开始使用简书 正则表达式的博客写了两篇文章 回顾 Core Data 基本使用 总结 Xcode6新特性 简单聊聊 简书,事实上一開始学 MarkDown 语法的时候,已经用了,但是,一直认 ...
- JAVA爬虫挖取CSDN博客文章
开门见山,看看这个教程的主要任务,就去csdn博客,挖取技术文章,我以<第一行代码–安卓>的作者为例,将他在csdn发表的额博客信息都挖取出来.因为郭神是我在大学期间比较崇拜的对象之一.他 ...
- 【转】Android Building System 总结 - 一醉千年 - CSDN博客
原文网址:http://www.360doc.com/content/15/0314/23/1709014_455175716.shtml Android Building System 总结 收藏 ...
- 告示:CSDN博客通道支持Windows Live Writer写blog离线好友
尊敬的各位CSDN用户: 您好! 为了更好的服务客户.CSDN已经支持Windows Live Writer离线写博客啦.Windows Live Writer于2014年5月29日正式上线啦!欢迎大 ...
- 敏捷开发用户故事系列之十一:CSDN博客用户故事分析
这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的 ...
随机推荐
- ibatis的selectkey
在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作. 使用ibatis的sel ...
- 【录音】Android录音--AudioRecord、MediaRecorder
Android提供了两个API用于实现录音功能:android.media.AudioRecord.android.media.MediaRecorder. 网上有很多谈论这两个类的资料.现在大致总结 ...
- mysql 数据库 备份 还原
参考资料: http://blog.51yip.com/mysql/139.html
- Web的工作机制
简要的介绍一下Web的工作机制,以便对开发JavaWeb项目有个更好的理解. 一.Web的概念 1.1 何为Web:Web是万维网(World Wide Web)的简称.Web出现以前, ...
- abstract修饰符,具体类与抽象类的区别
abstract修饰符 abstract可以修饰类,表示一个抽象类,注意:抽象类和具体类唯一的区别:类不能创建对象,而具体类是可以创建对象的 1.具体类有构造方法,抽象类也有构造方法 2.具体类可以有 ...
- lvs+keepalived+nginx+tomcat
# 拓扑如下所示 # 节点分布情况 LVS-dr-master eth0: 192.168.146.141 LVS-dr-slave eth0: 192.168.146.142 nginx1: eth ...
- C#字符串的比较
Console.WriteLine("输入字符1"); string n1 = Console.ReadLine(); Console.WriteLine("输入字符2& ...
- canvas ---1
Canvas1 (关键词:canvas) canvas :就是html5中提供的一个标签,只是用来展示绘图的内容 canvas 标签的默认宽高:300*150 如果给canvas来设置高度和宽度 ...
- 【转】c/c++各种字符、字符串类型转换
itoa 功 能:把一整数转换为字符串 用 法:char *itoa(int value, char *string, int radix); 详细解释:itoa是英文integer to ...
- win32 console application 如何修改图标?
win32 console application ,不要看这名字高端大气上档次,让你摸不着头脑,其实他就是我们最先学习c语言那种黑色窗口的东西......话说他怎么修改图标呢?第一种方法是:右键-〉 ...