All,
I don't know how I missed this before, but I have noticed that this isn't
treated as a valid YAML block (at least not with pandoc 2.11.4).
*% *cat comment.md
---
# comment
...
*% *pandoc comment.md
…
Inserting some YAML works:
*% *cat comment-plus-variable.md
---
# comment
variable: 42
...
*% *pandoc comment-plus-variable.md
I realise that this is an abuse, and that I could have used an HTML comment
(for example), but I believe that this is valid YAML, so should it have
worked?
*% *yq eval comment.md
# comment
*% *yq eval comment-plus-variable.md
# comment
variable: 42
Apologies if this behaviour has changed in the latest pandoc...
Thanks,
William
On Thu, 3 Jun 2021 at 09:10, William Lupton
wrote:
> Thanks!
>
> On Thu, 3 Jun 2021 at 05:49, John MacFarlane wrote:
>
>>
>> These are good suggestions. I've revised the manual accordingly.
>>
>> BPJ writes:
>>
>> > Perhaps it should be pointed out that the body of YAML block scalars
>> must
>> > be indented relative to the line with the `|` or `>`. Not doing so is
>> > indeed a YAML syntax error, so Pandoc does the right thing when not
>> > considering it valid YAML, however unfortunate it is that Pandoc may
>> think
>> > it is something else.
>> >
>> > The overview of YAML syntax on Wikipedia is quite good. Perhaps the
>> manual
>> > could link to (some specific version of) it.
>> >
>> > https://en.m.wikipedia.org/wiki/YAML#Syntax
>> >
>> > Den ons 2 juni 2021 21:21John MacFarlane skrev:
>> >
>> >>
>> >> The problem is that basically anything is valid Markdown,
>> >> it's just a matter of how it is interpreted. It does seem
>> >> to me that in the second case we might want to at least emit
>> >> a warning -- if not downright fail. It's just so unlikely
>> >> that someone would write a block beginning with `---`
>> >> and ending with `...` and intend it to be something other
>> >> than YAML metadata. If you'd like, you could submit an
>> >> issue for this. I'd rather not suggest avoiding complex
>> >> YAML blocks -- sometimes they're fine, if the syntax is
>> >> correct!
>> >>
>> >> William Lupton writes:
>> >>
>> >> > Thanks. Yes, I guess I realised it had something to do with ambiguous
>> >> > grammars, but I hadn't really considered that my input was a valid
>> table
>> >> > (mea culpa).
>> >> >
>> >> > So I thought aha! I'll change the terminating "---" to "..." (in the
>> hope
>> >> > of an error), but this of course gives the output shown below.
>> >> >
>> >> > I wonder whether there could be a warning in the manual (or maybe
>> there
>> >> is
>> >> > and I've missed it?) and/or perhaps a suggestion that it might be a
>> good
>> >> > idea to avoid complex YAML metadata blocks (in favour of metadata
>> files)?
>> >> > I'd be happy to create an issue and/or a MANUAL.md pull request.
>> >> >
>> >> > % cat bad.md
>> >> > ---
>> >> > history:
>> >> > - number: Release 1.2
>> >> > changes: |
>> >> > - TBD
>> >> > ...
>> >> >
>> >> > % pandoc bad.md
>> >> >
>> >> > history: - number: Release 1.2 changes: | - TBD …
>> >> >
>> >> >
>> >> > On Wed, 2 Jun 2021 at 17:47, John MacFarlane
>> wrote:
>> >> >
>> >> >>
>> >> >> Well, this actually IS a valid "simple table". So how is
>> >> >> pandoc to know that you intended it as a YAML metadata block?
>> >> >> Pandoc tries first to parse things as YAML blocks, and then as
>> >> >> tables, if either works, the parse succeeds with no error.
>> >> >>
>> >> >> William Lupton writes:
>> >> >>
>> >> >> > Should I expect syntax errors in YAML blocks to be detected and
>> >> reported?
>> >> >> >
>> >> >> > This has a syntax error in the YAML block:
>> >> >> >
>> >> >> > % cat bad.md
>> >> >> > ---
>> >> >> > history:
>> >> >> > - number: Release 1.2
>> >> >> > changes: |
>> >> >> > - TBD
>> >> >> > ---
>> >> >> >
>> >> >> > This fixes it:
>> >> >> >
>> >> >> > % diff bad.md good.md
>> >> >> > 5c5
>> >> >> > < - TBD
>> >> >> > ---
>> >> >> >> - TBD
>> >> >> >
>> >> >> > The latest pandoc:
>> >> >> >
>> >> >> > % ~/Downloads/pandoc-2.14.0.1/bin/pandoc -v
>> >> >> > pandoc 2.14.0.1
>> >> >> > ...
>> >> >> >
>> >> >> > Pandoc thinks the bad YAML is a table:
>> >> >> >
>> >> >> > % ~/Downloads/pandoc-2.14.0.1/bin/pandoc bad.md
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > history: |
>> >> >> >
>> >> >> >
>> >> >> > - number: Release 1.2 |
>> >> >> >
>> >> >> >
>> >> >> > changes: | |
>> >> >> >
>> >> >> >
>> >> >> > - TBD |
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > But it's OK with the good YAML:
>> >> >> >
>> >> >> > % ~/Downloads/pandoc-2.14.0.1/bin/pandoc good.md
>> >> >> >
>> >> >> > Parsing the file as YAML reports the error:
>> >> >> >
>> >> >> > % ~/Downloads/pandoc-2.14.0.1/bin/pandoc --metadata-file bad.md
>> >> >> > Error at "bad.md" (line 5, column 0):
>> >> >> > Unexpected ' '
>> >> >> >
>> >> >> > % ~/Downloads/pandoc-2.14.0.1/bin/pandoc --metadata-file good.md
>> >> >> > ^C
>> >> >> >
>> >> >> > --
>> >> >> > You received this message because you are subscribed to the Google
>> >> >> Groups "pandoc-discuss" group.
>> >> >> > To unsubscribe from this group and stop receiving emails from it,
>> send
>> >> >> an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>> >> >> > To view this discussion on the web visit
>> >> >>
>> >>
>> https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxjF3Un2J-xg5UOs7uReZ5cO27TATA%2BfDY%2BAtghAsVhShA%40mail.gmail.com
>> >> >> .
>> >> >>
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "pandoc-discuss" group.
>> >> To unsubscribe from this group and stop receiving emails from it, send
>> an
>> >> email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>> >> To view this discussion on the web visit
>> >>
>> https://groups.google.com/d/msgid/pandoc-discuss/m2a6o8ul91.fsf%40johnmacfarlane.net
>> >> .
>> >>
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "pandoc-discuss" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>> > To view this discussion on the web visit
>> https://groups.google.com/d/msgid/pandoc-discuss/CADAJKhC2g4z_H%2BK%2BVtGoVd1T2nmYeMuRrnUquhDPpoYfuxSwWw%40mail.gmail.com
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxj-bHpfTLDhz5QRz51x-zcs%2BVW5dgWbmRTRaNL%2Bx6Y31Q%40mail.gmail.com.