Code Monkey home page Code Monkey logo

asciidoc_slides_conversation's People

Contributors

lightguard avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

asciidoc_slides_conversation's Issues

Creation syntax whiteboard

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:

  • PowerPoint
  • Keynote
  • Impress

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.

= Creating slides with Asciidoctor
Jason Porter <[hidden email]>
2014-07-04

Creating slides with Asciidoctor is a breeze! All you need is a text editor,
we'll supply the rest!

== What is Asciidoctor

Asciidoctor is an AsciiDoc tool chain...

[slide role="topic"]
.Asciidoctor, a writer's best friend
--
--

[slide]
--
It's just *text*mate!
--

=== What does it look like?

AsciiDoc syntax is really simple, everything is just text!

[slide, role="source"]
--
[source, asciidoc]
.Basic syntax

---
[#goals]
* Goal 1
* Goal 2

[NOTE]
====
Make sure to talk about how similar AsciiDoc is to markdown.
====

---
--

=== What can I do with it?

Asciidoctor comes with a set of export targets, and a wide range of templates.

[slide, role="list,scatter"]
--
* DocBook 4.5 and 5
* HTML 5
* XHTML
* PDF
* ePub
* mobi
* many more
-- 

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!!

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.