2

在 Liquid 中,您可以捕获一个变量:

{% capture header %}

<!-- My header content -->

{% endcapture %}

然后可以使用过滤器转换此变量中的任何内容:

{{ header | strip_newlines }}

现在,假设您在<head>网页上有一些引用/元标记:

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

{% if page.demo %} <link href="/css/demo.css" rel="stylesheet" type="text/css" media="screen">{% endif %}
<link href="/css/hello.css" rel="stylesheet" type="text/css" media="print">

你将如何只去除双换行符?我想要结束的是<head>每行一个“参考”的干净。demo.css 文件的“if”结构将使非演示页面的源代码看起来像这样:

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">


<link href="/css/hello.css" rel="stylesheet" type="text/css" media="print">

我不希望行之间有多余的空白 - 在某些情况下,在更大的网站上它可能是 10 多行空白。寻找有关如何通过过滤内容来消除此空白的建议。

4

2 回答 2

3

Jekyll 插件可以去除空格。

Aucor 的 Jekyll 插件:例如插件。修剪不需要的换行符/空格并按权重属性对页面进行排序。

您可以直接从其Github 存储库中获取。所以基本上你用{% strip %}{% endstrip %}. 即使这不适合您的需要,您也可以轻松更改 ruby​​ 脚本。

例如:

{% strip %}
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     {% if page.demo %} <link href="/css/demo.css" rel="stylesheet" type="text/css"     media="screen">{% endif %}
     <link href="/css/hello.css" rel="stylesheet" type="text/css" media="print">
{% endstrip %}

但是,请记住 Jekyll 插件的本质,你不能在 Github Pages 服务器上运行它们。

从文档中引用:

GitHub Pages is powered by Jekyll, however all Pages sites are generated using the --safe option to disable custom plugins for security reasons. Unfortunately, this means your plugins won’t work if you’re deploying to GitHub Pages.

You can still use GitHub Pages to publish your site, but you'll need to convert the site locally and push the generated static files to your GitHub repository instead of the Jekyll source files.
于 2013-07-14T21:09:05.587 回答
1

最新版本的 Liquid 具有控制空白的内置方法。如果您的项目使用的是 Liquid 4.0 或更高版本,那么您将能够在大括号内使用连字符以避免创建新行。

{%- capture random -%}
Here's a cool example
{%- endcapture -%}
于 2017-02-21T01:29:57.243 回答