Перезапись значков приложений по умолчанию (SVG или Fonticon?) - PullRequest
0 голосов
/ 04 июня 2018

У меня есть приложение, которое в настоящее время использует iconmoon для всех значков (кнопок и т. Д.) В моем приложении, но я хотел бы иметь возможность сделать значки легкими для изменения при параметризации приложения для клиента.

Какой «лучший» маршрут выбрать в этих ситуациях?

Я думал о том, чтобы позволить клиентам предоставлять переопределенный файл sass, который импортировал бы их собственный набор значков (iconmoon и т. Д.) И переписал бы любые существующие классы, ноэто не кажется «правильным».

В качестве альтернативы, я мог бы также экспортировать библиотеку iconmoon как файлы svg и определить классы с svg в качестве фоновых изображений.Это дало бы клиентам возможность просто предоставлять новые svg-файлы, которые просто перезаписывали бы svg-файлы по умолчанию во время процесса сборки.

Данное приложение является приложением Angular 6, поэтому Angular CLI используется для процесса сборки.и замена файла выполняется процессом сборки Java, который запускает сборку Angular CLI.

Редактировать: Это больше аргумент SVG vs fonticons.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Что касается «самого простого» (в отличие от «лучшего»): рассматривали ли вы вопрос об использовании простого резервного механизма разрешения символов font-family?

@font-face { font-family: 'Icon Overrides'; (...)}
@font-face { font-family: 'Icon Defaults'; (...)}

.icon { font-family: "Icon Overrides", "Icon Defaults"; }

При условии, что оба файла шрифтов имеют одинаковый значок ↔ кодовую точкусопоставляя, вы получите возможность переопределить некоторые (или все) иконки в первом шрифте;символы, не определенные там, будут искать во втором.(Вы можете даже использовать одно семейство шрифтов для всего приложения, например, html { font-family: "Icon Overrides", "Icon Defaults", "Base text font", "Some fallback text font", "And so on", sans-serif; }, опять же, при условии, что шрифт значка использует вменяемое сопоставление с соответствующими точками Unicode или использует частную область использования.


As for "is fontлучше для иконографии, чем для встроенного SVG »(т. е.« лучший маршрут », который вы просили), я бы придерживался текущей тенденции: используйте SVG, когда это возможно, но обсуждение его преимуществ и удобства сопровождения в данной среде слишком широко для такой простойОтвет. Кроме того, задавание таких вопросов, как «что, по вашему мнению, лучше для X», может быть слишком расплывчатым для этого сайта.

0 голосов
/ 04 июня 2018

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

Я бы пошел с картой: для чего она используется: iconимя: путь к значку (оригинал): текущий путь к значку

Затем вы можете создать простой дизайн, в котором вы включите все значки с этой карты и позволите им изменить текущий путь к значку.Если они нажимают «вернуться к значению по умолчанию», вы можете просто изменить текущий путь к значку с оригинальным.

Суть в том, что вы просто придерживаетесь карты при рендеринге, таким образом приложение будет более модульным.

...