V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Daring Fireball: Markdown
CommonMark
MacDown Open Source Markdown Editor
Marked
GitHub Flavored Markdown
jakwings
V2EX  ›  Markdown

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

  •  
  •   jakwings · 2014-02-28 14:44:03 +08:00 · 4218 次点击
    这是一个创建于 3912 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先放几个语法说明的链接以供对比参考:
    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>
    ~~~

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

    总之,来点建议吧……Orz
    standin000
        3
    standin000  
       2014-02-28 16:30:57 +08:00   ❤️ 1
    @jakwings org-mode 转html很方便,建议参考org elisp库的写法。
    jakwings
        4
    jakwings  
    OP
       2014-02-28 16:34:56 +08:00
    @standin000 好吧……请先考虑语法、可读性、易用性,以及是否容易用 Javascript 实现。
    standin000
        5
    standin000  
       2014-02-28 17:05:13 +08:00
    @jakwings 咳,不是说服你用,我是说可以给你参考。javascrip其实是类lisp语言。
    jakwings
        6
    jakwings  
    OP
       2014-02-28 17:29:40 +08:00
    @standin000 可参考的地方感觉有点少。Org-mode 的语法和我要的语法都不一样,就算我可以用 Javascript 模拟 LISP ,也不能很好模拟它的解析方法啊。Org-mode 是靠各种折叠来隐藏一大堆奇怪的内容的,还用各种 :END: 之类的辅助文本来方便地结束块级元素,显然和我要的纯文本可读性相悖,于是它的代码肯定也没考虑到 Markdown 类语言的这种没有明确结束标记的解析困境。
    kawaiiushio
        7
    kawaiiushio  
       2014-02-28 23:44:11 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2159 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:14 · PVG 00:14 · LAX 08:14 · JFK 11:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.