<在降价中有特殊含义? [英] < has special meaning in markdown?

查看:83
本文介绍了<在降价中有特殊含义?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

tmp.md:

Choices for blank 91:       __A__:  pa>pb      __B__:  pa<pb      __C__: pa==pb      __D__: pa<>pb

Choices for blank 92:       __A__:  pa<>pb      __B__:  pa<pb      __C__:  pa>pb      __D__: pa==pb

使用'grip --export tmp.md'进行编译,并得到意外的结果:

Compiled with 'grip --export tmp.md' and get unexpected result:

Choices for blank 91: A: pa>pb B: papb

Choices for blank 92: A: pa<>pb B: papb D: pa==pb

似乎GRIP处理过的<作为元字符.但是降价手册不是这样说的吗?我在这里想念什么吗?

It appears GRIP treated < as a meta character. But the markdown manual doesn't say so? Am I missing anything here?

推荐答案

作为规则状态:

对于Markdown语法未涵盖的任何标记,您只需使用HTML本身即可.无需在其前添加或定界以表明您正在从Markdown切换为HTML;您只需使用标签即可.

For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you’re switching from Markdown to HTML; you just use the tags.

因此,Markdown不变地传递了<>.但是,由于这些字符是HTML标记的分隔符,因此您的浏览器会将<>之间的任何内容解释为HTML标记,并且不会显示它.当然,如果您从不打开标签(使用<),那么浏览器将忽略结束标签(>).因此,在将<用作纯文本字符时,最好使用HTML实体以确保浏览器将其视为这样:&lt;(提示: L ess T han => &lt; => <)

Therefore, Markdown passes < and > through unaltered. However, as those characters are HTML tag deliminators, your browser will interpret anything between a < and a > as an HTML tag and it will not display it. Of course, if you never open a tag (with <), then a closing tag (>) will be ignored by the browser. Therefore, when using a < as a plain text character, it is best to use the HTML entity to ensure the browser sees it as such: &lt; (hint: Less Than => &lt; => <)

因此,使用您的示例输入:

So, to use your example input:

Choices for blank 91:       __A__:  pa>pb      __B__:  pa&lt;pb      __C__: pa==pb      __D__: pa&lt;>pb

Choices for blank 92:       __A__:  pa&lt;>pb      __B__:  pa&lt;pb      __C__:  pa>pb      __D__: pa==pb

输出看起来像这样:

选择空白91: A :pa> pb B :pa< pb C :pa == pb D :pa<> pb

Choices for blank 91: A: pa>pb B: pa<pb C: pa==pb D: pa<>pb

选择空白92: A :pa<> pb B :pa< pb C :pa> pb D :pa == pb

Choices for blank 92: A: pa<>pb B: pa<pb C: pa>pb D: pa==pb

请注意,这是浏览器的行为.除非Markdown不允许/不支持在Markdown文档中使用原始HTML,否则无法采取任何措施进行更改.

Note that this is the behavior of your browser. There is nothing Markdown could do to change that unless it did not allow/support using raw HTML within Markdown documents.

当然,每次想要<字符时键入&lt;都不理想.通常,包含此类字符的文本可以分类为代码".因此,通常最好将其包装在代码范围中(嵌入时)文本)或代码块(当所有代码都由一个代码块组成时)或更多行).

Of course, typing &lt; each time you want a < character is less than ideal. Generally, text which contains such characters could be classified as "code". Therefore it is usually best to just wrap it in a code span (when it is embedded in text) or a code block (when all the code consists of a block of one or more lines).

For example, this paragraph contains `<>` characters.

上面的Markdown将导致生成以下HTML:

The above Markdown will result in the following HTML being generated:

<p>For example, this paragraph contains <code>&lt;&gt;</code> characters.</p>

请注意,尖括号已为您转换为&lt;&gt;(并包裹在<code>标记中).浏览器会将其呈现为:

Notice that the angle brackets were converted to &lt;&gt; for you (and wrapped in <code> tags). And the browser will render that as:

例如,此段包含<>个字符.

这篇关于&lt;在降价中有特殊含义?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆