我如何使用 pygments 使降价显示行号?
Posted
技术标签:
【中文标题】我如何使用 pygments 使降价显示行号?【英文标题】:How can i use the pygments make the markdown display line numbers? 【发布时间】:2014-03-18 15:39:59 【问题描述】:我知道液体高亮显示的行号。 例如:
% highlight java linenos %
public class Test
% endhightlight $
但是不知道怎么让markdown高亮显示行号?
```java
public class Test
```
这样就不会显示行号了。是不是要加个options参数?
【问题讨论】:
【参考方案1】:添加行号和格式的简单方法是使用 css/javascript。查看Prettify
Markdown 生成器只会在您的内容周围创建 html 标签<div class="highlight"><pre><code></code></pre></div>
。
在页面的 head 部分,添加对 prettify 脚本的引用,传递您需要的参数(或将脚本本地保存在您的站点中)
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=css&skin=sunburst"></script>
然后使用一些 jQuery 将“prettyprint”类添加到 pre 标记中。这应该就是让 prettyprint 正常工作所需要的一切
<script>
$( document ).ready(function()
$(this).find( ".highlight" ).each(function()
$(this).find("pre").addClass("prettyprint");
)
);
</script>
选择你喜欢的theme,或者使用默认值并添加“linenums”类来获取你的行号
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=css&skin=sunburst"></script>
<script src="/javascripts/jquery-1.8.3.min.js"></script>
<script>
$(this).find("pre").not('.prettyprint').each(function()
$(this).addClass("prettyprint linenums");
prettyPrint();
)
</script>
您的问题是关于使用 pygments。如果那是你想要使用的,那么保留流动的模板代码,让 pygments 标记你的代码块并使用 pygments 样式表。我个人不喜欢在我的帖子中添加模板。可能可以将 Jekyll 配置为使用降价生成器来生成对代码更友好的 html,但我还没有看到。
【讨论】:
我不使用 google-code-prittiry。我使用 pygments。好吗? 如果你想使用 pygments,请使用液体高光。如果您选择降价,请使用 prettify(或其他替代方法)以上是关于我如何使用 pygments 使降价显示行号?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Pygments 在 Django 项目中显示 <pre> 中的行号