你和新媒体排版高手的差距只有一个Markdown

前言

据说简书在诞生之初就支持了Markdown语言。听说这件事后有“排版强迫症”的我以及同事就迅速对这款写作软件产生了好感。此前想要自学使用Markdown排版的时候,一直没有遇到太清晰易懂的教程,所以我们就干脆自己写了一份,以下为全文:

大学的时候用word写论文,那种担心随时会死机的惶恐不安,排版的种种细微之至的殚精竭虑,依然记忆犹新。

后来读研时候开始用到大神Donald Knuth 高德纳发明的Tex(希腊语,请一定读成/tek/,意思是"art" and “craft”)。Knuth大神只是觉得当时的文字编辑系统不好用,所以顺手写了个改变文字编辑理念的编辑语言。就是这么牛逼!

word为代表的文字编辑软件采用的是"所见即所得"(what you see is what you get),而以Tex为代表的文字编辑语言采用的则是“所想即所得”(what you think is what you get)。 Markdown就是这样一个所想即得所得的神器。

听上去酷炫是吧,酷炫的代价是要花时间去学。放心,Markdown足够简单, 相信我,你值得拥有。

自媒体工作:为什么要用Markdown:

更美观,更吸睛,更想阅读

一些可视化的排版工具如秀米,新榜编辑器等无法达到更美观的视觉效果。问题在于,同样的内容, 使用不同的工具设计排版,好的视觉体验会带给人更强烈的阅读欲望。尤其是文字较多的内容,舒适的间距,整齐的间隔,会帮助读者更容易地进行深度阅读,而不是匆匆扫一眼就关掉。以下是我用秀米和MarkDown分别编辑的公号内容,给大家做一比较:

Markdown与秀米的排版效果对比

一劳永逸,快捷方便

一般来讲,一个自媒体的内容排版风格是统一的,不会有太大变化。只要在最开始使用Markdown时,设定好最适合你的源代码和MarkDown Here CSS,在今后的工作中只要替换对应的内容就好了。(文末有我自己设计的一套CSS,大家可以直接复制黏贴套用。)

准备工作

需要准备的是:

  • 安装一个Markdown的编辑器,用来编辑文字。
  • 在浏览器下安装Markdown Here扩展应用,用来在网页版的编辑页面(如微信公号后台编辑),解释Markdown代码。

Markdown编辑器

市面上Markdown的编辑器有很多,我推荐几个在Mac和Windows下用的比较多的。

  • Mac系统:MacDown(这个名字实在不讨喜) 下载。MacDown的使用界面如下图,非常方便,左边写MarkDown代码,右边是解释以后的样子。
MacDown界面

安装浏览器扩展应用Markdown Here

点击这里进行安装,完成后会在浏览器右上角显示图标。如果你选择装的是Chrome的Markdown Here需要VPN。 下图蓝色框起来的就是Markdown Here在浏览器上的按键了。

Markdown Here图标

使用

好了终于可以开始干正事了。接下来,我将介绍如何用Markdown完成一篇制作精良的微信文章。

使用流程

  1. 在Markdown编辑器里完成对内容及排版的编辑
    尽量在Markdown编辑器里完成所有编辑,因为在平台的编辑器(比如微信公号后台)再做编辑,很容易出错
  2. 在Markdown Here的Option中设置好CSS(详见下文)
    对大部分自媒体运营者来说CSS设置一次就够了,以后均可套用。对个别内容有定制的排版需求时,对CSS稍作修改即可。
  3. 浏览器打开平台编辑器(如微信公号后台),复制黏贴代码并转化成实际效果
    把Markdown源文件复制到浏览器微信公号编辑区域,点击Markdown Here插件完成转化。

Markdown语法

这里面介绍一下自媒体常用的Markdown语法。Markdown是一种标签式的语言,也就是用标签来表示格式的意思。我在下文列出了一些常用的格式及其源代码,供大家参考

标题

在文字前面加上‘#’表示标题,每增加一个‘#’,标题的级别降低一级。

一级标题 h1 head

​写法是#一级标题 h1 head

二级标题 h2 head

写法是##二级标题 h2 head

三级标题 h3 head

写法是###三级标题 h3 head

正文

  • 普通的正文不需要加任何标签

  • 粗体**粗体**

  • 斜体:_斜体_

  • 划掉: ~~划掉~~

  • 需要显示原始代码时,把代码放到``符号里面。

    _斜体_,这段代码并没有被Markdown解释。请注意,这个符号并非单引号,而是tild~键下面这个:

    tild button

  • 需要整段显示原始代码,就在这段代码前后各打3个`符号。

块引用

如果一段的内容是引用别人的话,在端的开头加上'>'。

如果一段的内容是引用别人的话,在端的开头加上'>'。

常用间隔符号

自媒体文章常常需要分割线来分隔内容,提高内容的可读性。用3个 - 或者 _ 或者 * 可以实现分隔线的效果。注意使用英文输入法下的下划线和中划线

列表

列表通过缩进表示不同的级别。

无序列表

  • 一级条目
    • 二级条目
      • 三级条目

代码如下,**除*号外使用-+也可:

* 一级条目 
    * 二级条目 
        * 三级条目 

有序列表

  1. 一级条目 1
    1. 二级条目 1
      1. 三级条目 1
      2. 三级条目 2
    2. 二级条目 2
  2. 一级条目 2
    代码如下:
1. 一级条目 1 
    1. 二级条目 1 
        1. 三级条目 1 
        2. 三级条目 2 
    2. 二级条目 2 
2. 一级条目 2

链接

链接分两种。一种是链接到其他网上地址的,还有一种是链接到本文中的某个位置的。

两种的基本格式一样。需要添加链接的文字内容用[方括号]来括起来,后面紧跟着带有网址的圆括号,如果要加上连接的title文字,在网址后面,把 title文字放到双引号里面。

外部跳转

举个栗子:
Markdown
[Markdown](https://github.com/markdown/ "Visit markdown!")

title

文中跳转

跳转到同一篇文章中的任意指定位置,能够很好的改善阅读体验。
举个栗子:
跳转到前言
跳转到[前言](#前言)
需要同时在跳转的目的地添加HTML中的A标签。如果不懂没有关系,记住就够用了。比如在前言的标题哪里,我是这么添加的:
##前言<a name="前言"></a>

图片

图片是非常常用的元素,快速的使用图片,可以大大的提高效率。我推荐使用自带图床功能的作图软件,也就是能提供图片URL链接的。这样一行代码就可以把图片加入到文章中去。格式为:
![Alt text](图片URL "可选图片名")其中Alt text是HTML中的alt标签,在图片无法显示的情况下,会显示中括号中的内容。

图片来自《我的团长》

![图片来自《我的团长》](https://image.yoo.la/concat/yoola_1505139315668_dbb3ae893cb444b386914c3dd5e01d14_blade.jpg/works_share "我的团长")

上面是我开发的字幕拼图软件有啦(广告脸)提供的图片链接直接放到文章中。

如果找不到自带图床的图片编辑软件,可以把图片上传到图床,然后获得图片链接。知乎关于图床的问答

如果不愿意用图床,在么在最后一步生成微信文章后,用微信自带的插入图片的按键即可。

Markdown Here扩展应用和CSS

如果我需要改变字体、字号、行间距等等该怎么办呢,这个时候就需要改Markdown Here提供的CSS。点击Markdown Here的logo选择Options. 如下图所示:


Markdown Here选择options

CSS

如下图,左边第二行的"Primary Styling CSS"方框是我们需要去根据需要修改的地方。右边第二行的"Syntax Highlighting CSS"是选择所需要的代码加亮的地方,选择自己喜欢的主题(theme)即可. 左边第三行的“Preview”提供了即时修改CSS以后的范例显示功能。那么问题来了,怎么修改CSS呢。我这边修改了一版自己觉得比较好用的CSS代码,供大家使用,直接复制黏贴至左侧编辑框即可。
/**/之间的部分是注释,表示代码的用途。我把常用的部分做了注释,方便大家使用。想前面说过的一样,对于大部分人CSS一般改一次就够了。如果还有什么不清楚了,可以给留言给我,我可以帮忙改一下。

修改Primary Styling CSS

/*
 * NOTE:
 * - The use of browser-specific styles (-moz-, -webkit-) should be avoided.
 *   If used, they may not render correctly for people reading the email in
 *   a different browser than the one from which the email was sent.
 * - The use of state-dependent styles (like a:hover) don't work because they
 *   don't match at the time the styles are made explicit. (In email, styles
 *   must be explicitly applied to all elements -- stylesheets get stripped.)
 */
/*
 * NOTE by XXS:
 * The changes are made as follows: 
 * 增加了比较美观的中文字体
 * 文章的左右Margin设置为0.8em
 * 文章的采用左右对齐
 * Tips by XSS: 
 * 需要使用不同的标题样式,比如有的用实线,有的用虚线的,可以定义不同的标题样式
 */

/* This is the overall wrapper, it should be treated as the `body` section. */
.markdown-here-wrapper{ 
  font-size: 15px; //字号
  line-height: 100%; //行间距
  letter-spacing: 0.02em; //字符间距
  margin-right: 0.06em; //左侧边距
  margin-left: 0.06em; //右侧边距
  font-family:PingFang SC Regular', 'PingFang SC', 微软雅黑, "Helvetica Neue",Helvetica, Arial, Verdana, Sans-serif, !important; //字体
  text-align:justify;//字左右对齐
}
/*下面是将加粗字体设置想要的格式,这里只设置了颜色
 *一般来说加粗表示强调,可以采用字的原来颜色或者公号的某一色调,字颜色尽量不要超过2种 
 * 色号可以参考 http://blog.163.com/wujinhongisme@126/blog/static/3613698020095115919389/
 */
strong, b{
  color: #000000;
}
/*下面是将斜体设置为想要的格式,这里只设置了颜色
 */
em, i {
  color: #000000;
}

/* To add site specific rules, you can use the `data-md-url` attribute that we
   add to the wrapper element. Note that rules like this are used depending
   on the URL you're *sending* from, not the URL where the recipient views it.
*/
/* .markdown-here-wrapper[data-md-url*="mail.yahoo."] ul { color: red; } */

pre, code {
  font-size: 12px;
  font-family: Consolas, Inconsolata, Courier, monospace;
}

code {
  margin: 0 0.15em;
  padding: 0 0.3em;
  white-space: pre-wrap;
  border: 1px solid #EAEAEA;
  background-color: #F8F8F8;
  border-radius: 3px;
  display: inline; /* added to fix Yahoo block display of inline code */
}

pre {
  font-size: 1em;
  line-height: 1.2em;
}

pre code {
  white-space: pre;
  overflow: auto; /* fixes issue #70: Firefox/Thunderbird: Code blocks with horizontal scroll would have bad background colour */
  border-radius: 3px;
  border: 1px solid #CCC;
  padding: 0.5em 0.7em;
  display: block !important; /* added to counteract the Yahoo-specific `code` rule; without this, code blocks in Blogger are broken */
}

/* In edit mode, Wordpress uses a `* { font: ...;} rule+style that makes highlighted
code look non-monospace. This rule will override it. */
.markdown-here-wrapper[data-md-url*="wordpress."] code span {
  font: inherit;
}

/* Wordpress adds a grey background to `pre` elements that doesn't go well with
our syntax highlighting. */
.markdown-here-wrapper[data-md-url*="wordpress."] pre {
  background-color: transparent;
}

/* This spacing has been tweaked to closely match Gmail+Chrome "paragraph" (two line breaks) spacing.
Note that we only use a top margin and not a bottom margin -- this prevents the
"blank line" look at the top of the email (issue #243).
*/
/*段落上下内边距10px*/
p {
  /* !important is needed here because Hotmail/Outlook.com uses !important to
     kill the margin in <p>. We need this to win. */
  margin: 0 0.3em 0em 0.3em !important;
  padding: 10px 0;
  text-align: justify;
}

/*设置table, pre, dl, 块引用,无序列表,有序列表的外边距(margin),上下为1.2em, 左右为0em. 
 *关于margin, padding, 和border的解释参考 http://www.studyofnet.com/news/35.html 
 */
table, pre, dl, blockquote, q, ul, ol {
  margin: 1.2em 0;
  text-align: justify; 
}

/*设置无序列表和有序列表的左侧padding,也就是离正文的缩进量*/
ul, ol {
  padding-left: 0.5em;
  margin: 0.5 1em !important;

}

/*设置列表的margin, 上下0.5em, 左右0em /
li {
  margin: 0.5em 0.8em;

}

/* Space paragraphs in a list the same as the list itself. */
/*设置列表里面段落的margin, 上下0.5em, 左右0em*/
li p {
  /* Needs !important to override rule above. */
  margin: 0.5em 0.5em !important;
  text-align: justify; 
 
}

/*把子列表设置的更小一点, 可根据需要修改*/
ul ul, ul ol, ol ul, ol ol {
  margin: 0px 0em;
  padding: 0px 0em;
}


/*
 *设置列表条目的样式 
 *有序列表的样式可供选择的有decimal, decimal-learding-zero, lower-roman, upper-roman, lower-alpha, upper-alpha, 
 *lower-greek, lower-latin, upper-latin, hebrew 等
 *无序列表的样式可供选择的有 disc, circle, square,none等 
 *具体意思可以参考: http://www.w3school.com.cn/cssref/pr_list-style-type.asp
*/
/*有序列表条目样式设置为数字*/
ol {
  list-style-type: decimal;
}
/*无序列表条目样式设置为实心圆*/
ul {
  list-style-type: disc;
}
/*有序列表子条目样式设置为实心圆*/
ol ol, ul ol {
  list-style-type: upper-roman;
}
/*无序列表子条目样式设置为空心圆*/
ol ul, ul ul {
  list-style-type: circle;
}
/* 有序列表子子条目的样式,当前用的是小写罗马字母,可供选择的同上*/
ul ul ol, ul ol ol, ol ul ol, ol ol ol {
  list-style-type: lower-roman;
}

/*区块列表格式*/
dl {
  padding: 0;
}

dl dt {
  font-size: 12px;
  font-weight: bold;
  font-style: italic;
}

dl dd {
  margin: 0 0 1em;
  padding: 0 1em;
}

/*块引用格式*/
blockquote, q {
  /*border-left: 4px solid #FFCC33; 
   border: 2px solid #FFCC33;*/
  /*上下padding 0, 左右padding 1em */
  font-size: 11pt;
  padding: 0 1em; 
  color: #777;
  quotes: none;
  /*quotes:"\201C""\201D""\2018""\2019";*/

}

blockquote::before, blockquote::after, q::before, q::after {
  content: none;
}

/*h1, h2, h3, h4, h5, h6 标题通用格式: 靠左*/
h1, h2, h3, h4, h5, h6 {
  /* margin: 0 0em 0em 0em !important;*/
  margin: 0 0.5em 0em 0.5em !important;
  padding: 0;
  font-weight:bold;
  text-align: left;
}

/*h1 标题专用格式*/
h1 {
  font-size: 20px !important;
  /*margin:10px 0em 20px 0.5em !important;*/
  padding: 4px 0 0px 0 !important;
  border-bottom: 6px solid #ffeb3b;
}
/*h2 标题专用格式*/
h2 {
  font-size:18px !important;
  padding: 8px 0 2px 0 !important; 
  /*margin: 18px 0.5em 6px 0.5em !important;*/
}
/*h3标题专用格式*/
h3 {
  font-size: 16px;
  padding: 2px 0 1px 0 !important; 
  /*margin: 16px 0.9em 4px 0.9em !important;*/
}
/*h4标题专用格式*/
h4 {
  font-size: 14px;
  padding: 1px 0 0px 0 !important; 
 /* margin: 14px 1 em 2px 0 em !important;*/
}
/*h5标题专用格式*/
h5 {
  font-size: 14px;
}
/*h6标题专用格式*/
h6 {
  font-size: 14px;
  color: #777;
}
/*表格格式*/
table {
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  font: inherit;
  border: 0;
}

tbody {
  margin: 0;
  padding: 0;
  border: 0;
}

table tr {
  border: 0;
  border-top: 1px solid #CCC;
  background-color: white;
  margin: 0;
  padding: 0;
}

table tr:nth-child(2n) {
  background-color: #F8F8F8;
}

table tr th, table tr td {
  font-size: 1em;
  border: 1px solid #CCC;
  margin: 0;
  padding: 0.5em 1em;
}

table tr th {
 font-weight: bold;
  background-color: #F0F0F0;
}

生成

好了,到了迎接胜利的时刻了,我用微信后台编辑器做例子。把在MacDown写好的源代码复制黏贴到微信编辑器。再点击右上角的Markdown Here logo,微信文章就生成了。如下图所示:


WeChat editor

有任何相关疑问或建议欢迎留言交流!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 原文地址:码字必备:18 款优秀的 Markdown 写作工具 | 2015 年度盘点 现在是 2015 年底,自...
    袁俊亮技术博客阅读 16,544评论 6 66
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,049评论 25 707
  • 《大学肆年》目录 下了一天的雪终于停了下来,在这寒冷的冬季里蒋学文的嘴唇干燥的开裂。白婕急匆匆跑下楼来,没刹住脚步...
    帝恶道阅读 601评论 2 0
  • 夜卧听雨落,思秋至 晨起看花调,悲几许 立于凸起的田埂之上 放眼一片金黄 闻到了喜悦的气息 偶有几只鸟儿经过 衔起...
    月上阅读 317评论 0 2
  • 今天才发现 mdzz这词简直就是形容我的…… 走在路上发现脚边居然飞着俩蝴蝶 白翅膀上面黑点 很漂亮的 正好手机在...
    彦薇蔷宇i阅读 451评论 0 0