netzmacht / contao-font-awesome

Contao Extension font-awesome which provides font-awesome for Contao
5 stars 4 forks source link

FontAwesome nicht in /assets #22

Open bizon1 opened 6 years ago

bizon1 commented 6 years ago

Using config.component-dir has been deprecated. Please use extra.contao-component-dir instead. Wenn man dieser Meldung beim composer update folgt und die composer.json entsprechend ändert, dann landet die Extension netzmacht/contao-font-awesome bei der Installation in Contao-4.5.21 und Contao-4.6-dev nicht mehr im Ordner /assets/font-awesome/ sondern eine Ebene höher in /components/font-awesome/. Dadurch funktionieren die Fonts nicht mehr.

Wenn man o.g. Meldung ignoriert und die composer.json also nicht geändert, funktioniert alles.

dmolineus commented 6 years ago

Der Fehler liegt hier eher bei https://github.com/RobLoach/component-installer

Da das Package nicht mehr weiterentwickelt wird, habe ich keine Ahnung wie man dies fixen kann ohne einen BC Break herbeizuführen. Die vorgeschlagenen Alternativen Asset Packagist or Component Installers Extender halte ich nicht für optimal für die Erweiterung

bizon1 commented 6 years ago

Danke für die schnelle Antwort.

Ich habe es vorerst so behoben, indem ich einen Symlink auf /components/font-awesome in /assets gelegt habe.

Stefko commented 6 years ago

Ich habe es vorerst so behoben, indem ich einen Symlink auf /components/font-awesome in /assets gelegt habe.

Habe das selbe Problem, könntest Du bitte kurz erklären, wie Du das gemacht hast? Danke :-)

fritzmg commented 6 years ago

Der Fehler liegt hier eher bei https://github.com/RobLoach/component-installer

Eigentlich nicht, das ist schon korrekt so. Wenn kein component-dir in der root composer.json angegeben ist, werden die components by default in den components Ordner gegeben.

Die contao-font-awesome Extension müsste daher prüfen, welcher dieser Ordner in Verwendung ist.

@Stefko: du musst einfach die component-dir konfigurieren:

    "config": {
        "component-dir": "assets"
    },
    "extra": {
        "contao-component-dir": "assets"
    },
dmolineus commented 6 years ago

Eigentlich nicht, das ist schon korrekt so.

Stimmt, ich habe da zwei Sachen durcheinander gebracht. Bisher nutzten Contao und der Component-Installer beide config.component-dir. Contao nun nicht mehr. Die Deprecated-Warning muss also ignoriert werden.

@fritzmg Problem an einen nicht gesetzten component-dir ist aber, dass die Stylesheets dann nicht geladen würden, oder übersehe ich da gerade etwas?

fritzmg commented 6 years ago

Hm ja stimmt, das component/ Verzeichnis würde ja dann nicht symlinked werden. Könntest du aber selbst einbauen.

fritzmg commented 6 years ago

Vielleicht ist es aber ohnehin besser, du bundlest die assets in deinem package mit (evt. automatisiert).

dmolineus commented 6 years ago

Vielleicht ist es aber ohnehin besser, du bundlest die assets in deinem package mit (evt. automatisiert).

Davon möchte ich eigentlich wegkommen. Mit den derzeitigen Stand, dass ich für jedes Release die Icon-Informationen aktualisieren muss, ist es egal. Ziel ist es aber, dass ich diese automatisiert auslesen kann (https://github.com/FortAwesome/Font-Awesome/issues/5867).

fritzmg commented 6 years ago

Naja, das Problem ist, dass du so oder so ein shim repository über composer braucht - zB eben components/font-awesome. Ich hätte auch gern eine bessere Lösung für solche assets, aber der aktuelle Stand der Dinge mit solchen assets über composer ist eher meh.

dmolineus commented 6 years ago

Ja, die Abhängigkeit besteht. Ich würde aber gern dem Nutzer die Entscheidung überlassen, welche Version er verwendet. Und selbst nicht immer hinterher sein zu müssen das Package zu aktualisieren.

@fritzmg Hast du zufällig Erfahrung gesammelt mit https://asset-packagist.org/?

fritzmg commented 6 years ago

@fritzmg Hast du zufällig Erfahrung gesammelt mit https://asset-packagist.org/?

Noch nicht - aber solche Lösungen habe ich bisher nicht für Contao Extensions beachtet, wenn sie Änderungen in der root composer.json benötigen (wie hier zB das zusätzliche repository).

Hast du schon mal https://github.com/oomphinc/composer-installers-extender probiert? Das sollte ja ohne Änderung der root composer.json funktionieren, wenn ich mich nicht täusche.

dmolineus commented 6 years ago

Noch nicht, aber es benötigt auch eine Konfiguration unter extra in der Root-Konfiguration, siehe https://github.com/oomphinc/composer-installers-extender#how-to-use Und man bliebe auf den Shim-Repositories. Im Prinzip ist es ja nichts anderes als ein Ersatz zu den robloach/components-installer. Dieser benötigt halt auch den Eintrag in der composer.json - den Contao damals glücklicherweise übernommen hatte.

fritzmg commented 6 years ago

Noch nicht, aber es benötigt auch eine Konfiguration unter extra in der Root-Konfiguration, siehe https://github.com/oomphinc/composer-installers-extender#how-to-use Und man bliebe auf den Shim-Repositories.

Hm, sicher? "extra" Einträge könnten - je nach dem, auch in den packages funktionieren.

dmolineus commented 6 years ago

Hm, sicher? "extra" Einträge könnten - je nach dem, auch in den packages funktionieren.

Ja, hatte den Code gecheckt, weil ich die Readme nicht eindeutig fand.

dive13 commented 6 years ago

Wie wäre jetzt die konkrete Lösung für das Problem? Welche Schritte müssen gemacht werden, damit man in einer Contao 4.6 wieder auf die icons zugreifen kann? In meiner composer.json steht bereits: "extra": { "contao-component-dir": "assets" },

dmolineus commented 6 years ago

Wie wäre jetzt die konkrete Lösung für das Problem? Welche Schritte müssen gemacht werden, damit man in einer Contao 4.6 wieder auf die icons zugreifen kann? In meiner composer.json steht bereits: "extra": { "contao-component-dir": "assets" },

Du benötigst weiterhin den Eintrag unter config. Die deprecated-Warning von Contao innerhalb von Composer kannst du ignorieren.

    "config": {
        "component-dir": "assets"
    }
dive13 commented 6 years ago

… verstehe, danke.

Am 01.10.2018 um 15:22 schrieb David Molineus notifications@github.com:

Wie wäre jetzt die konkrete Lösung für das Problem? Welche Schritte müssen gemacht werden, damit man in einer Contao 4.6 wieder auf die icons zugreifen kann? In meiner composer.json steht bereits: "extra": { "contao-component-dir": "assets" },

Du benötigst weiterhin den Eintrag unter config. Die deprecated-Warning von Contao innerhalb von Composer kannst du ignorieren.

"config": {
    "component-dir": "assets"
}

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/netzmacht/contao-font-awesome/issues/22#issuecomment-425905608, or mute the thread https://github.com/notifications/unsubscribe-auth/ADIv62dBq2AiWUtP_Wxa8_ftpXkZ7uyiks5ughcvgaJpZM4WFM7x.

designpilot commented 5 years ago

@dmolineus Wenn ich das so in der composer.json drin habe funktioniert das aber auch nicht

     "config": {
         "component-dir": "assets"
     },
    "extra": {
        "contao-component-dir": "assets"
    },

weil a) das hier fehlt /assets/font-awesome/css/ und b) ich das mit dem Contao Manager unter Systemwartung alles ausgeführt habe und auch die Pakete aktualisiert habe, es hat alles nichts geholfen, auch nicht das ich Font Awesome deinstalliert habe und nochmals neu installiert hab. Dabei habe ich auch nach der Deinstallation von Font Awesome die oben stehenden Zeilen in der composer.json stehen lassen und nochmal probiert - ohne Erfolg - Der Fehler wird immer angezeigt und das schlägt mit einem Eintrag in der /var/log/ zu buche.

Aybee commented 5 years ago

Ich wollte das mal pushen, damit das nach der Installation wieder funktioniert.

kroerig commented 4 years ago

kommt hier eigentlich noch eine Version, die wieder out-of-the-box für jedermann nutzbar ist?

dmolineus commented 4 years ago

kommt hier eigentlich noch eine Version, die wieder out-of-the-box für jedermann nutzbar ist?

Ist derzeit nicht geplant. Die Lösungen müssen derzeit in der root composer.json vorgenommen werden. Die Erweiterung unterstützt ja aktuell nur Font Awesome 4, in eigenen Projekten bin ich seit einiger Zeit auf Font Awesome 5 umgestiegen. Der Bedarf an dieser Erweiterung meinerseits ist nicht mehr vorhanden.

Selbstverständlich können entsprechende Features/Wünsche auch beauftragt werden.