stackoverflow.com使用哪种语法高亮显示插件? (Razor MVC的语法高亮显示插件)

时间:2014-06-12 12:09:16

标签: javascript jquery razor

我在jquery插件中知道一些SyntaxHighlighter,例如:

...........

但没有人对MVC Razor说:(

需要插件完全类似于在Razor中应用代码的样式stackoverflow.com,如此

@Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.")
@using (Html.BeginForm()){
<p>
<label for="FirstName">First Name:</label>
@Html.TextBox("FirstName")
@Html.ValidationMessage("FirstName", "*")
</p>
<p>
<label for="LastName">Last Name:</label>
@Html.TextBox("LastName")
@Html.ValidationMessage("LastName", "*") 
</p>
<p>
<label for="gender">Gender:</label>
@Html.RadioButton("gender", "Male", true) Male
@Html.RadioButton("gender", "Female", false) Female
</p>       
<p>
<label for="Password">Password:</label>
@Html.Password("Password")
@Html.ValidationMessage("Password", "*") 
</p>
<p>
<label for="Password">Confirm Password:</label>
@Html.Password("ConfirmPassword") 
@Html.ValidationMessage("ConfirmPassword", "*") 
</p>
<p>
<label for="Profile">Profile:</label>
@Html.TextArea("Profile", new { cols = 60, rows = 10 })
</p>
<p>
@Html.CheckBox("ReceiveNewsletter") 
<label for="termsAndconditions" style="display:inline">I Agree</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
}

有人知道这样做吗?

1 个答案:

答案 0 :(得分:3)

根据this Meta thread,Stack Exchange使用Googles Code Prettify,因此您也应该考虑使用它。

专门针对Raxor MVC - 如果你看一下语法高亮显示器是如何工作的,很容易看出它如何突出你的例子。

Google Code Prettify在代码容器中查找类名以确定如何突出显示代码 - 根据我链接到的Meta线程,StackExchange使用post标签来确定要应用于引用代码块的类名,如果无法从标签中确定它,那么......使用默认值!

以下是StackExchange如何标记您的Razor MVC示例:

<pre class="default prettyprint prettyprinted">
  <code>
    <span class="lit">@Html</span>
    ....
  </code>
</pre>

以下是StackExchange如何使用C#标记标记帖子中的示例:

<pre class="lang-cs prettyprint prettyprinted">
  <code>
     <span class="kwd">var</span>
     ...
  </code>
</pre>

两者之间的区别在于您的示例使用默认语法高亮定义。