【问题标题】:How can i use the pygments make the markdown display line numbers?我如何使用 pygments 使降价显示行号?
【发布时间】:2014-03-18 15:39:59
【问题描述】:

我知道液体高亮显示的行号。 例如:

{% highlight java linenos %}
    public class Test {

    }
{% endhightlight $}

但是不知道怎么让markdown高亮显示行号?

```java
    public class Test {

    }
```

这样就不会显示行号了。是不是要加个options参数?

【问题讨论】:

    标签: markdown highlight jekyll pygments


    【解决方案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(或其他替代方法)
    猜你喜欢
    • 2014-12-07
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    相关资源
    最近更新 更多