Top Related Projects
The HTML Presentation Framework
A simple, in-browser, markdown-driven slideshow tool.
reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
♠️ React MDX-based presentation decks
It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
Quick Overview
Marp (Markdown Presentation Ecosystem) is an open-source project that allows users to create beautiful presentations using Markdown. It provides a set of tools and libraries to convert Markdown files into slide decks, supporting various output formats such as HTML, PDF, and PowerPoint.
Pros
- Simple and intuitive: Uses Markdown syntax for creating presentations
- Customizable: Supports themes and custom CSS for styling
- Multiple output formats: Can export to HTML, PDF, and PowerPoint
- Active development: Regularly updated with new features and improvements
Cons
- Limited advanced features compared to traditional presentation software
- Learning curve for users unfamiliar with Markdown
- Requires additional setup for certain output formats (e.g., PDF export)
Code Examples
- Basic slide creation:
---
marp: true
---
# My Presentation
---
## Slide 2
- Bullet point 1
- Bullet point 2
---
## Slide 3
![Image](https://example.com/image.jpg)
- Using directives for styling:
---
marp: true
theme: gaia
class: invert
---
# Styled Presentation
This presentation uses the Gaia theme and inverted colors.
- Adding custom CSS:
---
marp: true
style: |
section {
background-color: #f0f0f0;
}
h1 {
color: #ff0000;
}
---
# Custom Styled Presentation
This slide has a custom background color and red heading.
Getting Started
-
Install Marp CLI:
npm install -g @marp-team/marp-cli
-
Create a Markdown file (e.g.,
presentation.md
) with your slides. -
Convert to HTML:
marp presentation.md
-
Convert to PDF:
marp presentation.md --pdf
-
Start the Marp server for live preview:
marp -s presentation.md
Competitor Comparisons
The HTML Presentation Framework
Pros of Reveal.js
- More customizable with extensive theming options and plugins
- Supports interactive elements like fragments and transitions
- Larger community and ecosystem with numerous third-party extensions
Cons of Reveal.js
- Steeper learning curve, especially for non-developers
- Requires more manual setup and configuration
- Less focused on Markdown-centric workflow
Code Comparison
Marp (Markdown):
---
marp: true
theme: default
---
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
Reveal.js (HTML):
<div class="reveal">
<div class="slides">
<section>
<h1>Slide 1</h1>
<p>Content for slide 1</p>
</section>
<section>
<h1>Slide 2</h1>
<p>Content for slide 2</p>
</section>
</div>
</div>
Summary
Marp focuses on simplicity and Markdown-based presentations, while Reveal.js offers more advanced features and customization options. Marp is easier to use for those familiar with Markdown, while Reveal.js provides greater flexibility for complex presentations and interactive elements. The choice between the two depends on the user's needs, technical expertise, and desired level of customization.
A simple, in-browser, markdown-driven slideshow tool.
Pros of Remark
- More flexible and customizable, allowing for greater control over slide design
- Supports a wider range of Markdown syntax and features
- Has a larger ecosystem of plugins and extensions
Cons of Remark
- Steeper learning curve, especially for users new to Markdown-based presentations
- Requires more setup and configuration to achieve desired results
- Less intuitive for users accustomed to traditional presentation software
Code Comparison
Marp:
---
marp: true
theme: default
---
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
Remark:
class: center, middle
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
Summary
Marp focuses on simplicity and ease of use, making it ideal for quick presentations with minimal setup. It uses a straightforward Markdown syntax and provides built-in themes.
Remark offers more power and flexibility, allowing for advanced customization and complex layouts. It supports a broader range of Markdown features and has a rich ecosystem of plugins, but requires more time to master.
Choose Marp for quick, simple presentations or if you're new to Markdown-based slides. Opt for Remark if you need more control over design and functionality, and are comfortable with a steeper learning curve.
reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
Pros of reveal-md
- More customizable themes and plugins
- Built-in live reload server for development
- Supports speaker notes and PDF export
Cons of reveal-md
- Steeper learning curve for advanced features
- Less focus on Markdown-centric authoring
- Requires more configuration for complex presentations
Code Comparison
reveal-md:
---
title: My Presentation
theme: black
---
# Slide 1
- Point 1
- Point 2
---
# Slide 2
Some content
Marp:
---
marp: true
theme: default
---
# Slide 1
- Point 1
- Point 2
---
# Slide 2
Some content
Key Differences
- Marp focuses on simplicity and Markdown-first authoring
- reveal-md offers more advanced features and customization options
- Marp has better integration with VS Code and other development environments
- reveal-md provides a more traditional presentation framework with additional bells and whistles
Use Cases
- Choose Marp for quick, simple presentations with minimal setup
- Opt for reveal-md when you need more advanced features and customization options
Community and Support
- Both projects have active communities and regular updates
- Marp has a larger user base and more comprehensive documentation
- reveal-md offers more third-party themes and plugins due to its reveal.js foundation
♠️ React MDX-based presentation decks
Pros of mdx-deck
- Allows for more customization and flexibility in slide design
- Supports React components for interactive presentations
- Offers a wider range of themes and styling options
Cons of mdx-deck
- Steeper learning curve, especially for those unfamiliar with React
- Requires more setup and configuration compared to Marp
- May have slower rendering times for complex presentations
Code Comparison
mdx-deck:
import { Head, Notes } from 'mdx-deck'
<Head>
<title>My Presentation</title>
</Head>
# Welcome to my deck
<Notes>Speaker notes go here</Notes>
Marp:
---
marp: true
title: My Presentation
---
# Welcome to my deck
<!-- Speaker notes go here -->
Both tools allow for creating presentations using Markdown, but mdx-deck offers more advanced features through React integration, while Marp focuses on simplicity and ease of use. mdx-deck is better suited for developers comfortable with React and those seeking highly customizable presentations. Marp is ideal for users who prefer a straightforward, Markdown-centric approach with minimal configuration.
It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
Pros of impress.js
- Highly customizable and interactive presentations with 3D transformations
- Supports a wide range of CSS3 transitions and animations
- Large community and extensive plugin ecosystem
Cons of impress.js
- Steeper learning curve, especially for non-developers
- Requires more manual coding and setup compared to Marp
- May not be suitable for quick, content-focused presentations
Code Comparison
impress.js:
<div id="impress">
<div class="step" data-x="0" data-y="0">Slide 1</div>
<div class="step" data-x="1000" data-y="500" data-scale="2">Slide 2</div>
</div>
Marp:
---
marp: true
---
# Slide 1
---
# Slide 2
Key Differences
- impress.js focuses on creating visually stunning, interactive presentations with complex layouts and transitions
- Marp emphasizes simplicity and ease of use, using Markdown for content creation
- impress.js requires HTML and CSS knowledge, while Marp uses a more accessible Markdown syntax
- impress.js offers more granular control over slide positioning and transitions, whereas Marp provides a more streamlined, content-first approach
Both tools have their strengths, with impress.js excelling in creating unique, visually impressive presentations, and Marp offering a simpler, faster way to create clean, professional slides.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Marp: Markdown Presentation Ecosystem
Marp is the ecosystem to write your presentation with plain Markdown.
Marp family
Our project is spread over many repos in order to focus on a limited scope per repository.
This repo (marp-team/marp) is an entrance to the Marp family, and places our website in /website
.
Framework / Core
Name | Description | Release |
---|---|---|
Marpit | The skinny framework for creating slide deck from Markdown. (marpit.marp.app) | |
Marp Core | The core of Marp converter with practical features and built-in themes. |
Apps
Name | Description | Release |
---|---|---|
Marp CLI | Marp Core / Marpit's CLI interface to convert into HTML, PDF, PPTX, and image(s). |
Integrations
Name | Description | Release |
---|---|---|
Marp for VS Code | A VS Code extension to preview the slide deck written in Marp Markdown. |
See outdated/inactive projects...
Name | Description | Release |
---|---|---|
Marp Web | The Web interface of Marp based on PWA and Preact framework. | |
Marp React | Marp renderer component for React. | |
Marp Vue | Marp renderer component for Vue. |
And there is a gravesite of classic Marp app in https://github.com/yhatt/marp. :ghost:
Ecosystem
Marp ecosystem has a lot of cool stuffs for making awesome presentation. Check out the awesome list of Marp. ð
Contributing
Marp and sub-projects are following the contributing guideline of marp-team. Please read this before starting work in our projects.
Author
Managed by @marp-team.
- Yuki Hattori (@yhatt)
Sponsors
We are supported by them! Thanks for our sponsors! :heart:
Organization sponsors
Personal sponsors
Do you want to sponsor the member of Marp team? See GitHub Sponsors profile(s) from "â¥ï¸ Sponsor" button at the top of repository.
License
Top Related Projects
The HTML Presentation Framework
A simple, in-browser, markdown-driven slideshow tool.
reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
♠️ React MDX-based presentation decks
It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot