Harp服务器产生很多空格(用HTML格式)

时间:2015-09-16 07:45:48

标签: html ejs removing-whitespace harp

我在Harp上运行博客。一切都像魅力,但有一件事我无法实现(并且不理解)。整个项目使用EJS。问题是在生成的源(HTML)中有很多额外的空格。我试图像菜单一样减少它,但是没有用。

我希望至少减少换行次数。通常我使用这样的东西:

B Nazanin

但问题是由EJS动态提供的部分,这不起作用,代码看起来很难看:

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

有什么方法可以解决这个问题吗?如果我使用缩小的LESS,我也想使用缩小(或至少看起来合理)的HTML!

示例代码:

      <div class="categories"><!--




           --><span class="category"><a class="category-link" href="/ebooks">ebooks</a></span>

2 个答案:

答案 0 :(得分:0)

如果您认为这是一个问题,可能值得在EJS repository上搜索有关此问题的现有问题。解决方案可能来自而不是竖琴。也就是说,解决这个问题的一种方法可能是在EJS中使用JS注释而不是HTML注释,因此根本不会编译注释:

<% /* %>
  <h1>Commented out portion of my template</h1>
<% */ %>

我不认为你所拥有的评论是必要的。动态EJS不会输出您已将其注释掉的任何HTML,因此最好的方法是将它们完全删除:

<div class="categories">
  <% var categories = public.articles._data[slug].categories %>
  <% if (categories !== undefined) { %>
     <% for (var i = 0; i < categories.length; i++) { %>
       <span class="category"><a class="category-link" href="/<%= categories[i] === "vim tips" ? "vim" : categories[i] %>"><%= categories[i] %></a></span>
      <% } %>
    <% } %>
  <% } %>
</div>

希望这有用!

答案 1 :(得分:0)

解决了,问题是EJS将新行放在哪里 - 如果它们没有被正确评论。当我将代码缩减为:

<div class="categories"><%
   var categories = public.articles._data[slug].categories
     if (categories !== undefined) {
        for (var i = 0; i < categories.length; i++) { %>
       <span class="category"><a class="category-link" href="/<%= categories[i] === "vim tips" ? "vim" : categories[i] %>"><%= categories[i] %></a></span>
      <% }
       }
     }
%></div>

......它有效。

从我的观点来看,它的结构要差得多,但却有效。