【问题标题】:Showing C# <summary> tags in Jekyll Github pages using Highlight.js使用 Highlight.js 在 Jekyll Github 页面中显示 C# <summary> 标签
【发布时间】:2015-12-30 15:37:38
【问题描述】:

为了显示codes successfully with simple HTML,我在Jekyll based blog 中添加了Highlight.js,它在Github pages 上运行

<!--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# 代码,即 &lt;pre&gt; &lt;code class="csharp"&gt;&lt;/code&gt; &lt;/pre&gt; 之间的所有内容:

<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>
     

此代码添加在this .md file 中,即displayed here

除了&lt;summary&gt; 标签之外,一切都在渲染。 the Highlighter 是否将其误解为普通 HTML?

问题:

在这种情况下,开发人员如何确保&lt;pre&gt; &lt;code class="csharp"&gt;&lt;/code&gt; &lt;/pre&gt; 之间的所有内容(包括&lt;summary&gt; 标记)都使用Highlight.js 显示?

【问题讨论】:

    标签: javascript c# jekyll highlight github-pages


    【解决方案1】:

    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 词法分析器都是 here

    【讨论】:

    • +3 这太酷了!我更关心服务器而不是客户端;)
    【解决方案2】:

    code HTML Tag 使用 Phrasing Content,这意味着它会将常规 HTML 标记(例如 &lt;summary&gt;)视为常规 HTML 代码,因此会省略输出。

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

    <pre>
    <code class="csharp">
    
        /// &lt;summary&gt;
        /// Summary description for the function or property goes here
        /// &lt;/summary&gt;
    
    </code>
    </pre>
    

    【讨论】:

    • 这非常完美而且很有帮助。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2017-02-19
    • 2021-08-25
    • 2013-06-26
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多