blog icon indicating copy to clipboard operation
blog copied to clipboard

[译] GitHub 风格的 Markdown 语法

Open cssmagic opened this issue 12 years ago • 44 comments


本文已过时,最新版本已迁至:


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏

cssmagic avatar Jul 07 '13 05:07 cssmagic

有一点比较困扰的是,我不知道怎样把 ``` 标记为代码。连输 5 个 ` 并不会得到期望的结果。

cssmagic avatar Jul 07 '13 07:07 cssmagic

``` 的行内代码大概只能让解析器添加考虑这种特殊情况。Fenced code blocks 我的翻译是围栏式代码块,对应空格式(缩进式)代码块。

yanxyz avatar Jul 07 '13 10:07 yanxyz

@yanxyz 谢谢,我原先也想直译的,但似乎没见过类似的称呼,感觉不够直观,所以加工了一下。如果这已经是程序语言的常见术语,或者是一个成熟的译法,我会改过来。很高兴有人对我的翻译提意见 :smile:

cssmagic avatar Jul 07 '13 10:07 cssmagic

@cssmagic 只是我个人的意见。我翻译过php markdown extra,觉得Fenced code blocks比较形象,直译能保留这种形象感。

yanxyz avatar Jul 07 '13 10:07 yanxyz

@yanxyz 谢谢,已更新。

cssmagic avatar Jul 07 '13 14:07 cssmagic

不错~

myst729 avatar Jul 08 '13 02:07 myst729

zen mode 经常使用,不过那个按钮在有滚动条出现的时候就悲剧了,可能是偷懒不想用 JS 吧 不知道是否有纯 css 的解决方案呢?

edokeh avatar Jul 08 '13 08:07 edokeh

@edokeh 不太确定你的意思。我试了一下好像没发现异常情况。

cssmagic avatar Jul 08 '13 09:07 cssmagic

qq20130708183449

edokeh avatar Jul 08 '13 10:07 edokeh

zen

@edokeh 看起来 GitHub 开发团队用的是 Firefox……

cssmagic avatar Jul 08 '13 12:07 cssmagic

我去。。果然 FF 好的,这个滚动条的出现位置是有什么 CSS 上的讲究嘛?

edokeh avatar Jul 08 '13 13:07 edokeh

@edokeh 这是FF的bug……

myst729 avatar Jul 08 '13 13:07 myst729

@edokeh 不同浏览器对 padding 与滚动条的布局关系的理解不一致。具体谁更标准我还没深入研究过。

cssmagic avatar Jul 08 '13 13:07 cssmagic

@cssmagic FF这个是个奇葩,其他任何元素都没见过padding会把滚动条一起带跑的吧…… 规范不贴了,都找得到

myst729 avatar Jul 08 '13 13:07 myst729

原文版本更新到 2013-07-07,向支持团队反馈的笔误均已修正。

cssmagic avatar Jul 10 '13 02:07 cssmagic

@yanxyz 关于三个反撇号,我问过支持团队,有解决方案了。写成 ```` ``` ```` 即可。看起来很疯狂,但确实管用。 而且我发现了另一个真相,实际上 <code></code> 标签在 GitHub 这儿是支持的!!!

cssmagic avatar Jul 11 '13 06:07 cssmagic

markdown 里一直都可以嵌入 HTML 啊 [挖鼻屎] 不光是 GitHub 这里……

myst729 avatar Jul 11 '13 10:07 myst729

@myst729 这取决于解析引擎的具体实现吧。

cssmagic avatar Jul 12 '13 05:07 cssmagic

@cssmagic 哈哈,这么多

yanxyz avatar Jul 13 '13 02:07 yanxyz

@cssmagic markdown 语法 http://daringfireball.net/projects/markdown/syntax#html 目前的各种实现——包括 GitHub ——基本上都是它的超集。

myst729 avatar Jul 13 '13 02:07 myst729

@myst729 谢谢提示。不过,(我没有能力研究各种 Markdown 解析引擎的源码,只是纯粹主观臆想,)我总是感觉规范是一回事,实现又是另一回事。这种关系就好像 W3C 与浏览器、CommonJS 与 Node 等等。所以我倾向于认为,各种解析引擎究竟对 Markdown 规范具体支持到什么程度,要试了才知道。

另外,这段话是这样说的:

For any markup that is not covered by Markdown’s syntax, you simply use HTML itself.

显然 <code></code> 标签不在此列。

cssmagic avatar Jul 13 '13 04:07 cssmagic

Emoji 代号速查: http://www.emoji-cheat-sheet.com/

cssmagic avatar Jul 17 '13 05:07 cssmagic

非常谢谢~ 英语渣的痛啊。

mistkafka avatar Aug 03 '13 04:08 mistkafka

赞!虽然之前一直看原文来着

laike9m avatar Nov 16 '13 03:11 laike9m

呃 好像才发现 我没有写一个 转字。 不是我翻译的。 MistKafka

On Nov 16, 2013, at 11:24, laike9m [email protected] wrote:

赞!虽然之前一直看原文来着

— Reply to this email directly or view it on GitHub.

mistkafka avatar Dec 04 '13 08:12 mistkafka

```,在中间的反引号前后各加一个空格。输入几个反引号就要在外围多加1+n个。。

xaolex avatar Jan 02 '14 13:01 xaolex

官方文档更新了,添加了删除线的写法:

~~Deleted~~ 将渲染为 ~~Deleted~~

cssmagic avatar Jan 15 '14 05:01 cssmagic

GFM现在支持表格了。

表格

你可以使用若干列文字并于第一行下面用转折号-分开它们,然后用管道符|隔开每一列:

First Header  | Second Header
------------- | -------------
Content Cell  | Content Cell
Content Cell  | Content Cell

为了看上去美观,你也可以在两端加上额外的管道符:

| First Header  | Second Header |
| ------------- | ------------- |
| Content Cell  | Content Cell  |
| Content Cell  | Content Cell  |

注意顶部的虚线不需要准确匹配表头文本的长度:

| Name | Description          |
| ------------- | ----------- |
| Help      | Display the help window.|
| Close     | Closes a window     |

你也可以在其中包括内联Markdown元素,比如链接,加粗,斜体或删除

| Name | Description          |
| ------------- | ----------- |
| Help      | ~~Display the~~ help window.|
| Close     | _Closes_ a window     |

最后,通过在表头行加入冒号:,你可以决定文本是左对齐,右对齐,还是居中:

| Left-Aligned  | Center Aligned  | Right Aligned |
| :------------ |:---------------:| -----:|
| col 3 is      | some wordy text | $1600 |
| col 2 is      | centered        |   $12 |
| zebra stripes | are neat        |    $1 |

一个在最左边的冒号表示一个左对齐的列;一个在最右边的冒号表示一个右对齐的列;两边都有的冒号表示一个居中的列。

最后(这里不再是译文了),加上我自己的一个示范:

水果 单价 数量
苹果 3.00 ~~2~~
香蕉 2.00 4

注意表格要另隔开一个空行。

spacewander avatar May 18 '14 16:05 spacewander

@spacewander 谢谢补充。

cssmagic avatar May 19 '14 02:05 cssmagic

表格能不能合并行或者列呢...

xuexb avatar Oct 17 '14 05:10 xuexb

@xuexb 很遗憾,不能。如果你有单元格跨行跨列的需求,说明你应该直接用 HTML 来写表格。Markdown 一般都支持直接插入 HTML 代码的。

cssmagic avatar Oct 18 '14 18:10 cssmagic

@cssmagic 原文已经更新:https://help.github.com/articles/github-flavored-markdown/

paddingme avatar Jan 14 '15 03:01 paddingme

@cssmagic 3q

xuexb avatar Jan 14 '15 06:01 xuexb

@paddingme 谢谢提醒。由于官方 GFM 文档的组织方式发生了比较大的变动,本文将不再随之改动。如有重要的功能变化,请像 @spacewander 这样在评论区补充。

cssmagic avatar Jan 14 '15 06:01 cssmagic

good:thumbsup:

JaydenGui avatar Jan 18 '15 06:01 JaydenGui

哎,原来真的不能合并行列啊~

yuanyuanlife avatar Jan 30 '15 02:01 yuanyuanlife

@cssmagic 语法更新了,Newlines 只在评论等地方有效,在文件内跟其它 markdown 一样。要不把 Writing on GitHub 也翻译一下?

yanxyz avatar Jul 02 '15 03:07 yanxyz

@yanxyz 谢谢提醒。我这两天把这篇翻译一下。

cssmagic avatar Jul 02 '15 03:07 cssmagic

《Writing on GitHub》这篇文档已翻译,已发布到: https://github.com/baixing/FE-Blog/issues/5

cssmagic avatar Jul 07 '15 06:07 cssmagic

你好,我想请教个有关MD语法的问题,这种包结构,虚线和折线,如何使用MD书写呢。

SmartDengg avatar Nov 10 '15 07:11 SmartDengg

@SmartDengg 都是手工拼出来的啊,或者是从 bower ls 等命令的输出信息中复制出来的,然后放在代码块中以确保行列对齐。

Markdown 本身没有这方面的渲染功能。不过倒是可以写一个工具,把树形结构的数据转换成这种形式的文本(说不定已经有了)。

随便一提,图中的竖线所用的字符不对。图中用的是管道符(|),但实际上应该用表格竖线()。

cssmagic avatar Nov 10 '15 08:11 cssmagic

@SmartDengg 我个人觉得也可以用多个缩进级别的列表来替代。

hax avatar Nov 10 '15 09:11 hax

@cssmagic 好的,谢谢你的回答,我尝试写一下。

SmartDengg avatar Nov 10 '15 12:11 SmartDengg

@hax 恩恩,我试一下缩进,写一下。谢谢你的回答。

SmartDengg avatar Nov 10 '15 12:11 SmartDengg