Обновление плагина svg_fallback

В прошлом посте всем было немного непонятно: почему бы не определять браузер существующими способами и зачем отказываться от JS-библиотек? Вопросы вполне закономерные, но у меня была причина искать способ сделать SVG-фолбек без внешних зависимостей: нужно было решение для grunt-плагина.

Исходные данные: мой плагин для Grunt, который берет SVG-иконки и делает из них фолбек для IE8. То есть он генерит PNG и CSS-файлы, которые можно использовать в любых браузерах, но в CSS жестко зашит только класс .ie8. Это было быстрое решение, которое затем предполагалось сделать более универсальным.

Новое решение должно было быть не только универсальным, но и простым. То есть пользователь берет библиотеку иконок, генерит файлы, подключает их в свой проект и всё просто работает. Любые внешние зависимости означали бы, что пользователю надо было бы помнить и о них тоже, а также позаботиться о том, чтобы классы совпадали с теми, что используются в CSS-коде фолбека. По-моему, так себе конструкция, и именно поэтому мне захотелось найти решение на CSS.

Решение найдено, и я уже включила его код в плагин svg_fallback. Я не уверена, что это лучшее решение из возможных, но оно универсальное, и оно просто работает.

Вобщем, если вы используете svg_fallback, обновляйте плагин, пробуйте, делитесь впечатлениями. Также если вам известны для этой задачи какие-то решения получше, буду рада о них узнать.

Ссылки по теме:
Грабли на чистом SVG
svg_fallback (Grunt plugin)
Зачем я написала плагин для Grunt
Если вы нашли ошибку или неточность, вы можете отредактировать статью с помощью prose.io, а также можно написать мне в комментариях или в Twitter.
Система комментирования от Disqus