Не удается найти информацию о настройках по умолчанию/конфигурации для среды. На самом деле я хочу создать --env myenv без минимизации вывода html, как это делает --env development.
Что такое среда docpad по умолчанию / как настроить
Ответы (2)
Обычно это делается путем запуска задачи grunt в событии writeAfter
внизу файла docpad.coffee. Если вы загрузите скелет шаблон HTML5 с grunt, то это будет легче увидеть. Это второй в списке, когда вы устанавливаете скелеты через docpad.
Что часто делается для отображения разных файлов стилей (например, минимизированных или оригинальных) в зависимости от среды, так это размещение некоторого кода в макете, который запрашивает среду и, в зависимости от этого, выводит соответствующие файлы. Возможно вот так:
<%if @site.env == 'development':%>
<%- @getBlock('styles').add(@site.styles).toHTML() %>
<%else:%>
<link rel="stylesheet" href="/styles/all.min.css" />
<%end%>
Конечно, вы можете сделать это без ворчания, если у вас уже есть минифицированные и неминифицированные файлы. Grunt просто минифицирует и объединяет каждый раз, когда docpad регенерирует.
Что делает скелет HTML5, так это использует вспомогательную функцию и файл конфигурации grunt для достижения того же самого:
getGruntedStyles: ->
_ = require 'underscore'
styles = []
gruntConfig = require('./grunt-config.json')
_.each gruntConfig, (value, key) ->
styles = styles.concat _.flatten _.pluck value, 'dest'
styles = _.filter styles, (value) ->
return value.indexOf('.min.css') > -1
_.map styles, (value) ->
return value.replace 'out', ''
Если вы действительно хотите определить свою собственную среду, это может быть так же просто, как определить значение свойства env
в файле docpad.coffee, а затем запросить это значение в макете.
В docpad.coffee
env: myenvironment
И в макете:
<%if @site.env == 'myenvironment':%>
Я посмотрел файлы jade-plugin. Итак, вам нужно это в вашем docpad.coffee:
environments:
static:
plugins:
jade:
jadeOptions:
pretty: true