Quotes containing code block must start with newline

When including a quote with a code block, it will not render correctly unless the quote starts with an extra newline character. For example, the following will display correctly:

[quote="abarker"]
Sample quote 1, without any code.
[/quote]

However, insert a code block into the quote, and things will become problemeatic.

[quote="abarker"]
Sample quote 2, with a small code block.
```
n = 2;
```
This will not work
[/quote]

Then again, if you add an extra line break to the beginning of the quote, it starts working again:

[quote="abarker"]

Sample quote 3, with a small code block.
```
n = 2;
```
This will work
[/quote]
5개의 좋아요

If the quote only consists of code, I’ve found adding an extra line has no effect to fix formatting. But inserting two backticks before the code block, and none after it, works.

A single backtick will fix the #, but shows up in the code.

Becomes

Testing fail condition for current status:

Appears to still be an issue.

1개의 좋아요

Status check:

<hidden comment to get around the absurdly long 20 character limit that meta.d imposes.

This one was a pain to debug. I’ve included a workaround, but this is a core markdown parser bug and it should be revisited.

PR is ready here:
https://github.com/discourse/discourse/pull/3715

3개의 좋아요

This seems to have regressed. If a code block plus a line of non-code text are quoted, the formatting of the code block is preserved. If a code block is quoted on its own, the formatting is not preserved.

I’ve posted an example of the problem here: https://try.discourse.org/t/testing-issue-with-quoted-code-blocks/1401/2.

2개의 좋아요

Sure can you assign this @eviltrout?

Took a bit to find the right place to fix it, but here we go!

https://github.com/discourse/discourse/pull/9632

6개의 좋아요

Something’s wrong here, the behavior on Meta isn’t matching what I saw during development.

1개의 좋아요

Figured it out, jQuery tricked me.

https://github.com/discourse/discourse/pull/9784

6개의 좋아요