学习一点Markdown的基本知识

本文于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的基本知识的更多相关文章
- 一点记忆—— Java框架知识的学习有感
一点记忆—— Java框架知识的学习有感 说一下自己学习的框架知识的历程吧:好久了,应该是一年前,也就是大三上的时候,我对于基本的 Java编程就已经达到所谓的“熟练”,认为自己可以在 ...
- JSP的学习(3)——语法知识二之page指令
本篇接上一篇<JSP的学习(2)——语法知识一>,继续来学习JSP的语法.本文主要从JSP指令中的page指令,对其各个属性进行详细的学习: JSP指令: JSP指令是为JSP引擎而设计的 ...
- JSP的学习(2)——语法知识一
上一篇<JSP的学习>讲述了JSP的一些基础知识和底层原理,本篇将来学习JSP所需掌握的语法知识等. JSP的语法主要包括以下几个部分的内容: 1) JSP模板元素 2) ...
- IP地址和子网划分学习笔记之《预备知识:进制计数》
一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...
- tensorflow学习笔记(3)前置数学知识
tensorflow学习笔记(3)前置数学知识 首先是神经元的模型 接下来是激励函数 神经网络的复杂度计算 层数:隐藏层+输出层 总参数=总的w+b 下图为2层 如下图 w为3*4+4个 b为4* ...
- ios开发学习笔记001-C语言基础知识
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...
- WPF学习08:MVVM 预备知识之COMMAND
WPF内建的COMMAND是GOF 提出的23种设计模式中,命令模式的实现. 本文是WPF学习07:MVVM 预备知识之数据绑定的后续,将说明实现COMMAND的三个重点:ICommand Comm ...
- Java学习需要掌握的一些知识
Java学习需要掌握的一些知识: <一>1.Jvm 部分Jvm 内存模型.Jvm 内存结构.Jvm 参数调优.Java 垃圾回收<二>Java 基础部分1.必须会使用 List ...
- JSP的学习(5)——语法知识三之include指令
本篇继续来对JSP语法中的JSP指令进行学习,在<JSP的学习(3)——语法知识二之page指令>中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这一篇中我们会对JSP指 ...
随机推荐
- 基于UDP协议的socket通信
服务器端: 1.创建DatagramSocket,指定端口号 2.创建DatagramPacket 3.接收客户端发送的数据信息 4.读取数据 客户端: 1.定义发送信息 2.创建DatagramPa ...
- C++ 头文件系列(unordered_map、unordered_set)
简介 很明显,这两个头文件分别是map.set头文件对应的unordered版本. 所以它们有一个重要的性质就是: 乱序 如何乱序 这个unorder暗示着,这两个头文件中类的底层实现----Hash ...
- GCD简介
什么是GCD 全称是Grand Central Dispatch,可译为"牛逼的中枢调度器" 纯C语言,提供了非常多强大的函数 GCD的优势 GCD是苹果公司为多核的并行运算提 ...
- 字符串匹配KMP算法中Next[]数组和Nextval[]数组求法
数据结构课本上给了这么一段算法求nextval9[]数组 int get_nextval(SString T,int &nextval[ ]) { //求模式串T的next函数修正值并存入数组 ...
- ubuntu-16.04(linux)使用Reaver爆破wifi密码(路由器的WPS功能漏洞)
路由器的WPS功能 很多路由器都有WPS功能, 这边的WPS不是office工具软件, 而是路由器的一个功能: 路由器中WPS是由Wi-Fi联盟所推出的全新Wi-Fi安全防护设定(Wi-Fi Prot ...
- python爆破定长密码脚本
def get_pwd(str, num):#str为可选字符集,num为密码长度 if(num == 1): for x in str: yield x else: for x in str: fo ...
- 谨慎能捕千秋蝉(一)——XSS
最近在研读<白帽子讲web安全>和<Web前端黑客技术揭秘>,为了加深印象,闲暇之时做了一些总结. 下面是书中出现的一些专有词汇: POC(Proof Of Concept): ...
- eeclipse使用快捷键
eclipse块注释: 方式一:多行“//”注释 在Eclipse中拖动鼠标,选中需要注释的代码 Ctrl+Shift+C会发现所选代码被“//”注释掉.当调试完后,可再次按住Ctrl+Shift+C ...
- WebSockets介绍
Web sockets定义为在servers和clients之间的双向连接.意味着servers和clients可以同时交流并发送数据.这种协议是从底层就是双工连接.Web sockets技术上得到了 ...
- 简单C程序,迷宫
#include<stdio.h> #include <stdlib.h> int visit(int, int); ][] = { {, , , , , , , , ,}, ...