jekyll
な静的ウェブサイトにfavicon
を設定する。
あまりルートディレクトリにファイルをたくさん置きたくないので、アイコン類はicons/
にまとめておくための設定を記録しておく。
使用したジェネレータサイト
今回はfaviconジェネレータとして、Favicon Generator for perfect icons on all browsersを利用した。
favicon
を正しく設置できたかどうかチェッカーで確認もできるので、以前に記事に書いたジェネレータよりも使いやすいと思う。
チェッカーはこちら: Favicon checker
512x512の.png
のアイコンを用意して指示に従って設定していくだけで作成できた。英語がちょっと読めれば問題ないと思う。読めなくてもプレビューが充実しているので雰囲気でなんとかなる。
以降ではこのサイトで生成したものについての設定を書いていく。
生成後の設定は他のジェネレータでも大体は同じなはずなので、他サイトで生成したものでも同様にできる。href
などのパスに注目して設定すればいい。
生成後の構成
ジェネレータで生成した後、ダウンロードしたファイルを展開すると、以下のようなファイル群が入っている。(生成前の設定次第で構成は異なるかもしれない):
.
├── android-chrome-192x192.png
├── android-chrome-512x512.png
├── apple-touch-icon.png
├── browserconfig.xml
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon.ico
├── mstile-150x150.png
├── safari-pinned-tab.svg
└── site.webmanifest
ジェネレータサイトの指示ではこれらをサイトのルートフォルダに入れて、jekyll
ならテンプレートのhtml
の<head>
セクションに、さらに指示されたコード(下のようなもの)を加えておけば作業は完了。
<!-- 指示されるコード -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
しかし、.png
ファイルを沢山ルートに置くのはちょっと抵抗がある。個人的にはアイコン類は専用のディレクトリにまとめて、見通しをよくしておきたい。
アイコンは別ディレクトリへ
整理するとこうなった。関連するファイル以外は省略:
.
├── icons
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon.ico
│ ├── mstile-150x150.png
│ ├── safari-pinned-tab.svg
│ └── site.webmanifest
└── browserconfig.xml
browserconfig.xml
だけはルートにするしかなかった。これはwindows
のスタートメニューなどのタイル用のものだと思う。少し調べたが、このファイルのパス指定はできない?と思う。
おのれmicro○oft…
もちろん、移動するだけではブラウザ達は正しく認識してくれない。以降では手を加えるべきファイルとその内容を説明する。
編集の必要があるファイル
画像以外のファイルは大体編集が必要。上で書いたhtml
にも手を加える。
アイコンへのパスを修正するのみなので、そんなに難しくはない。
htmlのheadタグに挿入するコード
href
を変更する:
<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
<link rel="manifest" href="/icons/site.webmanifest">
<link rel="mask-icon" href="/icons/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#2d89ef">
<meta name="theme-color" content="#f5f5f5">
href="
をhref="/icons
に置換すれば完了。
site.webmanifest
icons
の中のsrc
を変更する:
"icons": [
{
"src": "/icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
これも、"src": "
を"src": "/icons
に置換すれば完了。
browserconfig.xml
これもsrc
を変更する。
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/icons/mstile-150x150.png"/>
<TileColor>#2d89ef</TileColor>
</tile>
</msapplication>
</browserconfig>
src="
をsrc="/icons
に置換すれば完了。
終わり
最後にアップロードまで済んだら、最初の方で紹介したチェッカーで確認する。 URLを指定するだけでOK。ブラウザ・プラットフォームなどでの表示を示してくれる。
赤表示がなければ十分だろう。上記の設定をしておけばとりあえず赤表示はなくなってくれるはず。
あまりに面倒でディレクトリの構成に問題がなければ、ルート丸投げで解決できる。
しかしこのサイトは便利だ…。なぜ前の記事を書くときに見つけられなかったのか。
favicon
を作るときはぜひこのサイトのことを思い出したい。
以上です。
広告