Githubページにfavicon.ico
を設定しようとしていますが、機能しません。ローカルで提供すると、標準の「空の」ファビコンが表示され、プッシュするとFacebookのアイコンが表示されます。なぜそうなのですか?プロジェクトのルートディレクトリに正しいfavicon.ico
があり、次の行を追加しました
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
関連するdefault.html
に。ここでソースを見ることができます: https://github.com/drorata/drorata.github.io
あなたのプロジェクトをGitHubからクローンして、それを見てみましょう。 Jekyllを使用して提供した後、ファビコンは表示されませんでした。
ファビコンファイルを.png
ファイルではなく.ico
ファイルに変換し、ファビコンの宣言を次のように変更して、ファビコンを表示できるようにすることで、簡単なテストを行いました。
<link rel="shortcut icon" type="image/png" href="/favicon.png">
.ico
ファイル形式を維持したままファビコンを機能させようとしましたが、最初はできませんでした。しかし、私はいくつかのクイック検索を行い、この質問に遭遇しました ファビコンはFirefoxに表示されません .
その質問では、質問者はファビコンが表示されないという同様の問題を抱えていたため、最終的にファビコン宣言のファビコンファイルへのリンクの最後に?
を追加することで簡単な修正を思いつくことができました。私はこれを試みましたが、うまくいきました。ファビコンの宣言は次のとおりです。
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?">
これら2つの方法のいずれかで問題を解決できるようです。個人的には、画像を.png
ファイルに変換する最初の方法を使用することをお勧めします。これは少しシンプルでハッキングが少ないように思えます。
ただし、ファイルを.ico
ファイルとして保持する場合は、2番目の方法を試す前にリンクした質問を読んでください。質問に対する受け入れられた答えはそのソリューションとは異なります。また、2番目の方法がなぜ機能するのかはわかりませんが、少しハッキーなようです。
現在、これを行う正しい方法は次のとおりです。
<link rel="shortcut icon" type="image/png" href="{{ "/favicon.png" | prepend: site.baseurl }}" >
Pngを使用していると仮定します。以下も.pngの代わりに.icoを使用して機能しました。
<link rel="shortcut icon" type="image/x-icon" href="{{ "/favicon.ico" | prepend: site.baseurl }}" >
私はLinuxでChromeを使用していました。ExcaliburZeroの答えもRibtoksの答えもうまくいきませんでした。
私が使う
<link rel="shortcut icon" type="image/x-icon" href="{{ site.baseurl }}/images/favicon.ico" >
そして、フォルダーimages
にファビコンがあります。
私はそれを使って動作するようにしました:
<!-- Add favicon -->
<link rel="shortcut icon"
type="image/png"
href="{{ '/favicon.png' | relative_url }}" >
スニペットに関する注意:
head.html
)。relative_url
は、 Liquid にurl
およびbaseurl
を指定されたパスの先頭に追加するよう指示します。Hrefアドレスを相対的にするために、スラッシュを省略します。
例えば:
変化する
<link rel="shortcut icon" type="image/png" href="/favicon.png">
に:
<link rel="shortcut icon" type="image/png" href="favicon.png">
私の github pages site ではこれは完璧に機能します。
私のサイトhttps://hustlion.github.io/spanish-cards/
を例として使用してください:
<link rel="shortcut icon" type="image/png" href="/favicon.png">
を使用する場合、サイトのルート(https://hustlion.github.io/favicon.png
のスラッシュで指定)は/favicon.png
であるため、アイコンアドレスはhttps://hustlion.github.io/
になります。
ただし、<link rel="shortcut icon" type="image/png" href="favicon.png">
を使用する場合、これはパスhttps://hustlion.github.io/spanish-cards/
に相対的であるため、アイコンアドレスはhttps://hustlion.github.io/spanish-cards/favicon.png
として適切に解決されます。
このパスの問題は、特定のリポジトリにgithubページを使用している場合に特に発生します。
誰かがこれを探している場合に備えて。どちらのアプローチも私にはうまくいきませんでした。しかし、site.url
、 出来た
<link rel="shortcut icon" type="image/png" href="{{site.url}}/favicon.png">
上記では何も機能しませんでしたが、 this vid (最小テーマを想定)の手順は機能しました。
1)_includes
ディレクトリをプロジェクトルートに追加します
_includes/head.html
と入力してbundle show minima
を検索します_includes/head.html
をFinderからプロジェクトルートにコピーします2)_includes/head.html
を変更してファビコンリンクを含める
<link rel="shortcut icon" type="image/png" href="/favicon.png">
/
の前にある/favicon.png
が重要です。 /
がない場合、ウェブサイトのルートにはファビコンがありますが、他のエンドポイントにはありません。3)jekyll-seo-tag
プラグインを_config.yml
に追加します。次のようになります。
# Build settings
markdown: kramdown
theme: minima
plugins:
- jekyll-feed
- jekyll-seo-tag
私の場合、favicon.icoファイルをassetフォルダーに追加し、次のように参照する必要がありました。
<link rel="shortcut icon" type="image/x-icon" href="assets/favicon.ico">
ドキュメントによると:
1)favicon.ico
ファイルをassets/images
jekyllプロジェクトのフォルダーassets/images/favicon.ico
2)_includes/head_custom.html
ファイルが存在しない場合
3)必要なオーバーライドコンテンツを追加します。
<link rel="shortcut icon" type="image/x-icon" href="{{ site.baseurl }}/assets/images/favicon.ico">
できた.