Markdown语法入门

一.什么是Markdown语言

我相信有很多小伙伴没有听说过Markdown语言。的确,对于一般人来说,有word足够了。但是有这么一群人,受够了word那糟糕的排版方式,需要一种新型的、能让人专注于输入而非格式的东西。网站小编、码农、排版编辑高呼:“要有光!” 于是乎Markdown诞生了。

你可以认为Markdown是一种排版语法,提供了一些特殊的符号来替换成对应的格式,我们在word中点击鼠标来达到加粗、倾斜、增大字体的目的,在Markdown中被相应的特殊符号替代。Markdown用于解放鼠标,仅仅使用键盘就能排版出非常漂亮的文字、博客等(比如本文就是用Markdown编写的)。

我们来看看百度百科的定义:

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

对于码农来说,GitHub一定是如雷贯耳。我们在GitHub的项目目录下会看到一个"README.MD"文件,这就是Markdown语言编写的文件,"*.md"就是Markdown文件在windows平台下的后缀名。
ok,现在我假定你已经有了基本HTML基础,(不懂的瞅瞅这里)现在进入Markdown语言的入门阶段。

二.准备阶段

首先根据你的操作系统平台选择一个好的Markdown编辑器,当然,现在也有许多的在线网站支持编写Markdown,但是为了离线以及更强大的拓展功能,我们还是需要一个编辑器,在这里推荐一些:

这些都是很轻很强大的编辑器,支持实时预览和导出为PDF\HTML等多种文件形式,强烈推荐。我用的windows平台下的MarkdownPad,简直神器。

三.Markdown官方文档

这里可以看到官方的 Markdown 语法规则文档,当然,后文我也会用自己的方式阐述这些语法的具体用法

四.语法入门

1.标题

标题是文章中常用的格式。类似于html中的<h1><h6>标签,Markdown中1到6个#号来标志1到6号标题。所以要想把一段文字定义为标题,只需在前面加上若干的#号即可。

2.列表

学过html的同学一定知道什么是有序列表和无序列表。在Markdown中非常方便,在文字前面加上*或者+或者-就可将其变成无序列表。在文字前面加上1.,2.,3.就可将其变成有序列表。

3.引用

如果你在此处引用别的地方的文字,那么就需要引用的格式。
只需在引用文字前面加上一个>号(大于号)即可。

引用的样式
引用的样式

4.粗体,斜体与删除线

Markdown中粗体与斜体非常简单,用两个*号把文字包围相当于粗体,用一个*号把文字包围相当于斜体。使用两个~~号包围则显示删除线效果。
例如: 这是粗体   这是斜体   这是删除线

5.链接与图片

链接格式:[title](URL)
图片格式:![title](URL)

ok,我们可以看到链接和图片的格式相当像,区别在于图片格式多一个!号。

插入一个图片需要有图床的支持。我推荐七牛云和腾讯云,新用户送免费容量,对于放一些图片来说足够了(不要放高清图)

推荐一篇文章:怎样用七牛云做图床

6.代码块

Markdown当然不会忘了经常使用它的程序猿们,使用 ` 号(英文半角状态下的Tab键上面的那个键)将代码包围起来即可。

实例:

ok,那么你可能会问,我有一个好多代码的代码块,这样打字会疯的,其实markdown还提供了一种简单的嵌入代码块的语法。在你的代码块的前面和后面都加上```(三个反引号)即可,如图:

7.更改图片大小

我们在上面插入的图片的大小都是固定的,那么有什么方法可以改变图片的默认大小呢?
我们说过,我们说过,markdown是兼容HTML语法的,所以可以利用<img>标签来定义图片的大小

<img src="filename" width="" height=""></img>

这样通过img标签就可以改变图片的大小了。

8.表格

markdown生成表格是比较麻烦的。
1.使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行:

name | age

---- | ---

LearnShare | 12

Mike | 32

效果:

name age
LearnShare 12
Mike 32

2.为了美观,可以使用空格对齐不同行的单元格,并在左右两侧都使用 | 来标记单元格边界:

| name | age |

| ---------- | --- |

| LearnShare | 12 |

| Mike | 32 |

效果:

name age
LearnShare 12
Mike 32

在表头下方的分隔线标记中加入 :,即可标记下方单元格内容的对齐方式:

:--- 代表左对齐
:--: 代表居中对齐
---: 代表右对齐

| left | center | right |

| :--- | :----: | ----: |

| aaaa | bbbbbb | ccccc |

| a | b | c |

效果:

left center right
aaaa bbbbbb ccccc
a b c

如果不使用对齐标记,单元格中的内容默认左对齐;表头单元格中的内容会一直居中对齐(不同的实现可能会有不同表现)。

五.小技巧

1.字符转义

比如我们想输出反引号,但是markdown把反引号作为标记,有编程语言的基础的同学知道,转义符的存在。
反斜线()用于插入在 Markdown 语法中有特殊作用的字符。

2.首行缩进

很遗憾,markdown没有专门的符号来表示首行缩进,但是这也难不倒伟大的人们。我们发现把输入法置为全角状态,然后再输入两个空格就可以了。
效果:

这是默认的效果
  这是加了状态的效果

ok,是不是很神奇呢?

3.字体大小

我们之前说过。markdown是兼容HTML的,所以可以使用<font>标签来设置字体大小。

<font size=8>我是放大字</font>
我是放大字

<font size=2>我是缩小字</font>
我是缩小字

六.兼容HTML

我们反复说到markdown兼容HTML,因为两者的组合可以实现各种神奇的效果,与Word不逞多让。这种小技巧还有很多,在这里就不在叙述。相信你一定迫不及待想试试了。

七.小结

Markdown还有好多其他的用法,但是常用的最基本的也就那么几种,大家多用几次Markdown就会熟练了。另外Markdown也兼容html的标签,所以诸如<br />换行符<hr />水平线也是可以使用的,你甚至可以用<font>标签来设置字体。

参考:简书-markdown指南

Markdown之语法入门篇的更多相关文章

  1. Markdown语法入门

    本文内容参考与这里,本篇文档,用Markdown语法写成. 概述 宗旨 Markdown 的目标是实现「易读易写」. 可读性,无论如何,都是最重要的.一份使用 Markdown 格式撰写的文件应该可以 ...

  2. Hadoop生态圈-Hive快速入门篇之HQL的基础语法

    Hadoop生态圈-Hive快速入门篇之HQL的基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的重点是介绍Hive中常见的数据类型,DDL数据定义,DML数据操作 ...

  3. 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序

    如何在Visual Studio 2017中使用C# 7+语法   前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...

  4. Python入门篇-基础语法

    Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...

  5. 动静结合?Ruby 和 Java 的基础语法比较(入门篇)

    前言 这篇文章示例代码比较多, Java 程序员可以看到一些 Ruby 相关语法和使用,Ruby 程序员可以看看 Java 的基本语法和使用方法,本文比较长,将近万字左右,预计需要十几分钟,如果有耐心 ...

  6. Markdown学习——Typora入门之常用操作语法及其快捷键

    Markdown 学习--Typora入门 Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档. 由于Markdown的轻 ...

  7. Markdown分级语法手册

    目录 前言(可以不看) 基本语法(18) 1. 标题:# 2. 无序列表:- 3. 有序列表:1. 4. 斜体:* 5. 粗体:** 6. 加粗斜体:*** 7. 删除线:~~ 8. 分隔线:--- ...

  8. Markdown基本语法

    Markdown 基本语法记录 # 欢迎使用 Cmd Markdown 编辑阅读器 ------ 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,**Cmd M ...

  9. Markdown:认识&入门

    来源:http://sspai.com/25137 一.认识 Markdown 在刚才的导语里提到,Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处 ...

随机推荐

  1. 迁移MSSQL实例的所有login(包含密码)

    迁移数据库的时候肯定会涉及到login的迁移(包含数据库除外). 而一般我们迁移login的时候,可能会使用在某个login上右键生成脚本这样的做法.但是这样生成的脚本不能把密码也生成出来. 而且你只 ...

  2. Tomcat 一端口多项目,多端口多项目 server.xml

    ​ ​ 8080端口下项目的webURL为 http://localhost:8080/HelloWorld_spring/HelloController/helloWorld ​ 8081端口下项目 ...

  3. 2018亚太CDN峰会开幕, 阿里云王海华解读云+端+AI的短视频最佳实践

    4月11-12日,2018亚太CDN峰会在北京隆重召开,在11日下午的短视频论坛中,阿里云高级技术专家王海华进行了<短视频最佳实践:云+端+AI>的主题演讲,分享了短视频的生命周期关键点和 ...

  4. 再谈全局网HBase八大应用场景

    摘要: HBase可以说是一个数据库,也可以说是一个存储.拥有双重属性的HBase天生就具备广阔的应用场景.在2.0中,引入了OffHeap降低了延迟,可以满足在线的需求.引入MOB,可以存储10M左 ...

  5. Python中日期时间案例演示

    案例:准备10个人姓名,然后为这10个人随机生成生日[都是90后] 1.统计出那些人是夏季[6月-8月]出生的. 2.最大的比最小的大多少天 3.谁的生日最早,谁的生日最晚 备注:春季[3-5]夏季[ ...

  6. python中判断实例可迭代地几种方式

    1. 利用 __iter__内建属性 if hasattr(obj, '__iter__') : print 'iterable' 这种方法不能检测字符串,如:hasattr('', '__iter_ ...

  7. Kafka学习之路 (一)Kafka的简介

    一.简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ng ...

  8. Android调用系统的打电话和发短信界面(1.将消息内容带过去2.实现群发)

    package com.example.myapi.sms; import android.app.Activity; import android.content.Intent; import an ...

  9. DOTNET Core 命令

    dotnet 命令目录: 1.dotnet-new 2.dotnet-restore 3.dotnet-build 4.dotnet-run 5.dotnet-test 6.dotnet-pack 7 ...

  10. 2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件

    已经学习了基本的命令,现在是时候学习操作文件了,这也是命令行的重要任务.还是基于本教程的事先规定,本教程是入门级的,不要求熟悉类似编辑文本的程序(这些文本编辑程序,将在下个系列教程中介绍, Learn ...