Gatsbyでいい感じのリンクカード

Tech

【Gatsby】URLからリンクカードを作る、最高の方法

Gatsbyでリンクカードを作る方法はいくつかありますが、その中で「これが最高である」というものを見つけたので、使い方も含めてご紹介します。

2024/04/04

結論

これが最強です。

検討経緯

こちらは動きませんでした。無念。

こちらでも実装は可能でした。ただし、気に入らないところが3点ありました。

1:[$card](URL)と書くのがだるい

だるいです。独自構文ですし。

2:スタイルが自動適用じゃない

手動で全て作成する必要があります。面倒です。

3:リンク先から情報取得をブロックされると「Blocked」表示になる

これが最大の不満点です。簡単に言えば、例えばCloudflareなどを導入していることが原因でOGP画像を正常に読み込むことができなかった場合に、リンク名が「Blocked」になってしまいます。

ユーザーエージェント偽装や認証のアレコレをすれば行けるのかもしれませんが、やり方が分からず面倒で諦めました。

@okaryoがないと別物です。気をつけましょう。

こちらは手軽でした。

というのが最高です。

ということで、みなさんこれを使いましょう。GitHubにStarも忘れずに。

しかも作者は日本人の方です(貴重!)。今後のさらなる活躍に期待できます。「いや自分(筆者:Blue Triangle)で作れよ」という話ではありますが。

おまけ:カスタムCSS

スタイリングで気に入らないところがあったので、少し書き換えました。

.gatsby-remark-link-card__container {
background: transparent;
border: 1px solid var(--color-gray-2);
:hover {
background: rgba(55, 53, 47, 0.08);
}
}
.gatsby-remark-link-card__link {}
.gatsby-remark-link-card__main {
flex: 1;
}
.gatsby-remark-link-card__content {}
.gatsby-remark-link-card__title {}
.gatsby-remark-link-card__description {}
.gatsby-remark-link-card__meta {}
.gatsby-remark-link-card__favicon {
margin-right: 6px !important;
}
.gatsby-remark-link-card__url {}
.gatsby-remark-link-card__thumbnail {
max-width: 40%;
}
.gatsby-remark-link-card__image {}

以下の点で改良しています。

上記CSSの著作権は放棄しますので、ご自由にお使いください。そもそもこんな微妙な改造に著作権なんてなさそうですが…

記事のタグ

Gatsby フロントエンド

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