Heroku e @ font-face - incorporato font di visualizzazione wont su Heroku
-
25-09-2019 - |
Domanda
Ho un paio di licenza font che ho incorporato nella mia applicazione Rails utilizzando il tag CSS @font-face
. Questi caratteri si trovano nel percorso "../Public/Fonts/"
nei miei Rails 3 app e rendono perfettamente su qualsiasi macchina locale che io tiro giù il repo e correre via.
Tuttavia quando spingo la mia app per Heroku può non sembrano trovare i font. Si può dire che si sta cercando nella directory dei font, ma non potrà mai accedervi. Non sembra avere importanza dove metto i caratteri o come digito il percorso del font nella dichiarazione @ font-face.
I miei caratteri sono situati a #{RAILS.root}/public/fonts/ChunkFive
Ecco la mia dichiarazione @ font-face:
@font-face {
font-family: "ChunkFive";
src: url("../fonts/ChunkFive/ChunkFive-webfont.eot");
src: local("?"),
url("../fonts/ChunkFive/ChunkFive-webfont.woff") format("woff"),
url("../fonts/ChunkFive/ChunkFive-webfont.ttf") format("truetype"),
url("../fonts/ChunkFive/ChunkFive-webfont.svg") format("svg");
}
Questa è la risorsa 404 non trovato messaggio che ricevo per ogni tipo di carattere:
Request URL:http://thedanbarrett.heroku.com/fonts/ChunkFive/ChunkFive-webfont.woff
Request Method:GET
Status Code:404 Not Found
Request Headers
Referer:http://thedanbarrett.heroku.com/home
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10
(KHTML,like Gecko) Chrome/8.0.552.224 Safari/534.10
Response Headers
Age:0
Connection:keep-alive
Content-Length:727
Content-Type:text/html
Date:Wed, 05 Jan 2011 15:25:21 GMT
Server:nginx/0.7.67
Via:1.1 varnish
X-Runtime:0.001344
X-Varnish:764492621
La cosa strana è che si trova e carica i fogli di stile, le icone e le immagini nella stessa cartella principale. Giusto per ribadire i caratteri sovrastante e lavoro perfettamente eseguiti da un server locale, anche su host che non hanno il tipo di carattere installato.
Ho trovato un riferimento in linea a qualcuno che stava avendo un problema simile che ha cambiato la loro config.ru e environment.rb i file per rendere più amichevole con Heroku, ma io non riesco a trovarlo.
Grazie in anticipo servitori così per tutto il vostro aiuto!
~ Dan
Soluzione
Così si è scoperto la radice per le risorse è stato impostato su Public/Stylesheets
così la mia dichiarazione di percorso nella sezione font-face era nonsensicalness. Ho preso la più facile e trasferito i font nella directory fogli di stile e tutto funziona perfettamente ora!
Altri suggerimenti
Ecco un esempio che sta lavorando su Heroku: http://www.arailsdemo.com/posts/12
Ecco il corrispondente foglio di stile http://www.arailsdemo.com/stylesheets/application.css
Non mi ricordo che necessitano di eventuali modifiche alla configurazione. Si spera, aiuta.
directory Fonts: app/assets/fonts/
Aggiungi la riga seguente per production.rb
config.serve_static_assets = true
Nel vostro styles.css.scss
@font-face {
font-family: "mycustomfont";
src:url(asset_path("mycustomfont.eot"));
src:url(asset_path("mycustomfont.eot?#iefix")) format("embedded-opentype"),
url(asset_path("mycustomfont.ttf")) format("truetype"),
url(asset_path("mycustomfont.svg#mycustomfont")) format("svg"),
url(asset_path("mycustomfont.woff")) format("woff");
font-weight: normal;
font-style: normal;
}
Ambiente: Rails 4.0.1
Ruby 2.0.0-p247
Si dovrebbe lavorare su Heroku:)