Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>MarpItUpNew to Visual Studio Code? Get it now.
MarpItUp

MarpItUp

Nisseya

|
3 installs
| (0) | Free
Slide deck never been easier
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MarpItUp

MarpItUp is a VS Code extension that makes creating Marp presentations faster and more maintainable by:

  • inserting slide templates via contextual menus
  • managing reusable slide snippets
  • handling image paste intelligently (cross-platform)
  • keeping your Markdown clean and Marp-compatible

It is designed to stay simple, predictable, and close to Marp’s native workflow.


✨ Features

🧩 Slide snippets

  • Define reusable slide templates as .md files

  • Organize snippets in folders → automatically mapped to submenus

  • Insert slides from:

    • right-click context menu
    • editor title bar
    • command palette

No manual registration: snippets are discovered at build time.


🗂 Folder-based menu structure

The folder structure under:

resources/slide-snippets/

is mirrored into the editor menu:

MarpItUp: Insert slide
├── Basics
│   ├── title
│   └── content
├── Layouts
│   ├── two-columns
│   └── image-left

This keeps large snippet libraries manageable.


📋 Image paste (cross-platform)

Paste images directly into Markdown (Ctrl+V / Cmd+V):

  • Works on Windows, macOS, Linux

  • Supports clipboard images and file copy-paste

  • Automatically:

    • saves the image to disk
    • converts it to PNG (via sharp)
    • inserts a relative Markdown link

Example output:

![](https://github.com/Nisseya/MarpItUp/raw/HEAD/res/image_3.png)

🧠 Smart defaults

  • Images are saved relative to the current Markdown file by default
  • Paths are always inserted as relative links
  • Filenames auto-increment safely

⚙️ Configuration

All settings are optional.

{
  "MarpItUp.pasteImages.enabled": true,
  "MarpItUp.pasteImages.base": "file",
  "MarpItUp.pasteImages.folder": "res",
  "MarpItUp.pasteImages.filenamePattern": "image_{n}.png"
}

Settings reference

Setting Description
pasteImages.enabled Enable/disable image paste handling
pasteImages.base "file" (default) or "workspace"
pasteImages.folder Folder where images are saved
pasteImages.filenamePattern Filename template ({n} = auto index)

🧱 How snippets work

Each snippet is a simple Markdown file:

resources/slide-snippets/Basics/title.md

Example:

---
marp: true
---

# {{title}}

Snippets may use simple tokens like {{theme}}, replaced at insertion time.


🖱 Commands

Command Description
MarpItUp: Insert Slide Opens the slide picker

Snippet-specific commands are generated automatically and do not need to be declared manually.


🧪 Platform support

Platform Status
Windows ✅
macOS ✅ (TIFF / HEIC converted to PNG)
Linux ✅

🛠 Development notes

  • Snippets are injected into package.json at build time
  • Menus are generated automatically from the filesystem
  • sharp is used for image normalization and kept external to the bundle
  • No runtime templating or Marp preprocessing is required

🎯 Philosophy

MarpItUp follows a few strict principles:

  • No magic syntax: everything stays valid Markdown
  • Filesystem is the source of truth
  • Generated menus, not hardcoded ones
  • Works even if you stop using the extension

📌 Roadmap (optional / ideas)

  • Image replacement via identifiers
  • CodeLens actions on images
  • Snippet metadata (labels, tags)
  • Per-slide image folders
  • Alt-text prompt on paste

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft