使用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博客用户故事分析
这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的 ...
随机推荐
- 浙江大学PAT上机题解析之5-05. QQ帐户的申请与登陆
实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式说明: 输入首先给出一个正整数N(<=105),随后给出N行指令.每行指令的格式为:“命令符 ...
- Oracle之事务
一,oracle的事务: 是指对数据操作的一系列动作的统称.即:事务的任务便是使数据库从一种状态变换成为另一种状态,这不同于文件系统,它是数据库所特用的. 事务有四大特性(ACID): 1,原子性(a ...
- 简易浏览器App webview
使用 public class MainActivity extends Activity { @Override protected void onCreate(Bundle sav ...
- html5 canvas画进度条
这个ie8的兼容是个问题,ie8 的innerHTML有问题啊,添加两个附件吧 <!DOCTYPE html> <html> <head> <meta cha ...
- 前端笔试题目小结--获取输入参数用户名;查询URL字符串参数
编写一个JavaScript函数getSuffix,用于获得输入参数的后缀名.如输入abc.txt,返回txt. str1 = "abc.txt"; function getSuf ...
- System.Net网络编程--AuthenticationManager和IAuthenticationModule
AuthenticationManager——管理客户端身份验证过程中调用的身份验证模块. public class Demo1 { private static string username, p ...
- Android -------- 网络访问数据
- Android常见开源解决方案
原文:http://m.pstatp.com/group/6348269082899497218/?iid=6036708044&app=news_article&tt_from=mo ...
- centos静默式安装Oracle11g
1. Centos及Oracle版本 Centos:CentOS release 6.4 (Final) Oracle:linux.x64_Oracle_11gR2_database 2. 硬 ...
- ICP编程软件配置(烧写KEIL编译后的bin文件)
1. 安装NuMicro_ICP_Programming_Tool_1.29.6425软件 2. 打开软件后选择目标芯片后点击“连接”按钮 3. 添加程序 4. 点击设定按钮进行设定 5. 点击开始 ...