Top Related Projects
The HTML Presentation Framework
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.
reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
The entrance repository of Markdown presentation ecosystem
♠️ React MDX-based presentation decks
Quick Overview
Remark is a simple, in-browser, Markdown-driven slideshow tool. It allows users to create and present slideshows using Markdown syntax, making it easy to create content-rich presentations without the need for complex software or design skills.
Pros
- Easy to use with simple Markdown syntax
- Highly customizable with CSS and JavaScript
- Supports presenter mode with speaker notes
- Lightweight and works in any modern browser
Cons
- Limited built-in design options compared to traditional presentation software
- Requires basic knowledge of HTML and Markdown
- May not be suitable for complex presentations with advanced animations or transitions
- Offline usage requires additional setup
Code Examples
- Basic slide creation:
# Slide 1
This is the first slide
---
# Slide 2
This is the second slide
- Bullet point 1
- Bullet point 2
- Adding speaker notes:
# Slide with Notes
Some visible content
???
These are speaker notes that only show in presenter mode
- Including an image:
# Slide with Image
![Alt text](path/to/image.jpg)
Getting Started
- Create an HTML file with the following content:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>My Presentation</title>
<style>
@import url(https://fonts.googleapis.com/css?family=Droid+Serif);
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body {
font-family: 'Droid Serif';
}
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: 400;
margin-bottom: 0;
}
.remark-slide-content h1 { font-size: 3em; }
.remark-slide-content h2 { font-size: 2em; }
.remark-slide-content h3 { font-size: 1.6em; }
.footnote {
position: absolute;
bottom: 3em;
}
li p { line-height: 1.25em; }
.red { color: #fa0000; }
.large { font-size: 2em; }
a, a > code {
color: rgb(249, 38, 114);
text-decoration: none;
}
code {
background: #e7e8e2;
border-radius: 5px;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
.remark-code-line-highlighted { background-color: #373832; }
.pull-left {
float: left;
width: 47%;
}
.pull-right {
float: right;
width: 47%;
}
.pull-right ~ p {
clear: both;
}
#slideshow .slide .content code {
font-size: 0.8em;
}
#slideshow .slide .content pre code {
font-size: 0.9em;
padding: 15px;
}
.inverse {
background: #272822;
color: #777872;
text-shadow: 0 0 20px #333;
}
.inverse h1, .inverse h2 {
color: #f3f3f3;
line-height: 0.8em;
}
/* Slide-specific styling */
#slide-inverse .footnote {
bottom: 12px;
left: 20px;
}
#slide-how .slides {
font-size: 0.9em;
position: absolute
Competitor Comparisons
The HTML Presentation Framework
Pros of Reveal.js
- More feature-rich with built-in themes, transitions, and plugins
- Supports PDF export and speaker notes
- Larger community and ecosystem
Cons of Reveal.js
- Steeper learning curve due to more complex setup
- Heavier file size, which may impact load times
- Requires more configuration for simple presentations
Code Comparison
Remark:
# Slide 1
Content for slide 1
---
# Slide 2
Content for slide 2
Reveal.js:
<section>
<h1>Slide 1</h1>
<p>Content for slide 1</p>
</section>
<section>
<h1>Slide 2</h1>
<p>Content for slide 2</p>
</section>
Summary
Remark is a lightweight, Markdown-based presentation tool that's easy to use for simple presentations. It's ideal for developers who prefer working with Markdown and want a quick setup.
Reveal.js offers a more comprehensive presentation framework with advanced features and customization options. It's better suited for complex presentations that require rich multimedia content and interactive elements.
The choice between the two depends on the user's needs, technical expertise, and the complexity of the presentation they want to create.
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
- Offers more advanced and visually striking presentation effects, including 3D transformations and transitions
- Provides greater flexibility in slide layout and positioning, allowing for non-linear presentations
- Has a larger community and ecosystem, with more plugins and extensions available
Cons of impress.js
- Steeper learning curve, requiring more CSS and JavaScript knowledge to create presentations
- Can be overkill for simple, text-based presentations
- May not perform as well on older devices or browsers due to complex animations
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>
remark:
# Slide 1
---
# Slide 2
Key Differences
- impress.js uses HTML and CSS for slide creation, while remark uses Markdown
- impress.js offers more control over slide positioning and transitions
- remark is simpler to use and better suited for content-focused presentations
- impress.js excels at creating visually impressive, non-linear presentations
- remark is more lightweight and performs better on a wider range of devices
reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
Pros of reveal-md
- Built on top of Reveal.js, offering a wide range of presentation features and themes
- Supports live reload for real-time preview during development
- Allows exporting presentations to PDF format
Cons of reveal-md
- Less flexible for creating custom layouts compared to Remark
- May have a steeper learning curve for users unfamiliar with Reveal.js
Code Comparison
reveal-md:
---
title: My Presentation
theme: solarized
---
# Slide 1
- Point 1
- Point 2
---
# Slide 2
Content for slide 2
Remark:
class: center, middle
# My Presentation
---
# Slide 1
- Point 1
- Point 2
---
# Slide 2
Content for slide 2
Key Differences
- reveal-md uses YAML front matter for configuration, while Remark uses CSS-like classes
- reveal-md leverages Reveal.js features, offering more built-in presentation capabilities
- Remark provides more flexibility for custom layouts and styling
Use Cases
- Choose reveal-md for feature-rich presentations with minimal setup
- Opt for Remark when you need more control over layout and styling
Both tools are excellent choices for creating Markdown-based presentations, with the final decision depending on specific project requirements and personal preferences.
The entrance repository of Markdown presentation ecosystem
Pros of Marp
- Supports multiple output formats (HTML, PDF, PPTX)
- Offers a CLI tool for easy conversion
- Provides a live preview feature
Cons of Marp
- Less flexible customization options
- Smaller community and ecosystem
- Limited to Markdown syntax for slide creation
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
Key Differences
- Marp uses YAML frontmatter for configuration, while Remark uses CSS classes
- Marp separates slides with
---
, Remark uses the same but allows for more flexible slide separation - Remark offers more advanced layout options through CSS classes
Use Cases
- Marp: Quick, simple presentations with multiple output formats
- Remark: More customizable presentations with advanced styling needs
Community and Ecosystem
- Remark has a larger community and more third-party themes/plugins
- Marp is newer but growing, with a focus on simplicity and ease of use
♠️ React MDX-based presentation decks
Pros of mdx-deck
- Built on React and MDX, allowing for more interactive and dynamic presentations
- Supports custom themes and components for enhanced customization
- Offers a development server with hot reloading for faster iteration
Cons of mdx-deck
- Steeper learning curve for those unfamiliar with React and MDX
- Potentially larger bundle size due to React dependencies
- Less mature ecosystem compared to remark
Code Comparison
mdx-deck:
import { Head, Notes } from 'mdx-deck'
# My Presentation
<Head>
<title>Custom Title</title>
</Head>
## Slide 1
Content goes here
<Notes>Speaker notes for this slide</Notes>
remark:
class: center, middle
# My Presentation
---
# Slide 1
Content goes here
???
Speaker notes for this slide
Both remark and mdx-deck are powerful tools for creating presentations from Markdown-like syntax. remark offers a simpler, more lightweight approach with a focus on Markdown, while mdx-deck provides more advanced features and customization options through React and MDX integration. The choice between the two depends on the user's familiarity with React and their specific presentation requirements.
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
remark
A simple, in-browser, markdown-driven slideshow tool targeted at people who know their way around HTML and CSS, featuring:
- Markdown formatting, with smart extensions
- Presenter mode with markdown formatted speaker notes and cloned slideshow view
- Syntax highlighting, supporting a range of languages
- Slide scaling, thus similar appearance on all devices / resolutions
- Simple markdown templates for customized slides
- Touch support for smart phones and pads, i.e. swipe to navigate slides
Check out this remark slideshow for a brief introduction.
To render your Markdown-based slideshow on the fly, checkout Remarkise.
Getting Started
It takes only a few, simple steps to get up and running with remark:
- Create an HTML file to contain your slideshow (see boilerplate below)
- Open the HTML file in a decent browser
- Edit the Markdown and/or CSS styles as needed, save and refresh!
- Press
C
to clone a display; then pressP
to switch to presenter mode. Open help menu withh
.
See any of the boilerplate-*.html files (the -local one requires building remark first), or just copy the boilerplate HTML below to start:
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta charset="utf-8">
<style>
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
</style>
</head>
<body>
<textarea id="source">
class: center, middle
# Title
---
# Agenda
1. Introduction
2. Deep-dive
3. ...
---
# Introduction
</textarea>
<script src="https://remarkjs.com/downloads/remark-latest.min.js">
</script>
<script>
var slideshow = remark.create();
</script>
</body>
</html>
How To Use remark
The wiki pages contain all the how-to, templating, and API help.
Real-world remark slideshows
On using remark:
Other interesting stuff:
- gnab.github.com/editorjs
- judoole.github.com/GroovyBDD
- bekkopen.github.com/infrastruktur-som-kode
- ivarconr.github.com/Test-Driven-Web-Development/slides
- havard.github.com/node.js-intro-norwegian
- mobmad.github.com/js-tdd-erfaringer
- roberto.github.com/ruby-sinform-2012
- http://asmeurer.github.io/python3-presentation/slides.html
- Lecture notes using remark
- Time series analysis: theory and practice (a course using Remark)
- sinedied.github.com/backslide
Printing
Converting to PDF is primarily supported via Chrome's Print to PDF feature. Note that the styling is not exact; See #50 for some recommended CSS to add to your styles.
Alternatively, you can use DeckTape, a PDF exporter for HTML presentation frameworks that provides support for remark.
Contributors
Thanks goes to these people for their contributions:
- Aaron Meurer
- Adam Obeng
- Adam Strzelecki
- Aleksandar Trifunovic
- Alexander Brett
- Alex Claman
- Alex Y. Wagner
- Allan Jiang
- Amin Bandali
- Andrea Georgieva
- Andrew Gaul
- Andrey Ustyuzhanin
- Antonin Stefanutti
- Axel Rauschmayer
- Baron Schwartz
- Bastian Venthur
- Bengt Lüers
- Benjamin Stigsen
- Bernát Kalló
- bobappleyard
- Brandon Keepers
- Breno Polanski
- Bruno Fagundez
- bugdone
- Cameron Daigle
- Chris Kanich
- Christian Dreier
- Christopher McClellan
- Christoph Gnip
- cjwit
- Claudio Bley
- Daan van Berkel
- Daniel Stankiewicz
- Daniel Wang
- Danny Tuppeny
- Dan Steingart
- datamike
- Dave Henderson
- David Richards
- derickfay
- Dirk Husemann
- Erwann Mest
- Fabian
- Felix C. Stegerman
- Florian Rathgeber
- follower
- Gerard Capes
- gnab
- Grégoire Pineau
- Gurjeet Singh
- Hadrien Frank Cardinal de Cuzey
- Hiroshi Fukada
- Hubert Chen
- Hunter-Github
- hydroid7
- Ivo Wever
- J_4lexander
- Jason
- Jason Underhill
- Jérôme Petazzoni
- Jimmy Merrild Krag
- Joe Beda
- Joel Porquet
- Johannes Wienke
- Julien Wajsberg
- kellyoconor
- kerim
- kernc
- Kim Joar Bekkelund
- Lauro Caetano
- Loreia
- Marcel Schilling
- Markus Schanz
- Martin
- Martin 'Hasan' Bramwell
- Mathias Bynens
- Matthew
- Mears-UFL
- mhor
- Michael Byrne
- Michael Grosser
- Michael Mol
- Michael Sanford
- Mike Pennisi
- Morton Fox
- mrbald
- Nicolas Hart
- Oleksiy Syvokon
- Ole Petter Bang
- Ozan K
- Pavel Boldyrev
- Pedro
- Pedro Martin
- Peter Jausovec
- petitviolet
- Pi-Hsun Shih
- pille1842
- piranha
- pospi
- Psychos-Yi
- punkish
- Radovan Bast
- Rahul Bansal
- Rasmus Vestergaard Hansen
- rasmusvhansen
- Renato Alves
- rglepe
- Rich Trott
- Roberto Soares
- Robert Perce
- Robert SzmurÅo
- Robin Berjon
- Rolf
- Rostyk
- Russell Keith-Magee
- Ryan Thomson
- Sarah Binney
- Scott Hewitt
- Sebastian Pipping
- Sequoia McDowell
- Shane Curcuru
- Shaun Hammill
- siba prasad samal
- Simon Hengel
- Stian Mathiassen
- stu-b-doo
- Sylvain Abélard
- Takashi Kanemoto
- Tej Chajed
- Thomas Ballinger
- Tobias Løfgren
- Todd Brannam
- Todd Gureckis
- Tome Tanasovski
- Tom Kraak
- Torgeir Thoresen
- tripu
- vdepabk2t
- William Ghelfi
- Willi Rath
- Wouter Sioen
- Yihui Xie
- Yinhe Zhang
- Yohan Lasorsa
- Yoshiya Hinosawa
License
remark is licensed under the MIT license. See LICENSE for further details.
Top Related Projects
The HTML Presentation Framework
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.
reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
The entrance repository of Markdown presentation ecosystem
♠️ React MDX-based presentation decks
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