asciidoctor / asciidoctor-reveal.js

:crystal_ball: A reveal.js converter for Asciidoctor and Asciidoctor.js. Write your slides in AsciiDoc!
http://asciidoctor.org
Other
287 stars 189 forks source link

Referring to an earlier slide (i.e. build over presentation) #457

Open liljenstolpe opened 2 years ago

liljenstolpe commented 2 years ago

Greetings,

I am working on a deck where I am making points for an eventual proof. Think of it this way:

A bunch of slides to solve issue 'A'. At the end a slide that shows that issue 'A' is closed

A bunch of slides to solve issue 'B'. At the end re-display the issue A slide, then add a fragment that says that 'B' is also closed

Wash, rinse repeat for C and D. At the end, the slide is showing all issues addressed.

I can just copy and paste the slide repeatedly, but the problem is, that, at some point, I'm going to forget to reflect an edit in ALL the versions of the same slide.

Thoughts?

Christopher

mojavelinux commented 2 years ago

Isn't this a use case for an include directive? https://docs.asciidoctor.org/asciidoc/latest/directives/include/

maxandersen commented 1 year ago

that actually just works - below I include the same drawing slide twice.

// # tag::chatgptwithplugins[]
[transition=fade]
== ChatGPT with Plugins

Make ChatGPT talk to your app!

[plantuml, chatgptplugin, svg]
.... 
!theme bluegray

agent browser
actor user

agent plugin as "ChatGPT Plugin"
database localmodel as "Plugin Model"
agent plugin2 as "ChatGPT Plugin"
agent plugin3 as "ChatGPT Plugin"

rectangle gpt as "GPT" {
    agent api as "api"
    database model as "GPT Model"
}

browser -> api : "calls"
api -> model 
user -> browser : "enter prompt"

model->plugin : "calls"
plugin->localmodel

model-->plugin2 : "calls"
model-->plugin3 : "calls"
....
// # end::chatgptwithplugins[]

== Demo

https://chat.openai.com[https://chat.openai.com]

include::index.adoc[tags=chatgptwithplugins]