Как добавить значок в рельсы 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'