Grishanenko
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Давно мне не нравится что при сохранении страниц из интернета зачастую размер css получается в пару десятков раз больше, чем непосредственно у html-файла. Похоже что современные "сайтописатели" сваливают большинство стилей со всех страниц сайта в один огромный css-файл. Начал поиск с аддонов для браузера. В моем случае это MyPal (основан на FireFox и PaleMoon). В Classic Addons Archive нашел единственный подходящий аддон здесь: caa:addon/dust-me-selectors dust_me_selectors-4.1-fx.xpi Первая преграда - работает только с сайтами, а не с уже сохраненными файлами. При попытке обработки локальной страницы, пишет: Cannot process stylesheet [Content-type is not CSS] Открыл страницу по-умолчанию в MyPal: https://duckduckgo.com/?t=palemoon Попробовал сделать очистку - пишет что этот css слишком сжат для него. Похоже, ему подавай такой, чтобы в одной строке было только один селектор. Открыл какую-то другую страничку. Tools - Dust-Me Selectors - Scan this page Открылось окошко со список неиспользуемых селекторов в каждом из 4-х css файлов. Жму Clean на первом. Внизу нужно поставить пыржик "Removed". Save - сохранить. Повторить для всех файлов. Получается слишком много мороки. На некоторых сайтах все равно вываливаются ошибки. Иногда залипает на десяток минут и даже не понятно завершится ли процесс. Может грузить проц и 20 мину, а по факту ничего и сохранение не происходит. Второй аддон http://web.archive.org/web/20210417001427/https://dl-ssl.google.com/page-speed/current/page-speed.xpi Работает через firebug Запустить с разными версиями firebug не получилось. Анализ не работает. https://code.google.com/archive/p/page-speed/issues/1979 "Unable to run Page Speed" Третий и последний найденный инструмент purifycss работает через Node.js. В инете есть лишь краткие описания. Но я совсем не в теме, так что пришлось разбираться что к чему. Последняя версия Node.js, работающая в Win XP https://nodejs.org/download/release/v5.12.0/ Достаточно установить "Node.js runtime" и "npm package manager". Прописывание в Path - кому как удобнее, я не ставил. Инсталлятор навалит 3505 файлов сюда: C:\Program Files\nodejs\ Для установки purifycss нужно перейти в директорию C:\Program Files\nodejs\ открыть командную строку и ввести: npm install purifycss@1.2.6 Когда purifycss скачается вместе со всеми зависимостями, то число файлов увеличится до 4327. Использование: purifycss style.css index.html --min --out purify-style.css --info --rejected --min файл CSS будет минимизирован. Удаляются все переносы строк. Если предполагается дальнейшее изменение - лучше не делать минимизацию. --out путь и имя для сохранения нового файла. Можно указать имя оригинального файлы, тогда он будет перезаписан. --info отображает результат выполнения очистки. Втч на сколько процентов уменьшен файл. --rejected выводит список всех селекторов, которые были удалены. Я в DoubleCommander создал для этого дела кнопку: Команда: node.exe Параметры: %t1 node_modules\purifycss\bin\purifycss %pl %pr --out %pl --info Путь запуска: %COMMANDER_PATH%\plugins\node\ В левой панели выбран css, в правой - html. Нажал кнопку - через 10-30 сек готово. Правда, случаются и ошибки. Обычно, при этом указывается номер строки и номер символа, где программе что-то не понравилось. Здесь уж только открывать css, искать все глазами, исправлять и пробовать. И хорошо если в css вся информация находится не в одной строке с номером символа 10000+ (та самая минимизация). Пока большинство проблемы ограничивалось лишними "//" после ";" т.е. не понимает комментарии типа: Код: .cke_skin_kama_container { visibility:visible; background: #FFFFFF; // no stylevar } | Иногда ошибка из-за отсутствия значения: Код: Еще попадались квадратики после "}". Плохо реагирует на: Код: Было у меня желание скомпилировать всю эту кучу файлов в exe, но найденная программа https://github.com/nexe/nexe/releases/download/v3.3.3/windows-x86-12.4.0 не запускается, пишет "Точка входа не найдена". Видимо, хочет .Net или Win7. Попадались еще какие-то программы, но с ними тоже ничего не вышло. Подробностей уже не вспомню. |