Markdown Workflow Hacks

更新: 2025/10/10 商品レビュー
Markdown Workflow Hacks のアイキャッチ画像

カスタムコンポーネントを MDX に差し込む際は、AST を直接操作せず import + JSX で表現するとシンプルです。インラインの <Marker> やブロック要素の <ReviewBlock> はテキストノードの置き換えだけで済むため、walk() など軽量なトラバーサでも十分に扱えます。外部リンクには <Link> を使い、rel="noopener" とアイコン付与を自動化しておきましょう(例:

Astro Markdown Guide

)。

Marker の使用例

AST を直接編集するときはノードの valuechildren を必ず確認しましょう。

ReviewBlock の使用例

総評

評価: 4.5
ネタバレを表示

ネタバレを含むレビューの場合は hasSpoiler=true を付与して details で包むと、閲覧者が自分のタイミングで開けるようになります。

ConversationBlock の使用例

サポートとのやり取り

  • 利用者

    最近バッテリーの減りが早いのですが、対処方法はありますか?

  • サポート

    まずは省電力モードをオンにし、改善しない場合はバッテリー診断ツールをご利用ください。

  • 利用者

    わかりました。ありがとうございます!

標準テキストと引用レイアウト

MDX の本文は .post-body クラスが当たるため、通常段落でも leading-7space-y-6 が効いて読みやすい間隔になります。インラインコード(例: pnpm validate)や強調を入れても、周辺要素とのバランスは自動で取られます。

長文の引用は blockquote タグを使うと余白・背景色・ボーダーが追加され、段落との視覚的な差別化が容易になります。テーマのライト / ダーク双方に対応済みです。

リストと番号付き手順

  • 外部サービス連携の前に API キーを .env に保存する
  • <Link> コンポーネントで外部リンクを一括制御する
  • 記事テンプレートに共通の frontmatter を用意する
  1. pnpm lint で静的解析
  2. pnpm validate で Frontmatter / スラッグを検証
  3. pnpm --filter sample-site build で本番想定ビルドを確認

コードブロックとプリセット

# コマンド群は pre > code にラップされ、背景色と角丸が適用される
pnpm lint
pnpm validate
pnpm --filter sample-site build
export function buildSeoMeta(input: BuildSeoMetaInput) {
  const defaultImage = new URL('/ogp.png', input.site.url).toString();
  return {
    title: input.seo?.title ?? input.site.name,
    description: input.seo?.description ?? input.site.description,
    image: input.seo?.image ?? defaultImage,
  };
}

表形式の比較

ツール目的実行タイミング
pnpm lintESLint での静的解析commit 前 / CI
pnpm validateFrontmatter / リンク検証draft 作成後 / CI
pnpm --filter sample-site buildAstro ビルドとルーティング確認リリース前 / Nightly

画像とキャプション

記事冒頭で使用している 16:9 のキービジュアル キャプションです。

記事冒頭で使用している 16:9 のキービジュアル

16:9 のサムネイルも .post-body figure のスタイルで余白とキャプションが整います。

タグ

このテーマに近い記事もあわせてどうぞ。