ろぼいんブログ

Markdownでリンクカードを表示する「remark-link-card」の使い方

ブログなどでは、リンクを埋め込む際にリンクカードを表示することがあります。リンクカードは、リンク先のページのタイトルやサムネイル、概要などを一覧表示でき、リンク先の情報を簡単に把握できるため、ユーザーにとって便利な機能です。

この記事では、Markdownでリンクカードを表示するための 「remark-link-card」の使い方について解説します。

広告
remark-link-cardのnpmページ
remark-link-cardのnpmページ

remark-link-cardは、OGPのリンクカードを表示するための、Markdownパーサーのremark用のプラグインです。

remark-link-cardを使うと、Markdownファイル内のベアリンクを自動でリンクカードに変換できます。リンクカードにはサムネイルやタイトル、概要、favicon、リンク先のURLが表示されます。

remak-link-cardを使うには、まずプロジェクトにインストールします。

Terminal window
npm install remark-link-card

インストールが完了したら、remarkにremark-link-cardを追加します。

広告
import remark from "remark";
import rlc from "remark-link-card";
(async () => {
const result = await remark()
.use(rlc)
.process(exampleMarkdown)
console.log(result.contents);
})();

Astroを使っている場合は、astro.config.mjsにremark-link-cardを追加します。

astro.config.mjs
import { defineConfig } from "astro/config";
import rlc from "remark-link-card";
// https://astro.build/config
export default defineConfig({
// ...
markdown: {
remarkPlugins: [rlc]
}
});

オプション

remark-link-cardには、次のオプションがあります。

  • cachetrueに設定すると、faviconやサムネイルなどのデータを./public/remark-link-card/にキャッシュします。デフォルトはfalseです
  • shortenUrltrueに設定すると、リンクカードに表示するURLをホスト名のみにします。デフォルトはfalseで、完全なURLを表示します

オプションを利用する場合は、次のように設定します。

import remark from "remark";
import rlc from "remark-link-card";
(async () => {
const result = await remark()
.use(rlc, {
cache: true,
shortenUrl: true
})
.process(exampleMarkdown)
console.log(result.contents);
})();
astro.config.mjs
import { defineConfig } from "astro/config";
import rlc from "remark-link-card";
// https://astro.build/config
export default defineConfig({
// ...
markdown: {
remarkPlugins: [
[
rlc,
{
cache: true,
shortenUrl: true
}
]
]
}
});

リンクカードを表示する方法

リンクカードを表示するには、Markdownファイル内にベアリンク(むき出しのURL)を記述します。ベアリンクではないリンクは、カードに変換されません。また、1行に複数のリンクがある場合も変換されません。

広告

次のコードは、リンクカードが表示される例です。

## リンクカードが表示される
https://example.com
<https://example.com>

次のコードは、リンクカードが表示されない例です。

## リンクカードが表示されない
[リンクカードが表示されない](https://example.com)
https://example.com https://example.com

Markdownではリンクを< >で囲っても囲わなくても動作します。MDXではエラーが出るため、リンクを< >囲わないことをオススメします。

まとめ

この記事では、Markdownでリンクカードを表示するための「remark-link-card」の使い方について解説しました。

リンクカードを手軽に実装できるので、ぜひ使ってみてください。

広告

参考

記事をシェア

Xに共有するBlueskyに共有するMisskeyに共有するLINEに共有するThreadsに共有する

フォローして最新情報を入手

Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。

Googleの優先ソースとして追加するGoogleの優先ソースとして追加するXのロゴ
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。