Привет,
в рамках одного закрытого проекта, распилил огромную картинку на изображения 20х20 пикселов.
Получилось почти 1000 значков, которые расположились в каталоге /lib/images/smileys/local/
Создал smileys.local.conf, в котором написано что-то вроде:
:r1c1: local/r1c1.png
:r1c2: local/r1c2.png
...
Очистил кэш и в редакторе страниц, в смайлах, появились мои почти 1000 смайлов.
Очень обрадовался результату, но выбирать нужный символ в таком большом блоке очень затруднительно.
Поискал, есть ли возможность группировки значков, но таковой не обнаружилось.
Собственно, хотел предложить реализовать или плагином, или патчем к самому редактору.
Прежде, чем будет испорчена хоть одна строчка оригинального кода, хотел обсудить будущий синтаксис, что бы он устраивал как можно больше пользователей.
Вариант №1
Пускай, у нас есть огромный список вида:
:r1c1: local/r1c1.png # Рыжий кот
:r1c2: local/r1c2.png # Черный кот
:r1c3: local/r1c3.png # Полосатый кот
:r1c4: local/r1c4.png # Белый кот
...
:r2c1: local/r2c1.png # Тукан
:r2c2: local/r2c2.png # Орел
:r2c3: local/r2c3.png # Снегирь
:r2c4: local/r2c4.png # Ворона
Переношу картинки с котиками в каталог cats, а с птицами в birds, создаю smileys.cats.conf и smileys.birds.conf
#folder cat/folder.png
:r1c1: cat/r1c1.png # Рыжий кот
:r1c2: cat/r1c2.png # Черный кот
:r1c3: cat/r1c3.png # Полосатый кот
:r1c4: cat/r1c4.png # Белый кот
В редакторе, иконки начинают группироваться, вместо рядов котов и птиц, отображаются одиночные иконки кота и птички, которые раскрываются, когда навожу мышь.
Если сделать именно так, то потом можно будет синтаксис "#folder filename.png" расширить до
#folder cat/folder.png Cats
#folder:ru cat/folder.png Котики
Вариант №2
Дополняем синтаксис файла, указывая в третьей колонке, положение изображения в списке:
#folder local/cats.png Котики
:r1c1: local/r1c1.png # Котики/Рыжий кот
:r1c2: local/r1c2.png # Котики/Черный кот
:r1c3: local/r1c3.png # Котики/Полосатый кот
:r1c4: local/r1c4.png # Котики/Белый кот
...
#folder local/birds.png Птички
:r2c1: local/r2c1.png # Птички/Тукан
:r2c2: local/r2c2.png # Птички/Орел
:r2c3: local/r2c3.png # Птички/Снегирь
:r2c4: local/r2c4.png # Птички/Ворона
Такой синтаксис позволит задавать несколько псевдонимов одному изображению, например:
:tucan: local/r2c1.png # Птички/Тукан
:eagle: local/r2c2.png # Птички/Орел
:raven: local/r2c4.png # Птички/Ворона
:r2c1: local/r2c1.png # Птички/Тукан
:r2c2: local/r2c2.png # Птички/Орел
:r2c3: local/r2c3.png # Птички/Снегирь
:r2c4: local/r2c4.png # Птички/Ворона
Отобразятся лишь 4 птички, а не 7.
Естественно, картинок без "#", никакой фолдинг не затрагивает, они отрисовываются в основном массиве.
Готов выслушать мнение сообщества. Возможно, переведу свой пост на английский, что бы больше разработчиков прочитать идею.