2014-05-27 1 views
0

Невозможно найти информацию о настройках по умолчанию/config для среды. Actualy Я хочу собственный генерировать --env myenv без минимизации вывода html, как это делает.Что такое настройки среды docpad по умолчанию/как настроить

+0

Мини-выход продукции не является собственностью среды. Обычно это задача, выполняемая в файле docpad.coffee. Какой скелет вы используете? Параметры конфигурации для docpad находятся по адресу: http://docpad.org/docs/config –

+0

ну, но в конфиге я не нахожу задачу перенаправления. По умолчанию он настроен по-разному для разработки и статики. Но не знаю, как это сделать. Имейте очень голый docpad.coffe с почти никакими определениями. – user1308302

+0

Я расширил то, что я имею в виду в ответе ниже. –

ответ

1

Я имел взгляд на нефритовых-плагин-файлов. Таким образом, вам это нужно в вашем docpad.coffee:

environments: 
    static: 
    plugins: 
     jade: 
     jadeOptions: 
      pretty: true 
1

Обычный способ это делается путем запуска задачи grunt в событии writeAfter в нижней части файла docpad.coffee. Если вы загрузите скелет HTML5 boilerplate with grunt, тогда это будет легче увидеть. Его второй в списке, когда вы устанавливаете скелеты через docpad.

Что часто делается для отображения различных файлов стилей (например, миниатюрных или оригинальных) в зависимости от среды, является размещение некоторого кода в макете, который запрашивает среду и в зависимости от этого выдает соответствующие файлы. Возможно, как это:

<%if @site.env == 'development':%> 
    <%- @getBlock('styles').add(@site.styles).toHTML() %> 
<%else:%> 
    <link rel="stylesheet" href="/styles/all.min.css" /> 
<%end%> 

Вы могли бы сделать выше без хрюкать, конечно, если у вас уже есть уменьшенная и unminified файлы. Grunt просто выполняет минимизацию и объединяет каждый раз, когда восстанавливается docpad.

Что скелет HTML5 делает использовать вспомогательную функцию и черновой конфигурационный файл для достижения того же:

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':%> 
+0

Может быть, я был неясен. Я не имел в виду css minification, но простое html-преобразование или сжатие. На самом деле я смотрел на html5 котелплат с ворчанием. Но, честно говоря, я не очень правильно понимаю, какую часть проклятыхСтилей вы упомянули. Я сводил все сценарии к минимуму и к моим эффектам. Я называю рутинную рутину с writeafter, а одна задача - uncss. Но uncss терпит неудачу, если html минимизирован/сжат. И с моей собственной средой, которую я называю, весь html является плоским. Поэтому я хочу настроить среду с помощью выделенного html-вывода, как это делает -env. – user1308302

+0

В этом контексте я столкнулся с другим конфликтом, который также не разрешает шаблон html5boilerplategrunt. Возможно, у вас есть и некоторые идеи по [этой проблеме] (http://stackoverflow.com/questions/23934061/docpad-grunt-iteration-over-all-html-files) – user1308302

+0

@ user1308302 Да - проклятыеСтилы немного сложно но более простой способ - использовать оператор if if в макете, который раньше делал скелет html5. Я подозреваю, что из того, что вы говорите, что любой процесс, который вы используете для «сглаживания» html, есть что-то в этом процессе, принимающее решение об окружающей среде, в которой он находится. –