使用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博客用户故事分析
这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的 ...
随机推荐
- Android TextView属性
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all)android:a ...
- Android Fragment详解(二):Fragment创建及其生命周期
Fragments的生命周期 每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件. 对应生命周期可参考下图: 创建片元(Creating a Fragment) To c ...
- gcc总结【基本用法】【选项】【动静态库】(转)
1.////////////////////////////////////////////////////////////////////////////////////////////////// ...
- 任务栈 启动模式 Flag taskAffinity
关于任务栈Task 栈的概念 栈(Stack)是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下 ...
- Log4net日志组件使用
一.简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.经验表明,日 ...
- JCo 指南
http://blog.csdn.net/asdfak/article/details/5834731 JAVA 调用SAP端接口 Java Connector and BAPI 前些日子想去深入的研 ...
- [Android分享] 如何解决Android 5.0中出现的警告:Service Intent must be explicit
Android 5.0程序运行报Service Intent must be explicit错误,原因是5.0的service必须显式调用 改成 Intent intent = new Intent ...
- phpcms v9升级后台无法上传缩略图的原因分析
phpcms V9 是目前国内使用人数最多的一款开源免费的CMS系统,正是由于他的免费性,开源性,以及其自身的功能性比较强大,所以倍受许多站长朋友们的亲来,以及许多的公司的喜欢.phpcms也为了完善 ...
- mysql定时执行及延时执行,实现类似sql server waitfor功能
熟悉SQL Server的人都知道,它有一个很有用的功能,waitfor time和waitfor delay,前者表示在某个时间执行,后者表示等待多长时间执行.在我们测试功能和定时执行的时候特别有用 ...
- HTML&CSS基础学习笔记1.9-添加图片
<img>标签是用来添加图片的~ <img>标签的使用方法:<img src="图片的地址"> 先来看段实例代码: <!DOCTYPE h ...