
引言
- markdown是什么, 谁在使用markdown, 以及为什么我应该/不应该使用它?
- 我能从这篇文章中了解到什么, 怎么开始使用?
markdown有两个含义: 一套标记语法(类比html,wiki,orgmode), 原作者所写的一个将此标记格式转换为html标记格式, 用作web出版的perl脚本.
在github的pages, gist中; 在reddit, stackexchange的评论功能中都支持使用markdown.
其语法简洁, 可完全用于编辑软件文档/普通文章, 出版博客/书籍, 个人日记/知识管理.
本文从以下方面讨论Markdown与文档写作:
- 基本语法与导出
- 出版博客与书籍
- 记录日记与维基
- 排版与加速编辑
- 解析工具及功能集成
语法与导出
语法与规则
语法有原作者规定的普通markdown格式(vanilla markdown flavor), 和经过各家针对自己的产品进行扩充功能的语法, 如github添加了编程语言代码块支持. 以下是Markdown语法及变体相关参考:
一句话语法
- 一个以上的空行, 划分出不同的段落; 中间没有空行的文本为一个段落.
- 3个以上'=': 1级标题; 3个以上'-': 二级标题;
#{1,6}
: 1~6级标题. -
*emphasize*
,_emphasize_
: 强调倾斜, 对应的标签为<em>
. -
**strong**
,__strong__
: 强调加粗, 对应的标签为<strong>
. -
* + -
: 以这3个开头, 加上一个空格的是无序列表, 可以轮流在不同列表级别使用以显示不同的项目符号. -
1.
: 以数字开头, 然后'.'号, 加上'空格', 有序列表; - 列表项目下的内容用
<TAB>
或4个空格
标识所属关系; - 列表项目的嵌套用两个空格;
-
链接和引用方式: 前面是Alt文本, 后面是链接URL, 可选择性地加上'title'; 引用可以使用数字或任意字符标识.
1. [blog](http://www.cnblogs.com/lywon "blog") 2. [github][1] [1]: https://github.com/lywon "github"
-
图片链接, 只是比普通链接多用一个'!'.
```markdown
```
- 在引用文字前加上
>
, 表示区块引用; 转换为标签<blockquote>
; 可以使用多级引用. - 代码行内区段: 用
\
code``的形式. - 代码块用:
<TAB>
或4个空格
包围. -
代码块增强(github flavor):
;</code> 或带上代码类型 <code>
html$('page-wrapper').title="hello";
-
使用如下命令发布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/
需要优化的需求
- 美化: 我知道一级标题和二级标题可以在文字下方使用3个以上 '-','='来表示, 但为了美观会让它们与上方文字对齐, 也就是说与上方英文字符数相同, 或等同于中文字符的两倍数. 如果手动完成未免太烦琐, 所以需要加上一个编辑器自动控制
- 美化: 就像在org-mode中的缩进一样, 对齐标题前的'#'字符.
- 功能: 能否像org-mode中的折叠展现, 移动, 甚至于转发.