Convert Figma logo to code with AI

gnab logoremark

A simple, in-browser, markdown-driven slideshow tool.

12,681
856
12,681
173

Top Related Projects

67,545

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

7,595

The entrance repository of Markdown presentation ecosystem

11,331

♠️ 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

  1. Basic slide creation:
# Slide 1
This is the first slide

---

# Slide 2
This is the second slide

- Bullet point 1
- Bullet point 2
  1. Adding speaker notes:
# Slide with Notes

Some visible content

???

These are speaker notes that only show in presenter mode
  1. Including an image:
# Slide with Image

![Alt text](path/to/image.jpg)

Getting Started

  1. 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

67,545

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.

7,595

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
11,331

♠️ 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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

remark

Build Status CDNJS xscode Donate

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:

  1. Create an HTML file to contain your slideshow (see boilerplate below)
  2. Open the HTML file in a decent browser
  3. Edit the Markdown and/or CSS styles as needed, save and refresh!
  4. Press C to clone a display; then press P to switch to presenter mode. Open help menu with h.

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:

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.

NPM DownloadsLast 30 Days