本文于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. 个人对现在大众对perl的偏见的一些见解

    最近我都在一些论坛和交流社区学习,发现很多人对perl有很大的偏见. 以我学习那么久的Perl来说吧,也算是有一些小经验了,所以我总结了大家对perl的偏见的原因,无非就是是下面两个的两个原因: 1. ...

  2. python 基础学习小记

    Python应该是写起来最舒服的动态语言了,一下是一些读书笔记,本文中安装的是3.0,有几点需要注意: print "xxx" 要换成 print("xxx") ...

  3. 蓝桥网试题 java 基础练习 十六进制转十进制

    ---------------------------------------------------------------------------------------- 貌似用int类型不会超 ...

  4. Mysql条件的类型决定了是否能走索引

    sku表总数据量将近7百万 SELECT count(1) from sku;

  5. 爬虫:把廖雪峰的教程转换成 PDF 电子书

    写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...

  6. angularJS+requireJS实现controller及directive的按需加载

    最近因为项目的比较大,需要加载的js文件较多,为了提高首屏页面的加载速度,需要对js文件进行按需加载,然后网上参考了一些资料,自己也深入研究一番之后,实现了按需加载控制器js文件及指令js文件的效果: ...

  7. Ioc容器BeanPostProcessor-Spring 源码系列(3)

    Ioc容器BeanPostProcessor-Spring 源码系列(3) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Io ...

  8. ZooKeeper的注意事项

    在ZooKeeper中存储的数据是以字节数组的形式存储的,当用Java程序处理数据时要注意. Ephemeral znodes并不会有child znode 只有parent-znode存在,才能创建 ...

  9. Android 获取浏览器当前分享页面的截屏

    Android 获取浏览器当前分享页面的截屏 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/BrowserScreenShotActivity 文中 ...

  10. Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...