2015-07-12 22 views
11

Sto tentando di utilizzare un carattere personalizzato nella mia applicazione Phoenix. Li ho inseriti nella directory priv/static/fonts e ho creato e caricato correttamente il file css nel modello web/templates/layout/app.html.eex ma non vengono serviti dal server Phoenix.Utilizzare i caratteri personalizzati in 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 

il file CSS per l'approvvigionamento del carattere:

// 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"); 
} 

risposta

20

Va bene, hanno trovato la soluzione.

Sembra che devi dire a phoenix quali directory servono per i file statici. Sono andato a mio file my_app/lib/my_app/endpoint.ex e aggiornato la spina Plug.Static per servire la cartella fonts così:

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 

Fonte: PhoenixTalk - Serving static assets in a Sub-Folder other than the defaults

+9

risposta perfetta. Cambierò Phoenix per includere i caratteri per impostazione predefinita. –

+11

Per la cronaca se metti font in 'web/static/assets/fonts', i tuoi font verranno automaticamente copiati in' priv/static/fonts/'da brunch – slashmili

Problemi correlati