本文于2017年3月18日首发于LinkedIn,请参考链接

这个世界的进步是由一些“懒”的人推动的。今天讲的这个Markdown,其实也是因为一批厌倦了HTML的各种标签的语法,并且希望用更加简单语法来编写HTML文档的程序员想出来的。

Markdown的愿景是: HTML文档应该长成什么样,就应该怎么编写。所以实际上他要解决的问题是所见即所得,用文本编写HTML文档的问题。这听起来有点夸张,或者对于没有用过的朋友来说,可能是很难理解的。那么,我们对照一下下面两张图。

下面这一张图,是用Markdown语法编辑的“Office 365开发概览系列文章和教程”。

如果同样的事情, 使用标准的HTML语法来编写,则可能是下面这个样子的。

Markdown并不是用来取代HTML的,事实上,它的后缀名为MD的文件并不能直接显示在浏览器中,而是需要经过特殊的解析,转换为最终的HTML才能显示。

但是,它解决了一个很大的问题,就是编写HTML页面的难度——我们可以不借助任何复杂的编辑器,使用记事本的方式,实现所见即所得的网页编写体验。

Markdown定义了一些自己特定的标签,来映射到HTML中的语义。但它的标签常用的加起来不超过10个,非常容易上手,以及使用。

如果你有兴趣阅读官方的说明,请参考 http://daringfireball.net/projects/markdown/syntax

但是,我建议你直接看一下中文的版本(下面的链接是我认为最好的一个入门材料),快速了解一下即可

http://wowubuntu.com/markdown/#list

有了这些概念之后,最后我给大家介绍几块常见的Markdown的编辑器。注意,我前面提到过了,其实编写Markdown并不需要特定的编辑器,直接用记事本就可以了(如果用Notepad++,还可以实现代码高亮等功能),如果我就是编写一个简单的文件,我用记事本就可以了。但如果我想编写很多文章(而且文章内容都比较多的话),而且我希望在本地可以进行预览,以及可以结合Github进行版本的管理,我更加倾向于使用Visual Studio Code这块跨平台的轻量级代码编辑器。

我正在撰写的一个系列文章,除了发布在LinkedIn上面外,将同步发布到Github和cnblogs上面,后者都是支持Markdown的,所以我在Visual Studio Code建立一个项目,看起来的效果像上图所示。

如果想要较为深入地学习在Visual Studio Code中使用Markdown,请参考 https://code.visualstudio.com/Docs/languages/markdown

学习一点Markdown的基本知识的更多相关文章

  1. 一点记忆—— Java框架知识的学习有感

    一点记忆—— Java框架知识的学习有感         说一下自己学习的框架知识的历程吧:好久了,应该是一年前,也就是大三上的时候,我对于基本的 Java编程就已经达到所谓的“熟练”,认为自己可以在 ...

  2. JSP的学习(3)——语法知识二之page指令

    本篇接上一篇<JSP的学习(2)——语法知识一>,继续来学习JSP的语法.本文主要从JSP指令中的page指令,对其各个属性进行详细的学习: JSP指令: JSP指令是为JSP引擎而设计的 ...

  3. JSP的学习(2)——语法知识一

    上一篇<JSP的学习>讲述了JSP的一些基础知识和底层原理,本篇将来学习JSP所需掌握的语法知识等. JSP的语法主要包括以下几个部分的内容: 1)         JSP模板元素 2)  ...

  4. IP地址和子网划分学习笔记之《预备知识:进制计数》

    一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...

  5. tensorflow学习笔记(3)前置数学知识

    tensorflow学习笔记(3)前置数学知识 首先是神经元的模型 接下来是激励函数 神经网络的复杂度计算 层数:隐藏层+输出层 总参数=总的w+b 下图为2层 如下图 w为3*4+4个   b为4* ...

  6. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  7. WPF学习08:MVVM 预备知识之COMMAND

    WPF内建的COMMAND是GOF 提出的23种设计模式中,命令模式的实现. 本文是WPF学习07:MVVM 预备知识之数据绑定的后续,将说明实现COMMAND的三个重点:ICommand  Comm ...

  8. Java学习需要掌握的一些知识

    Java学习需要掌握的一些知识: <一>1.Jvm 部分Jvm 内存模型.Jvm 内存结构.Jvm 参数调优.Java 垃圾回收<二>Java 基础部分1.必须会使用 List ...

  9. JSP的学习(5)——语法知识三之include指令

    本篇继续来对JSP语法中的JSP指令进行学习,在<JSP的学习(3)——语法知识二之page指令>中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这一篇中我们会对JSP指 ...

随机推荐

  1. ubuntu开机自动关闭独显,使用集成显卡

    我的本子是联想y470p-ise,因为是有双显卡,而ubuntu在开机后,双显卡默认是同时工作,会产生巨大的发热,导致很不爽.而且在ubuntu下基本我也不用独显,所以有开机关闭独显的需求. ubun ...

  2. MyBatis绑定错误--BindingException:Invalid bound statement (not found)

    如果出现: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 一般的原因是Mapper i ...

  3. 性能监控之Java程序执行解析

    大家好,最近接触javassist技术,研究过程中对Java程序执行过程进行了一系列探索,弄清楚了几个盲区(仅针对个人而言),现将经验与大家分享. 1.编码->.java 通常指写代码的过程,最 ...

  4. iOS自定义视图- SJTextView

    需求: textView 需要placeholder用来提示输入 textView 要做字数限制 textView 禁止表情符号的输入 思考: 因为需求比较通用,便想通过自定义SJTextView来实 ...

  5. TimSort算法分析

    Timsort是一种混合稳定的排序算法,采用归并排序混合插入排序的设计,在多种真实数据上表现良好. 它基于一个简单的事实,实际中大部分数据都是部分有序(升序或降序)的. 它于2002年由Tim Pet ...

  6. React库

    一.React概述 React是一个是一个开源的js库,用来为数据渲染视图的,由facebook,Instagram社区维护的.(例如美团.阿里.airbnb都在使用React开发) 为什么会出现Re ...

  7. Codeforces Round #396.D

    D. Mahmoud and a Dictionary time limit per test 4 seconds memory limit per test 256 megabytes input ...

  8. gulp+browser-sync使用方法

    gulp简介 gulp是基于流的自动化构建工具,也就是说gulp是通过操作流实现自动编译,压缩文件等操作的.这得益于node.js对流的支持,当然gulp.js和构建的任务文件都是JavaScript ...

  9. 微信内置浏览器私有接口WinXinJsBridge介绍

    关于微信内置浏览器私有接口WeiXinJsBridge,只是之前接触过的一个微信公众号项目中遇到过,不过并没有深入研究过,可以说并没有了解过... 刚好今天无意中看到了这方面的知识,就补习一下,弥补一 ...

  10. Java显式锁学习总结之六:Condition源码分析

    概述 先来回顾一下java中的等待/通知机制 我们有时会遇到这样的场景:线程A执行到某个点的时候,因为某个条件condition不满足,需要线程A暂停:等到线程B修改了条件condition,使con ...