Как добавить значок в рельсы 3.2

Я знаю, что новые приложения для рельсов поставляются с пустым файлом favicon.ico. Я хочу знать, как я собираюсь добавить значок. Я знаю, что вы можете использовать помощник favicon_link_tag, но я не уверен, как заполнить файл favicon.ico. Используете ли вы генераторы фавикон? Если да, то какой из них лучше?

Я также хочу, чтобы иметь возможность кэшировать его, делают ли рельсы так же автоматически?

Спасибо

Ответ 1

создайте свой значок здесь: http://www.favicon.cc/ и введите в общедоступный/каталог

UPDATE Favicon в общей папке не предварительно скомпилирован и может быть кэширован в течение длительного времени. Похоже, что лучше использовать favicon_link_tag, чтобы избежать проблем с обновлением favicon. Я не знаю, что браузеру нужен корневой значок. Согласно favicon wiki, все современные браузеры поддерживают

<link rel="shortcut icon" href="favicon path" /> (favicon_link_tag)

Ответ 2

Просто добавьте это в раздел <head></head> ваших макетов:

<%= favicon_link_tag 'favicon.ico' %>

Поместите изображение favicon.ico в /app/assets/images/, если вы используете конвейер активов, а в /public/images/, если вы этого не сделали.

Кроме того, существует ошибка при использовании Ruby 2.0 с Rails 3.0.20 (и, возможно, также 3.0.x), которая выдает исключение при попытке рендеринга favicon.ico.

Исправление состоит в том, чтобы поместить следующий код в application_controller.rb:

  config.relative_url_root = ""

Ответ 3

Хотя все эти ответы говорят о создании значка 16x16, в реальности вы должны создавать как 16x16, так и 32x32, чтобы поддерживать дисплеи сетчатки. Ни один из онлайн-генераторов не справился с этим.

На Mac есть отличное приложение стоимостью $5, называемое Icon Slate, что позволяет легко создавать оба формата в одном ICO файле.

В Windows я с большим успехом использовал Axialis IconWorkshop, но это гораздо более тяжелый инструмент и значительно дороже в около € 50.

Оба будут создавать файл ico с изображениями 16x16 и 32x32 внутри него.

Если вы используете конвейер активов, используйте папку app/assets/images, а не /public. Количество браузеров, которые игнорируют тег link, быстро приближается к нулю, поэтому прыгать через обручи для их размещения не стоит.

Как упоминалось в других ответах, используйте это в head, чтобы отобразить его:

<%= favicon_link_tag 'favicon.ico' %>

Ответ 4

Я очень рекомендую этот вариант. Он был прост в использовании и свободен http://converticon.com

Ответ 5

напишите в application.html.haml:

= favicon_link_tag '/images/favicon.ico'

разместить файл favicon.ico в каталоге:

project/public/images

Ответ 6

Вам в значительной степени нужен файл изображения размером 16x16 пикселей, называемый favicon.ico, и он должен быть доступен публично в корне вашего сайта.

Вы всегда можете использовать главный редактор изображений для преобразования своего логотипа или другого изображения в формат .ico. Есть бесплатные опции, такие как Gimp, которые могут сделать такие великолепные значки на основе существующего изображения лучше, чем онлайн-генераторы.

Ответ 7

Я пробовал ссылки выше, и службы были не очень просты в использовании. Я нахожу эту ссылку на другом сайте, и она отлично копировалась по моему .png файлу и была очень проста в использовании. Я думал, что тоже поделюсь этой ссылкой, поскольку я считаю, что это лучший сервис.

http://www.chami.com/html-kit/services/favicon/

Ответ 8

Не делал этого много лет, но Gimp способен сохранять файлы .ico с несколькими изображениями разных размеров. Вам просто нужно экспортировать в .ico-формат с некоторыми видимыми слоями.

Ответ 9

Чтобы создать значок для всех платформ (не только для настольных браузеров), вы можете использовать RealFaviconGenerator и камень rails_real_favicon:

  • Перейдите в RealFaviconGenerator и отправьте свое изображение. Вы можете создать свой значок, платформу на платформу: iOS, Android и т.д.
  • Как только ваш значок будет готов, перейдите на вкладку "Rails", чтобы получить шаги по установке вашего значка в проекте Rails. В принципе, вас попросят:
    • Добавьте к вам драгоценный камень rails_real_favicon Gemfile
    • Создайте новый файл с именем favicon.json. Этот файл описывает значки, которые вы только что разработали.
    • Запустите rails generate favicon, чтобы создать значки и HTML-код.
    • Добавьте render 'favicon' в свои макеты, чтобы вставить HTML-код на свои страницы.

Преимущество этого решения заключается в том, что он вводит файлы favicon (favicon.ico, apple-touch-icon.png, а также browserconfig.xml и manifest.json) в конвейере активов.

Полное раскрытие: я являюсь автором RealFaviconGenerator.

Ответ 10

Решение, которое я нашел для меня, заключалось в следующем:

  • Перейдите в http://realfavicongenerator.net/favicon_checker и подтвердите, что у вас есть хороший значок. Если вы этого не сделаете, используйте их инструмент для создания одного (плюс много других полезных и связанных значков). Примечание: для этого требуется, чтобы у вас был хороший значок (например, PNG) для использования в качестве знака для значка.
  • Воспользуйтесь http://realfavicongenerator.net предложением использовать параметр ?v=version, чтобы помочь избежать проблемы кэширования браузера. Это помогло мне.
  • Скопируйте favicon.ico в public и app/assets/images. Вам понадобится только один, но если вы не знаете, какой из них копировать в оба места, это не повредит... или вы можете поэкспериментировать, чтобы увидеть, какой из них работает - воспользуйтесь ?v=version для выполнения теста.
  • Добавьте следующую строку в раздел <head></head> ваших макетов в файлах app/views/layouts (например, application.html.erb):

<%= favicon_link_tag 'favicon.ico' %>

Надеюсь, это даст простой рецепт. Я уверен, что если я пропущу что-нибудь, кто-то может и будет улучшать этот ответ.

Ответ 11

У меня возникла проблема, когда я помещал файл в /public/favicon.ico, я использую AWS EBS.

Я мог бы исправить ошибку.

Лучшее решение для меня было помещено в файл /app/assets/images/favicon.ico и использовать = favicon_link_tag 'favicon.ico'