2015-10-20 37 views
0

在中間人,我想知道如何將頭標籤添加到我的基本佈局從子佈局。在中間人如何添加一個孩子佈局的頭標籤?

我有一個layout.erb和一個blog-layout.erb。

我通過將額外的項目放在佈局的YAML frontmatter中來解決Jekyll中的問題,並且我喜歡這種方法。

我一直試圖在Middleman重新創建它,但它一直沒有工作。

我有我的博客,layout.erb這樣的:

--- 
head: 
- -<%= feed_tag :atom, "/blog/feed.xml", title: "Atom Feed" %>' 
--- 

<% wrap_layout :layout do %> 
<div id="main" role="main"> 
    <%= yield %> 
</div> 
<% end %> 

然後在我的layout.erb我想這樣做:

<% current_page.data.head.each do |headItem| %> 
    < % = headItem %> 
< % end %> 

我試圖從配置訪問佈局的frontmatter。 RB,但我沒有得到那個工作。

這裏是我的嘗試之一:

with_layout :bloglayout do 
    page "/blog/*", :headers => config[:bloglayout].head 
end 

我無法揣摩出全球佈局存儲以及如何訪問它們。

回答

0

Padrino的application helpercontent_for典雅的處理將頭來自包裝佈局的標籤。

我的佈局:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" > 
    <%= yield_content :head %> 

我bloglayout:

<% wrap_layout :layout do %> 

    <%= yield %> 

    <% content_for :head do %> 
     <%= feed_tag :atom, "/blog/feed.xml", :title => "Atom Feed tag" %> 
    <% end %> 
<% end %> 

我config.rb

activate :blog do |blog| 
    blog.layout = "bloglayout" 
0

我還沒有弄清楚如何通過孩子佈局前置物。

我所做的就是創建一個數據文件:blogmetaheaders.yml

headers: > 
<link rel="alternate" type="application/atom+xml" title="Atom Feed" href="/blog/feed.xml" /> 

然後在我的layout.rb我有這樣的代碼注入頭:

<% if current_page.path.start_with? 'blog' 
     data.blogmetaheaders.each do |headerItem, headerValue | %> 
     <%= headerValue %> 
     <% end %> 
     <% end %> 
相關問題