引言

  • 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. R语言获取数据类型信息的一些有用函数

    向量.因子.时间序列x[i]:  矩阵.数据框x[i, j] x[i, ] x[, j]:  数组就是根据维度多打几个逗号而已x[i, j, k, -]:  列表要用双重中括号x[[i]].  特殊的 ...

  2. Redis连接

    using System; using System.Configuration; using StackExchange.Redis; namespace Redis { public sealed ...

  3. 漫步ASP.NET MVC的处理管线

    ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解.这篇文章主要从整体角度总 ...

  4. 【转】TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  5. Javascript操作DOM常用API总结

    基本概念 在讲解操作DOM的api之前,首先我们来复习一下一些基本概念,这些概念是掌握api的关键,必须理解它们. Node类型 DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现.这 ...

  6. 错误:java.util.Map is an interface, and JAXB can't handle interfaces.

    问题: 在整合spring+cxf时报错java.util.Map is an interface, and JAXB can't handle interfaces. 解决方法: 将服务端的serv ...

  7. ORACLE 11G EXPDP交互模式 interactive mode

    expdp导出工具可以实现在导出任务执行过程中修改并行度.终止.监控任务功能. 做实验验证一下: [oracle@test dpdump]$ expdp system/password directo ...

  8. [BZOJ3224]Tyvj 1728 普通平衡树

    [BZOJ3224]Tyvj 1728 普通平衡树 试题描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个) ...

  9. Android中锁定文件的方法

    androidSDK中并没有锁定文件相关的api. 但是android是基于linux操作系统的,linux比较底层,灵活性也更大,为了实现锁定文件的效果,大概有以下几种办法: 用chmod命令修改文 ...

  10. powershell使用

    主要语法点: -match -notmatch -replace -join -split -and -or -xor -not ! +.-.*./.% =.+=.-=.*=./=.%= -eq.-n ...