Использовать пользовательские шрифты в Phoenix
Я пытаюсь использовать пользовательский шрифт в приложении Phoenix. Я поместил их в priv/static/fonts
и правильно создал и загрузил файл css в web/templates/layout/app.html.eex
но они не обслуживаются сервером Phoenix.
/Users/Psycho/code/elixir/my_app/
▾ priv/
▸ repo/
▾ static/
▸ css/
▾ fonts/
▾ walsheim/
gt-walsheim-light-web.svg
gt-walsheim-light-web.eot
gt-walsheim-light-web.ttf
gt-walsheim-light-web.woff
Файл css для поиска шрифта:
// my_app/priv/css/fonts.css
@font-face {
font-family: "Walsheim";
font-style: normal;
font-weight: 300;
src:
url("/fonts/walsheim/gt-walsheim-light-web.eot?#iefix") format("embedded-opentype"),
url("/fonts/walsheim/gt-walsheim-light-web.woff") format("woff"),
url("/fonts/walsheim/gt-walsheim-light-web.ttf") format("truetype"),
url("/fonts/walsheim/gt-walsheim-light-web.svg#Walsheim") format("svg");
}
Ответы
Ответ 1
Хорошо, нашел решение.
Похоже, вам нужно сообщить phoenix
какие каталоги служат для статических файлов. Я зашел в мой my_app/lib/my_app/endpoint.ex
и обновил Plug.Static
для обслуживания папки fonts
:
defmodule MyApp.Endpoint do
use Phoenix.Endpoint, otp_app: :my_app
plug Plug.Static,
at: "/", from: :my_app, gzip: false,
only: ~w(css images js fonts favicon.ico robots.txt)
# Other Stuff ...
end
Источник: PhoenixTalk - обслуживание статических ресурсов в подпапке, отличных от значений по умолчанию