Inconsistent internal onebox spacing

When two internal links are added to a topic the spacing between them is inconsistent. If no blank line is between the links the spacing is significantly greater than if a blank line is provided.

https://meta.discourse.org/t/discourse-2-0-0-beta4-release-notes/82446
https://meta.discourse.org/t/discourse-2-0-0-beta5-release-notes/83881
https://meta.discourse.org/t/discourse-2-0-0-beta4-release-notes/82446

https://meta.discourse.org/t/discourse-2-0-0-beta5-release-notes/83881

cc @awesomerobot

7 лайков

Oddly enough, when there’s no line between the two we add a <br> to the markup and when there is a line between the two we don’t.

4 лайка

Hmm, what do you recommend to fix?

Ah, I understand why this happens now (bear with me here)…

If I type:

word
word

…I intentionally put a single carriage return there, so it correctly renders as:

<p>
    word
    <br>
    word
</p>

When I type:

word

word

…this is two returns, so the markup is correctly output as two paragraphs:

<p>
    word
</p>
<p>
    word
</p>

But with oneboxes, we’re treating them as they’re input (two strings with a single carriage return) and not as they’re output (two separate HTML elements)…

For example, when I type:

https://meta.discourse.org/t/discourse-2-0-0-beta4-release-notes/82446
https://meta.discourse.org/t/discourse-2-0-0-beta5-release-notes/83881

…the output is:

<aside>
</aside>
<br>
<aside>
</aside>

This is technically correct for the input. I entered two lines with a carriage return between them… but I was required to put that carriage return there for the oneboxes to exist. We shouldn’t count that carriage return because it’s a prerequisite to generate oneboxes. I’m not doing it for the purpose of creating a new line of text (so there shouldn’t be a <br> there).

When I type:

https://meta.discourse.org/t/discourse-2-0-0-beta4-release-notes/82446

https://meta.discourse.org/t/discourse-2-0-0-beta5-release-notes/83881

…the output is:

<aside>
</aside>
<aside>
</aside>

This would be correct if they were two paragraphs, which is how the text is input, but not how it’s output. We should add a <br> here, because I’m adding a space that doesn’t need to be there (intentionally dividing the content).

10 лайков

По-прежнему есть проблема, похоже :slight_smile:

3 лайка

Извините, что поднимаю эту тему снова, но подумал, что могу воспользоваться этим обсуждением (вместо того чтобы создавать новую тему…)

Уверен, это общеизвестно, но с внутренней ссылкой onebox: если её развернуть, всё выглядит хорошо, но по умолчанию вид не имеет форматирования.

До разворачивания…

После разворачивания выглядит хорошо.

Разве если автор темы не цитирует текст, предварительный просмотр должен сохранять форматирование — вместо того чтобы пытаться уместить как можно больше текста в рамку?

Или я что-то упускаю, и всё это сделано намеренно?

Верно, перед разворачиванием форматирования нет, иначе туда не поместилось бы много текста.

2 лайка

А, я понял. Думаю, так было уже давно.

На мой взгляд, с точки зрения UI было бы «чище» видеть, в какой пост мы заходим, вместо сжатой версии.

Если автор оригинального поста (OP) хочет выделить конкретный текст, он может процитировать его, и это будет выглядеть отлично.

Мне кажется, если они ссылаются на пост, то, возможно, хотят, чтобы мы на него нажали, или хотя бы развернули его, чтобы получить контекст.

С точки зрения чистой статистики, я думаю, что больше людей нажмут или развернут пост с правильным форматированием. Так просто легче смотреть.

Не стоит забывать, что большинство пользователей Discourse — не кодеры или программисты. Видеть текст, сбитый в кучу в таком блоке, для них непривычно.

по сравнению с

…снова же, просто моё мнение.

1 лайк