学习一点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指 ...
随机推荐
- Excel实用知识3
纯手打,可能有错别字,使用的版本是office2013 转载请注明出处 http://www.cnblogs.com/hnnydxgjj/p/6343914.html ,谢谢 数据透视表 数据透视表是 ...
- ubuntu16.04无法设置选择wifi的解决办法
在公司上班一直连接的有线,直到昨天拿回家才发现ubuntu无法选择使用wifi上网,这让人非常无奈,截图类似如下: 而正常情况下我们应该在启用联网的下面有wifi链接的选项,如图: 我隐约猜测是和驱动 ...
- c#.net的网站出现“正在中止线程””异常的原因和解决方法
出现“正在中止线程”异常通常都是由于以下三种原因导致引起,给出解决方案如下: 解决方案: 1.针对Response.End,调用 HttpContext.Current.ApplicationInst ...
- 【翻译】理解Joomla!模板
最近在摸索Joomla的模板开发,看文档的时候心血来潮就干脆把这篇翻译过来,第一次翻译技术文档,肯定有很多错误,希望大家多多批评指正. 原文地址:https://docs.joomla.org/Und ...
- 微端启动器LAUNCHER的制作之MFC版二(下载)
用了C#再回来用C++写真的有一种我已经不属于这个世界的感觉.C++的下载就没有C#那么方便了,我用的是libcurl.dll,官网上下载的源码自己cmake出来编译的,c++的库引用有debug和r ...
- Ionic start 创建项目报错 Error with start undefined
转自:http://blog.csdn.net/wenzigui_qy/article/details/52874542 在Installing npm packages的时候报错,如下: Insta ...
- java 非缓冲与缓冲数据写入比较
//非缓冲计时package com.swust; import java.io.*; /* *功能:创建一个程序,写10000个随机双精度的数到一个文件中,同时测试运用缓冲和非缓冲技术 * 进行这种 ...
- 谷歌YSlow准则
谷歌YSlow准则 YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. 测试个人站点 通过测试个人站点可以获得下面的数据 23条准则 Make fewer HT ...
- C#丨爬虫基础
在前几天看到一片公众号的文章是关于.NET玩爬虫. 所以今天小编索性来try一下,恰好小编最近在关注房价这一块的,索性就写了一个例子抓取房产信息的. 不善言辞的小编直接给出代码吧!相信读者也等不及了. ...
- Android的开机流程
Android的开机流程 1. 系统引导bootloader 1) 源码:bootable/bootloader/* 2) 说明:加电后,CPU将先执行bootloader程序,此处有三种选择 a) ...