Это хорошо зарекомендовавший себя лучший способ повышения производительности веб-страницы, позволяющий минимизировать количество HTTP-запросов, которые она делает для таких ресурсов, как изображения, файлы JavaScript и таблицы стилей. Фактически, это правило № 1 на высокопроизводительных веб-сайтах Steve Souders.
В последней версии Rails эти практики формализуются для javascript и css с конвейером ресурсов , используя звездочки и библиотеки sass для объединения нескольких небольших файлов в один унифицированный (и минимизированный) файл ресурсов в рабочем режиме.
Но для изображений, где наилучшей практикой является использование css-спрайтов , у Rails (пока) нет наилучшего решения. Многие разработчики используют ручные инструменты, которые требуют загрузки файлов в сторонние веб-службы, такие как Sprite Cow или SpriteMe, когда было бы лучше иметь полностью автоматизированную систему, встроенную в задачу Rake или скрипт командной строки.
Представляем жемчужину фабрики спрайтов .
Фабрика спрайтов — это библиотека ruby, которую можно использовать для простого создания спрайтов CSS в любом приложении ruby. Он объединяет отдельные файлы изображений из каталога в одно унифицированное изображение спрайта и создает соответствующую таблицу стилей CSS для использования в вашем веб-приложении.
Библиотека обеспечивает:
- и ruby API, и скрипт командной строки
- множество настраиваемых параметров
- поддержка любого синтаксиса таблиц стилей, включая CSS и Sass.
- поддержка любой библиотеки изображений, включая RMagick и ChunkyPNG.
- поддержка различных стратегий размещения — горизонтальные, вертикальные или упакованные прямоугольники.
Вы можете найти инструкции по установке и использованию на github
Этот драгоценный камень был первоначально разработан как часть веб-приложения управления проектами LiquidPlanner . Так что спасибо им за то, что позволили мне открыть исходную версию.