收集的目的不是推荐给大家这些新语法,而是收集一些设计灵感,等有一天发布一个比 Markdown 好的,具有 XML 语义的好语法。
1
zxgngl OP Scribble: The Racket Documentation Tool
http://docs.racket-lang.org/scribble/ 它对直接嵌入 Lisp 代码比较友好: (racketblock (define (loop x) (loop (not x)))) |
2
zxgngl OP |
3
zxgngl OP SexpCode - Towards a Better BBCode
http://cairnarvon.rotahall.org/misc/sexpcode.html http://cairnarvon.rotahall.org/2010/05/25/towards-a-better-bbcode/ 例子: {b This text is bold. {i This text is italic and bold.}} {b.sup*2.i Way to be a dick, {sub*2.u.o dick}.} |
4
soli 2016-02-01 16:18:38 +08:00 6
Markdown 是给人看的。你说的这些不是。
|
5
zxgngl OP NEST -- Notation for Expressing Structured Text
http://www.trinhhaianh.com/NEST.html 例子: \div [id="main" class="long article"] < ... > NEST 与 XML 支持完全一样的语义,并且同时支持依赖空格的 layout 语法和不依赖空格的 <...> 语法。 |
6
zxgngl OP Common Lisp inspired syntax - simple to read like Markdown, but that has a stricter syntax
http://lists.suckless.org/dev/1008/5703.html (h1 A heading) (p This is (strong awfully) nice.) (h2 Another heading) |
7
zxgngl OP @soli 其实,能不能给人看是取决于人的。乐谱对于乐师来讲就等于音乐,她们可以看着乐谱头脑里自动播放音乐;对于不懂音乐的人来讲,乐谱就是蝌蚪群:)当然,我们想设计一种简单的语法,尽可能方便人很快读懂,如果复杂成 XML 那样的话倒还不如直接用 XML 好。
|
8
zxgngl OP Markdown 是有它的问题的,斜体、粗体、标题的语法比较直观,但链接和图片就不那么好了。
多数情况下,用 Markdown 写的文档是要被“渲染”一下才会被看到的,这也是为什么那么多实时渲染的 Markdown 编辑器那么流行。如果, MD 文档最终是要被渲染的,那就解决了是不是易读的问题。是不是易写,也是 MD 的一个问题。举一个“引用”的例子: 引用一段话, Markdown 里要这么写: > The overriding design goal for Markdown's > formatting syntax is to make it as readable > as possible. The idea is that a > Markdown-formatted document should be > publishable as-is, as plain text, without > looking like it's been marked up with tags > or formatting instructions. 不如这么写容易: (quote The overriding design goal for Markdown's formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions.) 如果需要经常改动的话,用 Markdown 就更头疼了。 |
9
9hills 2016-02-01 17:54:53 +08:00
rst 其实不错
|
10
Tink 2016-02-01 17:55:58 +08:00
markdown 蛮好用的,现在只需要一个能控制图片大小的参数就完美了
|
11
conansix 2016-02-01 18:01:38 +08:00
@zxgngl 在用过的 Markdown 编辑器中,引用都可以只在第一行写一个>,第二行及之后不用写,默认是引用部分,比如:
> The overriding design goal for Markdown's formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions. |
12
yangxiongguo 2016-02-01 18:14:51 +08:00 via iPhone
所以有那么多版本的 markdown 。
|
13
jamesxu 2016-02-01 18:36:53 +08:00 via iPhone
asciidoc
|
14
chloerei 2016-02-01 18:45:10 +08:00 1
|
15
zxgngl OP @Tink Markdown 设计之初就是把自己定位为 HTML 的一个小子集,确实有好多功能都没有考虑进去,现在强加进去只能是各种缝缝补补的 hack ,缺乏设计上的一致性。
|
16
zxgngl OP Markdown 的一些问题
http://www.yinwang.org/blog-cn/2013/04/14/markdown/ |
17
zxgngl OP 总结一些 Yin 的文章:
1 ) Markdown 基于空格的格式化容易产生不易察觉的错误; 2 )某些特殊字符,如“*”,选择的不合理; 3 )表达力有限(是 HTML 的小子集); 4 )引入了太多的语法,不好记,也没有一致性。 |
18
zxgngl OP 另外,有一个需求,可能很多软件工作人员会有,就是在嵌入的代码中着重强调某个 statement (比如把这个 statement 变成斜体),这个需求好像在 Markdown 中是没有办法实现的。
|
19
zxgngl OP 我想我得说明一下。我曾经是 Markdown 的喜爱者,把 Markdown 当作主要记笔记的格式用过好长一段时间,我花钱买过正版的 MultiMarkdown Composer ,后来作者升级了软件需要再付费后我就很少用了。
|
20
sox 2016-02-01 19:17:33 +08:00 via Android
随便一个人就能说 Markdown 有问题 😂😂😂
Aaron 不哭 |
21
zxgngl OP @chloerei @jamesxu 谢谢~ 但我觉得 asciidoc 还是对 Markdown 的补充和更正。
这是 AsciiDoc 的 cheatsheet ,我觉得还是语法太多,对于新手还是要话半天到一天才能感觉自己“都会了”: http://powerman.name/doc/asciidoc |
22
cnnblike 2016-02-01 19:27:44 +08:00
Madoko 的设计感觉还好啊?
|
23
zxgngl OP @cnnblike 谢谢~
Madoko https://www.madoko.net/ Madoko Reference http://research.microsoft.com/en-us/um/people/daan/madoko/doc/reference.html |
24
zxgngl OP Markdown 还有一个问题,就是由 Markdown 文档到 HTML ( XML )文档的转换是单向的,没有办法可靠地从 HTML 文档生成唯一的 Markdown 文档。
这个问题对于大多数使用场景来说都不是大问题,但还是先记在这里吧。 |
25
zxgngl OP @sox 评论里面的每一个建设意见或者推荐的 Markdown 的可替代产品都是对 Markdown 存在的问题的肯定。 Markdown 是 11 年前设计的,有些不好的地方很正常的。难道因为 Aaron Swartz 参与了设计我们就不能挑这个设计的问题了吗?我们不能因为某个可敬的人参与了某个软件的设计就对这个软件全盘接受。
|
26
FrankFang128 2016-02-01 20:07:18 +08:00
Markdown 的痛点就两个:表格和图片
|
27
proudzhu 2016-02-01 20:12:55 +08:00 via Android
为啥不用 cmark ?
|
28
bengol 2016-02-01 20:36:40 +08:00 via Android
所以为什么 markdown 会流行起来呢
|
29
Tardis0127 2016-02-01 21:03:26 +08:00 via iPhone
一直不喜欢 MD 的设计,打算抽空设计一个自己喜欢的自用
|
31
zxgngl OP |
32
zxgngl OP @bengol 流行的东西并不一定是因为设计的好。 MySQL 比 PostgreSQL 流行,但没有后者设计得好; C#比 Java 设计得好,但没有后者的生态大;天涯论坛用户多,但没有 v 站界面清爽……
有时候,好东西流行起来是要靠运气和资本做推手的。 |
33
zxgngl OP @proudzhu 谢谢。
CommonMark - A strongly defined, highly compatible specification of Markdown http://commonmark.org/ CommonMark 尝试给 Markdown 的众多不兼容的版本做一个统一的标准,有点像 Common Lisp 之于 Lisp 。 |
34
zxgngl OP Improved commenting with Markdown
https://github.com/blog/2097-improved-commenting-with-markdown “ The new toolbar allows you to do so without learning Markdown syntax.” Github 设计一个新的 Toolbar 来帮助人们避免使用 Markdown 语法。 |
36
matsuijurina 2016-02-01 22:43:30 +08:00 via Android
只能说 markdown 对于表格绘制那部分做得太糟糕了。随便想一种简化表格编写的语法,都比 markdown 傻傻用字符画表强。
|
37
k9982874 2016-02-01 23:19:28 +08:00 via iPhone
我觉得 md 的简单就是它最强的地方,简单到让人感觉不到规则的存在,只要专注于文字,这也是这么多人喜爱的原因。
|
38
libook 2016-02-01 23:42:12 +08:00
我用 HTML ,写 MarkDown 的时候也是。。。
造轮子最苦恼的一点是如何推广并发展成为通用的标准。。。 可以看一看 https://www.zybuluo.com/mdeditor 他们都用了哪些 MD 的扩展语法,感觉会对你有帮助。。。或者你会发现轮子已经够用了。。。 |
39
zxgngl OP @k9982874 虽然表达力远远不如 HTML , Markdown 还是有好多规则的,全记下来可能还要上手好几次才行。新手至少要把这一页都记下来: http://commonmark.org/help/
|
40
zxgngl OP @libook 谢谢。这个站好漂亮。
确实,由于 Markdown 表达力欠佳,要想达到丰富的现实效果还是需要像这样在 Markdown 里面插入 HTML 代码: ``` > 请保留此份 Cmd Markdown 的欢迎稿兼使用说明,如需撰写新稿件,点击顶部工具栏右侧的 <i class="icon-file"></i> **新文稿** 或者使用快捷键 `Ctrl+Alt+N`。 ``` |
41
scarlex 2016-02-02 00:14:54 +08:00
楼主为啥不去 github 搞个 repository 来管理这些资源?
|
42
zxgngl OP 我比较倾向于认为一个人使用的语言会限制她的思维,如果使用一种高度受限的格式可能也会限制使用这种格式所书写的文字的表达力。
|
43
zxgngl OP @scarlex 因为我们讨论的目的是找出 Markdown 以及相似的文本标记语言的问题,然后激发人们设计一个更好的文本标记语言出来。在这里贴各种资源保存在这里就挺好的,不需要再保存一份了。
|
44
CodingPuppy 2016-02-02 08:44:05 +08:00
图片、链接、表格
|
45
chemzqm 2016-02-02 08:57:19 +08:00 1
Markdown 只是一个文本到 html 的标准,标准的好处不在于提供多么强大易用的功能,而是不会轻易改变,减少不必要学习的成本。
事实上只要是人类发明的工具都会存在不可避免的局限,例如:编程语言,操作系统,网络系统,编辑器,等等。 设计角度上,不同的需求总是导致矛盾的出现,例如你追求功能强大就往往会牺牲自身的简单性, 至于说谁好谁坏,首先要依据你自己的实际情况, |
46
shunia 2016-02-02 10:09:48 +08:00
列举的语言挺有帮助的,收藏。
|
47
zjuster 2016-02-02 10:24:15 +08:00
@zxgngl Markdown 出现的目的就是将非常不适合人类阅读的 HTML 语法简化,并保留相互转换的可能。你列举的语言都很有用,但是目的和用途和 Markdown 是不一样的。
Simple is hard. |
50
JamesRuan 2016-02-03 06:20:14 +08:00 1
Markdown 不是用来渲染的,而是为了不渲染也能看的。
https://www.zhihu.com/question/39290341/answer/84469450 我这个答案里面提到的自己造的轮子,就是一种类似 BBCode 或者类似 TeX 的标记语言,用于快速地些一些简单的 HTML ,特点是鼓励完全语义化,语义和样式分离。 |
51
zxgngl OP @JamesRuan 非常感谢~
新版标记代码完全手册 http://jamesruan.github.io/ebony/ml.html 真漂亮! ----------------------- Markdown 设计的本意确实是想做到不渲染也能看的,并由此导致了它表达力的局限。但在如今的 Web 上,从 Github 到 StackOverflow ,从简书到 V2EX ,所有的用 Markdown 格式写下的文字都是以渲染过的形式展示出来的,几乎很少见到直接把 Markdown 标记过的格式显示出来。毕竟 Markdown 是 10 多年前设计的,现在的 Web 已经大变样了。 |