Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как создать "черновик" в nanoc?

Автор вопроса: Charles RoperОтветов: 1

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

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

Это возможно?

rubyblogsmetadatananoc

Ответы

Ответ 1 · рейтинг 4 · Bernard

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

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).

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы