Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Presentation Mode #13

Open
udfalkso opened this Issue Jul 12, 2016 · 17 comments

Comments

Projects
None yet
10 participants
@udfalkso
Copy link

udfalkso commented Jul 12, 2016

It would be great if I could present my presentation without the markdown showing and without having to export this to a file. Much like Powerpoint's presentation mode.

  • Go full screen
  • Support up/down left/right arrows and spacebar for navigating slides.
  • Esc to quit and return to editing mode.
@fabianmoronzirfas

This comment has been minimized.

Copy link

fabianmoronzirfas commented Jul 13, 2016

plus speaker notes

@nyaray

This comment has been minimized.

Copy link

nyaray commented Jul 14, 2016

@fabiantheblind in the name of keeping things simple, I'd say that speaker notes probably is a feature of it's own (a new issue, perhaps?).

They require a new window (speaker view) to appear and having that synced with the main window (presentation view), so I'd say there's a bit of hidden work in that feature :P.

EDIT:
Also, I'd love to see that the speaker notes were parsed as markdown... but that probably belongs under said issue.

@fabianmoronzirfas

This comment has been minimized.

Copy link

fabianmoronzirfas commented Jul 14, 2016

@nyaray done

@yhatt

This comment has been minimized.

Copy link
Owner

yhatt commented Jul 16, 2016

I'm sure anyone think this issue. So am I. (yhatt/mdslide#5)

I also had thought the other day that delivering a presentation just with Marp might be super-useful.
A my co-worker made a presentation (of course created by Marp) yesterday, but he showed the screen of 1:1 slide view mode to the audience while switching slide by moving editor's caret. 😓

Currently we are focusing enhancements as the presentation writer. But its maturation would be a trigger of implementing the presentation mode!

@nyaray

This comment has been minimized.

Copy link

nyaray commented Jul 19, 2016

@yhatt would you mind merging a PR for this? I'd really like to use this for presentations and am willing to figure out what needs to be done if you are too short on time to explain.

EDIT: I haven't started any work, but if you're open to accepting the changes I'll start in the near future :)

@yhatt yhatt added this to the v0.1.0 milestone Jul 19, 2016

@yhatt

This comment has been minimized.

Copy link
Owner

yhatt commented Jul 19, 2016

@nyaray OK, I'll merge. I made clear milestones. We would aim it to the first minor release.

@will-hart

This comment has been minimized.

Copy link
Contributor

will-hart commented Aug 10, 2016

@nyaray have you had a chance to look at this? I've been trying to work with exported PDFs but the exported image quality is very low.

I thought as a concept something like the following:

  • User selects "presentation mode" in the main window (win1)
  • win1 sends an IPC to the browser process including the currently selected slide contents
  • browser process opens win2
  • browser process sends through the slide contents via IPC to win2
  • win 2 opens as a 1:1 slide view which renders the current slide contents passed by IPC
  • win1 displays presentation mode, which includes speaker notes, navigation controls and views of the current and next slide
  • When the user clicks next/previous in win1 it sends an IPC to the browser process containing the HTML (or Markdown?) of the new slide to show
  • win2 receives the forwarded IPC and updates the displayed content
  • if the users clicks "end presentation" on win1, an IPC is sent and win2 is closed. Win1 comes out of presentation mode

A fair bit of work I think in hooking up the IPCs, but it could possibly use the existing code for 1:1 previews so would prevent some duplication.

There could possibly be an issue with running multiple marp windows, so maybe would need to somehow address the IPC directly to a particular window.

EDIT: this could be useful https://www.npmjs.com/package/electron-window-manager

@nyaray

This comment has been minimized.

Copy link

nyaray commented Aug 10, 2016

@will-hart Nope, no work quite yet; I've been caught up with work as I unexpectedly found myself in extra responsibilities. Also, marp's missing features are a bit of an excuse to not finalise a talk I'm planning on giving at work ...

I've been working with node.js at work, so I guess it'll be useful for contributing to this, especially since we've done some IPC stuff :). I agree, there's quite a bit of synchronisation to do! It would make sense to break it down into parts though, in order to not create a mess in the code.

I suggest breaking the work down into something like the following:

  • Main window presentation mode - fullscreen(?), only showing content
  • Change slides with the arrow keys
  • Presenter window, initially just follows the main window
    • Stuff to do, which likely can be done in any order/at the same time:
    • Add note displaying, maybe extracted from the slide comments
    • Share control over slides, next/previous
    • Display next (add option for previous?) slide
    • HH:mm-timer with Play/pause and reset

Any thoughts?

@gcnew

This comment has been minimized.

Copy link

gcnew commented Oct 19, 2016

I just hacked in some sort of presentation mode. It's not polished by any means, nor is it friendly to the rest of the code. I'd be happy to improve on it and send a real PR (if @yhatt is interested and helps with suggestions :)). In the mean time, if anyone is interested, here is my fork/commit:

gcnew@0dc3ee4

Features:

  • button for presentation mode
  • exit presentation mode with escape
  • navigate with arrows

This was referenced Oct 20, 2016

@yhatt yhatt modified the milestones: Marp Next (for v1.0.0), v0.1.0 Nov 7, 2016

@mindplay-dk

This comment has been minimized.

Copy link

mindplay-dk commented Jan 24, 2017

I have my speaker notes in <!-- comments --> inside my file.

I'm quite happy with that. I don't think we need any additional syntax or features for this?

I plan on simply cursoring through the file to track my progress while speaking - since the app will track and display the slide under the cursor, all that's really missing for me, is the ability to detach the slide view from the main window and full-screen it.

Being able to see only my notes would be a step down - being able to see the text and my notes together is more useful, as often the words on the slides are also cues.

In my opinion, that would be better than cursor-navigation, since I can track my progress not just per slide, but per line in the file.

That's much simpler, and it's already how you're used to working (and practicing) with your slides while you're creating them - having identical flows while creating and presenting in my opinion is much better than having to (mentally) switch modes.

Editing and previewing with Marp already (IMHO) is the best possible flow of any presentation software ever - being able to make minor corrections (typos etc.) instantaneously while presenting would be super powerful! Why change anything at all? :-)

@majkinetor

This comment has been minimized.

Copy link

majkinetor commented May 15, 2018

+1

@yhatt yhatt referenced this issue Aug 26, 2018

Merged

Add bespoke template #5

1 of 1 task complete

@yhatt yhatt removed this from the Marp Next (for v1.0.0) milestone Oct 8, 2018

@cekvenich

This comment has been minimized.

Copy link

cekvenich commented Dec 9, 2018

Wait, so how do I present?

@d0ugal

This comment has been minimized.

Copy link

d0ugal commented Dec 9, 2018

Wait, so how do I present?

I exported to PDF and used https://pdfpc.github.io/. It worked great tbh, I was skeptical but I was able to get a really good setup this way. It was a little more work than I'd like but the result was good.

@cekvenich

This comment has been minimized.

Copy link

cekvenich commented Dec 9, 2018

@d0ugal Thx. I installed and tried, but PDF outputs images that are hard to read.

@cekvenich

This comment has been minimized.

Copy link

cekvenich commented Dec 16, 2018

ftw, I used this lib via npm to generate webpages to paginate/present, via Pug.
Example: install mbake via https://www.staticgen.com/metabake
and then mbake -l
will emit example with a readme file.
Happy to answer questions on my solution.

@yhatt

This comment has been minimized.

Copy link
Owner

yhatt commented Dec 23, 2018

There is a christmas gift from marp-team! Today we have released the first stable CLI interface of Marp Next at marp-team/marp-cli.

It can output HTML file for presentation now. Open converted HTML in your Chrome / Firefox, or use Marp CLI's --preview option.

By hitting f in the converted HTML, you can present deck in full-screen. The example is available in https://github.com/yhatt/marp-cli-example, and I hosted its deck by Netlify: https://yhatt-marp-cli-example.netlify.com/

It has not the rich features (e.g. speaker notes, remote control), but we think it fills MVP. We are going to work continously to support presentation mode in Marp Web, the web-based GUI interface of Marp Next.

@cekvenich

This comment has been minimized.

Copy link

cekvenich commented Dec 25, 2018

I tested it. VERY NICE!

It renders a bit different than the GUI tool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.