如何将我的降价包装在HTML div中?

mik*_*ana 57 html markdown github-flavored-markdown

我正在使用MarkEd来实现GitHub风味降价.

我有一些工作降价:

## Test heading
a paragraph.
## second heading
another paragraph
Run Code Online (Sandbox Code Playgroud)

这创造了:

<h2 id="test-heading">Test heading</h2>
<p>a paragraph.</p>
<h2 id="second-heading">second heading</h2>
<p>another paragraph</p>
Run Code Online (Sandbox Code Playgroud)

我想在div中包含markdown部分,例如:

<div class="blog-post">
## Test heading
a paragraph.
## second heading
another paragraph
</div>
Run Code Online (Sandbox Code Playgroud)

但是,这会返回以下HTML:

<div class="blog-post">
## Test heading
a paragraph.
## second heading
another paragraph
</div>
Run Code Online (Sandbox Code Playgroud)

例如,没有降价,字面意思是'## Test heading'出现在HTML中.

如何在div中正确包装我的降价?

我找到了以下解决方法,但它是丑陋的,而不是一个实际的修复:

<div class="blog-post">
<div></div>

## Test heading
a paragraph.
## second heading
another paragraph

</div>
Run Code Online (Sandbox Code Playgroud)

Luc*_*asB 55

降价

对于Markdown,这是设计的.从Markdown参考的内联HTML部分:

请注意,在块级HTML标记中不处理Markdown格式化语法.例如,您不能在HTML块中使用Markdown样式强调.

但明确允许跨度级别标记:

与块级HTML标记不同,Markdown语法在span-level标记内处理.

因此,根据您的使用情况,您可能会使用a span而不是a div.

CommonMark

如果您使用的库实现了CommonMark,那么您很幸运.示例的示例108109显示,如果在HTML块和markdown代码之间保留一个空行,则内容将被解析为Markdown:

<div>

*Emphasized* text.

</div>
Run Code Online (Sandbox Code Playgroud)

应该工作,而以下不应该:

<div>
*Emphasized* text.
</div>
Run Code Online (Sandbox Code Playgroud)

并且,再次根据参考文献中的相同部分,一些实现识别markdown=1HTML标记上的附加属性以实现其内部的Markdown的解析.

虽然它似乎在StackOverflow中不起作用:

在红色背景div中测试**Markdown**.

  • 我试图用python中的markdown库(在pelican中使用)和<div markdown = 1>技巧一样.非常感谢. (2认同)

Qwe*_*tie 11

GitHub Pages支持markdown="1"在HTML元素中解析markdown 的属性,例如

<div class="tip" markdown="1">Have **fun!**</div>
Run Code Online (Sandbox Code Playgroud)

注:引号中的markdown="1",不是由HTML5必需的,但如果你不使用引号(markdown=1),GitHub上不承认它为HTML.此外,支持现在是错误的.如果HTML元素大于单个段落,则可能会得到错误的输出.例如,由于错误,我无法在div中嵌入Markdown列表.

如果你发现自己处于一个markdown="1"不起作用的环境中,那么span另一个选择就是使用<span style="display:block">块级类与它兼容,例如

<span style="display:block" class="note">It **works!**</span>
Run Code Online (Sandbox Code Playgroud)

提示: <span class="note"></span>比短<div class="note" markdown="1"></div>,所以如果您控制CSS,您可能更喜欢使用<span>并添加display: block;到您的CSS.


小智 10

需要Markdown Extra才能在HTML块中进行Markdown格式化工作,请查看此处所述的文档 - > https://michelf.ca/projects/php-markdown/extra/

Markdown Extra为您提供了一种将Markdown格式的文本放在任何块级标记内的方法.您可以通过向标记添加markdown属性来实现此目的,其值为1 - 这使得markdown ="1"


Sim*_*ver 5

最后的选择:

有些库可能区分大小写。

尝试<DIV>代替<div>,看看会发生什么。

Markdownsharp 具有此特征 - 尽管在 StackOverflow 上他们无论如何都会删除所有 DIV,因此不要指望它在这里起作用。

  • 这正是我所做的 (6认同)
  • 听起来你只是在欺骗一个有缺陷的降价解析器实现(区分大小写),他们可能会在将来修补它。 (2认同)