使用 Liquid 标签 Jekyll 进行 URL 字符串插值

Ale*_*ang 1 liquid jekyll

我正在尝试让 Jekyll 动态生成链接。该链接适用于 CSS 文件,但取决于正在呈现的页面。

即如果页面被联系,它应该呈现mywebsite.com/lib/css/contact.css

我遇到的问题是,当我尝试嵌套液体标签时,它无法正确解析名称。它似乎将整个字符串视为文字字符串而不是解析名称。

我尝试过以下方法:

注意:layout.cssFile是一个页面变量,其中包含我希望渲染的 CSS 文件的名称。

尝试1:

<link href="{{ lib/css/" | append:  layout.cssFile }} | relative_url }}" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

尝试2:

<link href="{{ "lib/css/{{ layout.cssFile }} | relative_url }}" rel="stylesheet"> 
Run Code Online (Sandbox Code Playgroud)

尝试3:

{% assign cssPath="lib/css/{{layout.cssFile}}" %}
  <link href="{{ cssPath | relative_url }}" rel="stylesheet"> 
Run Code Online (Sandbox Code Playgroud)

这些都不起作用。我怎样才能以一种干净的方式编写它,使其易于阅读并且达到我想要的效果?

ash*_*oli 5

您不必在 Liquid 中使用双引号。单引号也一样好。

<link href="{{ layout.cssFile | prepend: 'lib/css/' | append: '.css' | relative_url }}" />
Run Code Online (Sandbox Code Playgroud)