本文于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. TypeScript入门指南(JavaScript的超集)

    TypeScript入门指南(JavaScript的超集)   你是否听过 TypeScript? TypeScript 是 JavaScript 的超集,TypeScript结合了类型检查和静态分析 ...

  2. W3Cschool学习笔记——HTML基础教程

    什么是 HTML? HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (ma ...

  3. 获取Pid

    Java程序中获取当前进程的进程ID 标签: javainterfacesystemcompilationjvmjni 2011-12-29 16:31 15182人阅读 评论(2) 收藏 举报  分 ...

  4. Bootstrap WPF Style(二)--Glyphicons 字体图标

    介绍 关于Glyphicons字体图标,首先给出友情链接 Glyphicons 这个项目是在Bootstrap WPF Style项目基础上做的,详见http://www.cnblogs.com/ts ...

  5. CentOS7 设置局域网固定IP

    题记: 在局域网内PC通常都是采用自动获取IP的方式从路由器拿到局域网IP的,每次PC启动后分配到的局域网IP都不一定相同.但是出于某些特殊的需求,例如要在局域网内做端口映射,需要将PC设置成使用固定 ...

  6. 数字信号处理MATLAB简单序列

    数字信号处理应用的几个基本序列: 1 单位样本序列 function mainImseq() clc clear disp('生成抽样序列'); y=imseq(,,); %调用样本函数,此时序列下标 ...

  7. C/C++中慎用宏(#define)

    宏的定义在程序中是非常有用的,但是使用不当,就会给自身造成很大的困扰.通常这种困扰为:宏使用在计算方面. 本例子主要是在宏的计算方面,很多时候,大家都知道定义一个计算的宏,对于编译和编程是多么的有用. ...

  8. c#访问存储过程

    // 2015/07/04 // 访问存储过程 using System; using System.Collections.Generic; using System.Linq; using Sys ...

  9. jQuery源码学习:Deferred Object

    本文所有讨论均基于jQuery版本3.1.1,官网http://jquery.com/. 一.Deferred Object 1. 简介和创建 详见API:http://api.jquery.com/ ...

  10. android学习3——长宽的单位问题dp,px,dpi

    android设备的单位px,pt,dp,sp 分辨率 先通俗说下分辨率的概念.可以把屏幕想想成一个个正方形格子组成的.如果横向有1280个格子,竖向有720个格子.那么分辨率就是1280*720.这 ...