Как создать «черновой» элемент в nanoc? - PullRequest
4 голосов
/ 10 января 2012

Я хочу отображать сообщения в разных папках в зависимости от кода состояния в метаданных.

Например, если у меня есть атрибут status: draft, я бы хотел, чтобы эти элементы отображалисьв папку с именем /draft/, а status: live будет отображаться в /blog/.Затем я мог защитить паролем папку draft, чтобы ее мог просматривать только я.Если статус вообще отсутствует, он по умолчанию будет черновым.

Возможно ли это?

1 Ответ

4 голосов
/ 10 января 2012

В вашем файле правил используйте следующее:

route '*' do
  if item.binary?
    item.identifier.chop + '.' + item[:extension]
  elsif item[:status]
    '/' + item[:status] + item.identifier.chop + '.' + item[:extension]
  else
    item.identifier + 'index.html'
  end
end

Это создаст каталог для каждого вашего статуса.Например: исходный файл, который начинается с

---
title: file1
status: testing
---

, будет создан в папке / testing /.

Чтобы удалить оставшиеся файлы после компиляции, вы можете использовать «nanoc prune» (новый вnanoc 3.3.x).

...