2015-05-14 2 views
0

My middleman template имеет переменную 'id', в которую я помещаю имя своей работы в html email.pass middleman variable to grunt file

Я знаю, что если я изменю файл erb-файла посредника с index.html.erb на newName.html.erb, он выведет его как окончательное имя файла.

Моя проблема в том, что для большинства моих задач grunt требуется имя файла, в котором я хочу, чтобы они выполнялись (я пробовал использовать * .html, но он работает только для некоторых задач) и не имеет редактирования, что в файле grunt перед запуском grunt они не будут выполняться, если я изменю имя файла erb.

Есть ли способ передать grunt, что переменная 'id', чтобы назвать файл посредника, выводит, а также подключает эту переменную к различным задачам, чтобы они тоже принимали это как имя файла?

Вот мои хрюкать конфигурации:

grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 
     // Build html 
     middleman: { 
      options: { 
       useBundle: true 
      }, 
      server: {}, 
      build: { 
       options: { 
        command: "build" 
       } 
      } 
     }, 
     // Format html file 
     prettify: { 
      options: { 
       // Task-specific options go here. 
      }, 
      one: { 
       src: 'build/index.html', 
       dest: '_output/index.html' 
      } 
     }, 
     // Run the text converter 
     execute: { 
      simple_target_with_args: { 
       options: { 
        // execute node with additional arguments 
        args: ['_output/index.html'] 
       }, 
       src: ['node_modules/node-text-converter/converter.js'] 
      } 
     }, 
     'special-html': { 
      compile: { 
       files: { 
        '_output/index.html': '_output/index.html', 
       } 
      } 
     }, 
     'phantomjs_screenshot': { 
     main: { 
      options: { 
       delay: 1000 
      }, 
      files: [{ 
       expand: true, 
       cwd: '_output', 
       src: ['**/*.html'], 
       dest: '_output/screenshots/', 
       ext: '.jpg' 
      }] 
     } 
    } 
}); 
+0

Описание вашей установки я немного расплывчато. Что вы на самом деле делаете с вашими шаблонами? Возможно, появится шанс позволить посреднику сгенерировать что-то вроде 'all_ids.erb.json' и загрузить этот файл через Grunt. –

+0

После того, как посредник создает файл, префикс запускает и выводит результат в новую папку. Затем создается настраиваемая задача, которая вытаскивает весь текст из html-файла для создания обычной текстовой версии электронной почты (это тот, который должен иметь имя файла для запуска вместо работы во всех файлах. За ним следует задача для кодирования специальных символов html и, наконец, для скриншота электронной почты. Я вставлю файл grunt выше, чтобы вы действительно могли его увидеть. – JSturgessMeyers

ответ

1

Вы должны хранить переменные в файл JSON и импортировать его как в Middleman и Грант.