Coder Social home page Coder Social logo

org-present's Introduction

org-present-mode

NonGNU ELPA

This is meant to be an extremely minimalist presentation tool for Emacs org-mode. Simply layout your presentation with each slide under a top-level header, start the minor mode with 'org-present', and page through each slide with left/right keys.

Philosophy

Most of the time I'm giving a talk, it is a work in progress and I want to be be able to edit as I go along. Also, to split my frame and work on code examples with my slides still visible.

Configuration

Add something like this to your emacs config:

(add-to-list 'load-path "~/path/to/org-present")
(autoload 'org-present "org-present" nil t)

Precise behaviour of org-present during start and quit is controlled from hooks. The following will enlarge text, show images, hide the cursor and make the buffer read-only:

(eval-after-load "org-present"
  '(progn
     (add-hook 'org-present-mode-hook
               (lambda ()
                 (org-present-big)
                 (org-display-inline-images)
                 (org-present-hide-cursor)
                 (org-present-read-only)))
     (add-hook 'org-present-mode-quit-hook
               (lambda ()
                 (org-present-small)
                 (org-remove-inline-images)
                 (org-present-show-cursor)
                 (org-present-read-write)))))

Then start the minor mode with:

M-x org-present

Keys are:

  • left/right for movement
  • C-c C-= for large txt
  • C-c C-- for small text
  • C-c C-q for quit (which will return you back to vanilla org-mode)
  • C-c < and C-c > to jump to first/last slide
  • C-c C-r for buffer read-only
  • C-c C-w for buffer read/write
  • C-c C-1 for one big page showing all slides

Beautification

This works well with hide-mode-line, which hides the mode-line when only one frame and buffer are open.

If you're on a Mac with an older emacs you might also want to look at the fullscreen patch. toggle-frame-fullscreen comes with emacs 24.

Customization

David Wilson from System Crafters has made an excellent blog post and video about customization of org-present.

Copyright

Copyright ยฉ 2014 Richard Lister.

org-present's People

Contributors

damil avatar fred-o avatar jaseemabid avatar komem3 avatar purcell avatar rhdxmr avatar rlister avatar skangas avatar tarsius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

org-present's Issues

[minor] in your README, consider comparing with org-tree-slide-mode

I use the org-tree-slide mode, and from the front (github) page of org-present I cannot tell how the two compare. I suppose that some readers encountering your project will have the same question.

Could you maybe include a quick discussion of the comparison between the two?

(Another thing that I would have found helpful on the README is a screencast to get a quick visual demo of your mode. This sounds like much more work.)

Tab doesn't work normally in read-only present

I would like to be able to slowly unfurl a slide as I go along, so I'd like to be able to tab the outline open and closed. It works somewhat, but the cursor jumps around and it doesn't entirely work, as if there is a bad interaction of two different bindings going on, or something.

Most of the functionality is broken for me

I followed the configuration example in the readme and most of the functionality is broken for me. When doing "org-present" I can see the cursor, move it arround, and the buffer is not read only.

Please help :-)

P.S.
I use evil mode. I dont know if its relevant to the issue.

UPDATE:
Its definitly an Evil problem. I completly removed Evil from my config and evrything started working. How can this be solved?

Feature request: Skip slides with :noexport: tag.

We're not technically exporting but nonetheless it would be great to have a simple way to mute slides. A benefit of using the noexport tag is that I'm showing the slides with org-present during a course but I export them to PDF for later use. If the noexport tag is used to mute slides in org-present, the exported PDF and the presentation both contain the same slides.

Thanks for org-present. I love it.

Heading level

Thanks for contributing this! I've used it for a few times now to present material at meetings, and really like it.

I'm not sure how easy this is, but at least once so far I would have liked to have the slides be defined via the level 2 heading and have a single line at the top like

* Level_1_Heading ** Level_2_Heading
... Content ...

Looking at the code it seems like this could be fairly simple, since there are places where the level is hard-coded, and could instead be a variable. Then we only need to take care of the header line, which would involve a bit more effort. If I have some time this weekend I might take a look.

Bug: Font-size switched back to normal when using mini-buffer

When I'm in presentation mode and use the minibuffer (e.g. M-: (message "test"), the font in the presentation is switched back to normal but otherwise I'm still in presentation mode. To resume, I have to disable presentation mode and reenable it.

Feature request: present subtree, narrowed buffer, or region

Consider an org file that is structured like:

* Presentations
** Presentation1
*** First slide
- item 
- item
*** Second slide
- item
- item
** Presentation2
*** A different first slide
- another item 
- another item
*** A different second slide
- item
- item

It would be great to be able to select one of Presentation1 or Presentation2 in a region, or narrow to one of those subtrees and call org-present-region or org-present-narrowed-buffer or to simply set the point on a heading for a subtree and call org-present-subtree and have a presentation open as though the headings below Presentation1 were top-level headings in a separate file.

With some guidance, I would be happy to attempt to add this feature.

org-present wrongly resizing the window

hey folks ๐Ÿ‘‹

I'm using emacs-26.1 with spacemacs and I have this .org content:

* Topic 1
** Sub 1
** Sub 2
* Topic 2
** sub 1
* Topic 3

when I start the org-present, it starts normally, but when I navigate into the content, it resizes the window:

this is the recording:
http://recordit.co/feWVTdbEer

I don't know why. Any ideas why this happen:

Navigation "stuck" at bottom

Hello, I had a small problem while using org-present,
may someone please confirm if the problem is reproducible
or if it just happens in my environment/setup (Emacs 24.3.1,
Org 8.2.2, Win 7).

Given this example:

* slide1 title
text
** header11
text
** header12
text
* slide
text
** header21
text
** header22
text22

if you click right arrow (= next page), then again right arrow,
you should see that:

  • only "** header 22" and "text22" are visible
  • left arrow doesn't work
  • if you use left arrow you get a message "before first heading"

Thanks for your attention, thanks for org-present (I don't use it
as much as it deserves, but really like the concept).

Kindest regards,

Andrea

org-present-run-after-navigate-functions not called upon initial entry to org-present

So now that I'm using org-present-run-after-navigate-functions, I realise it has a bug :(

Specifically, org-present-run-after-navigate-functions isn't being called upon the initial entry to org-present, so that the first time the remote control page is downloaded, the title remains UNKNOWN.

See this test failure:

https://gitlab.com/duncan-bayne/org-present-remote/-/jobs/79270097

I'll submit a PR to fix this shortly :)

Support hiding complete source blocks

Hi,

I am currently using source blocks to generate plantuml diagrams. Ideally I do not want to see the source blocks in my presentation.

I'm thinking hiding all of them would not work that well since you may have a mix of different types of blocks, some of which you want to see the source.

Maybe we need some kind of marker to indicate which source blocks should be hidden?

I do not know much about the functions org provide or elisp for that matter, please correct me if there's another way of doing this.

Ability to hide lines instead of overlaying

Love this library! One feature request I have (and I don't know if it's possible) is to be able to hide the lines in a presentation instead of adding an overaly.

The use case is for inline imeages. An inline imagine will have bunch of metadata, and this currently renders three empty lines in org-present mode.

Input:

* Model the Boundaries
Help us build intuitions on cause & effect, starting from the outside.

#+CAPTION: Hexagonal architecture
#+DOWNLOADED: https://herbertograca.files.wordpress.com/2017/03/hexagonal-arch-4-ports-adapters2.png?w=1100 @ 2019-10-10 15:05:58
#+attr_html: :width 300px
[[File:Understanding_Legacy_Systems/hexagonal-arch-4-ports-adapters2_2019-10-10_15-05-58.png]]

Output: (note the highlighted extra lines)
Screen Shot 2019-10-10 at 3 56 22 PM

Org-present

Is there a way to hide =properties=, or toggle them, just like with #+ATTR_LATEX etc headers.

Feature request: Incrementally reveal paragraphs and list items on a slide.

Similar to Beamer's \pause capability.

This feature doesn't necessarily make sense on all slides, so it would perhaps be good to be able to control on a slide-by-slide basis, e.g. through a property in an org drawer. Alternatively, just use the \pause command? This has the benefit that I can export the slides to PDF and get the same behaviour in the PDF as in org-present.

Cursor disappears

Cursor often disappears after returning to org-mode.

(I am using the provided hooks. Emacs 26.1 Org 9.1.3)

Starting present from an arbitrary point in the presentation has unexpected results

If I launch the presentation from a sub-item such as one that is nested like ***, then rather than the slide rendering from the time level bullet, it renders just that one. Moving backwards and forwards in the presentation, though, never gets me back into that state, showing that this is an inconsistency.

If I don't launch the presentation from the title page (I have #+TITLE, #+SUBTITLE, and an image), when I navigate backwards to the title page, the image is not shown inline; whereas if I launch from the beginning, it does show.

Hiding emphasis markers is over eager

To replicate, create a "slide" with the following:

#+BEGIN_SRC haskell
whenM :: (Monad m) => m Bool -> m () -> m ()
whenM mb mx = mb >>= \b -> when b mx
#+END_SRC

The slide will show

whenM :: (Monad m) > m Bool -> m () -> m ()
whenM mb mx = mb >> \b -> when b mx

Consider using the org-hide-emphasis-markers variable instead.

Start hook runs after narrow resulting in issues with inline images

I am using the org layer of Spacemacs.

When I enter org-present mode, only inline images under the current heading is displayed.

I have experimented on my system and my conclusion is that the fact that org-present-narrow is called before the hook is run, results in org-display-inline-images only affecting the current org-present page.

Switching the order fixes the problem for me.

I am hesitant in submitting it as a PR, since I would expect that this behavior would affect everybody and not just me. Also I don't know if there are any side-effects.

hey! this is great!

A bunch of us used this to present recently at emacsconf (http://emacsconf.org)

I'd love this to be uploaded to http://marmalade-repo.org - do you want to do that? shall I?

Also I'd love to send you patches. I have a plan to add a theme load config to it, or maybe just colorizing the frame org-present makes. We had lots of trouble with contrast at the conference and having present start in dark-mode would be cool.

Are you still maintaining org-present? Are you open to enhancements?

Love the idea here, but I see that nothing new has been merged in quite some time, and there's a couple pull requests out there that I'd like to see merged. Also there are a few more features I have in mind that I'm interested in. Would you advise that I fork it? I like to use Spacemacs, and this comes bundled with Spacemacs, so if I'm going to fork I might at least propose to Spacemacs to switch to my fork. What do you think?

Dependency on org 7

Is there any particular reason org version 7 is a hard requirement? If I manually load org-present it works perfectly fine with org 8.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.