如何将类属性和值传递给 markdown 语法

发布于 09-25 19:36 字数 682 浏览 6 评论 0原文

我在 django 项目中使用 python markdown,当我有值时,

#/usr/bin/env python
print "this is converted to html code block"

输出是

<pre><code>    
#/usr/bin/env python
print "this is converted to html code block"
</code><pre>

现在我的问题是如何将类属性和值传递给代码 elem。 示例:

#i should be using some markdown syntax below
[class="python"]
#/usr/bin/env python
print "this is converted to html code block"

那么这里的输出

<pre><code class="python">    
#/usr/bin/env python
print "this is converted to html code block"
</code><pre>

可以吗?又如何呢?

Im using python markdown for my django project, when i have the value

#/usr/bin/env python
print "this is converted to html code block"

the output is

<pre><code>    
#/usr/bin/env python
print "this is converted to html code block"
</code><pre>

Now my question is that how can i pass class attribute and value to code elem.
Sample:

#i should be using some markdown syntax below
[class="python"]
#/usr/bin/env python
print "this is converted to html code block"

and then the output here

<pre><code class="python">    
#/usr/bin/env python
print "this is converted to html code block"
</code><pre>

is that possible? and how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

潇烟暮雨2024-10-02 19:36:49

您可以在 Markdown 中编写 HTML,但不能添加类和 id 等内容。

请参阅此问题此问题了解更多详细信息。

You can write HTML in Markdown, but you can't add things like classes and ids.

See this question or this question for more details.

一个人的旅程2024-10-02 19:36:49

如果您使用 Github Flavored Markdown,您可以使用它,

```python
    print "I am python!"
```

它将添加一个“lang-python”类。我需要这个来突出显示。

请参阅此处

If you're using Github Flavored Markdown you can use this

```python
    print "I am python!"
```

It will add a "lang-python" class. I needed this for highlightjs.

See here

挖个坑埋了你2024-10-02 19:36:49

您可以将生成的 HTML 通过其他一些过滤器,该过滤器查找并解析 #! 行,并基于它添加 Python 类。 lxml 将是一个很好的方法。我不确定你会如何与 Django 进行安排。

You could pass the resulting HTML through some other filter that finds and parses the #! line and adds the Python class based on it. lxml would be a good way to do it. I'm not sure how you'd go about arranging that with Django though.

岁月静好2024-10-02 19:36:49

这是我的解决方案。首先,Markdown 缩进,使其成为代码块:

    |*|-language-css-|*|
    .code {
      color: red;
    }

注意 |*|- 和 -|*|。我使用这些符号只是为了确保接下来有一些独特的东西可以解析。

然后,一点点 JavaScript(现在是 jQuery,我将直接用 JS 编写以进行优化):

$('pre code').each(function() {

    var code = $(this).html(),
        the_code = code.split('-|*|')[1].substring(1),
        language = code.split('|*|-')[1].split('-|*|')[0];

    $(this).html(the_code).addClass(language);

});

如您所见,上面的 JavaScript 将采用 |*|- 和 -|*| 中的任何内容。并将其作为类添加到 CODE 元素上。根据您的需要进行修改。

结果是这样的:

<pre>
    <code class="language-css">
        .code {
            color: red;
        }
    </code>
</pre>

This is my solution. First, the Markdown, indented so that it will become a code block:

    |*|-language-css-|*|
    .code {
      color: red;
    }

Notice the |*|- and -|*|. I'm using these symbols just to make sure I have something unique to parse next.

Then, a little bit of JavaScript (jQuery for now, I'll write it in straight JS to optimize):

$('pre code').each(function() {

    var code = $(this).html(),
        the_code = code.split('-|*|')[1].substring(1),
        language = code.split('|*|-')[1].split('-|*|')[0];

    $(this).html(the_code).addClass(language);

});

The above JavaScript, as you can see, will take whatever was inside the |*|- and -|*| and add it as a class on the CODE element. Modify as suits your needs.

The result is this:

<pre>
    <code class="language-css">
        .code {
            color: red;
        }
    </code>
</pre>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文