快速用Markdown排版一篇文章
前言
- 本文会将为每个设置的样式在文章中给出示例。
- 本文不介绍完整的Markdown用法。
- 本文只简洁的介绍,使用Markdown写一篇文章的用法。
- 本文主要记述鄙人在Mac电脑上使用博客园Markdown编辑器粗浅快捷的实践总结,后续会继续完善。
设置标题
多级标题
使用“#”+文字内容,代表#号后面的文字为一级标题,“##”代表二级标题,“###”代表三级标题,多级标题以此类推。
举个例子:“#前言” 就会生成上面的“前言”一级标题
文中的“设置标题”和“多级标题”设置基础方式如下
#设置标题 //一级标题
##多级标题 //二级标题
标题颜色和文字
使用font标签来设置字体,通过font标签内设置键值对来确定字体样式。face="宋体"代表了font标签对内字体使用宋体;color="#1c6189"代表指明font标签对内字体使用的颜色。
示例如下:
一级标题颜色字体的设置
#<font face="宋体" color="#1c6189">设置标题</font>
本文二级标题和正文都使用的默认字体颜色
本文正文使用字体样式:<font face="宋体" size=3>
文字居中
要想某些文字居中(尤其是图片的上标题),示例如下:
我是居中的文字,你认识我么,加下我吧,有问题交流啊,嘎嘎
上面的实现方式如下:
<center>我是居中的文字,你认识我么,加下我吧,有问题交流啊,嘎嘎</center>
上下空行符号
为了更优美的展现文章,标题和正文之间需要空行。空行有一下集中方式:
使用标签“'</br>'”。
使用“ '”或“' '”
使用“</br>”将会空更多的行数,本文,标题前后都使用了“</br>”。如下:
</br>
#<font face="宋体" color="#1c6189">上下空行符号</font>
</br>
无序列表和有序列表
多级无序列表
使用 “-”+空格+内容;“-”也可以换做“+”;
第二级或者更多级别,只需要在“-”前对应的添加空格或者使用table键空格,来做显示上的对齐。(其原理还是第一级的使用方法,只不过前面加了空格作为对齐,制造出显示效果)
多级列表示例:
- 此处写文字
- 此处写文字 //代表第二阶
- 此处写文字
- 此处写文字 //代表三阶
- 此处写文字
- 此处写文字
- 此处写文字
实现如下:
多级列表
- 此处写文字
- 此处写文字 //代表第二阶
- 此处写文字
- 此处写文字 //代表三阶
- 此处写文字
- 此处写文字
- 此处写文字
不要忘记“-”和内容之间有个空格
一级有序列表
鄙人并没查到多级有序列表的使用方法(包括官方文档在内)。
使用 “数字序号”+空格+英文输入法句点“.”;
多级列表示例:
- 此处写文字
- 此处写文字
- 此处写文字
实现如下:
1. 此处写文字
2. 此处写文字
3. 此处写文字
不要忘记是英文句点,句点之后空一格或者使用table键空。
一级有序列表与多级无序列表掺杂使用
此处只不过是将上述两种列表混搭了下(此处是有序列表在先)
多级列表示例:
- 此处写文字
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 此处写文字
- 此处写文字
实现如下:
1. 此处写文字
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
- 啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家啦啦啦我是卖报的小行家
2. 此处写文字
3. 此处写文字
超链接与锚
超链接
插入超链接方法使用“[]"括号内写我们要显示的文字,紧接着使用"()"括号内要写链接网址。注意"[]"和"()"小括号都是在英文输入法下输入的符号。
跳转到CoreAnimation第四篇的设置如下:
[跳转到CoreAnimation第四篇](http://www.cnblogs.com/zhouyubo/p/8410871.html)。
为超链接设置颜色
我是带颜色的超链接。设置如下
[<font color=#1c6189>我是带颜色的超链接<font>](http://www.cnblogs.com/zhouyubo/p/8410871.html)。
锚(文章内跳转)
锚就是为了实现文章内部的跳转,使用锚需要设置两步。(与超链接类似)
- 在跳转的目的地添加标签。
- 在需要被设置为点击跳转的文字处,添加上步设置的标签。
示例超链接点我跳转到前言——具体设置如下:
前言标题设置如下:(此处将文字设置标签与锚标签嵌套)
#<font face="宋体" color="#1c6189"><span id="qianyan">前言</span></font>
要设置为跳转的文字设置如下
[点我跳转到前言](#qianyan)
跳转到指定文章的指定位置
其实是超链接(页间跳转)和锚(页内跳转)的结合实现。
废话不多说,点我跳转到Core Animation 文档翻译 (第六篇)中的小标题“显式动画帮助我们改变动画的参数”处。
Core Animation 文档翻译 (第六篇)中的小标题“显式动画帮助我们改变动画的参数”处是使用锚点设置的,只不过跳转的跳转的时候我们在http://www.cnblogs.com/zhouyubo/p/8422931.html后面拼接了锚点的跳转参数#xianshidonghuabangzhu。实际设置如下:
“显式动画帮助我们改变动画的参数”小标题写法如下:(此处将文字设置标签与锚标签嵌套)
#<font face="宋体" color="#1c6189"><span id="qianyan">显式动画帮助我们改变动画的参数</span></font>
点我跳转到Core Animation 文档翻译 (第六篇)中的小标题“显式动画帮助我们改变动画的参数”处设置如下:
[点我跳转到Core Animation 文档翻译 (第六篇)中的小标题“显式动画帮助我们改变动画的参数”处](http://www.cnblogs.com/zhouyubo/p/8422931.html#xianshidonghuabangzhu)
代码块
代码块的设置是在切换到英文输入法下,“ ` ”符号——即使用Esc按键下方的按键输入的符号,输入3次,作为开始和结束。
while(1)
{
//代码块
}
上面代码块是这么写的:(下面的最前面的“//”需要去掉)
//```
//while(1)
//{
// //代码块
//}
//```
分割线
分割线是在新的通过“-”+空格+“-”+空格+“-”设置的。
上面的分割线实现如下
- - - //注意相邻的“-”中间都有空格
单个区块
这里写区块内容
实现如下:
>这里写区块内容
表格的插入和设置
表格的插入
参数 | 详细解释 | 备注 |
---|---|---|
-l | use a long listing format | 以长列表方式显示(显示出文件/文件夹详细信息) |
-t | sort by modification time | 按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) |
-r | reverse order while sorting | 逆序排列 |
实现如下
| 参数 |详细解释|备注|
| - | - |
| -l | use a long listing format |以长列表方式显示(显示出文件/文件夹详细信息) |
| -t | sort by modification time |按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) |
|-r | reverse order while sorting |逆序排列|
设置表格中某些列宽度为固定宽度
通过CSS设置宽度值,设置原理如下:
使用CSS调整某些列的宽度,设置原理中,第一列th:first-of-type,第二列th:nth-of-type(2),第三列th:nth-of-type(2),如是以此类推;
<style>
table th:first-of-type {
width: 100px;
}
table th:nth-of-type(2) {
width: 150px;
}
</style>
| 参数 |详细解释|备注|
| - | - | - |
| -l | use a long listing format |以长列表方式显示(显示出文件/文件夹详细信息) |
| -t | sort by modification time |按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) |
|-r | reverse order while sorting |逆序排列|
设置表格中某些行的宽度为文章总宽度的百分比
其原理与上面设定某些列为固定值不同的是,将固定值换成占宽百分比
设置某些列占宽比原理如下:
<style>
table th:first-of-type {
width: 30%;
}
table th:nth-of-type(2) {
width: 30%;
}
</style>
| 参数 |详细解释|备注|
| - | - | - |
| -l | use a long listing format |以长列表方式显示(显示出文件/文件夹详细信息) |
| -t | sort by modification time |按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) |
|-r | reverse order while sorting |逆序排列|
一片文章中多个表格,单个表格宽度控制
有时候,我们需要在单片文章内(包含多个表格)单独控制某个表格的各列的宽度比,示例:
.table2 tr th:first-child, .table2 tr td:first-child{
width: 30%;
}
.table2 th:nth-of-type(2) {
width: 15%;
}
参数 | 详细解释 | 备注 |
---|---|---|
-l | use a long listing format | 以长列表方式显示(显示出文件/文件夹详细信息) |
-t | sort by modification time | 按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) |
原理如下:(注意:每个表都设置为“tableX”,X为整数,且每个表的X在同一篇文章中的值不能相等)
<font face="宋体" size=3 class='table2'>有时候,我们需要在单片文章内(包含多个表格)单独控制某个表格的各列的宽度比,大致原理如下:
<style>
.table2 tr th:first-child, .table2 tr td:first-child{
width: 30%;
}
.table2 th:nth-of-type(2) {
width: 15%;
}
</style>
| 参数 |详细解释|备注|
| - | - | - |
| -l | use a long listing format |以长列表方式显示(显示出文件/文件夹详细信息) |
| -t | sort by modification time |按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) |
图片的插入和设置
插入图片
实现如下:
<img src="http://images2017.cnblogs.com/blog/764024/201802/764024-20180205162555654-1350503259.jpg" />
图片居中
在插入图片基础上加上center标签:
实现如下:
<center>
<img src="http://images2017.cnblogs.com/blog/764024/201802/764024-20180205162555654-1350503259.jpg" />
</center>
指定图片尺寸
只需要在src 后面添加上width和height对应的值:
实现如下:
<center>
<img src="http://images2017.cnblogs.com/blog/764024/201802/764024-20180205162555654-1350503259.jpg" width=300 height=181.5 />
</center>
目录的生成
查了不少方法,最终本文采用了页脚Html代码的方式实现的目录。本文提出的目录意是是指通过一级、二级以及三级标题形成的目录。
设置步骤:
- 在“管理”-“设置”-“页脚Html代码”,将生成目录代码粘贴到其中,并保存。
- 在“管理”-“设置”-“页面定制CSS代码”,将目录中行间距调整代码粘贴到其中,并保存。(此步骤只是为了美化,调整目录中文字的行间距,可只执行第一步。)
初次设置的需要先申请“支持js代码”,在“设置”下面,申请支持js代码位置如下图所示:
点击后会弹出申请理由文本框,填写申请理由即可,一般申请支持js在1-2个小时之内就会通过。
生成目录代码
<script language="javascript" type="text/javascript">
//生成目录索引列表
function GenerateContentList()
{
var jquery_h1_list = $('#cnblogs_post_body h1');
if (jquery_h1_list.length == 0) { return; }
if ($('#cnblogs_post_body').length == 0) { return; }
var content = '<a name="_labelTop"></a>';
content += '<div id="navCategory">';
content += '<p style="font-size:18px;color:#1c6189"><b>目录</b></p>';
// 一级目录 start
content += '<ul class="first_class_ul">';
for (var i = 0; i < jquery_h1_list.length; i++)
{
var go_to_top = '<div style="text-align: right"><a href="#_labelTop" style="color:#1c6189;" >回到顶部</a><a name="_label' + i + '"></a></div>';
$(jquery_h1_list[i]).before(go_to_top);
// 一级目录的一条
var li_content = '<li><a href="#_label' + i + '" style="color:#1c6189; text-decoration:none;" >' + $(jquery_h1_list[i]).text() + '</a></li>';
var nextH1Index = i + 1;
if (nextH1Index == jquery_h1_list.length) { nextH1Index = 0; }
var jquery_h2_list = $(jquery_h1_list[i]).nextUntil(jquery_h1_list[nextH1Index], "h2");
// 二级目录 start
if (jquery_h2_list.length > 0)
{
//li_content +='<ul style="list-style-type:none;color:#1c6189;text-align: left; margin:2px 2px;">';
li_content += '<ul class="second_class_ul">';
}
for (var j = 0; j < jquery_h2_list.length; j++)
{
var go_to_top2 = '<div style="text-align: right;color:#1c6189"><a name="_lab2_'+ i + '_' + j + '"></a></div>';
$(jquery_h2_list[j]).before(go_to_top2);
// 二级目录的一条
li_content +='<li><a href="#_lab2_'+ i +'_' + j + '" style="color:#1c6189; text-decoration:none;" >' + $(jquery_h2_list[j]).text() + '</a></li>';
var nextH2Index = j + 1;
var next;
if (nextH2Index == jquery_h2_list.length)
{
if (i + 1 == jquery_h1_list.length)
{
next = jquery_h1_list[0];
}
else
{
next = jquery_h1_list[i + 1];
}
}
else
{
next = jquery_h2_list[nextH2Index];
}
var jquery_h3_list = $(jquery_h2_list[j]).nextUntil(next, "h3");
// 三级目录 start
if (jquery_h3_list.length > 0)
{
li_content += '<ul class="third_class_ul">';
}
for (var k = 0; k < jquery_h3_list.length; k++)
{
var go_to_third_Content = '<div style="text-align: right;color:#1c6189"><a name="_label3_' + i + '_' + j + '_' + k + '"></a></div>';
$(jquery_h3_list[k]).before(go_to_third_Content);
// 三级目录的一条
li_content += '<li><a href="#_label3_' + i + '_' + j + '_' + k + '" style="color:#1c6189; text-decoration:none;" >' + $(jquery_h3_list[k]).text() + '</a></li>';
}
if (jquery_h3_list.length > 0)
{
li_content += '</ul>';
}
li_content += '</li>';
// 三级目录 end
}
if (jquery_h2_list.length > 0)
{
li_content +='</ul>';
}
li_content +='</li>';
// 二级目录 end
content += li_content;
}
// 一级目录 end
content += '</ul>';
content += '</div><p></p>';
content += '<hr style="height:5px;border:none;border-top:1px dashed #1c6189;color:#1c6189"/>';
if($('#cnblogs_post_body').length != 0 )
{
$($('#cnblogs_post_body')[0]).prepend(content);
}
}
GenerateContentList();
</script>
levels of contents
使用Tip
- 当正确使用Markdown编辑器的标签时候,如果某标签没有达到想要的展现效果,可以在编辑源文章的时候将此标签上下都通过按Enter空出一行。
- 由于Markdown在的某些细节语义各个平台以及编辑APP中都有可能不同,所以当真的有实现不了的时候,还需自行查找。(本文是基于Mac、博客园Markdown实践而得。)
快速用Markdown排版一篇文章的更多相关文章
- 工作效率-十五分钟让你快速学习Markdown语法到精通排版实践备忘
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...
- logstash快速入门 (这篇文章很不错 ) | 两种方式往logstash传输数据实例:Apache 日志(从文件获取)、Syslog方式
原文地址:http://www.2cto.com/os/201411/352015.html 原文地址:http://logstash.net/docs/1.4.2/tutorials/getting ...
- 关于怎么快速学好Android应用程序开发及其其他编程语言(大牛和高手勿喷,此篇文章也适合刚入门小师弟和小师妹)
无论你是从.NET转过来的也好 还是从PHP转过来的等等等,能看到这篇文章的人一般都是想快速转行到Android应用程序开发,希望我的这篇文章能勉励到各位的同时,也能勉励我自己. 1.编程语言基本都会 ...
- 极简MarkDown排版介绍(How to)
如何切换编辑器 切换博客园编辑器为MarkDown:MarkDown Editor 选择一个在线编辑和预览站点:StackEdit 如何排版章节 MarkDown: 大标题 ========== 小标 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- 工具(2): 极简MarkDown排版介绍(How to)
如何切换编辑器 切换博客园编辑器为MarkDown:MarkDown Editor 选择一个在线编辑和预览站点:StackEdit 如何排版章节 MarkDown: 大标题 ========== 小标 ...
- Markdown排版介绍
如何排版章节 Markdown: 大标题 ========== 小标题 ---------- # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 例如 三级 和四级 发布后的效果: 三 ...
- 在知乎上看到 Web Socket这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错
在知乎上看到这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错,所以推荐给大家,非常值得一读. 作者:Ovear链接:https://www.zhihu.com/que ...
- Java设计模式(十三) 别人再问你设计模式,叫他看这篇文章
原创文章,转载请务注明出处 OOP三大基本特性 封装 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏. 继承 继承是指这样一种能力,它可以使 ...
随机推荐
- Eclipse导入Hadoop源码项目及编写Hadoop程序
一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...
- 栈的存储结构的实现(C/C++实现)
存档 #include "iostream.h" #include <stdlib.h> #define max 20 typedef char elemtype; # ...
- ZOJ3602:Count the Trees
我是在neuqvj上交的这题:http://vj.acmclub.cn/problem/viewProblem.action?id=17848 本来是挺容易的树同构题,可是节点数比较多,愣是把普通ha ...
- bzoj:1659: [Usaco2006 Mar]Lights Out 关灯
Description 奶牛们喜欢在黑暗中睡觉.每天晚上,他们的牲口棚有L(3<=L<=50)盏灯,他们想让亮着的灯尽可能的少.他们知道按钮开关的位置,但喜闻乐见的是他们并没有手指.你得到 ...
- bzoj:2018 [Usaco2009 Nov]农场技艺大赛
Description Input 第1行:10个空格分开的整数: N, a, b, c, d, e, f, g, h, M Output 第1行:满足总重量最轻,且用度之和最大的N头奶牛的总体重模M ...
- BZOJ 3097: Hash Killer I【构造题,思维题】
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 963 Solved: 36 ...
- 短时间内多个请求状态更新,导致react 不能及时响应问题总结
个人总结 这段时间项目中遇到这样一个问题,旧项目中增加了一个聊天对话的模块,这是其他同学负责的部分,因为要有消息提醒,所以做了个轮询.消息提示因为是页头部分,所以每个模块都会引用到.这是背景. 现象 ...
- Apache日志分析_shell命令行
说明: 1.我的日志预先设定好按日生成文件:"CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/www.website ...
- 30分钟学玩转RabbitMQ
最近在学习RabbitMQ,在网上找了不少资料发现都特高端.动辄集群部署,分布式架构什么的,对于一个初学者实在不够友好.心想求人不如求自己,为什么不自己整理一套资料呢?于是<30分钟学玩转Rab ...
- WatchKit编程指南:Watch Apps--文本、标签以及图片
文本和分类标签 为了在Watch app中展示文本,使用标签对象.分类标签支持格式化的文本,可以在运行时被程序修改. 要添加标签到界面控制器,可以把它拖到对应的故事版场景(storyboard),在这 ...