it-swarm.com.de

@ font-face in Rails 4.0 mit Sass-URL wurde für benutzerdefinierte Schriftarten nicht gefunden

In meinem Rails-Projekt versuche ich, benutzerdefinierte Schriftarten zu verwenden. Zu dieser Frage gibt es viele Antworten. Diese Antwort hat nicht geholfen. Ich habe den development.rb bearbeitet:

# Add the fonts path
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

# Precompile additional assets
config.assets.precompile += %w( .svg .eot .woff .ttf )

es zeigt immer noch No route matches [GET] "/assets/chalkduster-webfont.woff"

Ich setze mich url wie:

@font-face {
   font-family: 'chalkdusterregular';
    src: url('chalkduster-webfont.eot');
    src:url('chalkduster-webfont.svg#chalkdusterregular') format('svg'), 
    url('chalkduster-webfont.eot?#iefix') format('embedded-opentype'),
         url('chalkduster-webfont.woff') format('woff'),
         url('chalkduster-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

Ich habe versucht, font_path('') innerhalb der Quelle und auch font-url() es funktioniert nie. :(

15
user1999510

Versuchen Sie es mit asset-url(). Funktioniert bei mir.

@font-face {
   font-family: 'chalkdusterregular';
    src: asset-url('chalkduster-webfont.eot');
    src: asset-url('chalkduster-webfont.svg#chalkdusterregular') format('svg'), 
         asset-url('chalkduster-webfont.eot?#iefix') format('embedded-opentype'),
         asset-url('chalkduster-webfont.woff') format('woff'),
         asset-url('chalkduster-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

Außerdem füge ich nur den Schriftartenpfad hinzu und kompiliere zusätzliche Assets in config/surroundings/production.rb vor

# Add the fonts path
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

# Precompile additional assets
config.assets.precompile += %w( .svg .eot .woff .ttf )

Muss nicht zu config/surroundings/development.rb hinzugefügt werden, da asset-url ein wenig magisch wirkt.

32
Nicholas.V

Ich fand eine Alternative einfacher, nicht benötigte Importe zu implementieren und dies ist: Sie können Ihre Schriftartdatei auf Basis von 64-Text konvertieren. Stellen Sie sicher, dass Sie die Auswahl Base64-Codierung markieren. enter image description here

klicken Sie anschließend auf "Konvertieren" und laden Sie die ZIP-Datei herunter, die die Seite generiert. Öffnen Sie in der ZIP-Datei die CSS-Datei und Sie sehen den Code, den Sie benötigen.  enter image description here


ich versuche die lösung des jverban zu implementieren aber bei mir klappt das nicht.

Dann habe ich ein Tuto gefunden, in dem ich zwei Möglichkeiten erläutere, es zu tun. Klicke, um das Tuto zu öffnen.

und ich versuche die zweite Lösung (Der Weg des Hackers). und das einzige, was zu tun ist, verschieben Sie den Schriftarten-Ordner in der App/Assets/Stylesheets. (Ich nehme an, Sie haben alle Ihre Schriften in einem Ordner namens fonts abgelegt.)

in der CSS-Datei o. scss können Sie dies dann mit diesem Code tun.

@font-face {
    font-family: 'GoodDDC';
    src: url(asset_path("fonts/GOODDC.ttf"));
}

asset_path Referenz auf Rails der Ordner app/assets/stylesheets

der Baumordner sieht aus wie

app/assets/stylesheets/fonts/yourfont.ttf (wof, etc)