Markdown格式化列表中的代码块

时间:2017-01-24 17:11:31

标签: github markdown

我正在尝试确定我是否做错了,或者是否存在常见Markdown处理器的错误。

我有以下降价代码(source):

1. Verify that your system meets the [system requirements for BLT](../INSTALL.md)
1. [Fork](https://help.github.com/articles/fork-a-repo) the primary GitHub repository
1. Clone your fork to your local machine:

         git clone git@github.com:username/project-repo.git
         git remote add upstream git@github.com:acquia-pso/project-repo.git

1. If your project uses separate `master` and `develop` branches, checkout the `develop` branch: `git checkout develop`
1. Run `composer install` (you must already have Composer installed).
1. Install `blt` alias: `composer blt-alias`

您可以在此处查看此呈现方式:

  1. 验证您的系统是否符合BLT的系统要求
  2. Fork主GitHub存储库
  3. 将您的前叉克隆到本地计算机:

     git clone git@github.com:username/project-repo.git
     git remote add upstream git@github.com:acquia-pso/project-repo.git
    
  4. 如果您的项目使用单独的masterdevelop分支,请检查develop分支:git checkout develop

  5. 运行composer install(您必须已安装Composer)。
  6. 安装blt别名:composer blt-alias
  7. 检查HTML并注意列表项3和4如何包含在段落块中,而其他列表项则不是。这可能会导致非常不一致的样式,具体取决于使用的CSS。

    我只是想知道为什么Markdown会在段落中放置一些列表项而不是其他列表项?我可以在Stackoverflow上,GithubReadthedocs(看起来最糟糕)复制此行为。

2 个答案:

答案 0 :(得分:3)

这些段落仅在第3项和第4项中。#3因为代码块而有一个 - 我认为没有办法解决[0]。由于代码块之后的额外行,#4有一个。

这里的a gist在第4项上没有段落。

[0]我不是HTML专家,但由于代码块需要<pre>,因此前面的文本可能需要在<p>中。请参阅inline vs block-level elements

答案 1 :(得分:1)

最接近降价标准的是CommonMark,它是says

  

如果列表中的任何组成列表项由空行分隔,或者如果其任何组成列表项直接包含两个块级元素,并且它们之间有空行,则列表松散。否则列表。 (HTML输出的不同之处在于松散列表中的段落包含在<p>标记中,而紧密列表中的段落则不包含在内。)

不同的markdown解析器以不同方式处理这些事情,但由于您的第三个项目包含代码块,因此至少该项目将包含在<p>标记中。根据CommonMark,所有列表项应该包含在段落中。

无论哪种方式,您都可以通过换行符分隔列表项来强制所有<p>标记:

1. Verify that your system meets the [system requirements for BLT](../INSTALL.md)

1. [Fork](https://help.github.com/articles/fork-a-repo) the primary GitHub repository

1. Clone your fork to your local machine:

         git clone git@github.com:username/project-repo.git
         git remote add upstream git@github.com:acquia-pso/project-repo.git

1. If your project uses separate `master` and `develop` branches, checkout the `develop` branch: `git checkout develop`

1. Run `composer install` (you must already have Composer installed).

1. Install `blt` alias: `composer blt-alias`