我遇见了Markdown

在很久很久以前,听说过几次叫做markdown的东西,但是一直没有去尝试。第一个接触到markdown实在Stack Overflow的留言版上,当时还不知道这个叫Markdown,当时只是觉着这个语法肿么这么奇葩。最近有机会试了一下发现爱不释手,越看越喜欢。

什么?还不知道Markdown是什么?Markdown是一种轻量级的标记语言1。不要一说语言就被吓到,这玩样真的很简单,只要十分钟就能够看完所有语法,而且并不难记住。可以看一下上一篇文章,就是markdown,而且没有翻译成HTML的。

看看官方对于Markdown的定义:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

定位很明确,就是一种既易读又易写而且能够转化成有效的HTML的一种语言。也就是说它既不是最容易写的,使用Word等图形化编辑器会更加容易写。它也不一定是易读的,因为如果不转化成HTML的话会有一些特殊语法在里面。

我喜欢的地方

下面我就说说我为啥喜欢这个玩样,我主要是基于下面的几个原因:

  • 首先,这东西把文字和样式分离开来了。这样就能够保证你提供的样式是一致的,因为你是通过一个统一的样式表进行控制的。其实这没有什么新鲜的,在网页开发大多都是把页面和样式分离开来的。但是其实你看看很多网页中还是将格式和文字夹杂在一起,你一看网页的HTML源码有种想打人的冲动。

    举个例子

例1:

PDB全称Program Database,不知道中文翻译叫什么。相信使用过VS的人对于这个拓展名的文件不会陌生,这个文件主要会存储对应模块(dll或者exe)内部的所有符号,以及符号对应的地址、文件名和行号。

例2:

PDB全称Program Database,不知道中文翻译叫什么。相信使用过VS的人对于这个拓展名的文件不会陌生,这个文件主要会存储对应模块(dll或者exe)内部的所有符号,以及符号对应的地址、文件名和行号。

例1和例2看上去区别不大,但是你一看源码就会发现第一个中span标签夹杂着很多样式。其实如果你是从Word上直接粘贴到博客园的编辑器中的话很多时候就会出现这种东西。这样会导致的结果就是格式可能会有一些细小的地方不一致。

  • 第二点,干净的HTML。其实这点和第一点基本一样,我还是喜欢干净整洁的HTML,无法控制别人至少我可以让我写的文章都是干净的。
  • 第三点,可以手不离开键盘的一直打字,而不用去用鼠标调整一些样式。
  • 喜欢纯文本可以版本控制。

我要吐槽的地方

下面是我使用过程中不爽的地方:

  • 很难找到一个完美的编辑器,有很多在线的markdown编辑器,各有各的特色。要找到一个最适合自己的往往要多试几次,而且大多国外的网站默认中文样式惨不忍睹。
  • 语法简单带来的坏处就是很多时候有一些效果无法实现,这个时候就需要直接内嵌html标签来实现,这个对于不熟悉html的人及其友好。所以如果需要特殊排版基本困难,除非自己写css。
  • 坑爹的预览功能。由于刚开始用,所以难免要看看自己写出来的东西是如何的效果,那100%的markdown编辑器提供左右两个区域,左边markdown,右边预览区,我要看效果就要眼珠左右来回移动,好累。。
  • 这一点是我最无奈的,由于各个编辑器都是各自程序员开发的,那么难免会在一些细节上出现一些不一致的地方。所以你完全无法保证你写的markdown在别人的编辑器中也能出现完全一样的效果,当然是在你用了一些很复杂的嵌套的情况下。
  • 虽然吐槽了很多,但是用来写博客还是很不错的

适用人群和使用场景

我觉得这个东西使用的人群范围是:程序员有洁癖的程序员。其他人?还是算了吧。

我会在下面这些场景中考虑使用这个来撰写文章:

  • 博客
  • 个人笔记(evernote)
  • 技术文档
  • 需要用HTML发布的文章

Markdown使用简介

如何入门?

Google "Markdown 入门"

Markdown编辑器们

Wikipedia上提供了一些在线编辑器,可以自己试试找个喜欢的。

个人使用MarkdownPad2,然后自己定制CSS,不过免费版阉割了很多功能,但是对我来说够用了。

如何在博客园中使用Markdown

大家可以去看看这篇文章:博客园也可以使用markdown写博客了。但是我更倾向于将生成的HTML直接拷贝进源代码。

引用:

[1] Markdown - 维基百科

我和Markdown故事的更多相关文章

  1. Markdown学习

    1. Markdown介绍 Markdown是一种轻量级的标记语言,它语法简单并且易读易用.Mardown文件通常以.md后缀结尾. 2. Markdown优点 纯文本格式,兼容性极强,可以用任意文本 ...

  2. 简洁美观的Java博客系统Tale开源了,让每一个有故事的人更好的表达想法

    Tale Tale的英文含义为故事,我相信每个坚持写Blog的人都是有故事的:中文你叫它 塌了 也无所谓 . Tale 使用了轻量级mvc框架 Blade 开发,默认主题使用了漂亮的 pinghsu, ...

  3. Markdown速查手册

    之前一直使用简书做笔记,沉浸式的写作环境很棒.然而不知什么时候起,氛围愈发浮躁,软文鸡汤泛滥,离"简"字越来越远. 相比更加喜欢沉稳低调.内涵取胜的博客园.于是乎搬家! 搬家就要丢 ...

  4. Byword for Mac(Markdown编辑器)中文版

    还在找Markdown编辑器吗?那不妨试试Byword for Mac吧!这是一款轻量级的富文本编辑器,byword mac版提供了完整的Markdown支持,包含脚注.表格.交叉引用等功能,Bywo ...

  5. C++小结:迟到的小结和重新起航的故事

    迟到的小结和重新起航的故事 有关这个学期的故事,随着这个学期的结束也划上了一个句号. 正如之前博客里面(还是空间里面)提到的,在这个过程中的收获比最后考试的结果更重要. 就像这次的计算器,也许会对最后 ...

  6. Markdown 标记语言指北 - 源码

    这是上一篇博客的源代码. 这是班刊约稿的一篇文章. 全文约6000字, 预计需要 60 分钟读完. # Markdown 标记语言指北 #### TOC 1. [什么是 Markdown?](#%E4 ...

  7. Markdown 标记语言指北

    这是班刊约稿的一篇文章. 全文约6000字, 预计需要 60 分钟读完. Markdown 标记语言指北 TOC 什么是 Markdown? Markdown 可以用来干什么? 第一步? 一些专业一点 ...

  8. markdown设置编辑基本语法

    看到其他人写的东西,版面设计,文字样式,区域划分都是那么好看,我一直不知道是怎么设计的,今天发现了,做以记录. #一.设置Markdown编辑模式 二.Markdown编辑语法 一.标题 在想要设置为 ...

  9. Markdown tricks

    编辑排版 仅仅了解 Markdown 语法还不够,知道这些 排版技巧 增色您的文章内容. 空格和空行 留白,从艺术角度上说,留白就是以"空白"为载体进而渲染出美的意境的艺术.从应用 ...

随机推荐

  1. vs2015 附加到进程找不到w3wp.exe

    vs2015 附加到进程找不到w3wp.exe 解决办法: 浏览器打开你访问的IIS地址后就出现了~!!!!!!!!!

  2. JavaBean知识

    四.JavaBean的概念1.JavaBean一般具有的特点:a.字段都是私有的. private String name;b.提供公共的getter或setter方法(属性).getter或sett ...

  3. pycharm 下载与配置

    https://www.jetbrains.com/pycharm/download/

  4. 拼sql条件时判断 是不是当前时间是不是周五,如果今天不是周五,就选上周五

    if (Request.QueryString["start"] == null) { for (int i = 0; i < 6; i++) { if (DateTime. ...

  5. Python小练习四

    # 使用给定的宽度打印格式化后的价格列表 width = (int)(input('Please enter width:')) price_width = 10 item_width = width ...

  6. Java并发

    Java并发编程:Thread类的使用 http://www.cnblogs.com/dolphin0520/p/3920357.html 一.线程的状态 在正式学习Thread类中的具体方法之前,我 ...

  7. Swift基础语法(二)

    操作符 swift中运算符基本基础于c,下面我就给大家白话白话那些被优化过的运算符们 //加号减号的妙用 var a= var b= -a//此时b=-1 var c = +b//此时 c=-1 va ...

  8. MyBatis Generator 详解 【转来纯为备忘】

    版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com   目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ...

  9. Gambler's Ruin Problem and 3 Solutions

    In my stochastic processes class, Prof Mike Steele assigned a homework problem to calculate the ruin ...

  10. Python socket (单线程)

    client, 客户端 code : 客户端主要方法, s.send(); s.sendall(); s.recv(); s.connect() class Client(object): def _ ...