使用 Highlight.js 在 Jekyll Github 页面中显示 C# <summary> 标签

IT技术 javascript c# jekyll highlight github-pages
2021-02-09 03:55:31

为了使用简单的 HTML 成功显示代码,我基于 Jekyll 的博客中添加了Highlight.js博客Github 页面上运行

<!--Add Highlight.js https://highlightjs.org/download/ -->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/styles/default.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/highlight.min.js"></script>

<!-- Using Highight.js https://highlightjs.org/usage/-->
<script>
  hljs.initHighlightingOnLoad();
</script>

我需要显示以下C# 代码,<pre> <code class="csharp">之间的所有内容</code> </pre>

<pre>
<code class="csharp">

/// <summary>
/// Main class of the project
/// </summary>
class Program
{
    /// <summary>
    /// Main entry point of the program
    /// </summary>
    /// <param name="args">Command line args</param>
    static void Main(string[] args)
    {
        //Do stuff
    }
}

</code>
</pre>
     

此代码是在加入.md文件显示在这里

一切都在渲染,除了<summary>标签。荧光笔是否将其误解为普通 HTML?

问题:

在这种情况下,开发人员如何确保使用Highlight.js显示标签之间<pre> <code class="csharp"></code> </pre>包括该<summary>标签的所有内容

2个回答

Jekyll 有高亮标签和 css ( _sass/_syntax-highlighting.scss) 板载。

{% highlight csharp %}
/// <summary>
/// Main class of the project
/// </summary>
class Program
{
    /// <summary>
    /// Main entry point of the program
    /// </summary>
    /// <param name="args">Command line args</param>
    static void Main(string[] args)
    {
        //Do stuff
    }
}
{% endhighlight %}

这是开箱即用的,无需客户端过载。所有可用的 Pygment 词法分析器都在这里

+3 这很酷!我更关心服务器而不是客户端;)
2021-04-07 03:55:31

codeHTML标签的用途段落式内容,这意味着它将把普通的HTML标签,如<summary>作为普通的HTML代码,因此省略了输出。

为避免此问题,您必须正确编码所有标签:

<pre>
<code class="csharp">

    /// &lt;summary&gt;
    /// Summary description for the function or property goes here
    /// &lt;/summary&gt;

</code>
</pre>
这是完美的和有帮助的。谢谢!
2021-03-26 03:55:31