如何用 markdown 在列表里插入代码段

2016-02-04 07:52:13 +08:00
 techmoe

我在用 Ghost 写博客,但是遇到一个这样的问题。我希望我的 md 最终转化为这样的一个 html 结构
<ol>
<li>测试 1
<pre>code1</pre>
</li>
<li>测试 2
<pre>code2</pre>
</li>
</ol>

然后我尝试了

结果输出的确是

<ol>
<li>测试 <br>
<code>
code1
</code></li>
<li>测试 <br>
<code>
code2
</code></li>
</ol>

求教怎么解决。。

14500 次点击
所在节点    Markdown
13 条回复
FrankFang128
2016-02-04 08:11:31 +08:00
HTML
ty0716
2016-02-04 08:13:34 +08:00
不会解析 HTML 之间的 markdown
davin
2016-02-04 10:26:53 +08:00
在标准的 Markdown 语法中,想生成 pre 标签,你需要使用四个空格,或者一个 Tab 键。
你那三个反引号生成的是 code 标签。
cleverUtd
2016-02-04 10:29:37 +08:00
我用 markdown 都是

```java
int a;
int b;
```
这样加代码段的
chemzqm
2016-02-04 10:54:28 +08:00
感觉 Ghost 主要目标并不是程序员,它自带的 markdown 解析并不支持 gfm 扩展语法, tables, strikethrough, fenced-code, footnotes, autolink 全不支持。
我之前下了个主题支持代码高亮,但是语言支持太少了(应该是 highlight.js 打包的问题)。后来我用 https://github.com/FSX/misakahttp://pygments.org 组合实现后端 markdown 后端渲染同时高亮代码,这个组合效率高,功能全,而且不用页面引用额外 js 和 css 。
全部代码在这里 https://github.com/chemzqm/blog/blob/master/bin/misaka
Hamniba
2016-02-04 11:50:49 +08:00
像这样?



1. test 1
`code snippet 1`
techmoe
2016-02-04 15:21:36 +08:00
@Hamniba 如果 F12 看的话代码那部分是用<code>包围的吧,这样显示多行代码时的效果并不好,我想让它变成用<pre>包围的
Arthur2e5
2016-02-04 15:23:02 +08:00
1. foo
->
->```
->pre-text
->```

// -> 表示缩进。
techmoe
2016-02-04 15:27:41 +08:00
![]( http://i4.tietuku.com/da30f526955f8c9d.png)

还是这样。。 F12 看里面代码是 code 包围的。。多行显示效果会不好
现在问题的关键是怎么让里面的代码段是用<pre>包围的而不是<code>
@Arthur2e5
techmoe
2016-02-04 15:28:41 +08:00
能否通过插件什么的东西实现?
Arthur2e5
2016-02-05 16:27:00 +08:00
@techmoe 你自己少放了个空行请看清楚再来。
Arthur2e5
2016-02-05 16:29:59 +08:00
@davin Ghost 是有 '```' 标记的、 GFM 风格的、使用 pre 的多行代码的。
https://blog.ghost.org/markdown/
wizardforcel
2016-02-05 19:33:31 +08:00
从结果来看不支持 gfm 啊。我在 atom 和 hexo 里这么写都没事。

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

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

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

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

© 2021 V2EX