Je sais que les nouvelles applications Rails sont livrées avec un fichier favicon.ico vide. Je veux savoir comment je vais ajouter un favicon. Je sais que vous pouvez utiliser l’assistant favicon_link_tag
, mais je ne sais pas comment remplir le fichier favicon.ico. Utilisez-vous des générateurs de favicon? Si oui, lequel est le meilleur?
Je veux aussi pouvoir le mettre en cache, est-ce que Rails le fait aussi automatiquement?
Merci
générez votre favicon par exemple ici: http://www.favicon.cc/ .__ et mettez-le dans le répertoire/public
UPDATE Le favicon dans le dossier public n'est pas précompilé et peut être mis en cache pendant une longue période. Il semble préférable d’utiliser favicon_link_tag pour éviter les problèmes de mise à jour de favicon. Je ne connais pas les navigateurs nécessaires favicon en root. Selon favicon wiki tous les navigateurs modernes maintiennent
<link rel="shortcut icon" href="favicon path" /> (favicon_link_tag)
Ajoutez simplement ceci à la section <head></head>
de vos mises en page:
<%= favicon_link_tag 'favicon.ico' %>
Placez l'image favicon.ico dans /app/assets/images/
si vous utilisez le pipeline d'actifs et dans /public/images/
si vous ne l'utilisez pas.
De plus, si vous utilisez Ruby 2.0 avec Rails 3.0.20 (et peut-être aussi 3.0.x), il y a un bogue qui provoque une exception lors de la tentative de rendu de favicon.ico.
Le correctif consiste à placer le code suivant dans application_controller.rb:
config.relative_url_root = ""
Alors que toutes ces réponses disent de créer une icône 16x16, la réalité est que vous devriez créer à la fois un 16x16 et un 32x32, afin de prendre en charge les écrans Retina. Aucun des générateurs en ligne n'a fait un très bon travail avec cela.
Sur Mac, il existe une superbe application à 5 $ appelée Icon Slate , qui vous permet de créer facilement les deux formats dans un seul fichier ICO.
Sur Windows, j’ai utilisé Axialis IconWorkshop avec beaucoup de succès, mais c’est un outil beaucoup plus lourd, qui coûte nettement plus cher à environ 50 €.
Les deux créeront un fichier ico contenant des images 16x16 et 32x32.
Si vous utilisez le pipeline d'actifs, utilisez le dossier app/assets/images plutôt que/public. Le nombre de navigateurs marginaux qui ignorent la balise link
approche rapidement de zéro, aussi ne vaut-il pas la peine de passer à travers les étapes pour les accueillir.
Comme mentionné dans d'autres réponses, utilisez ceci dans la head
pour l'afficher:
<%= favicon_link_tag 'favicon.ico' %>
Je recommande fortement cette option. Il était facile à utiliser et gratuit http://converticon.com
écrire dans application.html.haml :
= favicon_link_tag '/images/favicon.ico'
placer le fichier favicon.ico dans le répertoire:
project/public/images
Vous avez besoin d'un fichier d'image de 16x16 pixels appelé favicon.ico qui doit être disponible publiquement à la racine de votre site.
Vous pouvez toujours utiliser un éditeur d’image majeur pour convertir votre logo ou une autre image au format .ico. Il existe des options gratuites telles que Gimp qui permettent de créer de telles icônes sur la base d'une image existante mieux que les générateurs d'icônes en ligne.
Pour générer un favicon pour toutes les plateformes (pas seulement pour les navigateurs de bureau), vous pouvez utiliser RealFaviconGenerator et le joyau Rails_real_favicon:
Rails_real_favicon
à Gemfile
favicon.json
. Ce fichier décrit les icônes que vous venez de concevoir.Rails generate favicon
pour créer les icônes et le code HTML.render 'favicon'
dans vos mises en page pour insérer le code HTML dans vos pages.L'avantage de cette solution est qu'elle injecte les fichiers favicon (favicon.ico
, Apple-touch-icon.png
, mais aussi browserconfig.xml
et manifest.json
) dans le pipeline d'actifs.
Divulgation complète: je suis l'auteur de RealFaviconGenerator.
J'ai essayé les liens ci-dessus et les services n'étaient pas très simples à utiliser. Je trouve ce lien sur un autre site et il copié sur mon fichier .png sans faille et était très simple à utiliser. Je pensais partager ce lien aussi, car je pense que c'est un meilleur service.
Cela fait des années que je ne l'ai pas fait, mais Gimp est capable d'enregistrer des fichiers .ico contenant plusieurs images de différentes tailles . Il vous suffit d'exporter au format .ico avec certains calques visibles.
J'ai eu un problème lorsque j'ai mis le fichier dans /public/favicon.ico
, j'utilise AWS EBS.
Je pourrais réparer l'erreur.
La meilleure solution pour moi a été mis le fichier dans /app/assets/images/favicon.ico
et d'utiliser = favicon_link_tag 'favicon.ico'
La solution qui a fonctionné pour moi était la suivante:
?v=version
pour résoudre le problème de la mise en cache du navigateur. Cela m'a aidé.public
et app/assets/images
. Vous n'en aurez besoin que d'un seul, mais si vous ne savez pas lequel, copier dans les deux endroits ne vous fait pas de mal ... ou vous pouvez essayer de voir lequel fonctionne: utilisez le ?v=version
pour effectuer votre test.<head></head>
de vos présentations dans les fichiers app/views/layouts (par exemple, application.html.erb):<%= favicon_link_tag 'favicon.ico' %>
J'espère que cela fournit une recette simple. Je suis sûr que si quelque chose me manque, quelqu'un peut et va améliorer cette réponse.