在Markdown中緊跟list列表後的四空格縮排程式碼被錯誤解析問題與解決方法
問題
在Github上編寫文件時遇到了一個奇葩問題:緊跟在list列表項之後的四空格縮排程式碼被不正確地解析。
例子如下:
- list item1
- list item2
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Hello world!\n");
return 0;
}
設想中四空格縮排的程式碼是與上面兩項list項無關的。但是實際解析生成的頁面裡,#include <stdio.h>成了h1標題。
猜想出錯原因是兩者之間沒有很好的分開,縮排的程式碼被誤認為多級list項了。
解決辦法
-
插入水平線加以分隔;
-
插入佔位用的普通文字加以分隔;
-
插入空白的標籤加以分隔,例如<br />、<p></p>、<div></div>。
拿辦法3中的br標籤舉例如下:
- list item1
- list item2
<br />
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Hello world!\n");
return 0;
}