jquery - Prettyprint 格式的代码样式不正确
问题描述
我正在考虑在我的网站上添加一个博客,所以我使用 Prettyprint 来设置代码样式,问题是样式显示不正确,如图像所示。
第 1 行为空白,最后 2 行为空白,第 2 行在最右侧。
我尝试在 jQuery 中编写一些代码,但它过于激进并删除了所有缩进。
$(document).ready(function () {
$(".prettyprint").each(function (index, element) {
element.textContent = element.textContent.replace(/^\s+/mg, "");
});
});
如下图所示
那么有谁知道如何删除空行并将第二行拉到左边
控制器代码和部分
[ChildActionOnly]
public ActionResult DisplayCode(IEnumerable<IPublishedContent> comps)
{
var components = comps;
CodeBlock subModel = null;
foreach (var item in components)
{
string codeBlockText = item.GetPropertyValue<string>("codeBlock", "No Code Found");
subModel = new CodeBlock
{
TextString = codeBlockText
};
}
var primaryModel = new NestedContentViewModel
{
DisplayCodeBlock = subModel
};
return PartialView("~/Views/Partials/pvCodeBlock.cshtml", primaryModel);
}
<div class="container">
<div class="row">
<div class="col-md-12">
<pre class="prettyprint linenums:1">
<code>
@Model.DisplayCodeBlock.TextString.Trim()
</code>
</pre>
</div>
</div>
</div>
解决方案
南瓜这个:
<pre class="prettyprint linenums:1">
<code>
@Model.DisplayCodeBlock.TextString.Trim()
</code>
</pre>
进入这个:
<pre class="prettyprint linenums:1"><code>@Model.DisplayCodeBlock.TextString.Trim()</code></pre>
<pre>
正在为您保留空格(这对代码至关重要,否则您将无法缩进)。但是,这包括您在内容之间留下的空白<pre>
,以及内容和</pre>
. 例如,您想知道为什么代码后面有两个空行。这是因为在 and 之间有一个换行符...Trim()
,</code>
然后在</code>
and之间有另一个换行符</pre>
。
Tl;dr:每当您使用<pre>
时,请记住删除您不希望在网页中看到的任何空白。
推荐阅读
- apache - 本地主机工作,但 ip 给 timout
- testing - 我应该在 MQ/服务架构中测试整个业务流程吗?
- android - Dagger2:找不到符号类 Dagger*Component
- java - java:带开关的循环有时只能工作
- mips - 用 MIPS 编写时,我不确定是使用 li 还是 addi。我仍然不清楚有什么区别。
- awk - 从 file_B 中提取特定行,其中行由 file_A 中的数字指定
- c# - XAMARIN:如何将 [Android] 硬件后退按钮链接到 Webkit.WebView?
- javascript - Firebase - 从 Web 应用程序表单将新数据写入数据库
- loops - 无效输入后循环重复
- python - 如何使用 for 循环创建现有列的平方版本?