Markdown 的设计是有很多问题的。这里收集一些想要代替或者有可能代替 Markdown 语法的尝试。

2016-02-01 16:03:59 +08:00
 zxgngl

收集的目的不是推荐给大家这些新语法,而是收集一些设计灵感,等有一天发布一个比 Markdown 好的,具有 XML 语义的好语法。

5207 次点击
所在节点    分享发现
51 条回复
zxgngl
2016-02-01 16:05:52 +08:00
Scribble: The Racket Documentation Tool
http://docs.racket-lang.org/scribble/

它对直接嵌入 Lisp 代码比较友好:

(racketblock
(define (loop x)
(loop (not x))))
zxgngl
2016-02-01 16:09:17 +08:00
Pandoc
https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown

在 Markdown 的基础上加了一些特性。
zxgngl
2016-02-01 16:10:58 +08:00
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}.}
soli
2016-02-01 16:18:38 +08:00
Markdown 是给人看的。你说的这些不是。
zxgngl
2016-02-01 16:24:58 +08:00
NEST -- Notation for Expressing Structured Text
http://www.trinhhaianh.com/NEST.html

例子:
\div [id="main" class="long article"] < ... >

NEST 与 XML 支持完全一样的语义,并且同时支持依赖空格的 layout 语法和不依赖空格的 <...> 语法。
zxgngl
2016-02-01 16:52:52 +08:00
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)
zxgngl
2016-02-01 16:58:45 +08:00
@soli 其实,能不能给人看是取决于人的。乐谱对于乐师来讲就等于音乐,她们可以看着乐谱头脑里自动播放音乐;对于不懂音乐的人来讲,乐谱就是蝌蚪群:)当然,我们想设计一种简单的语法,尽可能方便人很快读懂,如果复杂成 XML 那样的话倒还不如直接用 XML 好。
zxgngl
2016-02-01 17:08:46 +08:00
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 就更头疼了。
9hills
2016-02-01 17:54:53 +08:00
rst 其实不错
Tink
2016-02-01 17:55:58 +08:00
markdown 蛮好用的,现在只需要一个能控制图片大小的参数就完美了
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.
yangxiongguo
2016-02-01 18:14:51 +08:00
所以有那么多版本的 markdown 。
jamesxu
2016-02-01 18:36:53 +08:00
asciidoc
chloerei
2016-02-01 18:45:10 +08:00
zxgngl
2016-02-01 18:49:43 +08:00
@Tink Markdown 设计之初就是把自己定位为 HTML 的一个小子集,确实有好多功能都没有考虑进去,现在强加进去只能是各种缝缝补补的 hack ,缺乏设计上的一致性。
zxgngl
2016-02-01 18:57:09 +08:00
zxgngl
2016-02-01 19:00:09 +08:00
总结一些 Yin 的文章:

1 ) Markdown 基于空格的格式化容易产生不易察觉的错误;
2 )某些特殊字符,如“*”,选择的不合理;
3 )表达力有限(是 HTML 的小子集);
4 )引入了太多的语法,不好记,也没有一致性。
zxgngl
2016-02-01 19:01:12 +08:00
另外,有一个需求,可能很多软件工作人员会有,就是在嵌入的代码中着重强调某个 statement (比如把这个 statement 变成斜体),这个需求好像在 Markdown 中是没有办法实现的。
zxgngl
2016-02-01 19:13:40 +08:00
我想我得说明一下。我曾经是 Markdown 的喜爱者,把 Markdown 当作主要记笔记的格式用过好长一段时间,我花钱买过正版的 MultiMarkdown Composer ,后来作者升级了软件需要再付费后我就很少用了。
sox
2016-02-01 19:17:33 +08:00
随便一个人就能说 Markdown 有问题 😂😂😂
Aaron 不哭

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/254814

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX