Как сжимать и минимизировать активы с помощью jekyll-плагинов
У меня есть простое тестовое приложение jekyll, например:
index.html:
<script type="text/javascript" src="/assets/myfile.js"><script>
<p>hi</p>
и файлы myfile.js выглядят следующим образом:
var x = "this is a string";
alert(x + "hi");
Я просто хочу добавить плагин, чтобы он мог минимизировать файл js, прежде чем он будет записан в файл _site/assets/myfile.js.
Как я могу это сделать?
Ответы
Ответ 1
Вот краткое изложение того, что я нашел, решая это в 2014 году:
Начнется с
1) https://github.com/donaldducky/jekyll-cssminify
Развитие продолжалось хорошо, пока он не был избит этим проектом:
2) http://www.matthodan.com/2012/11/22/jekyll-asset-pipeline.html
... который до сих пор был моим фаворитом для реализации, за исключением того, что он не работает сейчас, и похоже, что разработка была остановлена, поэтому я был вынужден перейти на
3) https://github.com/ixti/jekyll-assets
... который снова бьет # 2, но это просто сложнее, чем использовать. Во всяком случае, это единственное, что работает, так что я сейчас использую.
Ответ 2
Существуют плагины для HTML и CSS minification с Jekyll, но поиск не вызывает ничего очевидного для JS.
Однако источник для CSS один выше составляет менее 100 строк и фактически использует Juicer, чтобы выполнить минимизацию, которая также может выполнять JS, так что плагин можно легко использовать в качестве шаблона для реализации собственного JS minifier (похоже, что даже просто s/css/js/g
будет близко к работе).
Ответ 3
Я рекомендую Jekyll Asset Pipeline для этого. Он поддерживает любой язык (например, Scss, Less, CoffeeScript, Erb и т.д.) И имеет множество функций (например, теги данных, сжатие, gzipping и т.д.), Которые устанавливают его отдельно. В наши дни он также кажется самым быстрорастущим драгоценным камнем, связанным с Джекилом, который я подразумеваю, что он набирает силу в сообществе.
Ответ 4
Для JS и CSS вы можете использовать Jekyll Asset Bundler Он использует жуки-компиляторы yui-comp или comp-compiler.