我正在为我的Jekyll网站做搜索引擎优化,我遇到了一个无法设置元信息的问题。
...
<meta name="og:title" content="{{ seo_title }}" />
...
<!-- now in my for post-loop: -->
{% for post in site.posts %}
<li class="post-link">
<a class="post-title" href="{{ post.url }}">
<span class="post-date">{{ post.date | date_to_string }}</span>
{{ assign seo_title = post.title }}
{{ post.title }}
</a>
</li>
{% endfor %}我正在为帖子标题分配sel_title,但它没有显示在我的元信息中!我只是得到了<meta name="og:title" content="" />
我还尝试使用{{ page.seo_title }} {{ post.seo_title }}和{{ seo_title }}在我的post.html文章布局中添加{{ assign seo_title = page.title }},但无济于事
很明显,这不是我想要的,因为从逻辑上讲,在这个for循环之后,它会将它设置为上一篇文章的标题,但我甚至不能显示它。理想情况下,我想要的是让它出现在帖子中。
You can view the page here在我想让它出现的地方。我哪里错了?我如何使用我的帖子信息来填充我的SEO元信息?
发布于 2014-02-18 13:28:38
看一下你的github存储库。您仅对索引和帖子使用了一种基本布局。在您的_posts中,当您执行{% include post.html %}时,YAML Front Matters将第一次(且只有一次)得到处理。但随后您将其传递到默认布局,并且不能同时将来自post的YAML变量传递给。
您可以采用的一个典型模式是拆分默认布局,并在_includes文件夹中创建部分html文件,即header.html和footer.html。然后,您可以使用它们来创建您的默认和post布局。这样,您就可以将post中的相关YAML Front Matter变量传递到header。
https://stackoverflow.com/questions/21832762
复制相似问题