Как добавить favicon в rails 3.2


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

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

спасибо

11 72

11 ответов:

создайте свой фавикон, например, здесь:http://www.favicon.cc/ и поставить в public / directory

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

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

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

<%= favicon_link_tag 'favicon.ico' %>

поставить фавикон.Ико имидж в /app/assets/images/ Если вы используете актив трубопровода, и в /public/images/ если это не так.

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

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

  config.relative_url_root = ""

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

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

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

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

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

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

<%= favicon_link_tag 'favicon.ico' %>

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

пишите на приложение.формат html.Haml на:

= favicon_link_tag '/images/favicon.ico'

разместить файл фавикон.ico in dir:

project/public/images

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

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

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

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

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

создать favicon для всех платформ (не только для настольных браузеров), вы можете использовать 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) in конвейер активов.

полное раскрытие: я-автор RealFaviconGenerator.

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

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

<%= favicon_link_tag 'favicon.ico' %>

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

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

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

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