Я понятия не имею, как это делает RoundCube; Я не знаком с продуктом. Тем не менее, эффекта легко достичь с помощью HTML и CSS.
Я использовал вложенные blockquote
элементы для цитат по электронной почте:
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
Peter says:<br/>
Peter says:
</blockquote>
Jane says:<br/>
Jane says:
</blockquote>
Peter says:<br/>
Peter says:
</blockquote>
Jane says:<br/>
Jane says:
</blockquote>
Peter says:<br/>
Peter says
</blockquote>
Jane says:<br/>
Jane says:
</blockquote>
Peter says:</br>
Peter says:
Затем я раскрасил границы и текст в соответствии с уровнем вложенности в CSS:
body {
font-family: 'Times';
}
blockquote {
background-color: #eee;
border-left: 3px solid #00f;
border-right: 3px solid #00f;
color: #00f;
padding: 0.6em 0.9em 0.3em;
margin: 0 0 0.3em;
}
blockquote > blockquote {
color: #0f0;
border-color: #0f0;
}
blockquote > blockquote > blockquote {
color: #b22;
border-color: #b22;
}
Вы можете посмотреть живую демонстрацию.
RoundCube - это программа электронной почты в Интернете, поэтому вы можете посмотреть на генерируемый ею HTML, если хотите убедиться, что именно так она работает.
Самым сложным в этой задаче будет анализ электронной почты для определения блоков текста одного уровня, но это выходит за рамки этого вопроса.
person
Rob Kennedy
schedule
10.04.2014
│
символы (фактически, каждый>
символ из начало строки может быть преобразовано в│
char, каждый из которых будет отличаться цветом в зависимости от уровня потока). - person TLama   schedule 10.04.2014div
(или даже вложенныйblockquote
, если они могут быть вложенными) и настройте цвета границ и отступы на основе уровня вложенности в CSS. Самой сложной частью будет анализ текста для определения блоков текста одного уровня. - person Rob Kennedy   schedule 10.04.2014