关于Markdown
前言
这篇文章是个人的初次尝试,目的是为了让每一个人了解Markdown这种 轻量级标记语言 1 在计算机世界中的使用,希望该文章能引起你对电脑文本编辑上的兴趣,不再局限于Word文档的使用(果然还是Word文档香!)。
Markdown早在2004年就被 约翰·格鲁伯(John Gruber) 所创建,Markdown被发明出来就是为了简化文章的排版。或许对于大部人来说会感到不解,一套如此老旧的标记语言,是否早就过时了?那为什么还要拿出来讲呢?个人认为正是因为其的简单性,让对于想多了解了解计算机“语言”的普通人而言,是一个很好的切入口。
况且正是因为Markdown在语法上的简单性,在这个追求极简的时代,更容易受到码字人员的追捧
文章的内容分为四部分——
Markdown是什么
Markdown的适用人群
Markdown的语法
Markdown的编辑环境
希望这篇文章能够提供一定帮助,开启你对计算机码字的探索之旅
Markdown是什么
前言中已经阐述过了Markdown是一种轻量级标记语言
轻量级是相对其他标记语言而言的,相当于一些最基础、最简单的表达方式,对标记语言的发展史有兴趣的同学,可以自行查找信息进行了解。
标记语言用通俗易懂的话来说,就相当于在计算机中,对文本进行排序、标记,可以直接理解为电脑中的读书笔记。而其目的正是为了使用户在计算机中能更好的阅读文章、整理文档信息等等,以此获得更加良好的观感、使用体验。
轻量级标记语言当然不止一种,但Markdown作为比较有代表性且广泛使用的语法,相信只要接触过的小伙伴,都会喜欢上这个语言。举个简单例子,像正常在Word文档中对字体进行的加粗、倾斜、超链接等等功能,都能用Markdown的语法实现。
总之Markdown有轻量化、易读易写的特性,并且对于图片、图表、数学式、代码都有支持,在大多平台发布文章或消息时,都能起到良好的排版效果。
Markdown的适用人群
如今这个讲究效率的社会,大家都很少再去了解自己不怎么接触的东西。往往等到需要用到了才会去了解特定的内容,这种学习方式的好坏,暂不做评述。但我仍然觉得有必要介绍一下这款软件的适用范围,以此让每个人抉择权衡是否有学习的价值。
Markdown可以说是为那些对码字速度、排版流畅度、感观度上有要求的人群做准备的,简单来说就是将文章写完的同时顺带将排版完成。
而适用人群则主要涵盖了经常写文档的码农、博客写手、网站小编、小说作者、文字工作者、各种出版业人士等等。
通常情况下(
记事本表示应该很少人会用我了吧?),计算机中需要进行大量文字输入的地方,都会有相应的文本编辑菜单,让你对文章进行更好的编辑与排版,例如:
这种直观的图像形式,能对编写的内容能起到很好的排版作用。甚至于像“秀米”一类编辑器软件,已经简化到,只需套入模板,就可以对文章进行编排了。
如果觉得现直观的文本编辑方式完全满足于日常使用,则可以自行选择是否要对Markdown的语法进行学习。
Markdown的泛用性主要体现在以下几个方面:
简单来说喜欢编写文档的小伙伴们,都推荐了解一下Markdown。当然一切的前提来自于是否获得良好的体验,如果所用的工具并不能显著提升你的使用体验,那当然就没有使用的必要了。
Markdown的语法
以下语法效果展示均为Typora演示,不同平台展示效果可能纯在差异,但大体相同
标题格式表达
利用“===”、“----”表现一二级标题
效果展示 ======= 效果展示 -------
利用“#”表现多级标题
# 效果展示 ## 效果展示 ### 效果展示 #### 效果展示
文本格式表达
分段:在文字的结尾敲击两次空格键,或者空一行
对文本进行各类编辑
*倾斜文本* / _倾斜文本_ **加粗文本** / __加粗文本__ ***倾斜加粗文本*** / ___倾斜加粗文本___ ~~字体删改~~ <u>字体下划线</u> 上述其中,标签<u></u>为html语法(markdown可兼容html)
用三个以上的“ * ”、“ - ”、“ _ ”以此添加分隔线
*** --- ___
脚本的编写
效果展示[^1] [^效果展示]:效果展示
列表格式表达
用“ + ”、“ - ”、“ * ”加空格来做无序列表
+ 效果展示 - 效果展示 * 效果展示
用“数字”加“ . ”加“空格”来做有序列表
1. 效果展示 2. 效果展示 3. 效果展示
当需要嵌套列表时在子列表前敲击四次空格键
1. 效果展示 1. 效果展示 2. 效果展示 3. 效果展示 2. 效果展示 + 效果展示 - 效果展示 * 效果展示
区块格式表达
- 用“>”加“空格”来进行区域表达、区域表达也可嵌套
>效果展示 >效果展示 >>效果展示 >>>效果展示
代码框格式表达
用“`”包裹代码片段
`test`
用“```”对整段代码进行包裹,同时对代码内容进行注释(可注释可不注释)
\ ```c++ \ #include<stdio.h> \ int mian(){ \ printf("Hellow World.\n"); \ return 0; \ } \ ```
用“tab”键或“四个空格键”对代码区域进行标识
具体参考如下图所示:
链接格式表达
[百度](https://www.baidu.com) <https://www.baidu.com>
也可以通过变量来设置链接,将链接赋予变量
[百度][1] [1]:https://www.baidu.com/
图片格式表达
用“![]“加”()”的格式来表达图片,括号内加引号可赋予title属性文字
! [] (图片地址) ! [] (图片地址 "这是一张图片")
markdown只能做简单的图片导入,但因为兼容html元素,如果想对图片大小进行修改可以使用“< img >标签”进行修改
<img src="图片地址" alt="图片" title="这是一张图片" width="200" height="120" />
表格格式表达
- 用“|”来分隔不同的单元格,用“-”来分隔表头和其他行,用“:-”、“-:”“:–:”对文本进行左对齐、右对齐与居中对齐
|效果展示|效果展示|效果展示| |:-|:--:|-:| |效果展示|效果展示|效果展示| |效果展示|效果展示|效果展示|
其他高级格式表达
- 由于markdown兼容html元素,所以html的标签,均能使用
- 使用美元符 “$$” 包裹 TeX 4 或 LaTeX 5 格式,可输入复杂的数学公式
- 不同的编辑器上Markdown除了这些基础语法外,也有不同的相应内容的添加,具体则需要在使用相应的编辑器时,去了解适应
Markdown的编辑环境
想要写字,总得有个载体,Markdown想要在电脑上编写,当然就有其相对应的编辑环境。就像文字记录在竹子上、兽皮上、纸上,记录的方式不同,呈现的效果也有所差异。
那么对于Markdown来说,对应的编辑环境当然就是所谓的 编辑器 6了。而正由于Markdown语法的简单性,也使得几乎任何一款编辑器都可以适用Markdown语法的编写,那么我们又应该选择怎样的编辑器,才能达到我们想使用的效果?
首先小白需要先了解一下编辑器,编辑器可以分两类,一类是装好环境的编辑器、另一类需要自己添加环境的编辑器。计算机中的环境是什么?环境就是一套让计算机可以识别到你写出的内容是要做什么的规矩。举个例子:“你想要在纸上写楷书,楷书的字体是怎么样的这就是一套规矩。而这套规矩就相当于环境,编辑器中预先加载了这套规矩,当你输入时,就自动识别成了楷书。”当你提前把属于该语言的那套环境加载到编辑器中时,无论你使用的是何种语言代码(java、C、python、php),编译器都能够识别。(当然运行则就需要运行的环境了)
了解了编辑器,回到Markdown本身,按照使用环境我们可以将其归为以下三类:
平台集成工具
各大在线博客、社区平台自带的写作工具,比如Github、CSDN、博客园、简书等。他们的写作工具就是使用的Markdown的语法环境,进而使得你在编写排版时可以使用Markdown的语法。
独立软件类
只用于Markdown编写的编辑器,可以理解为Word文档这类软件。是单纯以Markdown的语法环境制作的相关软件,使用体验上,会更加的舒适快捷。当然软件本身会对码字上进行一些优化,例如使用一些快捷键,以此来减少打出相应语法的时间。这里推荐的软件是:Typora(正是作者写这个文档时,所用的软件)
插件类
将Markdown的语法环境装入主流的编辑器中,让你现有的编辑器具备Markdown的功能。这里推荐三款编辑器:Atom、VScode、HBuilderX(这三款软件是作者了解到比较广泛使用的编辑器,当然说到编辑器又不得不讲到 IDE 7 ,当然在编辑器上,安装好相关的运行环境同样也可以达到IDE中的某些功能效果)
结语
(~ ̄▽ ̄)~总算是写完这篇文档了!这是个人第一次尝试写技术性文档,虽然十分简单甚至算不上是什么有技术含量的东西,内容上也不是十分的扎实严谨,大部分都是自己所理解的一些浅显的东西。(欢迎大佬指正)
我希望能通过这样一种比较简单的、且普通人都能理解的方式去介绍一些与计算机语言相关的东西,让每个人对电脑更深层次的一些东西产生兴趣。说句实在话,编程代码这块的东西是枯燥、无味、难嚼的。我自己开始接触编程代码这块东西的时候,将近花了一整个学期的时间,才开始抓住一些最基本的东西,渐渐的学会看文档、博客,尝试着自己去做东西、写文档。对于自己而言,写这个文档的同时,也是不断学习、巩固的过程。
如果你同我一样,也是个对计算机感兴趣的小白,那么就从自己感兴趣的地方下手,尝试地写些文档内容,这种学习效率不是那种按部就班的学习可以比拟的。最后希望这篇文档,对你我都能起到一定的激励作用!回见!ο(=•ω<=)ρ⌒☆
作者:lin_小白
编写时间:2020.10.6
轻量级标记语言 (英语:Lightweight Markup Language),简称LML,是一类用简单句法描述简单格式的文本语言。 ↩︎
Github 一个面向开源及私有软件项目的托管平台,简单理解为一个可以共享、获取到各种软件源代码的平台。开发者们的快乐天地,需要科学上网。 ↩︎
html 全称:Hyper Text Markup Language,即超文本标记语言。自1990年以来,HTML就一直被用作万维网(world wide web)的信息表示语言,简单来说HTML是网页编程的基础。(可以简单地理解为网页就是用HTML的语法编写出来的,当然真正网页的组成还涉及到更多的语法和框架) ↩︎
TeX ,一套在学术界十分流行的文本排版系统。你也可以把它理解为是一种程序语言,同样是利用一些字符代码对文本进行编排。(从文字编排上来说,TeX和Markdown和Word的目的都相同,同样为了排版而存在) ↩︎
LaTeX,是基于ΤeΧ的排版系统,可以认为LaTeX将TeX这种语言写成的一个“TeX 宏包”,是对TeX功能的整合与拓展,使TeX更容易上手使用。 ↩︎
编辑器 用于编辑、修改和产生文件时所使用的实用程序。 ↩︎
IDE(Integrated Development Environment,集成开发环境),集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套装。用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。可以理解为编辑器的升级加装版本,功能更多更全面。 ↩︎