Идею с свг утащил у Николая громова svg-sprite.
Для запуска сборки нужно поставить необходимые пакеты. Из папки проекта запустить:
npm i
Для сборки спрайта, sass-файлов, запуска демки и автообновления:
grunt
/img/svg/
— папка для мелких файлов, из которых собирается спрайт.
/img/sprite.svg
— собираемый спрайт.
/js/sсript.js
— готовый код для подгрузки svg-спрайта в localStorage (загружается один раз). Аккуратно с тестами, я пока не разобрался, как НЕ В РУЧНУЮ удалять ключи из localstorge.
Упорно не отображался спрайт, пока не разобрался, как должен выглядеть маленький svg-файл
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="15" viewBox="0 0 18 15"><path d="код свг"/></svg>
Используется grunt-contrib-sass. Не забудьте поставить ruby и sass через
gem install sass
npm install grunt-contrib-sass --save-dev
Файлы компилятся автоматом при запуске сборки, если не нужно это, то можно отдельной командой
grunt sass
Используется grunt-contrib-stylus. npm install grunt-contrib-sass --save-dev
Файлы компилятся автоматом при запуске сборки, если не нужно это, то можно отдельной командой
```bash
grunt sass
Автонаблюдение включено для спрайтов, sass(stylus) и html