Markdown中有序列表和无序列表

作者: larryzhao | 来源:发表于2014-12-02 17:54 被阅读17256次

    最近有用户问我,在简书写 Markdown, 一条有序列表 item 之后接一条无序列表 item,为什么 parse 的结果,第二个 item 依旧是作为有序列表的第二项显示,带有有序列表的列表符号?

    用代码和结果示例来表示就是这样,如果我们写如下的 Markdown source:

    1. Foo
    - Bar
    

    为什么 parse 后结果是:

    1. Foo
    2. Bar
    

    而不是:

    1. Foo
     Bar
    

    老实说因为这种写法相对较少,我以前没有想到过这个问题。简书的 Markdown 规则原则上是 Github Flavored Markdown 的一个子集,并没有完全实现 GFM 的所有功能,同时还有很少量自己的调整。所以我第一时间就先去求证一下是不是我们实现错误了。

    在 Github 上面,parse 结果是和我们一致的 (我是个程序员不会拼图只能把俩图放一起截了...):

    Github Sample

    由于 Markdown 是一门有着众多方言的语言,我也又去 Markdown 的发明者的 Markdown Web Digus 上面试验了一下,结果也是一样的:

    Markdown Web Digus Sample

    试验完之后想了一下,Markdown 现在的 parse 结果是 HTML。对于 HTML 来说,在 <ol></ol> 标签里如果需要包含 <ul></ul> 的 item 的话,也许你想要的是一个二级列表,也就是下面这样 (注意第二行无序列表开头要有空格):

    1. Foo
      - Bar
    

    parse 后结果:

    1. Foo
    • Bar

    相关文章

      网友评论

      • 东方晓:请问md里面列表怎么嵌套呢?
        东方晓:哎 我傻了 文章最后就是啊,说的很清楚
        larryzhao:@污子同学 应该说是空格
        larryzhao:@污子同学 tab
      • 惊夜:那怎么解决呢?
      • zzz雪人:如果能有medium同步工具就更棒了
        larryzhao:@zzz雪人 嗯,后面可以考虑搞
      • 狸小猫:大神……羡慕所有的理工科生……感觉都是超高智商:pray:🏻:pray:🏻
      • 9fbca2ba6efd:如果是

        1. Foo

        - bar
      • 曾樑:啦啦啦
      • 4bf0e9616080:我是刚接触到markdown标记语言,我在使用的过程中遇到一个关于有序列表的问题:当我列了第一个列表,回车之后自动列出第二个列表,但我需要在第一个列表之后添加内容所以就把自动添加的那个删了,等到需要时我自己添加的,但是parse之后那个自己添加的有序列表标号还是1,后面添加的parse之后还是1.请问怎样解决这个问题?
        larryzhao:@rachelRen 不好意思我没有完全理解您的,意思,能再描述的清楚一点么?
      • 小简猫:@larryzhao 那等着。。apps貌似现在还不可以写文章发布甚至编辑好像?。话说用手机写一千字以上感觉很难想象出来啊。。。
      • larryzhao: @小简猫 都会有
        小简猫:@larryzhao apps登录来报到啦!非常好用。。谢谢
      • 小简猫:@larryzhao 这个不错,客户端?指的是电脑还是手机的?
      • larryzhao:@小简猫 现在还不支持,以后我们会出客户端的 :D
      • 小简猫:对了,可以像github那样线下写然后同步上去的么。感觉非常实用,特别在pycharm的时候一个command+K就可以上去了的。。。

      本文标题:Markdown中有序列表和无序列表

      本文链接:https://www.haomeiwen.com/subject/bqpgtttx.html