【问题标题】:How to use favicon with the asset pipeline?如何将 favicon 与资产管道一起使用?
【发布时间】:2015-07-27 17:08:39
【问题描述】:

我正在使用在线生成器(http://realfavicongenerator.net 但其他生成器,例如 www.favicon-generator.org 的工作方式相同)来实现网站图标。生成器提供了近 30 个文件(适用于 android、apple、不同大小等的图像),这就是为什么我将所有这些文件放在资产管道 (assets/images/favicons/) 而不是公共文件夹中(否则会变得如此混乱) )。

文件中包含一个 xml 文件 browserconfig.xml 和一个 json 文件 manifest.json(不确定它们的确切用途)。在标题中,我使用以下方式加载两个文件:

<%= content_tag :meta, nil, content: image_path("favicons/browserconfig.xml"), name: 'msapplication-config' %>
<%= content_tag :link, nil, href: image_path("favicons/manifest.json"), rel: :manifest %>

这样使用image_path可以吗?(虽然不是图片,但我已经将所有favicon文件放在assets/images/favicons内的一个文件夹中)

此外,xml 和 json 文件都包含对现在在资产管道中的网站图标图像(见下文)的引用。因此,以目前的形式,这些引用失败了。 如何引用xml和json文件中的图片?

browserconfig.xml:

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
  <msapplication>
    <tile>
      <square70x70logo src="/mstile-70x70.png"/>
      <square150x150logo src="/mstile-150x150.png"/>
      <square310x310logo src="/mstile-310x310.png"/>
      <wide310x150logo src="/mstile-310x150.png"/>
      <TileColor>#fff8dc</TileColor>
    </tile>
  </msapplication>
</browserconfig>

manifest.json:

{
  "name": "AppName",
  "icons": [
    {
        "src": "\/android-chrome-36x36.png",
        "sizes": "36x36",
        "type": "image\/png",
        "density": "0.75"
    },
    {
        "src": "\/android-chrome-48x48.png",
        "sizes": "48x48",
        "type": "image\/png",
        "density": "1.0"
    },
    # etc.
  ]
}

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 asset-pipeline


    【解决方案1】:

    最好把favicon放在你的公用文件夹中,否则在编译时会在名字中包含指纹

    【讨论】:

      【解决方案2】:

      事实证明它没有预期的那么困难。我将这两个文件重命名为.xml.erb.json.erb,并使用Ruby/Rails image_path 重新编码了引用。现在我认为引用有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-18
        • 1970-01-01
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        • 1970-01-01
        • 2011-12-31
        • 1970-01-01
        相关资源
        最近更新 更多