То, что вы ищете, это не минификация, а сжатие. Сокращение по определению только удаляет пробелы, поскольку сокращение идентификаторов изменяет интерфейс, потенциально нарушая внешние сценарии, которые зависят от него. По этой причине минимизация по своей природе «безопаснее», чем сжатие, хотя в закрытой системе (т.е. в инкапсулированном веб-приложении) сжатие может быть хорошей идеей.
Для Javascript большинство людей используют YUI Compressor или Packer Дина Эдвардса .
Для CSS существует множество инструментов для «оптимизации» стилей, но я не знаю ни одного, который бы также сокращал имена классов. Причин для этого может быть несколько:
- Чтобы сжать CSS-файл, сценарию потребуется знать все HTML-файлы, которые его содержат, чтобы изменить ссылки на класс и идентификатор в них. В зависимости от размера и структуры вашего веб-сайта, он может быть нетривиальным.
- После сжатия семантический HTML становится менее читабельным, так как
<span class="image_caption">
превращается в <span class="a12">
или, что еще хуже, <p id="a12">
.
Определенно можно было бы сделать что-то вроде того, что вы описываете (и я на самом деле работаю над личной CMS / инфраструктурой, которая будет ), но для того, чтобы она была ремонтопригодной, вероятно, придется быть интегрированной частью жестко структурированной CMS, сжимая все файлы «за кулисами» всякий раз, когда публикуется новое изменение, сохраняя при этом все исходные файлы, чтобы можно было поддерживать сайт в целом.