TL;DR: Perhaps block directives shall just support fenced characters that are frequency used in commonmark. (e.g. backticks in code blocks)
Hmmmm… well I like the format. Would perhaps restricting to 3 types of fencing be okay, based on how we want it to behave when in an implementation that doesn’t recognize generic directives at all?
###Three types of fencing to support to ensure acceptable fallback:
(note: Please suggest other characters, if you like the concept, but not the fencing characters)
(1) Display as code block ( e.g. codes or ASCII art )
!python:
````````````````````` {.python}
print("Hello World")
`````````````````````
(2) Display as normal content ( e.g. spoilers ):
!spoiler:
!!!
harrys kills voltmort
But spares hermimi
!!!
(3) Hide block content from display ( e.g. settings or page declarations )
e.g.
!pandocStyleYAML:
---------------------
layout: resume
.....................
!jekellStyleYAML:
---------------------
layout: resume
---------------------
###Seems bit hard to do (2) … well what if…
(1) Display as code block ( e.g. codes or ASCII art )
`````````````````````!python {.python}
print("Hello World")
`````````````````````
(2) Display as normal content ( e.g. spoilers ):
!!!spoiler
harrys kills voltmort
But spares hermimi
!!!
(3) Hide block content from display ( e.g. settings or page declarations )
e.g.
---------------------!pandocStyleYAML
layout: resume
.....................
---------------------!jekellStyleYAML
layout: resume
---------------------
What’s your opinion? Can you provide a visual example of what you want? I can show how I see, but kind of hard to see your perspective. Perhaps show a few examples yourself as well.