specificando favicon in modo type-safe in yesod
Domanda
Questa è una ri-post della mia domanda originale che ho chiesto al yesod mailing list (si veda http://groups.google.com/group/yesodweb/browse_thread/thread/934c4141fc615cb ), nel tentativo di ottenere una risposta più veloce.
Sto cercando di capire se è possibile generare un <link>
con l'attributo type
che corrisponde al tipo MIME inviato dal gestore HTTP che serve il file favicon.
Finora ho questo link:
<link rel="icon" href=@{FaviconR} sizes="32x32" type="image/png">
e questo gestore:
getFaviconR :: Handler ()
getFaviconR = sendFile "image/png" "config/favicon.png"
Sto cercando un modo per assicurarsi che il codice viene compilato solo se getFaviconR
e <link>
hanno lo stesso tipo MIME.
Mi rendo conto, naturalmente, che posso omettere l'attributo type
dal link del tutto e si basano sul client per capire il tipo, ma pensare ad esso come una questione teorica.
Sono nuovo di Haskell, quindi potrebbe essere che sto chiedendo qualcosa di impossibile. no?
Soluzione
Penso che la cosa più semplice da fare è quello di definire il tipo di immagine in una variabile indipendente e utilizzarlo in entrambi i luoghi.