From 73345c7dc06a6488f34d4a76906a62171a519278 Mon Sep 17 00:00:00 2001
From: Aleksey Veresov ");
+ opened_block = header_6;
} else if (piece.level == 2) {
- exporter.Put("h5>");
+ exporter.Put("
");
+ opened_block = header_5;
} else if (piece.level == 3) {
- exporter.Put("h4>");
+ exporter.Put("
");
+ opened_block = header_4;
} else if (piece.level == 4) {
- exporter.Put("h3>");
+ exporter.Put("
");
+ opened_block = header_3;
} else if (piece.level == 5) {
- exporter.Put("h2>");
+ exporter.Put("
");
+ opened_block = header_2;
} else {
- exporter.Put("h1>");
+ exporter.Put("
");
+ opened_block = header_1;
}
}
void TexoProducerHTML::Put(const TexoParagraph &piece)
{
- if (piece.closing) {
- exporter.Put("
"); - } + Close(); + opened_block = paragraph; + exporter.Put("
"); } void TexoProducerHTML::Put(const TexoCode &piece) { - if (piece.closing) { - exporter.Put(""); - } else { - exporter.Put("
"); - } + Close(); + opened_block = code; + exporter.Put(""); } void TexoProducerHTML::Put(const TexoQuote &piece) { - if (piece.closing) { - exporter.Put(""); - } else { - exporter.Put(""); break; + } } -- cgit v1.2.3"); - } + Close(); + opened_block = quote; + exporter.Put("
"); break; + case code: exporter.Put(""); } void TexoProducerHTML::Put(const TexoMono &piece) { - if (piece.closing) { + static bool closing = false; + if (closing) { exporter.Put(""); } else { exporter.Put("
"); break; + case quote: exporter.Put(""); } + closing = !closing; } void TexoProducerHTML::Put(const TexoBold &piece) { - if (piece.closing) { + static bool closing = false; + if (closing) { exporter.Put(""); } else { exporter.Put(""); } + closing = !closing; } void TexoProducerHTML::Put(const TexoItalic &piece) { - if (piece.closing) { + static bool closing = false; + if (closing) { exporter.Put(""); } else { exporter.Put(""); } + closing = !closing; } void TexoProducerHTML::Put(const TexoUnderline &piece) { - if (piece.closing) { + static bool closing = false; + if (closing) { exporter.Put(""); } else { exporter.Put(""); } + closing = !closing; } void TexoProducerHTML::Put(const TexoStrike &piece) { - if (piece.closing) { + static bool closing = false; + if (closing) { exporter.Put(""); } else { exporter.Put("
"); } + closing = !closing; } void TexoProducerHTML::Put(const TexoImage &piece) @@ -154,14 +167,25 @@ void TexoProducerHTML::Put(const TexoLink &piece) } } -void TexoProducerHTML::Put(const TexoLineBreak &piece) +void TexoProducerHTML::Put(const TexoHorizontalRule &piece) { - exporter.Put("
"); + exporter.Put("
"); } -void TexoProducerHTML::Put(const TexoHorizontalRule &piece) +void TexoProducerHTML::Close() { - exporter.Put("
"); + switch (opened_block) { + case none: break; + case header_1: exporter.Put(""); break; + case header_2: exporter.Put(""); break; + case header_3: exporter.Put(""); break; + case header_4: exporter.Put(""); break; + case header_5: exporter.Put(""); break; + case header_6: exporter.Put(""); break; + case paragraph: exporter.Put("