
Marp: Markdown Presentation Writer - somecoder
https://yhatt.github.io/marp/
======
preek
Shameless plug: I'm a lecturer and have scratched this itch some time ago with
a pet project that a couple lecturers are using now:
[https://github.com/munen/p_slides/](https://github.com/munen/p_slides/)

It doesn't ship it's own editor, because everyone already has a favorite(for
me that's formerly vim, now Emacs). It's only static files, so it doesn't need
a server or pre-compilation. It's extensible, has syntax highlighting and
produces PDFs for the students. Also, it's only a mash up of great existing
libraries, so it needs no maintainance and further development. One of the few
pieces of software that I wrote which are feature complete^^

A couple friends(also lecturers) and I have been using it for about five years
now.

~~~
binarycrusader
Great work!

Are you aware of markdeep?

[https://casual-effects.com/markdeep/](https://casual-effects.com/markdeep/)

...support for it might be a nice addition to this project.

~~~
preek
Thanks a bunch^^

Markdeep looks totally awesome - I'm going to give it a try, soon! Now is
midnight, though, and my fiance wants me to quit the computer^^

Thanks again, I'm looking forward to be able to include diagrams and have them
under version control!

------
projectramo
I like the way our tools went from Text -> Graphical interface -> Text

You can see this with all the CLI tools being introduced for traditional
programs. I suppose people appreciate control and automation.

~~~
vegabook
you _like_ that? I can see how you might like a command line as opposed to a
dumbed-down, simplistic, and intelligence-insulting GUI.

But I cannot see how you can love Markdown. A shit standard that uglifies
everything it touches, instead of celebrating the beauty of typography.

There is no inconsistency between liking command line, and being demanding in
terms of text layout. Just ask LaTeX.

~~~
Retra
What does markdown have to do with text layout? It basically acts like a
lightweight, readable version of html. If you don't like how it renders,
render it some other way.

------
skun
For someone who is on windows, this is a godsend. The Mac guys all have
Deckset[0] which is amazing. Was searching for something like this to make
quick slides. Thanks much :)

[0]: [http://www.decksetapp.com/](http://www.decksetapp.com/)

~~~
dogas
I have used deckset for all of my presentations[1]. It's fantastic, and forces
you to follow Zach Holman's rules[2] about slide typography, which is
basically "you can't go too big."

[1]: [https://speakerdeck.com/gammons](https://speakerdeck.com/gammons) [2]:
[http://speaking.io/design/typography/](http://speaking.io/design/typography/)

~~~
skun
The presentations look wonderful. Zach has constantly been my inspiration to
make better slides. Almost ALL my slides[0] incorporate some of his teachings
:)

[0]: [http://speakerdeck.com/shrayasr](http://speakerdeck.com/shrayasr)

------
joncfoo
Might I suggest also having a look at
[https://github.com/gnab/remark](https://github.com/gnab/remark)

It's uses markdown as well, has a presenter mode, speaker notes, and is easily
customizable. The best thing is that everything can neatly fit in an HTML file
or you can create a folder with the JS for offline usage.

Demo: [http://remarkjs.com/](http://remarkjs.com/)

------
frign
It could be even simpler. A presentation tool by the suckless folks with
minimal dependencies but several features:

[http://tools.suckless.org/sent/](http://tools.suckless.org/sent/)

~~~
throwanem
If rampant NIH syndrome is your thing, that might be great. But if rampant NIH
syndrome is your thing, you'll write your own anyway, so...

~~~
qwertyuiop924
I disagree VEHEMENTLY. Sent is a godsend if you want to write a simple
presentation without the bullshit. And if you use sent, the constraints placed
on you force you towards making good slides.

~~~
throwanem
Disagree all you like. The same is true of org-mode with reveal, or Marp, or
any of myriad other tools. There's no magic to suckless software. It's just a
lot more opinionated than most, a trait which plainly suits you well.

~~~
qwertyuiop924
Now see, that I agree with. I merely disagree that sent's useless unless you
have a taste for NIH.

~~~
throwanem
Who called it useless? But ascribing rampant NIH to suckless is hardly a
strain on credulity; otherwise they'd just use FreeBSD, instead of reinventing
it piecemeal on the Linux kernel.

~~~
qwertyuiop924
You did describe it in a way that implied it was useless if NIH wasn't your
thing.

And no, I don't argue that NIH doesn't exist in other suckless projects,
merely that it isn't the rationale for sent. Sent has some solid advantages
over anything else out there, at least for me.

~~~
throwanem
I don't agree that the implication you ascribe is present, or that sent isn't
primarily motivated by NIH in the same way that more or less all of the
suckless repertoire appears to be, but reasonable people can differ on such
points without acrimony. In any case, I'm glad you found something that suits
you.

~~~
qwertyuiop924
Well, then. I'm sorry for reading that implication in, and glad that we could
come to understand each other better.

HN is a lot like Youtube comments: There's a lot of arguing, but sometimes,
people treat each other decently. It's honestly kinda surreal, coming from
4chan, reddit, or tumblr.

------
dogas
While marp looks great, reveal.js[1] includes markdown support and has a huge
ecosystem.

[1]:
[https://github.com/hakimel/reveal.js](https://github.com/hakimel/reveal.js)

~~~
rexfm
Clarification: reveal.js supports markdown for individual slides. This project
(Marp) allows you to write your whole presentation in a single markdown
document.

(Using just "\---" to separate slides instead of repeating: <section data-
markdown> <script type="text/template"> slide markdown goes here </script>
</section>

...seems like a productivity win IMO)

~~~
FraaJad
You can just use Pandoc to output reveal.js HTML for you.

    
    
        pandoc hello.md -t revealjs -o hello.html

~~~
bphogan
Oh that's very cool. What's the slide separator?

~~~
IanCal
This might help:

[http://pages.stat.wisc.edu/~yandell/statgen/ucla/Help/Produc...](http://pages.stat.wisc.edu/~yandell/statgen/ucla/Help/Producing%20slide%20shows%20with%20Pandoc.html)

Looks like either top level headings (equivalent to sections I guess) or a
line like this "\----------" would work.

------
geraldbauer
Great work. Love the live preview. As (another) alternative (with a 5+ year
history) may I suggest Slide Show (S9). S9 lets you use your slide show
package of choice when preparing the output from your markdown source. So far
packages include: Shower [1], Reveal.js [2], S5 [3], S6 [4], Deck.js [5],
Impress.js [6] and some more. Note: All templates / packages are Jekyll/GitHub
Pages-compatible/ready. Cheers. [1] [https://github.com/slideshow-
templates/slideshow-shower](https://github.com/slideshow-templates/slideshow-
shower) [2] [https://github.com/slideshow-templates/slideshow-
reveal.js](https://github.com/slideshow-templates/slideshow-reveal.js) ... [5]
[https://github.com/slideshow-templates/slideshow-
deck.js](https://github.com/slideshow-templates/slideshow-deck.js) [6]
[https://github.com/slideshow-templates/slideshow-
impress.js](https://github.com/slideshow-templates/slideshow-impress.js)

------
ecesena
This is fantastic!

I've been working for a bit on a project for converting mind maps into slides.
One feature I really liked was changing the level of depth of items.

Let me try to explain what I mean. Say you're brainstorming and create a
tree/toc of your slides. Then you start filling in the items for each slide.
While you're doing so, you realize that slideA requires more details, so you
turn the slide into a section and it's items into slides. Similarly, another
section with multiple slides becomes less important, so you turn that section
into a slide slideB and its slides into items of slideB.

The reason I like mind maps/trees is that these operations can be easily done
by changing the level of depth of the items, e.g. via drag & drop.

I really like this idea of a simple markup for creating slides (plus the fact
that it's text, so easy to version), and if this feature of making easy to
change the level of depth of items could be integrated I think this would be a
super plus!

------
elsherbini
I make a lot of presentations, many of which include plot.ly plots. slides.com
made it easy to embed iframes, and they are sized nicely on every device I've
tried.

I used to think text was the future for making slides, but then I realized I
cared too much about exactly how my slide looked, and a WYSIWYG saves a ton of
time if you want that level of control.

------
MrTonyD
I create and deliver a lot of presentations. What I notice: I often use PPT
"slide sorter" to reorganize slides. My presentations are usually hundreds of
slides, and I can't imagine hunting through markup for my frequent (daily)
reorganizing. I also use the Training standard of about 50% to 60% graphics -
and I tend to revise and revise graphics as I work on the course. Having
integrated graphics is both very fast and very easy - with easy access to
other slides for cut/paste (and an integrated library of symbols I create and
reuse.)

I'm not complaining about this project...I'm just commenting about why no
"production" course developers would consider switching to something like
this. Just an FYI.

------
yogsototh
Another shameless plug: I use this. Thanks pandoc.

[https://github.com/yogsototh/mkdocs](https://github.com/yogsototh/mkdocs)

It generates presentations from markdown with reveal.js and beamer. It also
generates documents both HTML and PDF.

------
RazorX
Always love to see web based presentation tools.

I've been using Bespoke.js [1]. Minimal core, and drop in plugins as needed. I
also made a skeleton for quickly making new decks [2].

[1]:
[http://markdalgleish.com/projects/bespoke.js/](http://markdalgleish.com/projects/bespoke.js/)

[2]: [https://github.com/makenew/deck-
bespoke.js](https://github.com/makenew/deck-bespoke.js)

------
pathsjs
How does one actually... well, display the presentation? (without the markdown
on the side)

~~~
ersii
Under "Features", one of the bullet points are "* Export slides as PDF!".

I don't know if that's the only option or if there are more than that.

~~~
codazoda
Plus one on this. Switching to full screen (on a mac) should just go into
"presentation" mode and show only the slide.

------
sj4nz
Don't have Github account so I can't place an issue there, but PDF export
appears to fail with source-code listings in the Gaia theme.

Otherwise, this application is simple and to the point for making quick slide
sets. I wonder if someone will invest the time to make a Go-lang style slide
theme.

------
oever
Another project is OdpDown. It converts Markdown to Opendocument Format
presentations in contrast to the PDF that is created by Marp.

I like the approach of creating a single static file (i.e. no JavaScript).

An advantage of creating ODP files is that the whole reusable presentation is
one file. PDF is not as friendly for reuse. The presentation author that uses
Marp could publish a git repo or a zip file with the source files.

A big advantage of HTML and PDF is that they render directly in the browser.
ODF support in browser is a still a dream for the future.

The author of odpdown is a contributor to LibreOffice.

[https://github.com/thorstenb/odpdown](https://github.com/thorstenb/odpdown)

~~~
tjl
I've consistently used PDF for my slides simply because it's portable. Most of
the places I've presented all have had a dedicated computer connected to the
projector along with a second cable for laptops. If for some reason I can't
connect my laptop to a projector I can use my backup copy on a USB drive and
plug that in to the computer connected to the projector.

------
danso
Very cool! I'm trying to write my own markdown-to-reveal (to know revealjs
supports Markdown, but it's a bit of a hack and doesn't fit my workflow or
lecturing needs).

If I have one critique from growing the docs: I find myself giving
presentations on the fly. I hack around on Google Slides until the last minute
and throw up a link so that I can share with the rest of the world, but also
so that I can use any Internet connected computer to present. With revealjs, I
get both local and easy-to-S3 access. I may have missed it but can Marp slides
be ported so that other computers can run the presentation without installing
the app?

------
aeharding
For people looking for an alternative, cli centered approach, check out
reveal-md.

[https://github.com/webpro/reveal-md](https://github.com/webpro/reveal-md)

------
tzm
Very nice. I wrote a very similar authoring / presentation tool based on MD.
It's being used as the presentation app for Axway's instructor-led training
and Open Badge authoring. :
[https://twitter.com/tzmartin/status/687011251172458496](https://twitter.com/tzmartin/status/687011251172458496)

Slide authoring supports nearly all of Deckset syntax (plus a few more
tokens), slide configuration and custom themes.

~~~
evacchi
Hey that's pretty cool. Is this available anywhere for trying?

------
qwertyuiop924
While we're plugging, prefer sent
([http://tools.suckless.org/sent/](http://tools.suckless.org/sent/)). It's
dead simple, and its limitations push you towards making better presentations.

------
nkantar
For those who want something notably more minimal there's the lovely mdp:
[https://github.com/visit1985/mdp](https://github.com/visit1985/mdp)

------
aesopwolf
I built a similar proof of concept a few months ago
[https://www.aesopwolf.com/simpleslide/](https://www.aesopwolf.com/simpleslide/)

------
NuDinNou
It would be perfect if it would support MathJax markdown syntax

------
youjiuzhifeng
Do anybody simplify LaTeX for these kind of jobs? Sometimes I think they have
much in common, except that LaTeX is much more complicated.

~~~
tjl
I typically have used either Beamer (what I currently use) or Prosper (what I
used to use) document classes in LaTeX for my slides and have since probably
the 90s. For me, the big thing with using LaTeX is that I can get consistent
fonts between the equations on my slides and the symbols in my figures since I
draw my figures using LaTeX in some way (usually TikZ or Sketch[0]). Plus, I
can have my figures under source control in a manner that supports simple
diffs.

[0]
[http://sketch4latex.sourceforge.net/](http://sketch4latex.sourceforge.net/)

Note that Sourceforge was down when I checked, but this should be the right
URL.

------
k__
I'm more of a minimalist when it comes to slides, so most systems are overkill
for me. This lowers the barrier to even bother, haha.

------
partycoder
This is great. LaTeX beamer or Google Drive has been my choice so far. I will
give this one a try.

------
kirtant
Markdown has really added simplicity for creating great content easily and
fast..

~~~
riffraff
to be fair this specific thing isn't very new, e.g. rabbit[0] allowed making
slides with a simple text format ten years ago

[0] [http://rabbit-shocker.org/](http://rabbit-shocker.org/)

------
thex10
This looks great! I'm particularly thrilled about the export-to-PDF option.

------
Wonnk13
Man, really sneaky with the extra t. I thought this was put out by the
analytics shop YHat, the guys that built Rodeo and a couple other tools.

~~~
kejaed
Really sneaky using one's proper name as a username?

(yhatt) Yuki Hattori [https://github.com/yhatt](https://github.com/yhatt)

------
edsiper2
please do a favor:

\- rename tarballs to Marp-0.0.8...tar.gz

\- put the code inside a main directory

------
vegabook
Markdown is fine for github, but isn't there even a slight bit of Helvetica-
fatigue out there? Aren't we in a position, 20 years after HTML's widespread
adoption, where we can aspire to something slightly more artful/communicative
than Markdown's catastrophically simplistic and tragically ugly idea of
layout?

Markdown represents, honestly, the massacre of the art of typography. It is
ironic how such an ugly standard clashes with the its inventor's purported
love for Apple, a company whose very DNA is about the beauty of layout, fonts,
and the visual representation of the written word.

Markdown -> you have been weighed in the balance and found (severely) wanting.

~~~
dflock
Markdown has nothing to do with typography. What the output looks like is,
deliberately, a completely separate concern.

In the case of using markdown for generating web based presentations, your CSS
would be responsible for the styling - just like any other web page.

Markdown is just the semantics and content.

------
codazoda
This is great work. A lot of hate in this thread. But this app is free, open
source with a MIT license, and super easy to use and nice looking.

~~~
burkaman
I don't think there's a single negative comment in this thread.

------
masukomi
While this does look really cool, it should be noted that Deckset is a really
good paid app that's been doing this for a while on the mac, and it looks like
you'll get much nicer looking results with Deckset.

[http://www.decksetapp.com/](http://www.decksetapp.com/)

