Astro で FontAwesome を使用する方法について
ブログに関する指摘をもらうために、XやGithubへ誘導するのが一番ssgとの相性が良く、手っ取り早い方法でありそうである。
そのため、XやGithubへのリンクをアイコンとして表示する必要が生じた。
今回は本ブログで使用しているAstro内でReactコンポーネントとしてFontAwesomeを使用することでアイコンを表示した。
以下で使用方法を記載していく。
方法
まず、以下のコマンドでAstro で Reactコンポーネントを使えるようにする
npx astro add react
これにより、Astro で Reactコンポーネントを使うためのパッケージがインストールされるだけでなく、必要な初期設定も追加される。
次にFontAwesomeに関するパッケージをインストールする。
使用したいアイコンが含まれているパッケージもインストールする必要がある。
npm install @fortawesome/fontawesome-svg-core
npm install @fortawesome/react-fontawesome
npm install @fortawesome/free-brands-svg-icons
次に適当な jsx ファイル(例えばIcon.jsx
)で次のようなコンポーネントを定義する。
以下は Github のアイコンを表示するためのコンポーネントである。
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faGithub } from '@fortawesome/free-brands-svg-icons';
import { config } from '@fortawesome/fontawesome-svg-core'
import '@fortawesome/fontawesome-svg-core/styles.css'
config.autoAddCss = false
const Icon = () => {
return (
<FontAwesomeIcon icon={faGithub} />
);
};
export default Icon;
config.autoAddCss = false
は React で FontAwesome に対する CSS を有効にするために必要である。
これがないと、めちゃくちゃ大きいアイコンが表示されるため注意が必要。
他は React の文法に従ってコンポーネントを定義すれば良さそう。
AstroのコンポーネントでReactのコンポーネントを使うには以下のように呼び出せば良い。
---
import Icon from "./Icon.jsx";
---
<Icon />
参考
-
Astro
-
FronAwesome