我希望找到像三个反引号一样简单的东西,但仍然允许其他 Markdown 语法。
但这不适用于三个反引号,因为它用于代码块:
**NOTE:**
Find the docs [here](http://example.com/).
所有内容都是按照字面意思解释的,因此不可能在其中使用其他Markdown功能,如链接或粗体文本...
Markdown中是否有任何语法或特性可以启用这样的通知框?
我希望找到像三个反引号一样简单的东西,但仍然允许其他 Markdown 语法。
但这不适用于三个反引号,因为它用于代码块:
**NOTE:**
Find the docs [here](http://example.com/).
所有内容都是按照字面意思解释的,因此不可能在其中使用其他Markdown功能,如链接或粗体文本...
Markdown中是否有任何语法或特性可以启用这样的通知框?
正如Waylan在他的回答中提到的,Github在显示markdown之前会去除脚本和样式标签。这意味着在Github上呈现的通知框的唯一可能性是由原生markdown或html提供的。
经过一些搜索和实验,我发现可以(滥用)表格语法,
并与Github emoji markdown结合使用。
例如:
Boxes from a single cell table:
| :exclamation: This is very important |
|-----------------------------------------|
| :zap: Ignore at your own risk! |
|-----------------------------------------|
Boxes from a single row table with 2 cells:
| :memo: | Take note of this |
|---------------|:------------------------|
| :point_up: | Remember to not forget! |
|---------------|:------------------------|
Boxes from a 2 row table:
| :warning: WARNING |
|:---------------------------|
| I should warn you ... |
| :boom: DANGER |
|:---------------------------|
| Will explode when clicked! |
<br />
标签。在这种情况下,直接使用HTML <table>
标签可能更简单,因为它没有这个换行限制。同时,可以通过将<thead>
的<th>
标签替换为<td>
标签来取消表头的粗体样式。{{注意保留代码标签和尖括号符号}}<table>
<thead>
<tr>
<td align="left">
:information_source: Information
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<ul>
<li>Tis not true.</li>
<li>I won't explode.</li>
</ul>
</td>
</tr>
</tbody>
</table>
> [!NOTE]
> Highlights information that users should take into account, even when skimming.
> [!IMPORTANT]
> Crucial information necessary for users to succeed.
> [!WARNING]
> Critical content demanding immediate user attention due to potential risks.
是否有任何markdown语法或功能可以启用这样的通知框?
是的,您可以使用原始的HTML。正如原始规则所解释的那样:
HTML是一种发布格式;Markdown是一种编写格式。因此,Markdown的格式语法仅涉及可用纯文本传达的问题。
因此,在一些文本周围设置警告框的样式超出了Markdown的范围,因为这是一个发布关注点,而不是编写关注点。但是,正如规则继续指出的那样:
对于任何未被Markdown语法覆盖的标记,您只需使用HTML本身即可。
由于您使用的是Github Flavored Markdown,因此您可以获得额外的好处,即在正确格式化时,仍然可以在块级原始HTML标记内处理Markdown(只要您使用的解析器符合规范)。正如规范所解释的那样,在第一个空行之后,在原始HTML块内处理Markdown。因此,只需在打开原始HTML标记后包含一个空行,就不会出现任何问题。
<div class="warning">
**NOTE:**
Find the docs [here](http://example.com/).
</div>
警告
类分配给封装的<div>
标记。一些CSS也需要在文档中定义(在<style>
标记中),以样式化任何具有警告
类的<div>
。style
属性中定义样式:<div style="...">
(将...
替换为实际的CSS规则)。
不过需要注意的是,如果您计划将文档呈现并托管在github.com上,这是行不通的。虽然GitHub的Markdown解析器会按照上述描述工作,但为了安全起见,GitHub还进行了一些后处理(如github/markup所记录的那样)。它们使用的sanitation filter将剥离所有样式(内联或非内联)。在这种情况下,没有可用的选项。在StackOverflow上也是同样的情况。