After following some of the instructions here, I am trying to precompile Twitter Bootstrap Glyphicon fonts. They are pretty much just like any other custom font.
Here is my css in bootstrap.min.css.scss
@font-face{font-family:'Glyphicons Halflings';
src:url(glyphicons-halflings-regular.eot);
src:url(glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),
url(glyphicons-halflings-regular.woff2) format('woff2'),
url(glyphicons-halflings-regular.woff) format('woff'),
url(glyphicons-halflings-regular.ttf) format('truetype'),
url(glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')
}
Here is my code in config/initializers/assets.rb
Rails.application.config.assets.precompile += %w( .svg .eot .woff .ttf)
My fonts are showing up in public/assets
after running rake assets:precompile
. They look like this:
glyphicons-halflings-regular-3c36a8aade6ab06e8a1af9ab88110382.woff
And finally, here is the JavaScript console output
Failed to load resource: the server responded with a status of 404 (Not Found)
https://dry-temple-2989.herokuapp.com/assets/glyphicons-halflings-regular.woff
What am I doing wrong?
2
Answers
Acording to rails guides. You should use fonts in your css files in the following way:
You forgot to use
font-path
in theurl
definition. You can find more on Rails Guides part 2.3.2 http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assetsI’m using the following approach to add fonts to Rails:
1). Add
.erb
extension to yourcss
file.2). Refactor
url
to fonts in this file.3). Add
*= require bootstrap.min.css.scss.erb
toapplication.css
file.4). Create
fonts
folder inapp/assets
folder and move font files there.5). Add these lines to
config/application.rb
6). Add these lines to
config/environments/production.rb
Works well on Heroku and VPS/VDS.