gpt4 book ai didi

jekyll - 发布时如何让 Jekyll 将收藏夹图标从子目录复制到根目录?

转载 作者:行者123 更新时间:2023-12-02 17:04:48 26 4
gpt4 key购买 nike

我使用 realfavicongenerator.net 生成 favicon.ico以及现在所需的所有其他文件。这是 a lot of files (超过 10 个)和他们一样 recommend ,我将它们保存在站点根目录中。这看起来很乱,而且在其中查看重要内容(例如我的配置文件)的速度变慢。

我想做的是将它们全部保存在 _favicon 中子文件夹,但有一个 Jekyll 配置选项,将子文件夹的内容复制到 _site 的根目录发布时。有没有可以做到这一点的选项?

最佳答案

遇到同样的问题后。我做了一些挖掘,最后决定为此编写一个 ruby​​ 插件。将一些文件存储在图标文件夹中但由于 Yandix 而必须将其他文件(如 browserconfig.xmlfavicon.ico 保留在根目录中将是一个更好的解决方案.这将为您提供一种将所有文件保存在一个地方并在构建时将它们复制到 _site 文件夹的方法。 <-- 这就是要求的。不是一些“hacky”解决方案。

  1. 在根目录下创建一个名为_plugins 的文件夹。Jekyll 在构建期间自动使用此文件夹中的插件。将文件命名为 copy-my-files.rb所以:./_plugins/copy-my-files.rb

ruby 插件代码:

#!/usr/bin/env ruby
require 'fileutils'

module Jekyll
Jekyll::Hooks.register :site, :post_write do |post|
Dir.glob('_favicon/*.*') do |file|
sourcePath = file
outputPath = File.join('_site', File.basename(file) )
FileUtils.cp(sourcePath, outputPath)
end
end
end

这样做的目的是每次构建站点时,它会将所有文件从 _favicon 复制到 _site 文件夹中。

  1. _includes/head.html 中包含生成的链接或者编写一个包含所有名为 favicons.html
  2. 的链接的文件

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta nam

e="theme-color" content="#ffffff">

  1. 如果您制作了一个名为 favicons.html 的单独文件,请将其包含在您的头脑中:{% include favicons.html %}

{% include favicons.html %}

所以这会起作用,因为 _favicon 中的所有文件都被复制了。 site.wbmanifest、manifest.json 和所有 png 图标等等。

就像另一篇文章所说的那样,您可以将其分解为自己的 html 部分 include {% include favicons.html %} 然后您将链接 includes/favicons.html 在您的 header.html 文件中。

关于jekyll - 发布时如何让 Jekyll 将收藏夹图标从子目录复制到根目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52223620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com