Не лучший титул, но я честно не уверен, как правильно объяснить, что я ищу.Использование статьи frontmatter при итерации в блоге Middleman
Итак, я использую блог Миддман, чтобы создать свой блог. В любом случае, я использую frontmatter для передачи css, которые изменяют внешний вид каждой страницы по отдельности. Я использую 4 переменные, link_color, text_color, bg_link. Так что я хочу, чтобы повторно использовать ту же самую информацию о фронте в файле layout.html.erb.
Так layout.html.erb стандартная
<% if paginate && num_pages > 1 %>
<p>Page <%= page_number %> of <%= num_pages %></p>
<% if prev_page %>
<p><%= link_to 'Previous page', prev_page %></p>
<% end %>
<% end %>
<% page_articles.each_with_index do |article, i| %>
<li class="article_summary">
<h1><%= link_to article.title, article, id: "#{i}" %></h1>
</li>
<% end %>
<% if paginate %>
<% if next_page %>
<p><%= link_to 'Next page', next_page %></p>
<% end %>
<% end %>
То, что я пытаюсь сделать, это для каждой статьи в этом итераторе, если изделие имеет bg_color
frontmatter затем использовать это и изменить цвет article.title
если нет, то ничего не делайте. В настоящее время, если я попытаюсь что-то вроде:
<style>
<% if article.data.bg_color? %>
.article_summary a#<%= i %>{
color: rgb(<%=article.data.bg_color %>);
}
<% end %>
</style>
Я делаю это так, потому что мой блог живет на Github.
В настоящее время это работает, но поскольку это просто простая итерация, он дает каждой статье тот же цвет, но не на основе статьи. Поэтому я пытаюсь найти лучший способ использовать индекс как своего рода идентификатор, чтобы они были нацелены индивидуально.
Возможно, изменение li из класса в id, состоящее из индекса, но тогда я не смогу применить глобальный стиль из scss в папке stylesheet no?