firebase initでプロジェクト名が表示されない場合の対策

Firebaseの管理画面で追加したプロジェクト名がfirebase initしても表示されない場合、以下のコマンドで明示的に初期化します。

firebase init --project プロジェクトID

Google ChromeでSVGファイルが表示されない場合の対策

Photoshopで書き出したSVGファイルがChromeで表示されない場合の対策方法を紹介します。

SVGファイルをテキストエディタで開き、img/pngとなっている部分をimage/pngに修正します。

PrismでReact(jsx)のコードの HTMLタグが消える際の対策方法

シンタックスハイライターのPrismを使っているのですが、Reactのコードを掲載するときにコンポーネント内のHTMLタグが残っていると消えてしまいます。

対策方法

&lt;と&gt;でタグの<と>を置換すると正しく表示されます。

Prismでjsxを選択したときにHTMLタグが表示されない

サンプルコード

CodePenでご覧ください。

Reactでfont awesomeを使う

Font AwesomeというアイコンのフォントセットをReactで使うための方法を紹介します。
react-fontawesomeというnpmパッケージを使用します。

インストール方法

yarn add @fortawesome/react-fontawesome @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons

使い方

まずApp.jsの中で必要なライブラリをimportします。
free-brands-svg-iconsは有名な会社のアイコンのセットで”apple”や “microsoft”や “google”などと表示することでそのアイコンを表示できます。
free-solid-svg-iconsにはUIに使うアイコン一式が入っています。

import { library } from '@fortawesome/fontawesome-svg-core'
import { fab } from '@fortawesome/free-brands-svg-icons'
import { faCheckSquare, faCoffee } from '@fortawesome/free-solid-svg-icons

library.add(fab, faCheckSquare, faCoffee)//あらかじめ使用するアイコンを追加しておく

そして、実際にアイコンを表示するコンポーネントでは以下のようにアイコンを呼び出します。

import React from 'react'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
 
const Icons = () => (
<div>
  チェック:<FontAwesomeIcon icon="check-square" />
  コーヒー:<FontAwesomeIcon icon="coffee" />
  Apple:<FontAwesomeIcon icon={['fab', 'apple']} />
  Microsoft:<FontAwesomeIcon icon={['fab', 'microsoft']} />
  Google:<FontAwesomeIcon icon={['fab', 'google']} />
</div>
)
export default Icons

実行すると以下のようになります。(上記ソースのままだと横並びになります。)

font awesome
実行結果(スタイリング済)

動作プログラムサンプル

CodeSandBoxを使用した動作サンプルはこちらです。

gatsby-plugin-page-transitionsはv2対応してないのでビルドが通らない

gatsbyのページ遷移アニメーションをつけるプラグインgatsby-plugin-page-transitionsは廃止されたAPIを使用しているのでgatsby buildコマンドでのビルドが通りません。(gatsby developは通ります。)

Netlifyにもデプロイできないので使うのをやめました。ちなみにエラーメッセージは以下の通りです。

error 
Your plugins must export known APIs from their gatsby-browser.js.
The following exports aren't APIs. Perhaps you made a typo or your plugin is outdated?

See https://www.gatsbyjs.org/docs/browser-apis/ for the list of Gatsby Browser APIs

- The plugin "gatsby-plugin-page-transitions@1.0.7" is exporting a variable named "replaceHistory" which isn't an API.

GatsbyでSassを使う

GatsbySassを使う方法を調べてみました。

インストール

npm install --save node-sass gatsby-plugin-sass
続きを読む

WordPressのGutenbergで記事のパーマリンクを設定する方法

WordPressの投稿の編集をGutenberg(グーテンベルク)で行う際に、パーマリンクの設定欄がわかりづらかったので、設定方法をメモしておきます。

記事タイトルをクリックすると表示されます。

GutenbergでのPermalink設定

Gatsbyで作ったサイトをGoogle Search Consoleに登録する

サイトをGoogle Search Console(サーチコンソール)に登録する場合、適切なGoogle Analyticsタグが入っていればすぐに登録できます。しかし、Gatsbyで制作したサイトにgatsby-plugin-google-analyticsでGoogle Analyticsのタグを入れている場合うまく登録できませんでした。

今回はGoogle Analyticsのタグを使わずにSearch Consoleに登録する方法を試してみました。

続きを読む

gatsby-plugin-sitemapを使う

Gatsby.jsでサイトマップを作成するプラグインgatsby-plugin-sitemapの設定方法です。

続きを読む

GitUpでuser.nameやuser.emailに関するエラーが発生する場合の対策

GitUpでCommitする際にuser.nameやuser.emailのエラーが出ることがあります。gitで名前やEmailを設定していないためです。以下のコマンドでこれらの値を設定できます。

続きを読む