Blog Article Image

Tech

【Gatsby】remark系プラグインが効かないときの対処法

Gatsbyでremark系プラグインの順番を適当にしていたら、gatsby-remark-embed-youtubeが機能しなくなりました。解決方法を見つけるのは簡単だったので、以下で紹介します。

2024/03/23

gatsby-remark-table-of-contentsgatsby-remark-embed-youtubeが効かない人、いると思います。

この記事に、その原因の可能性があるものを書いてみます。

gatsby-config.jsは適当に書いてはいけない

gatsby-config.jsというファイルがあります。

これの順番は、プラグインの読み込み順に関わります。そのため、適当な順番で並べてはいけません。

私の場合、コードブロックを整形するプラグインをgatsby-remark-embed-youtubeの前に配置してしまったことが原因で、youtubeのリンクがすべて無効になる事象が発生していました。

そのため、おすすめの順番は以下になります。

ただ説明文だけ載せて終わるのもぷよぐらまーらしくないので、例も載せておこうと思います。

gatsby-config.js
const markdownPlugins = [
{
resolve: "gatsby-transformer-remark",
options: {
plugins: [
"gatsby-remark-copy-linked-files",
"gatsby-remark-autolink-headers",
{
resolve: `gatsby-remark-table-of-contents`,
options: {
exclude: "目次",
tight: true,
ordered: false,
fromHeading: 2,
toHeading: 6,
className: "table-of-contents"
},
},
{
resolve: "gatsby-remark-embed-youtube",
options: {
width: 800,
height: 400
}
},
{
resolve: 'gatsby-remark-prismjs-title',
options: {
className: 'code-title-prismjs',
}
},
"gatsby-remark-prismjs-copy-button",
{
resolve: `gatsby-remark-prismjs`,
options: {
classPrefix: "language-",
inlineCodeMarker: null,
aliases: {},
showLineNumbers: true,
noInlineHighlight: false,
},
},
{
resolve: "gatsby-remark-images",
options: {
linkImagesToOriginal: false,
},
},
"gatsby-remark-responsive-iframe",
],
},
},
]

このサイトのプラグインの一部です。

gatsby-remark-responsive-iframeが一番下にあるのは、iframeタグにしか影響を及ぼさないからです。これの設置場所は、他にiframeを適用したいものがなければ別にどこでもいいと思います。

記事のタグ

Gatsby フロントエンド

役に立ったら記事をバラ撒こう