流动标签会在某些页面上扩展,而不是在其他页面上

时间:2018-07-25 14:00:18

标签: html yaml jekyll liquid

我网站homepage上的液体标签没有扩展(具体请参见说明标签):

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- If the post has an empty title (because it's a "short") then don't add it to the title of the page. -->
    <title>Alex Learns Programming</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="{% for post in paginator.posts %} {{ post.date | date: site.date_format }} {{ post.title }} {% if post.summary %} {% if post.image %} {% endif %} {{ post.summary }} Read more &#8594; {% elsif post.content contains site.excerpt_separator %} {{ post.excerpt }} Read more &#8594; {% else %} {{ post.content }}...">
    <meta name="author" content="Alex Johnson">

    <link rel="canonical" href="http://code.alxmjo.com/">
    <link rel="alternate" type="application/rss+xml" title="RSS Feed for Alex Learns Programming" href="/feed.xml" />
    ...

但是,在posts上,液体标签可以很好地扩展:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- If the post has an empty title (because it's a "short") then don't add it to the title of the page. -->
    <title>Insitu: Week Five &#8211; Alex Learns Programming</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Today I finish my fifth week at Insitu. I was supposed to be on a bus headed out to watch a test flight today, but that trip was postponed because of a nearby wildfire. So instead I’m sitting in my usual coffee shop in White Salmon, thinking back on the...">
    <meta name="author" content="Alex Johnson">
    <meta name="keywords" content="Insitu">

    <link rel="canonical" href="http://code.alxmjo.com/insitu-week-five">
    <link rel="alternate" type="application/rss+xml" title="RSS Feed for Alex Learns Programming" href="/feed.xml" />
    ...

根据我的研究,我知道Liquid标记正确展开需要YAML前提。但是我相信我把它们放在正确的地方。

我不确定这是否与此问题有关,但是我相信这是与该问题有关的文件:

对于它的价值,这是大多数库存的,最新的Jekyll安装。

知道我在这里做错了什么吗?

1 个答案:

答案 0 :(得分:0)

问题出在_includes/head.html中的这一行:

<meta name="description" content="{% if page.summary %}{{ page.summary | strip_html | strip_newlines }}{% else %}{{ page.content | strip_html | truncatewords: 50 }}{% endif %}">

该主页没有摘要,因此将转到if语句的第二部分,仅提取该页面的内容。那恰好是原始液体,因此它是如何显示在上面的。

通过将该行修改为以下内容来解决此问题:

<meta name="description" content="{% if page.url == "/" %}{{ site.description }}{% elsif page.summary %}{{ page.summary | strip_html | strip_newlines }}{% else %}{{ page.content | strip_html | truncatewords: 50 }}{% endif %}">

有点麻烦,但是可以解决问题。