Использование haml для публикации файлов в блоге посредников

У меня есть блог Middleman с файлами постов в источнике / журнале.

Конфигурация моего блога:

activate :blog do |blog|
  # set options on blog
  blog.prefix = "journal"
  blog.permalink = "{year}-{month}-{day}-{title}.html.haml"
  blog.sources = "{title}.html.haml"
  blog.layout = "journal_layout"
end

И файл сообщения в source/journal/2015-12-02-hello-world.html.haml

\---
title: Hello World
date: 2015-12-02
category: Photography
\---

%article
  %h1 Hello World
  %p Denver, Colorado :: December 2nd, 2015
  %p Lore ipsum dolar

Я могу открыть страницу с прямым URL, но пост не регистрируется:

- blog.articles[0...5].each do |article|
  %article
    %h2= link_to article.title, article.url

... и frontmatter просто отображается как обычный текст в верхней части страницы.

Большое спасибо за ваше время.

ОБНОВИТЬ!

Конфигурация блога должна быть:

activate :blog do |blog|
  # set options on blog
  blog.prefix = "journal"
  blog.permalink = "{year}-{month}-{day}-{title}.html"
  blog.sources = "{year}-{month}-{day}-{title}.html.haml"
  blog.layout = "journal_layout"
end

и файл статьи HAML:

---
title: Hello World
date: 2015-12-02
category: Photography
---

%article
  %h1 Hello World
  %p Denver, Colorado :: December 2nd, 2015
  %p Lore ipsum dolar

1 ответ

Решение

Проблема в том, что вы включаете полное расширение файла ".html.haml", но что ожидает расширение блога посредника, так это окончательное (обработанное) расширение файла, которое просто ".html".

Измените конфигурацию вашего блога на следующую, и она должна работать:

activate :blog do |blog|
  # set options on blog
  blog.prefix = "journal"
  blog.permalink = "{year}-{month}-{day}-{title}.html"
  blog.sources = "{title}.html"
  blog.layout = "journal_layout"
end
Другие вопросы по тегам