Yutteee

astroブログでmarp対応した

2025/08/12

オカメインコの写真。机の上に載ってこちらを見上げている。

ゆってぃー

  • UI/UX, アクセシビリティ
  • お笑いと読書とお酒が好き

やったこと

私のポートフォリオに、marpでスライドを作成して公開できる仕組みを作りました。

ポートフォリオのスクリーンショット。本スライドがポートフォリオサイト内で表示されている。 h:full

目次

  • 開発背景
  • 実装について
  • スライドデザイン

開発背景

なぜ作成した?

自分だけのスライドテンプレートが欲しかった

  • 自分の好みの形式のスライドを作りやすくしたい
  • スライドを公開しやすくしたい

marpとは?

Markdownでスライドを作成できるツール

  • Markdown記法でスライドを書ける
  • HTML/CSSやPDFに変換可能
  • 見た目はCSSでカスタマイズ可能

marpのロゴ

marpの良さ

構造化されたテキストでスライドを作成することができる

  • スライドの一貫性とアクセシビリティを担保しやすい
  • AIエージェントを使ってスライドを作れる

実装について

使用技術1

Astro

  • 静的コンテンツ配信に特化したフロントエンドフレームワーク
  • MarkdownをHTMLに変換して公開することもできる
  • 本ポートフォリオでの作成に使用

astroのロゴ

Astroでのmarkdownの公開

Astroのコンテンツ管理システムのContent Collectionsを使用

  • src/content/posts/ にMarkdownファイルを配置
  • getCollection()/src/content/postsにあるファイル一覧の内容を取得
  • ページとしてサイト公開

使用技術2

marp-team/marp-core

Node.js環境でMarp形式のMarkdownをHTML/CSSに変換

const marp = new Marp();
const result = marp.render(post.body);
<div class="slide-container" set:html={result.html} />
<style set:html={result.css} />

スライドデザイン

桜井政博さんの教え

プレゼンはスピード。桜井政博がプレゼンはスピードとこちらに向けて語りかけている。

意識したこと

各スライドの主張を明確にする

  • 結論を一番強く装飾
  • 情報をあまり詰めれないようにした

まとめ

楽にスライドを公開できるようになった!