【发布时间】:2016-03-30 16:06:41
【问题描述】:
我正在运行一个关于 Harp 的博客。一切都像魅力一样起作用,但有一件事我无法实现(也不理解)。整个项目使用EJS。问题在于生成的源代码 (HTML) 中有很多额外的空白。我已经尝试减少它,就像在菜单的情况下一样,但没有奏效。
我希望至少减少换行符。通常我使用这样的东西:
<li id="nav1" class="main-menu-li-current"><a class="menu-link-current" href="/">home</a></li><!--
--><li id="nav2" class=""><a class="menu-link" href="/ebooks">ebooks</a></li><!--
--><li id="nav3" class=""><a class="menu-link" href="/coding">coding</a></li><!--
但问题是部分由 EJS 动态服务,这不起作用,代码看起来很丑:
<div class="categories"><!--
--><span class="category"><a class="category-link" href="/ebooks">ebooks</a></span>
有什么办法可以解决吗?如果我使用缩小的 LESS,我也想使用缩小的(或至少看起来合理的)HTML!
示例代码:
<div class="categories"><!--
<% var categories = public.articles._data[slug].categories %>
<% if (categories !== undefined) { %>
<% for (var i = 0; i < categories.length; i++) { %>
<% if (categories[i] !== "vim tips") { %>
--><span class="category"><a class="category-link" href="/<%= categories[i] %>"><%= categories[i] %></a></span>
<% } else { %>
--><span class="category"><a class="category-link" href="/vim">vim tips</a></span>
<% } %>
<% } %>
<% } %>
</div>
【问题讨论】:
-
嘿,您使用的是哪个版本的 Harp?如果您在 harpjs.com 上查看源代码,您会看到 Harp 默认会缩小
script、style和pre标记之外的所有 HTML。 -
嘿,谢谢你的提问,我的版本是0.17.0。我还可以强调它是相同的,在动态查看的站点以及编译的站点中。
-
我刚刚意识到它改进了很多!当我删除每个空格(以及行尾)时。会不会是问题?我在无头 Ubuntu 服务器上使用 Vim。我猜那里的一切都是 UTF-8,行尾是 Unix。
-
一个愚蠢的想法 :) 我可以用 yield.replace(...) 删除空格,但这真的很丑陋。
-
仍然没有解决 :( 我的 Harp 实际版本是 0.20.1。
标签: html ejs removing-whitespace harp