Marp Slides Presenter

by cocoaai-it
5
4
3
2
1
New Plugin

Description

This plugin has not been manually reviewed by Obsidian staff. Create and present Marp markdown slides with a fullscreen mode, popout presenter view, and laser pointer.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Marp Slides Presenter

Create and present Marp markdown slides inside Obsidian, with a fullscreen presentation mode, a popout presenter view, and a built-in laser pointer.

This plugin is a fork of samuele-cozzi/obsidian-marp-slides with added presentation features and an editable PPTX export.

Features

  • Live slide preview — real-time preview pane for the active Marp note
  • Fullscreen presentation — present directly from Obsidian
  • Popout presentation — present in a separate window
  • Presenter view — current / next slide previews, speaker notes, and an elapsed timer
  • Laser pointer — toggle with the L key during a presentation; the pointer is mirrored in the presenter view
  • Speaker notes — use Marp's <!-- comment --> syntax for per-slide notes
  • Export — HTML / PDF / PNG / PPTX (image-based) via Marp CLI
  • Editable PPTX export — generate a PPTX whose text is editable in PowerPoint (via PptxGenJS)
  • Custom theme CSS and three bundled themes (corporate / dark / enterprise)

Export requirements: HTML / PDF / PNG / image-based PPTX export is performed by the official Marp CLI, which is not bundled with this plugin. Install it separately and point the plugin at the executable:

npm install -g @marp-team/marp-cli

Then set the path in Settings → Marp Slides Presenter → Marp CLI Path (defaults to marp, resolved via PATH). PDF / PNG / PPTX export also requires Google Chrome, Chromium, or Microsoft Edge; the browser path can be set via the CHROME_PATH setting.

The Editable PPTX export uses PptxGenJS directly inside Obsidian and does not require Marp CLI or Chrome.

Getting Started

  1. Download main.js, styles.css, and manifest.json from the latest Release.
  2. Create .obsidian/plugins/marp-slides-presenter/ in your vault.
  3. Place the three files in that folder.
  4. Enable the plugin from Obsidian → Settings → Community plugins.

Usage

Open any markdown file with a Marp front matter; the preview pane renders the slides.

---
marp: true
theme: default
paginate: true
---

# Slide 1

<!-- This becomes a speaker note -->

---

## Slide 2

- Point 1
- Point 2

<!-- Speaker note for slide 2 -->

Toolbar

Button Action
Present Start the presentation (choose fullscreen or popout)
PPTX Image-based PPTX export (highest fidelity)
PPTX Edit Editable PPTX export (text remains editable)

Presentation controls

Key Action
/ / Space / PageDown Next slide
/ / PageUp Previous slide
Home First slide
End Last slide
L Toggle laser pointer
Escape End presentation

Presenter view

When Show presenter view is enabled before starting a presentation, a separate window shows:

  • Current slide — including the live laser-pointer position
  • Next slide — preview of the upcoming slide
  • Speaker notes — taken from <!-- comments --> (directive comments are filtered out)
  • Elapsed time — since the presentation started
  • Navigation buttons

Network use

This plugin sends HTTPS requests in the following case:

  • Kroki diagram rendering (https://kroki.io) — when a slide contains a Kroki code block (PlantUML, Mermaid, GraphViz, etc.), the diagram source is sent to https://kroki.io to render an SVG. No network call is made for slides that do not contain Kroki blocks. The endpoint is currently hard-coded; if you do not use Kroki blocks, no request will be issued.

The plugin does not send any telemetry and does not contact any other host.

File access outside the vault

Because exporting PDF / PPTX / PNG uses Marp CLI through a local Chromium/Chrome/Edge binary, the plugin invokes a system executable whose path is configured via the CHROME_PATH setting. The plugin does not otherwise read or write files outside the vault.

Platform support

This plugin is desktop only (isDesktopOnly: true). It depends on Node.js APIs (filesystem access, Marp CLI, child processes) and will not load on Obsidian Mobile.

Not supported

  • Obsidian Wiki Links ([[...]]) inside slides
  • Mobile platforms

Acknowledgements

This project builds on the work of:

License

MIT License — see LICENSE.


日本語版

Obsidian 上で Marp ベースのスライドを作成・プレゼンテーションできるプラグインです。

samuele-cozzi/obsidian-marp-slides をフォークし、プレゼンテーション機能や編集可能な PPTX エクスポートなどの機能を追加しています。

機能

  • スライドプレビュー — Obsidian 内でスライドをリアルタイムプレビュー
  • フルスクリーンプレゼンテーション — Obsidian から直接スライドを発表
  • 別ウィンドウ(Popout)プレゼンテーション — 別ウィンドウでスライドを表示しながら発表
  • 発表者ビュー — 現在・次スライドのプレビュー、スピーカーノート、経過時間を表示
  • レーザーポインタ — プレゼン中に L キーでレーザーポインタを切り替え(発表者ビューにも同期表示)
  • スピーカーノート — Marp の <!-- コメント --> 構文でスライドごとのノートを記述
  • エクスポート — HTML / PDF / PNG / PPTX(画像ベース)への書き出し(Marp CLI 経由)
  • 編集可能 PPTX エクスポート — テキスト編集可能な PPTX を生成(PptxGenJS 経由)
  • カスタムテーマ CSS — 独自テーマの適用
  • ビルトインテーマ — corporate / dark / enterprise テーマを同梱

エクスポートに必要な環境: HTML / PDF / PNG / 画像ベース PPTX のエクスポートは公式の Marp CLI を呼び出して行います。プラグインにはバンドルされていません。別途インストールしてプラグインに実行パスを指定してください。

npm install -g @marp-team/marp-cli

設定 → Marp Slides PresenterMarp CLI Path にパスを指定します(既定値は marpPATH から解決されます)。PDF / PNG / PPTX エクスポートには Google ChromeChromium、または Microsoft Edge のいずれかも必要で、CHROME_PATH でパスを指定できます。

編集可能 PPTX エクスポートPptxGenJS を Obsidian 内で直接実行するため、Marp CLI や Chrome は不要です。

はじめに

  1. このリポジトリの Releases から main.jsstyles.cssmanifest.json をダウンロード
  2. Obsidian の Vault 内に .obsidian/plugins/marp-slides-presenter/ フォルダを作成
  3. ダウンロードしたファイルを配置
  4. Obsidian の設定 → コミュニティプラグイン から有効化

使い方

Marp のフロントマターを持つ Markdown ファイルを開くと、プレビューパネルにスライドが表示されます。

---
marp: true
theme: default
paginate: true
---

# スライド 1

<!-- これがスピーカーノートになります -->

---

## スライド 2

- ポイント 1
- ポイント 2

<!-- 2枚目のスピーカーノート -->

ツールバー

ボタン 機能
Present プレゼンテーション開始(フルスクリーン or 別ウィンドウを選択)
PPTX 画像ベース PPTX エクスポート(高品質)
PPTX Edit 編集可能 PPTX エクスポート(テキスト編集可能)

プレゼンテーション操作

キー 操作
/ / Space / PageDown 次のスライド
/ / PageUp 前のスライド
Home 最初のスライド
End 最後のスライド
L レーザーポインタの切り替え
Escape プレゼンテーション終了

発表者ビュー

プレゼンテーション開始時に「発表者ビューを表示」を有効にすると、別ウィンドウに以下が表示されます:

  • 現在のスライド — レーザーポインタの位置も同期表示
  • 次のスライド — 次に表示されるスライドのプレビュー
  • スピーカーノート<!-- コメント --> で記述したノート(ディレクティブコメントは自動除外)
  • 経過時間 — プレゼン開始からの時間
  • ナビゲーションボタン — スライド送り/戻し

ネットワーク通信について

本プラグインは次の場合に限り HTTPS 通信を行います。

  • Kroki 図表のレンダリング (https://kroki.io) — スライドに Kroki コードブロック(PlantUML、Mermaid、GraphViz など)が含まれる場合、図表のソースを https://kroki.io に送信して SVG にレンダリングします。Kroki ブロックを含まないスライドではネットワーク通信は行いません。

テレメトリや上記以外の外部送信は一切行いません。

Vault 外のファイルアクセスについて

PDF / PPTX / PNG エクスポートは Marp CLI を介してローカルの Chromium / Chrome / Edge を起動します。実行するブラウザのパスは CHROME_PATH 設定で指定します。これ以外の Vault 外ファイルの読み書きは行いません。

動作プラットフォーム

本プラグインは デスクトップ専用isDesktopOnly: true)です。Node.js API(ファイルシステムアクセス、Marp CLI、子プロセス)に依存しており、Obsidian Mobile では動作しません。

サポート対象外

  • Wiki Link ([[...]])
  • モバイルアプリ

謝辞

このプロジェクトは以下のプロジェクトに基づいています。感謝いたします。

ライセンス

MIT License — 詳細は LICENSE を参照してください。