rstudio / rmarkdown

Dynamic Documents for R
https://rmarkdown.rstudio.com
GNU General Public License v3.0
2.87k stars 972 forks source link

[FR] exclude elements from {.build} stack in ioslides #2211

Open Famondir opened 3 years ago

Famondir commented 3 years ago

Hi all, I tried to find a solution to the task: excluding elements from {.build} stack in ioslides.

Sometimes I will copy a part of a former slide (that was builded incrementally) and then continue on next slide to add some stuff. A problem here is that .build will show me a blank slide at first even if the stuff in the first place. In general the behaveiour that {.build} starts wit a blank slide and not the first element visible is pretty annoying to me.

Is there already a solution I just missed (maybe with a CSS class that disables .build for specific div elements)? Or is this a missing feature right now?

cderv commented 3 years ago

Hi,

excluding elements from {.build} stack in ioslides.

By .build , I believe you refer to this ? https://bookdown.org/yihui/rmarkdown/ioslides-presentation.html#build-slides

Sometimes I will copy a part of a former slide (that was builded incrementally) and then continue on next slide to add some stuff. A problem here is that .build will show me a blank slide at first even if the stuff in the first place. In general the behaveiour that {.build} starts wit a blank slide and not the first element visible is pretty annoying to me.

What I understand is that you want a slide using .build to start not blank ?

But can you share a reproducible example of this, like a small Rmd file? It would be easier for us to understand exactly what you are doing and what you want to do.

Thank you.

Famondir commented 3 years ago

Sure. Here The slides with {.build} start with only the heading. But it'ld be great to have the possibility to specify that some of the elements shoudl be visible together with heading:

---
title: "Untitled"
author: "Simon Schäfer"
date: "9 9 2021"
output: ioslides_presentation
---

## Slide with Bullets {.build}

<div class="thisshouldnotbebuildbutbevisibleatbeginning">
- Bullet 1
- Bullet 2
- Bullet 3
</div>

<div>
Test
</div>

<div class="notes">
Ghost click
</div>

## Slide 2 {.build}

Show this immedeatly.

<div>
extra
</div>
cderv commented 3 years ago

Thanks. I'll label this as a feature request then. I don't think this is possible currently.

Famondir commented 3 years ago

One suboptimal workaround seems to be to set opacity manually to 1 for these element.

Anyway you have to make a "ghost click" where nothing will happen, because the element is already visible.

I also tried to remove the class of divs with new class "nobuild" via javascript but since I'm realy new to this it seems I didn't trigger the function right or didn't target the right elements.

P. S.: Did someone note the "ghost click" at the end of a .build site if you have a "notes" div already? Also annoying. So "notes" divs mustn't get class "to-build" as well.^^'