Google Material Design Icons

Begonnen von Christoph Morrison, 31 Dezember 2020, 17:40:13

Vorheriges Thema - Nächstes Thema

Christoph Morrison

Hallo zusammen,

ich bin dabei mal meine FHEMWEB-Oberfläche zu modernisieren und wollte dazu die Google Material Design Icons einbinden - immerhin rund 1500 moderne Icons. Die Dateien sind unter der Apache License V2 veröffentlicht, können also sehr liberal verwendet werden (eigentlich ist nur der Weiterverkauf untersagt).

Es war ein bisschen XSLT nötig um fill ordentlich unterstützen zu können, aber ihr findet das Resultat unter FHEM::Icons::Material.

Wzut

Zwei Herzen schlagen in meiner Brust,
ersteinm finde ich es toll wenn sich jemand so eine Arbeit macht und die Sammlung kann sich echt sehen lassen :) :) :)
aber ich verstehe nicht warum man dieses externe github Geschüttel nutzen muß wenn man schon die svn Schreibrechte hat :( :( :(
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Christoph Morrison

Zitat von: Wzut am 31 Dezember 2020, 18:23:42
Zwei Herzen schlagen in meiner Brust,
aber ich verstehe nicht warum man dieses externe github Geschüttel nutzen muß wenn man schon die svn Schreibrechte hat :( :( :(

Ich bin, wie ich schon oft geschrieben habe, kein Freund des Subversion-Repositories und diese Icons sind ein gutes Beispiel weshalb: Die Entwicklung/Pflege der Icons findet nunmal kollaborativ auf Github in Git statt und ich müsste dann einen Workflow bauen, der etwas von Git(hub) in das Subversion-Repository transportiert - weil genau niemand mehr da draußen Subversion für irgendwas benutzt und sowas wie pull requests, Forks, usw. in Subversion gar nicht möglich sind. So habe ich einen Fork des Originalprojekts gemacht und dann meine Sachen dazu geklebt, was ungefähr nur ein Fünftel der Zeit gekostet hätte, hätte ich noch Subversion da mit reingebracht.

Wir hatten die Diskussion aber sicher schon drölfzig mal und es gibt eben nicht mal einen (eigenen) Git-Server des Vereins, sondern Subversion von anno tobak. Jehova, aber man kann ja mal einen Blick rüber zu HASS werfen um zu schauen, was da möglich ist.

nb: Subversion war einer der Gründe, warum ich meine Module abgegeben und meine "privaten" Module nie veröffentlicht habe.

Christoph Morrison

Noch ein Nachsatz, auch wenn's OT ist:
Ich möchte einen Issuetracker haben, in dem ich nachlesen kann ob jemand ein Problem schon mal hatte und Ideen abladen kann, die ich für die Weiterentwicklung habe. Das ist auch seit etwa immer Standard im IT-Geschäft.

ToKa

Hallo Christoph Morrison,

echt Klasse und Danke für die Aufbereitung und Bereitstellung der Icons. Ich bin auch ein Fan der modernen Material Design Icons und habe sie bislang immer von Hand einzeln in meine Installation kopiert.

Unter https://materialdesignicons.com/ gibt es noch wesentlich mehr davon, wobei auch die Google Icons dabei sind. Allerdings gibt es damit auch das Problem des "fill", was ich bislang nur von Hand lösen konnte. Verstehe ich Dich richtig, dass Du das automatisiert hast?

Viele Grüße und alles gute zum neuen Jahr!

Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Christoph Morrison

Hallo Torsten,

Zitat von: ToKa am 01 Januar 2021, 15:25:25
Unter https://materialdesignicons.com/ gibt es noch wesentlich mehr davon, wobei auch die Google Icons dabei sind. Allerdings gibt es damit auch das Problem des "fill", was ich bislang nur von Hand lösen konnte. Verstehe ich Dich richtig, dass Du das automatisiert hast?

Exakt. Ich transformiere die SVG mit XSLT dahin, dass an den nötigen Stellen (und an manchen, wo es nicht nötig wäre, aber wohl nicht stört) ein fill-Attribut hinzugefügt wird. Im Prinzip sollte das mit meinem aktuelle Code schon funktionieren, ich schaue mal, ob ich einen Fork davon mit der nötigen Infrastruktur hinbekomme.

ToKa

Das wäre prima und würde mich sehr freuen!
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

FunkOdyssey

Ich habe das auch gestern direkt implementiert.
Man hat darin aber kein automatisches Icon-Set für die Standard-Icons wie z.B. on, off, etc.
Als ich damals openautomation gesetzt hatte, habe ich die üblichen FHEM-Glühbirnen direkt verabschiedet.

Das stelle ich mir mit dieser Variante hier schwieriger vor, da man dann die Kompatibilität zum Google-Git verliert, oder?

Ich überlege nun, ob ich wirklich komplett auf das Material-Design wechseln soll. Das wird viel Arbeit und ich müsste auch mein CSS überarbeiten, da die Icons vertikal anders ausgerichtet sind. Die Gesamtgröße ist ja relativ übersichtlich. Ich meine, dass ich gestern nur ca. 6 MB gesehen habe.

Danke für deine Arbeit.

Christoph Morrison

Zitat von: FunkOdyssey am 01 Januar 2021, 16:17:52
Das stelle ich mir mit dieser Variante hier schwieriger vor, da man dann die Kompatibilität zum Google-Git verliert, oder?

Die sind auch auf Git. Ich würde die direkt forken und dann so wie beim Google Material vorgehen. Im Prinzip kann man neue Icons aus dem Haupt-Repository direkt reinmergen und der Workflow baut dann neue Icons und die Update-Datei.

Christoph Morrison

#9
Ich habe die reinen Google Material Design Icons verschoben:
https://github.com/fhem/FHEM-Icons-Material-Google

Die neuen wird es hier geben:
https://github.com/fhem/FHEM-Icons-Material-Templarian

FunkOdyssey

#10
Ich komme nicht mit. Wo ist denn der Unterschied zwischen den Sets?
Habe ich mich falsch ausgedrückt oder du das falsche Zitat gewählt?

Meine Frage bezog sich auf die automatisierte Nutzung der Icons für die Standard-Icons.
Also eine eigene iconalias.txt:
https://svn.fhem.de/trac/browser/trunk/fhem/www/images/fhemSVG/iconalias.txt
https://svn.fhem.de/trac/browser/trunk/fhem/www/images/openautomation/iconalias.txt

Dies hat den Vorteil, dass man nicht jedes DevStateIcon umschreiben muss.

Christoph Morrison

Zitat von: FunkOdyssey am 01 Januar 2021, 17:05:38
Ich komme nicht mit. Wo ist denn der Unterschied zwischen den Sets?
Habe ich mich falsch ausgedrückt oder du das falsche Zitat gewählt?

Nein, ich hab dich falsch verstanden. Vergiss mein Posting einfach ;-)

Zitat von: FunkOdyssey am 01 Januar 2021, 17:05:38
Meine Frage bezog sich auf die automatisierte Nutzung der Icons für die Standard-Icons.
Also eine eigene iconalias.txt:
https://svn.fhem.de/trac/browser/trunk/fhem/www/images/fhemSVG/iconalias.txt
https://svn.fhem.de/trac/browser/trunk/fhem/www/images/openautomation/iconalias.txt

Dies hat den Vorteil, dass man nicht jedes DevStateIcon umschreiben muss.

Wenn du eine vernünftige Liste machst, checke ich die gerne mit ein. Ich habe die iconalias bisher nie benutzt.

FunkOdyssey

Das kann ich machen. Sobald das nutzbar ist, werde ich ein paar passende Icons heraussuchen.

Christoph Morrison

Schaut mal hier:
https://raw.githubusercontent.com/fhem/FHEM-Icons-Material-Templarian/development/controls_icons-material-templarian.txt

Sind allerdings nun rund 5200 Icons und dauert entsprechend länger. Als iconPath bitte material-templarian eintragen.

ToKa

Wie muss ich denn das repository in fhem einbinden?
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight