当我提出以下内容时:
|![alt ]({attach}img/myimg.png "hint1")|
鹈鹕将按预期生成图像。我想使用html来自定义食物,所以我使用了:
<p align="center">
![alt ]({attach}img/myimg.png "hint1")
<br>
Figure 1.
</p>
但是鹈鹕只生产:
![alt ]({attach}img/myimg.png "hint1")
Figure 1.
但是如果我把第一个表和第二个html放在没有空分隔线的地方:
|![Attention architecture ]({attach}img/myimg.png "hint1")|
<p align="center">
![Attention architecture ]({attach}img/myimg.png "hint1")
<br>
Figure 1.
</p>
我有两张图片..但是...当我在第一张图像指令之后和第二张图像指令之前放置空行时:
|![Attention architecture ]({attach}img/myimg.png "hint1")|
<p align="center">
![Attention architecture ]({attach}img/myimg.png "hint1")
<br>
Figure 1.
</p>
然后只有第一条指令包含预期的图像而第二条指令不包括,并产生相同的:
![alt ]({attach}img/myimg.png "hint1")
Figure 1.
如何使用这种包含图片的HTML方式?
答案 0 :(得分:0)
简而言之,您无法使用HTML来包装Markdown。 Markdown不在HTML中处理。但您可以使用Markdown扩展名为生成的HTML分配属性。
作为rules州:
在块级HTML标记中不处理Markdown格式化语法。例如,您不能在HTML块中使用Markdown样式的
*emphasis*
。
当然,您想知道为什么当您在<p>
标记之前的行上包含一行文字时它似乎有效。规则还解释了:
唯一的限制是块级HTML元素 - 例如
<div>
,<table>
,<pre>
,<p>
等 - 必须通过空行与周围内容分开,并且不应缩进块的开始和结束标记带有标签或空格。 Markdown非常聪明,不会在HTML块级标记周围添加额外的(不需要的)<p>
标记。
在您的情况下,缺少空行会导致解析器无法将<p>
标记识别为原始HTML块。因此,它将块包装在自己的额外<p>
标记中,从而生成无效的HTML。因此,造型挂钩可能无法按照您的意愿使用。
实际上,Pelican包括对Markdown扩展的支持,包括Attribute List Extension,默认情况下会与Markdown解析器一起安装。您只需要enable它(向下滚动到Markdown
)。将以下内容添加到配置文件中:
MARKDOWN = {
'extension_configs': {
'markdown.extensions.attr_list': {}
}
然后,您可以在Markdown中包含属性列表,以指定各种样式挂钩。
![alt ]({attach}img/myimg.png "hint1")
<br>
Figure 1.
{: align=center }