Open LightGuard opened 9 years ago
From the gist, so everything is in one place
topic / title:: I think we all know what these are. sub topic / title:: Same scatter:: Typically applied to lists, but elements are scattered around the borders of the slide callout:: Callouts from source typically, attention to a particular line figure / object / media:: Some sort of media (image, video, audio, etc) followed by text source block:: Source code or some other monospace section of text pull / float:: pull the content of the container to one side list:: We all know what these are table:: Think HTML table emphasis (could be within a title, paragraph, etc):: Some sort of demarcation for grabbing attention quote:: Quote from someone, may or may not include an attribution line recap:: A slide containing the overall review for a section or presentation footnote:: Typical footnote idea paragraph:: Text on the slide grouped together, not in a list chart / table:: Some sort of data display, the role could define how it's shown background with title / large text:: Seems to be popular, a large background image with text expounding the main point. speaker notes:: Notes not shown to the audience, but available for the speaker
Taken from http://discuss.asciidoctor.org/Slide-deck-creation-ideas-td1901.html
There are many reasons to create a slide deck, however, most of the reasons come down to the idea of visually sharing information with people. Creating slide decks can be a very time consuming process fraught with alignment issues, image searching, and wrestling with tools. Using AsciiDoc and Asciidoctor can make this a much easier and more pleasant experience, which should also take less time than doing things with more traditional tools.
Background
Traditional tools in this realm include:
These tools all have the ability to create amazing presentations and organize information in a useful way for the presenter. However, they also have a tendency to get in the way and make slide deck creation more difficult. Without a clear idea, outline, or process one can spend many hours, if not days creating their perfect deck. Then of course there's the issues that creep up the day of presentation, for example projector resolution. A deck was created expecting wide screen support, but the projectors actually only support 1024x768.
There's one other problem: sharing a presentation, either with colleagues or others online by posting a slide deck on a service, which typically requires exporting a presentation as a PDF. This of course looses any interactive or multimedia elements embedded within the presentation and can break the rhythm or surprise of a slide.
A few years ago another idea came to the stage: HTML5 presentation frameworks! These solve some of the issues of the previously mentioned tools, yet have some of their own drawbacks. Alignment and consistency are much easier to wrangle using an HTML5 presentation framework, sharing a presentation is as easy as publishing the presentation online to allow others to view it in their own browser, they're also done using familiar technologies (for developers). However, things can become difficult if a PDF is needed, and there still isn't an easy way to reuse a slide deck done this way.
I think we can do better, and some of us have been experimenting in this field!
Where we are today
The key to doing this better comes back to a core concept of AsciiDoc: write in plain text and generate something from the text. Because all you have to worry about is plain text and the semantics of the content (emphasis, admonitions, quotes, code listings, etc.) there's less to encumber you as you craft your slide deck!
Asciidoctor today supports the following HTML5 presentation frameworks by using the https://github.com/asciidoctor/asciidoctor-backends[asciidoctor-backends] project:
These all work great, but there are a few problems with them:
. No consistency between slide sources . No core elements or components . Can be difficult to setup . Slides must live in their own document
While I've been thinking about crafting decks through AsciiDoc, and also creating some decks, I've come to believe we need fix some of those problems, and also be able to create a deck from materials that can then be reused for other purposes. How great would it be to be able to take your presentation and create a blog post out of it? Or section things out so slides can be reused and distributed easier? How about creating PDFs and/or ePub documents from the same source material? What if all of that could be done from a single file?
Idea
The crux of this idea rests on an Asciidoctor extension and understanding of what the author is trying to do with a slide. There's no reason slides cannot be embedded within the document, they don't need to live separately in their own file. Taking a presentation from the idea stage to outline to slides to blog or print can all be done within the same file! The ideas can build upon one another and the whole deck could be created from a single source file. Best of all, if a different presentation solution is needed that could be generated just as easily. Using deck.js today, but want to try DZSlides later? How about Impress (this isn't done, but it could be possible)? I shouldn't have to rework my entire source file just because I switched presentation frameworks or tools.
This will require aligning slide backends and templates, and an understanding of what a slide is supposed to be and display. We have a start on some component ideas at https://gist.github.com/LightGuard/0ad1c064d3e882f2294a. We need some more input from others though.
Example
Below is a working idea about what this may look like.
We can then build an extension which will crawl the tree, pull out and slide blocks and render them to the chosen slide framework! All of the support text can stay where it is, providing information to readers that come to your blog, colleagues, or even attendees following along with the generated PDF! I'm quite excited about this and hope you'll join in helping create and maximize this idea!!