引言

  • markdown是什么, 谁在使用markdown, 以及为什么我应该/不应该使用它?
  • 我能从这篇文章中了解到什么, 怎么开始使用?

markdown有两个含义: 一套标记语法(类比html,wiki,orgmode), 原作者所写的一个将此标记格式转换为html标记格式, 用作web出版的perl脚本.
在github的pages, gist中; 在reddit, stackexchange的评论功能中都支持使用markdown.
其语法简洁, 可完全用于编辑软件文档/普通文章, 出版博客/书籍, 个人日记/知识管理.

本文从以下方面讨论Markdown与文档写作:

  • 基本语法与导出
  • 出版博客与书籍
  • 记录日记与维基
  • 排版与加速编辑
  • 解析工具及功能集成

语法与导出

语法与规则

语法有原作者规定的普通markdown格式(vanilla markdown flavor), 和经过各家针对自己的产品进行扩充功能的语法, 如github添加了编程语言代码块支持. 以下是Markdown语法及变体相关参考:

一句话语法

  1. 一个以上的空行, 划分出不同的段落; 中间没有空行的文本为一个段落.
  2. 3个以上'=': 1级标题; 3个以上'-': 二级标题; #{1,6}: 1~6级标题.
  3. *emphasize*, _emphasize_: 强调倾斜, 对应的标签为 <em>.
  4. **strong**, __strong__: 强调加粗, 对应的标签为 <strong>.
  5. * + -: 以这3个开头, 加上一个空格的是无序列表, 可以轮流在不同列表级别使用以显示不同的项目符号.
  6. 1.: 以数字开头, 然后'.'号, 加上'空格', 有序列表;
  7. 列表项目下的内容用 <TAB>4个空格 标识所属关系;
  8. 列表项目的嵌套用两个空格;
  9. 链接和引用方式: 前面是Alt文本, 后面是链接URL, 可选择性地加上'title'; 引用可以使用数字或任意字符标识.

    1. [blog](http://www.cnblogs.com/lywon "blog")
    2. [github][1]
    
    [1]: https://github.com/lywon "github"
  10. 图片链接, 只是比普通链接多用一个'!'.

    ```markdown

    ```

  11. 在引用文字前加上 >, 表示区块引用; 转换为标签 <blockquote>; 可以使用多级引用.
  12. 代码行内区段: 用 \code``的形式.
  13. 代码块用: <TAB>4个空格包围.
  14. 代码块增强(github flavor): </code> 或带上代码类型 <code>html;

    $('page-wrapper').title="hello";
  15. 使用如下命令发布markdown为html文件:

    ```bash    markdown my-notes.md ~/publish/my-notes.html```

书写工具

主要收集了编辑器对markdown的支持插件.

vim: vim-markdown

emacs: markdown-mode, org-mode

sublime: markdown

发布工具

cnblogs开放API

要在本地书写博客, 自动化的进行管理, 而不再使用博客园的web界面, 还好博客园提供
了API供使用: metaweblog.

发布与转换工具

TODO 翻译pandoc使用指南

TODO php markdown

https://michelf.ca/projects/php-markdown/

需要优化的需求

  1. 美化: 我知道一级标题和二级标题可以在文字下方使用3个以上 '-','='来表示, 但为了美观会让它们与上方文字对齐, 也就是说与上方英文字符数相同, 或等同于中文字符的两倍数. 如果手动完成未免太烦琐, 所以需要加上一个编辑器自动控制
  2. 美化: 就像在org-mode中的缩进一样, 对齐标题前的'#'字符.
  3. 功能: 能否像org-mode中的折叠展现, 移动, 甚至于转发.

用markdown简化书写的更多相关文章

  1. markdown | Latex | 书写测试

    我永远喜欢markdown! 建图 graph TD; 1-->2 1-->3 1-->4 2-->5 2-->6 3-->7 3-->8 4-->9 ...

  2. Sublime Text3下的markdown插件的安装及配置

    Sublime Text3下的markdown插件的安装及配置 安装准备--安装Package Control 安装MarkdownEditing 安装Markdown Preview或OmniMar ...

  3. Markdown中插入数学公式的方法

    Markdown中插入数学公式的方法 文章来源:http://blog.csdn.net/xiahouzuoxin/article/details/26478179 自从使用Markdown以来,就开 ...

  4. 使用Markdown写文档

    转载于:http://blog.csdn.net/xiahouzuoxin/article/details/19752603 Markdown是一种网络书写语言,其目标是实现易读易写,且兼容HTML语 ...

  5. 我的 MarkDown 学习笔记

    MarkDown 一种用于写作的轻量级[标记语言].它用简洁的语法代替排版,而不像一般的文字处理软件 Word 或者 Pages 有大量的排版.字体设置等. 如果你对文章的样式没有太多要求,只注重写文 ...

  6. Markdown的简单用法

    Markdown 是一种用来写作的轻量级标记语言,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版.字体设置.它使我们专心于码字,用「标记」语法,来代替常见 ...

  7. SimpleMarkdown - 一款简单的Markdown编辑器

    源码地址: https://github.com/zhuangZhou/SimpleMarkdown 预览地址: http://hawkzz.com:8000 作者网站:http://hawkzz.c ...

  8. 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用

    设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. ...

  9. Markdown编辑器开发记录(二):Markdown编辑器的使用与开发入门

    Markdown编辑器的使用与开发入门 在部门做技术分享的时候简单整理了一下手里的资料 1 是什么 1.1 Markdown是一种轻量级标记语言 Markdown是一种轻量级标记语言,创始人为约翰·格 ...

随机推荐

  1. python 静态方法、类方法(二)

    <Python静态方法.类方法>一文中曾用在类之外生成函数的方式,来计算类的实例的个数.本文将探讨用静态方法和类方法来实现此功能. 一使用静态方法统计实例 例1.static.py # - ...

  2. RabbitMQ安装实践

    背景: 最近一个项目的测试环境需要用到rabbitMQ,但运维和开发都没时间,于是自己试着安装了一发,发现安装很简单,记一笔如下: 安装步骤 查看官网上有不同的安装方法,可使用下载安装包或者直接通过其 ...

  3. Fedora中显示windows下的文件

    目录 一些预备知识: 在中国windows的编码是本地编码 , 即GBK,GB2312,GB18030等 GBK  也就是windows-986 Windows现在只支持Unicode (UTF-16 ...

  4. iOS 中的 promise 模式

    1.概述 异步编程 App 开发中用得非常频繁,但异步请求后的操作却比较麻烦.Promise 就是解决这一问题的编程模型.其适用于 延迟(deferred) 计算和 异步(asynchronous)  ...

  5. python之numpy

    一.矩阵的拼接合并 列拼接:np.column_stack() >>> import numpy as np >>> a = np.arange(9).reshap ...

  6. 关于springMVC+Mybatis jar包详解

    1.Aopalliance.jar: 这个包是AOP联盟的API包,里面包含了针对面向切面的接口,通常spring等其它具备动态织入功能的框架依赖此包. 2.aspectjweaver-1.7.1.j ...

  7. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

  8. 使用Open xml 操作Excel系列之一-读取Excel

    一. 安装Open Xml SDK 从微软网站下载Open xml SDK,安装SDK. 二. 在项目中添加对DocumentFormat.OpenXml库的引用

  9. zabbix安装unixODBC配置完之后报错

    zabbix安装unixODBC配置完之后报错 libmysqlclient_16 not defined in file libmysqlclient_r.so.16 分析 我没有使用centos6 ...

  10. Git 修改源地址

    git remote set-url origin http://git.xxx.com/xxx/repo.git