It would be better if there was some way to distinguish containers from leaves in the first line, or the line after.
That’s why I think my proposal is better for block directives (you can tell between a leaf and a block quickly from the first line):
leaf
!spoiler: harrys kills voltmort. But spares hermimi
container
!spoiler: toggle visibility on hover
:::
harrys kills voltmort
But spares hermimi
:::
More compact
!spoiler::::::::::::::::
harrys kills voltmort
But spares hermimi
::::::::::::::::::::::::
A compact version for single paragraph directive.
!spoiler:
harrys kills voltmort
But spares hermimi
where
block = !spoiler:
inline = !spoiler