一、标记语言曾经，经常有人喜欢编排前端的段子，戏称就前端也算程序员？当然，前端工程师当然算是程序员，甚至在我这个做全栈和OS的看来，前端实在是太难了（大雾然而，在古早时代，我们对前端的嘲讽并不是空穴来风。在互联网远古洪荒年代，JavaScript和CSS还没有诞生的时代，大家热衷于用HTML，也就是超文本标记语言，这时甚至还没有细分的专业前端程序员出现，大多数都是由后端客串写的前端。而这个所谓的HTML，也就是目前最出名也是最出圈的一种标记语言，超文本标记语言。它以它的结构化清晰地展现了一个页面应该含有的内容和样式，完美符合当年对于标记语言的定义。标记语言，即将文本以及文本相关的其他信息结合起来，展现出关于文档结构和数据处理细节的计算机文字编码。与文本相关的其他信息（包括例如文本的结构和表示信息等）与原来的文本结合在一起，但是使用标记进行标志。而标记语言最初的诞生，则是用于出版行业，用于书籍排版所用，因此，后面引入计算机之后，大家一直对这叫语言又不是计算机语言的东西嗤之以鼻，甚至编排出一系列的段子，类似于两程序员见面，A问B你会什么语言，B说我会HTML，A转头就走云云。说到底，标记语言，就是用标记（或者说是标签，记号，象征）来规定其中内容的排布方式的语言。二、何为Markdown那么，既然HTML既出名，又好用，为什么我们还有选择其他标记语言呢。事实上，经过了四十多年的发展，HTML的标准经过多次迭代，现在的HTML搭配JavaScript与CSS，已然成为了开发届的庞然大物，如今的HTML5更是前端与全栈面试的必考内容。如此庞大的体系，带来的问题也显而易见，即极大程度的提高了学习的门槛，使得标记语言没有原有的灵活性与便利性，在这种情景下，一种新的技术应运而生，即是轻量级标记语言，脱胎于标记语言，而没有标记语言的繁琐与难度。而作为轻量级标记语言的代表，Markdown又凭借其十分简单的语法与非常强大的拓展性和应用性，广泛地被应用在多个场景中。回归初心，即标记语言诞生之初就是为了出版便利，Markdown也正如为当代网络内容生产者专门打造一般，绝大多数博客支持使用Markdown进行创作，就连WordPress这种原生编辑器做的极好的CMS也有着极高质量的Markdown编辑器插件。而支持Markdown语法进行评论与发表的网站更是不计其数，GitHub、简书等等不计其数，更有专业写作软件支持使用Markdown。Markdown拓展名为.md，如果大家以后见到.md的文件便可知道其是Markdown格式，比如在GitHub上我们下载的源码中的README.md，就是使用Markdown所编写的自述文件。三、如何优雅地写Markdown那么，我们现在已经知道什么是标记语言什么是Markdown了，我们就需要挑选一件趁手的兵器，寻找一款适合自己的编辑器。其实，作为标记语言，和HTML一样，只要是个编辑器就能打开Markdown文件进行查看和编辑。然而，毕竟是标记语言，其也是有一定语法的，如果用普通编辑器打开，并不会对标记进行渲染解析，因此有着一定的阅读障碍。如果非要选择一个非专业编辑器的话，我的建议是Visual Studio Code。作为一名程序员，我想VS Code应该是每个Windows下开发者的必备编辑器。其以优秀的拓展性和兼容性著称，因此也算是个不错的Markdown编辑器，唯一的问题是不调的话默认显示效果太丑了，而且不支持Markdown编辑代码模式和显示模式的平滑过渡，就很难受。Visual Studio Code打开Markdown的UI如果论专业Markdown编辑器的话，我其实最喜欢的是Typora，用这么长时间，Typora确实是我用过最顺畅也是最好看的编辑器了。然而Typora刚刚结束测试，发布了正式版，虽然正式版的价格也并不贵，即14.99美元/89元人民币，然而其有使用设备限制，而我又有不止三台电脑，再加上我经常喜欢重装系统，这种类似订阅机制的买断制我有点难以接受。如果这方面没有顾虑的话我的建议还是首选Typora。Typora的编辑器UI除此之外，我也查了不少编辑器，也有好看的，但是性能不行，也有私有化部署的Web版的，但是用起来十分蹩脚。这里只列出两个我用过的，至于其他需要列位自行探索了。Mark TextTrilium四、Markdown常用语法表基本的已经介绍完了，接下来列举以下Markdown基本语法（由于本站已对HTML样式进行了重写因此不展示效果，同时由于本站不支持LaTeX，暂不提供LaTeX语法）标题类 # H1标题 ## H2标题 ### H3标题 #### H4标题 ##### H5标题 ###### H6标题 文字类 **粗体** *斜体* 无序表 * 无序列表元素1 * 无序列表元素2 + 无序列表元素3 + 无序列表元素4 - 无序列表元素5 - 无序列表元素6 有序表 1. 有序列表元素1 2. 有序列表元素2 3. 有序列表元素3 表格 | 表头1 | 表头2 | | ---- | ---- | | 单元格1 | 单元格2 | | 单元格3 | 单元格4 | 图片 ![图片代替文字](图片链接) 链接 [链接显示文字](链接地址) 引用 > 引用的内容 代码 第一行是三个` 然后紧挨着要写代码块所包含的语言 然后换一行写代码 代码结束后另起一行再打三个` （这里我实在没法展示出来了不然和我博客的编辑器冲突了） 分割线 *** --- ___ 公式 $$ 此处写公式内容 $$ 注释 注：Markdown与HTML语法兼容，可以直接写入HTML代码块按照上面顺序展示在Typora中的效果 2022-01-06 00:21 UtopiaXC 于大连