скрипт предназначен для сжатия файлов
реализовано сжатие форматов:
- .js - через http://closure-compiler.appspot.com/
- .css - через http://cssminifier.com/
- curl
- gzip
Клонируем репозиторий:
git clone https://github.com/andreich2013/MCCompress.git
Добавляем файлу права на исполнение:
chmod +x pathToFile/MCCompress.sh
скрипт готов к работе
следующий код запускает скрипт
pathToFile/MCCompress.sh pathToDir/production pathToFile/productionList.txt [-o|-s]
параметры(* помечены обязательные параметры):
- *1 - путь к папке, в которой будут находится сомпилированные файлы,
если папка физически папки нет, она будет создана автоматически,
если передано в первый параметр '-h', выведется справка о данном скрипте - *2 - путь к файлу, в котором содержится список скриптов для компилирования (подробнее о списке в readme.md)
- 3 - отвечает за способ компилирования и записи:
- '-o' - все будет скомпилировано в один файл
- '-s' - все будет скомпилировано в разные файлы
- если не передан, пользователь будет спрошен о способе компилирования
Пример строки с файлом для сжатия
add compile file:pathToFile/script.js
Примечание* путь к файлам указывайте от корня без применения псевдонимов "~", "$HOME".
add compile file:/home/user/pathToFile/script.js
Если вы не хотите добавлять на данном этапе сжатия, но возможно хотите использовать его в будущем можно указать следующую директиву:
!add compile file:pathToFile/script.js
Если вы не хотите сжимать файл на данном этапе сжатия, либо он уже сжат и вы хотите просто добавить его можно указать следующую директиву:
add !compile file:pathToFile/style.css
или такой вариант тоже будет правильным:
add file:pathToFile/style.css
Внимание! В файле не должно быть ничего лишнего - комментариев или чего либо еще - допускаются только пустые строки
папка для демонстрации с файлами для сжатия и файлом-списком находится в проекте и называется test.
Тестовый запуск осуществляется следующим образом:
pathToLocalProjectDir/MCCompress.sh pathToLocalProjectDir/test/production pathToLocalProjectDir/productionList.txt
Внимание! Перед использованием в файле productionList.txt замените текст "/home/user/pathToLocalProject/" в строках на актуального пользователя и локальный путь к проекту
паттерн: что-то типо(поскольку bash не объектно-ориентирован) фабричного метода
проект на github.com - github.com:andreich2013/MCCompress
автор: Андрей Вахрушев aka andreich, [email protected]