Подтвердить что ты не робот

Статическая компиляция HTML с частицами с использованием Grunt.js

Я искал все для чего-то, что позволит мне прекомпилировать статические сайты с помощью Grunt. У него должны быть частичные, поэтому я могу включать в себя такие вещи, как общий верхний/нижний колонтитул на страницах.

До сих пор я действительно нашел Jade, у которого есть плагин grunt и этот плагин для Grunt, который компилирует шаблоны Dust.js для статического HTML. Мне не очень нравится синтаксис Jade, а плагин Dust для Grunt менее идеален.

Существуют ли какие-либо статические шаблоны HTML-шаблонов с поддержкой Grunt/ Gulp, которые не слишком сильно отклоняются от обычного HTML и все еще активны?

4b9b3361

Ответ 1

Я нашел этот плагин с именем grunt-includes. Я искал ответ на ваш вопрос навсегда. Это первый, который я видел, который кажется простым в использовании. У всех остальных, похоже, есть эта функция, но они делают 20x других вещей, поэтому они кажутся неправильным инструментом для работы.

Единственное, что мне не хватает, это возможность префикс относительных путей. Я говорю с разработчиком modest, который становится лучшим вариантом.

ОБНОВЛЕНИЕ: там grunt-includes-replace, который почти так же прост и может префикс относительных путей. IE: он позволяет передавать переменные.

Ответ 2

У меня был некоторый успех, делающий это только с помощью сборки grunt. Я сделал пару видеороликов, когда я начал использовать его:

http://www.youtube.com/watch?v=oRwL5Y7K0CM (5:43)

http://www.youtube.com/watch?v=R9Jj9ciA2wM (16:44)

Здесь официальный сайт:

https://github.com/assemble/assemble

С этого сайта вы можете увидеть, как можно использовать частичные; например:

assemble: {
  options: {
    assets: 'assets',
    partials: ['docs/includes/**/*.hbs'],
    data: ['docs/data/**/*.{json,yml}']
  },
  pages: {
    src: ['docs/*.hbs'],
    dest: './'
  }
}

Тогда, по сути, вы можете запустить что-то вроде:

grunt assemble

или для более мелкозернистого управления вы можете выполнить задачу сборки цели, например:

grunt assemble:your_target

Это хорошо работает для меня. Для этого требуется немного кривая обучения, и документы, скорее всего, улучшатся, когда они продолжат работать над этим.

Ответ 3

Я использую https://npmjs.org/package/grunt-dust для предварительной компиляции шаблонов пыли с частицами.

Соответствующая часть Gruntfile.js может выглядеть примерно так:

    dust: {
        defaults: {
            files: {
                'views/index.js': 'views/**/*.dust'
            },  
            options: {
                wrapper: 'commonjs',
                runtime: false,
                wrapperOptions: {
                    returning: 'dust',
                    deps: {
                        dust: 'dustjs-linkedin',
                        dustHelpers: 'dustjs-helpers'
                    }   
                }   

            }   
        }   
    },

Это положит все скомпилированные шаблоны пыли в views/index.js.

В https://github.com/vtsvang/grunt-dust

имеется больше примеров и более подробных документов.