类 Markdown/kramdown 语言之 Strictdown 的一些新语法求讨论

2014-02-28 14:44:03 +08:00
 jakwings
先放几个语法说明的链接以供对比参考:
Markdown v1.0.1: http://daringfireball.net/projects/markdown/syntax
GitHub Flavored Markdown: https://help.github.com/articles/github-flavored-markdown
PHP Markdown Extra: http://michelf.ca/projects/php-markdown/extra/
kramdown: http://kramdown.gettalong.org/syntax.html
我正在设计的 Strictdown 见另一个主题: /t/99499

Strictdown 不会实现各种 Markdown 及变体的一些语法,不过可能会有替代语法,或者会通过转换工具提供的扩展功能来实现。

下面是我目前想讨论的一些(新)语法,可读性是我最关心的,效率先一边放着,兼容 Markdown 更不在考虑之内:

[行内格式]
强调(斜体)内容用两个下划线包裹,如:__foo bar_baz__
加重强调(粗体)内容用两个星号包裹,如:**x * y = ?**
删除内容用两个波浪线包裹,如:~~该内容已过期~~

作为锚点的内容,如:
{V2EX} 即「way to explore」和「way too extreme」的缩写。
然后可以通过方案一链接引用 |V2EX| 的解释?
然后可以通过方案二链接引用 [V2EX][#V2EX] 的解释?

[块级内容]
从所周知,栅栏式代码块是这样的:
~~~ html
<div id="test">
<p>Hello, V2EX.</p>
</div>
~~~

我不打算实现 Markdown 原来的 HTML 嵌套语法,而是在栅栏式代码块的代码名称前加个星号指示直接保留代码:
~~~ *html
<div id="test">
<p>Hello, V2EX.</p>
</div>
~~~

若要在保留的代码中使用行内格式,再加一个星号:
~~~ **html
<div id="test">
<p>Hello, V**2**EX.</p>
</div>
~~~

就这些了,有什么要改进的地方吗?行内文本的锚文本功能要用哪种语法比较好,要不要实现这个语法?
4224 次点击
所在节点    Markdown
7 条回复
amoblin
2014-02-28 15:46:15 +08:00
用了Org-mode后就对Markdown无感了。。。
jakwings
2014-02-28 16:10:13 +08:00
@amoblin 是因为习惯问题吗?我看了下官网,感觉语法也不是挺方便,和 reStructuredText 差不多,比较适合用惯了的人(Geek?)使用,要上手不容易。而且只是和 Emacs 配合得最好?
想移植到前端就更难了。

总之,来点建议吧……Orz
standin000
2014-02-28 16:30:57 +08:00
@jakwings org-mode 转html很方便,建议参考org elisp库的写法。
jakwings
2014-02-28 16:34:56 +08:00
@standin000 好吧……请先考虑语法、可读性、易用性,以及是否容易用 Javascript 实现。
standin000
2014-02-28 17:05:13 +08:00
@jakwings 咳,不是说服你用,我是说可以给你参考。javascrip其实是类lisp语言。
jakwings
2014-02-28 17:29:40 +08:00
@standin000 可参考的地方感觉有点少。Org-mode 的语法和我要的语法都不一样,就算我可以用 Javascript 模拟 LISP ,也不能很好模拟它的解析方法啊。Org-mode 是靠各种折叠来隐藏一大堆奇怪的内容的,还用各种 :END: 之类的辅助文本来方便地结束块级元素,显然和我要的纯文本可读性相悖,于是它的代码肯定也没考虑到 Markdown 类语言的这种没有明确结束标记的解析困境。
kawaiiushio
2014-02-28 23:44:11 +08:00

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

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

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

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

© 2021 V2EX