如何在资产管道中使用图标?
How to use favicon with the asset pipeline?
我正在使用在线生成器实现网站图标(http://realfavicongenerator.net 但其他生成器,如 www.favicon-generator.org 工作方式相同)。生成器提供了近 30 个文件(android、苹果、不同大小等的图像),这就是为什么我将所有这些文件放在资产管道 (assets/images/favicons/
) 而不是 [=43] =] 文件夹(否则会变得如此混乱)。
文件中包含一个 xml 文件 browserconfig.xml
和一个 json 文件 manifest.json
(不确定它们的确切用途)。在 header 我加载两个文件使用:
<%= 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.
]
}
事实证明没有预期的那么难。我将这两个文件重命名为 .xml.erb
和 .json.erb
,并使用 Ruby/Rails image_path
重新编码引用。现在我认为参考文献有效。
最好将网站图标放在您的 public 文件夹中,否则在编译时名称中会包含指纹
我正在使用在线生成器实现网站图标(http://realfavicongenerator.net 但其他生成器,如 www.favicon-generator.org 工作方式相同)。生成器提供了近 30 个文件(android、苹果、不同大小等的图像),这就是为什么我将所有这些文件放在资产管道 (assets/images/favicons/
) 而不是 [=43] =] 文件夹(否则会变得如此混乱)。
文件中包含一个 xml 文件 browserconfig.xml
和一个 json 文件 manifest.json
(不确定它们的确切用途)。在 header 我加载两个文件使用:
<%= 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.
]
}
事实证明没有预期的那么难。我将这两个文件重命名为 .xml.erb
和 .json.erb
,并使用 Ruby/Rails image_path
重新编码引用。现在我认为参考文献有效。
最好将网站图标放在您的 public 文件夹中,否则在编译时名称中会包含指纹