使用 django-pygmentify 突出显示 Django 模板引擎中的内部代码块

Posted

技术标签:

【中文标题】使用 django-pygmentify 突出显示 Django 模板引擎中的内部代码块【英文标题】:Highlighting the inner code blocks in Django Template Engine with django-pygmentify 【发布时间】:2022-01-10 02:50:21 【问题描述】:

我正在使用django-pygmentify 包来突出显示我的 Django 模板中的代码块。问题是这个包只支持代码块作为输入。我有一个保存降价数据的模型字段。此降价内容可能包含代码块。 (使用```符号)

现在,如何突出显示它的内部代码块??

假设我有一个只包含源代码的字段。喜欢:

print('Hey..!')

在这种情况下,这个可以正常工作。

% load pygmentify_tags %
...
% pygmentify %
post.code
% endpygmentify %

假设我的字段包含以下内容。

## Hello
This is my first step working with Python.
```python
print('Hey..!')
‍```

在这种情况下,我该如何实现呢?我可以使用post.body|markdown|safe 呈现整个降价内容,但是如何突出显示这些代码块?我还想给所有这些代码块一个类名.code-block 以获得更好的样式。我应该创建一个自定义模板标签吗?

【问题讨论】:

【参考方案1】:

你可以像这样使用html标准<code>标签:

% load pygmentify_tags %
...
% pygmentify %
<code>
post.code
</code>
% endpygmentify %

这将分离代码部分,同时将对其应用 pygmentify。

【讨论】:

正如我在问题中提到的,我的问题是突出显示降价内容中的代码。谢谢顺便说一句。

以上是关于使用 django-pygmentify 突出显示 Django 模板引擎中的内部代码块的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PDFKit 突出显示 pdf 中的选定文本?

使用 Python 和 MacVim 突出显示部分语法

如何在文本突出显示期间保留语法突出显示

在标签栏中设置自定义图标以突出显示/未突出显示

使用 jQuery 突出显示一个单词

使用 VBA 选择和突出显示 Excel 行