美文网首页程序员
Markdown语法小白详尽版

Markdown语法小白详尽版

作者: 白於青 | 来源:发表于2017-05-12 10:21 被阅读0次

Markdown语法收集整理

写在前面的话

网上绝对是已经存在不少相关文章了,但是本人并不自觉画蛇添足,因为很多文章往往居高临下,对一些很常用的语法避而不谈,致使一众小白如坠五里雾里……谨以此文敬飨小白_

本文符合github语法规范,因为不同的平台往往存在细微差异,本文内容可能不完全适用其他环境。

换行

换行并不能通过单纯使用回车键完成,规范的语法是“空格+空格+回车”。换行很重要的哦,不仅能使文章结构更加清晰,也使得语法格式得到中断。

首行缩进

当我们新起一行,输入四个空格以图达到首行缩进的排版效果时,你会发现:不行,之后输入的文字会被当作代码给标记起来了。肿么办?很简单,在段首加入“&”+“ensp;"来输入一个空格,输入“&”+“emsp;”来代替两个空格(一个汉字宽度)。

标题的生成

标题之前以符号“#”开头,且符号#与正式的标题之间最好加入一个空格(此为规范语法)。标题共有六个等级,随着“#”的个数从一到六分别为一到六级,字号渐小。此外,在文字的下一行输入两个以上的减号或者等号,也会生成标题,这两种方法生成的标题等级不同。

列表的生成

列表分为有序列表和无序列表,前者以有序的阿拉伯数字开头,数字后接符号“.”,后接一空格;后者可以用符号“*”、“+”、“-”开头,并接一空格,且三者可以混用。在次一行缩进四个字符,可以产生次一级的列表。列表的前后都要有空行。
示例:
+ 亚洲
  1. 中国
    - 山东
    - 江苏
    - 河南
+ 欧洲
  * 德国
  * 法国

效果如下:

  • 亚洲
    1. 中国
      • 山东
      • 江苏
      • 河南
    2. 日本
    3. 韩国
  • 欧洲
    • 德国
    • 法国

如果你在正文中恰好出现数字加点这种形式,但是并不想形成列表,那么可以在‘.’的前面加上‘\’来避免出现有序列表。注意,符号\是转义字符,可以帮过你输入原意字符,其作用不限于此处。
  此外,有序列表和无序列表似乎还可以混用,这样可以方便很多。但是,最好不要这么做,因为在其他平台中可能会出现与此处不同的情况,从而产生混乱。

1. 十年生聚
2. 十年教训
- 有志者事竟成百二秦关终属楚
+ 苦心人天不负三千越甲可吞吴

上述例子效果如下:

  1. 十年生聚
  2. 十年教训
  • 有志者事竟成百二秦关终属楚
  • 苦心人天不负三千越甲可吞吴

引用的格式

很简单,用符号“>”开头就可以了。通过增加大于号的数量,可以生成多级引用。

我要举个栗子

栗子:
>初唐诗
>>陈子昂
>>>前无古人,后来者,念天地之悠悠,独怆然而涕下。

效果:

初唐诗

陈子昂

前无古人,后来者,念天地之悠悠,独怆然而涕下。

删除线

这是GFM所增加的语法,前后各使用一对“”直接包住的文字会被化掉。效果就像这样:删除线~。

链接的生成

Markdown支持两种链接:行内式和参考式。格式均为[](),不过行内链接的小括号是紧接在中括号之后的,中括号中放置链接的名称,小括号中放置链接地址,且小括号中加入双引号还可以为链接加上标题文字。举个栗子:
如果我这样写:[知乎](http://www.zhihu.com"行内链接"),你看到的就是:
知乎
  参考式的链接是在链接文字的中括号后面再接上另一个中括号,而在第二个中括号里面要填入用以辨识链接的标记,也可以空出来不写字,在文件的任意位置,把这个标记的链接内容写出来。

[豆瓣][link_douban]是一个挺不错的网站(这是一个栗子):
[豆瓣] [link_douban]是一个挺不错的网站,评分的理由大多挺骚气的,我喜欢。

本节最后会给出网址。这样一篇文章中引入的网址很多时可以得到统一管理,行文时也不会显得混乱。至于给出网址的方式,有两种(取决于你是否在第二个中括号里面填入内容。[CSDN][]是另外一个例子,当我这样写,你同样会看到这样的效果:[CSDN][]。
[link_douban]:http://www.douban.com
[CSDN]:http://www.csdn.com
现在给出上述豆瓣网和CSDN的链接给出的方式:
[link_douban]:http://www.douban.com
[CSDN]:http://www.csdn.com"参考式"

图片的引入

类似于链接的生成,图片也可以分为行内式和参考式,行内式的图片的引入格式为“![]():”感叹号之后接一中括号,其中写入图片的描述文字,之后是小括号,其中写入图片的地址,最后还可以用引号包住并加上选择性的标题文字:
示例:![苏州](http://i4.buimg.com/567571/f97dda09a0809abe.jpg)

苏州
至于图片的地址,可以登陆极简图床网,上传本地图片并获取地址。
![杭州][hangzhou]
![杭州][hangzhou] 是使用参考式引入的另外一张图片,它的链接是这样给出的:
[hangzhou]:http://i4.buimg.com/567571/0f776055c6741bd7.jpg
[hangzhou]:http://i4.buimg.com/567571/0f776055c6741bd7.jpg

如此放置的图片,其位置和大小都是默认的,我们还可以通过下面这种方法规定其大小和位置。align规定了图片的位置,alt是图片的名称。

<div align=center>
    ![绝代芳华](https://img.haomeiwen.com/i5467949/be75018d9481d637.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
</div>  

<div align=center>


绝代芳华

</div>
  说了好多,你有木有发现,真很烦……我猜你一定这么觉得,不过不要紧,因为我们其实很少这么做,像简书啦,CSDN啦等等平台和软件,都对图片有很好的支持,可以通过简单的复制粘贴就完成。具体各不相同,自行领悟去吧......

粗体与斜体

前后分别用两个“*”包住的文本将会是粗体,前后各只用一个“*”包住的部分将会是斜体。辣么,问题来了,如果说用三个“*”嘞?你猜......

表格的生成

大量使用符号“|”去模拟表格的形状,可以说是在“假装自己是一个表格”!燃鹅,它还真特么成了一个表格,你说它搞不搞笑......其中第二行中的冒号的放置决定了该栏内容的重心(左对齐、右对齐或者居中),默认左对齐。
栗子来啦:

| 姓 名 年 龄 性 别
张 三 20
李 四 22
王 五 24
赵美丽 18
姓 名 年 龄 性 别
张 三 20
李 四 22
王 五 24
赵美丽 18

代码的嵌入

如果你缩进4个空格或1个制表符然后输入文本,将会被视为代码,代码区块会一直持续到没有缩进的一行。我觉得更加方便的办法是在代码区的开头和结尾各加入三个反引号“···”,按键就在“Esc”的下面,因为有时候缩进会变得有点烦(还有人会为了到底要使用空格键还是制表符展开争吵,为了世界和平,我们就不要那样做了......)。如果你只想在行内插入少少的一点代码,可以只是用一个反引号,比如这样:`void funtion()`,效果是这样的void funtion(),也还不错。

添加四个空格后是这样的:

public class ActivityCollector {
  public static List<Activity> activities = new ArrayList<>();

        public static void addActivity(Activity activity){
    activities.add(activity);
        }

    public static void removeActivity(Activity activity){
          activities.remove(activity);
    }

    public static void finishAll(){
            for (Activity activity : activities){
                    if (!activity.isFinishing()){
                            activity.finish();
                    }
            }
    }
}  

再使用三个反引号加一段代码试试:

```
protected void onResume(){
  super.onResume();
  IntentFilter intentFilter = new IntentFilter();
  intentFilter.addAction("com.example.liu.broadcastbestpractice.FORCE_OFFLINE");
  receiver = new ForceOfflineReceiver();
  registerReceiver(receiver, intentFilter);
  }
```
上述代码的效果是酱紫哒:

    protected void onResume(){
        super.onResume();
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("com.example.liu.broadcastbestpractice.FORCE_OFFLINE");
        receiver = new ForceOfflineReceiver();
        registerReceiver(receiver, intentFilter);
    }

分割线的生成

在一行中用三个以上的星号、减号、下划线将会建立一个分隔线,行内不能有其他东西,但可以插入空格。不过,请注意,当你要用减号来生成分割线,而上下文又都存在文字的话,请空出一行,不然其上文会搞成标题,是不是有点烦,一律使用星号去生成分割线吧。

我是一条分割线
- - ------- - -
上面这个东西确实是一条分割线,我作证。我是下面这个东西:
___________
我是最下面这个,你猜我是不是嘞?
***

我是一条分割线


上面这个东西确实是一条分割线,我作证。我是下面这个东西:


我是最下面这个,你猜我是不是嘞?


待办事项TODO

很简单,- [ ] 23333,这样表示待办,- [x] 23333,这样表示做好了。注意,我这里第一次使用由三个空格哦,横线、方括号都要跟空格适用。这个需要

字体、颜色、居中、强制换页等

  Markdown是一种可以使用普通文本编辑器编写的标记语言,本身是不支持修改字体、字号与颜色等功能的,但是可以通过类似HTML的标记语法,使普通文本内容具有一定的格式。简单来说就是内嵌HTML,直接举例子吧:
<font size="6" color=red face="楷体">内容</font>
然后,你就会看到如下内容:
<font size="6" color=red face="楷体">内容</font>
额……失手了……原因是简书还不支持,别的平台还好吧,我在VisualStudioCode上可以完美使用_
文字居中的语法:<center>“需要居中从文字”</center>。
强制换页,只需要在想换页的地方输入这个:
<div STYLE="page-break-after:always;">
</div>

注释方法

程序员嘛,一定要有注释的。

[//]: # ()
还可以这样:
[//]: <> ()
也可以这样:
[comment]: <> ()
括号里面的内容会被注释掉了,最推荐第一种,平台适应性强。好,ojbk。

相关文章

网友评论

    本文标题:Markdown语法小白详尽版

    本文链接:https://www.haomeiwen.com/subject/tpdztxtx.html