diff options
author | Aleksey Veresov <aleksey@veresov.pro> | 2020-02-03 15:53:56 +0300 |
---|---|---|
committer | Aleksey Veresov <aleksey@veresov.pro> | 2020-02-03 15:53:56 +0300 |
commit | 8d4981fcc1c545396df3eac87a3c1a67f3d30038 (patch) | |
tree | 0e4f373313f7b251847fecd1186786574e8d450c /src/html.cpp | |
parent | 3032869b86efa52f20ad9840381a37017980f587 (diff) | |
download | texo-8d4981fcc1c545396df3eac87a3c1a67f3d30038.tar texo-8d4981fcc1c545396df3eac87a3c1a67f3d30038.tar.xz texo-8d4981fcc1c545396df3eac87a3c1a67f3d30038.zip |
[texo] Abolished dependency on ScriptPP.
Diffstat (limited to 'src/html.cpp')
-rw-r--r-- | src/html.cpp | 192 |
1 files changed, 62 insertions, 130 deletions
diff --git a/src/html.cpp b/src/html.cpp index d492c19..68a8800 100644 --- a/src/html.cpp +++ b/src/html.cpp @@ -9,46 +9,36 @@ TexoProducerHTML::TexoProducerHTML(TexoExporter & exporter): bool TexoProducerHTML::TruePut(char c) { switch (c) { - case '<': - return exporter.Put("<"); - break; - case '>': - return exporter.Put(">"); - break; - case '&': - return exporter.Put("&"); - break; - default: - return exporter.Put(c); + case '<': return exporter.Put("<"); + case '>': return exporter.Put(">"); + case '&': return exporter.Put("&"); + default: return exporter.Put(c); } } -bool TexoProducerHTML::StartCode() -{ - return exporter.Put("\n<pre>\n"); -} - bool TexoProducerHTML::StartHeader(int level) { - if (level <= 1) { - return exporter.Put("\n<h6>\n"); - } else if (level == 2) { - return exporter.Put("\n<h5>\n"); - } else if (level == 3) { - return exporter.Put("\n<h4>\n"); - } else if (level == 4) { - return exporter.Put("\n<h3>\n"); - } else if (level == 5) { - return exporter.Put("\n<h2>\n"); - } else { - return exporter.Put("\n<h1>\n"); + switch (level) { + case 1: return exporter.Put("\n<h6>\n"); + case 2: return exporter.Put("\n<h5>\n"); + case 3: return exporter.Put("\n<h4>\n"); + case 4: return exporter.Put("\n<h3>\n"); + case 5: return exporter.Put("\n<h2>\n"); + default: return exporter.Put("\n<h1>\n"); } } -bool TexoProducerHTML::StartParagraph() +bool TexoProducerHTML::CloseHeader(int level) { - return exporter.Put("\n<p>\n"); + switch (level) { + case 1: return exporter.Put("\n</h6>\n"); + case 2: return exporter.Put("\n</h5>\n"); + case 3: return exporter.Put("\n</h4>\n"); + case 4: return exporter.Put("\n</h3>\n"); + case 5: return exporter.Put("\n</h2>\n"); + default: return exporter.Put("\n</h1>\n"); + } } bool TexoProducerHTML::StartQuote() @@ -56,127 +46,69 @@ bool TexoProducerHTML::StartQuote() return exporter.Put("\n<blockquote><p>\n"); } -bool TexoProducerHTML::CloseCode() +bool TexoProducerHTML::CloseQuote() { - return exporter.Put("\n</pre>\n"); + return exporter.Put("\n</p></blockquote>\n"); } -bool TexoProducerHTML::CloseHeader(int level) -{ - if (level <= 1) { - return exporter.Put("\n</h6>\n"); - } else if (level == 2) { - return exporter.Put("\n</h5>\n"); - } else if (level == 3) { - return exporter.Put("\n</h4>\n"); - } else if (level == 4) { - return exporter.Put("\n</h3>\n"); - } else if (level == 5) { - return exporter.Put("\n</h2>\n"); - } else { - return exporter.Put("\n</h1>\n"); - } -} +bool TexoProducerHTML::StartCode() { return exporter.Put("\n<pre>\n"); } +bool TexoProducerHTML::CloseCode() { return exporter.Put("\n</pre>\n"); } -bool TexoProducerHTML::CloseParagraph() -{ - return exporter.Put("\n</p>\n"); -} +bool TexoProducerHTML::StartParagraph() { return exporter.Put("\n<p>\n"); } +bool TexoProducerHTML::CloseParagraph() { return exporter.Put("\n</p>\n"); } -bool TexoProducerHTML::CloseQuote() -{ - return exporter.Put("\n</p></blockquote>\n"); -} +bool TexoProducerHTML::StartBold() { return exporter.Put("<b>"); } +bool TexoProducerHTML::CloseBold() { return exporter.Put("</b>"); } -bool TexoProducerHTML::StartBold() -{ - return exporter.Put("<b>"); -} -bool TexoProducerHTML::StartItalic() -{ - return exporter.Put("<i>"); -} -bool TexoProducerHTML::StartMono() -{ - return exporter.Put("<code>"); -} -bool TexoProducerHTML::StartStrike() -{ - return exporter.Put("<del>"); -} -bool TexoProducerHTML::StartUnderline() -{ - return exporter.Put("<ins>"); -} +bool TexoProducerHTML::StartItalic() { return exporter.Put("<i>"); } +bool TexoProducerHTML::CloseItalic() { return exporter.Put("</i>"); } -bool TexoProducerHTML::CloseBold() -{ - return exporter.Put("</b>"); -} -bool TexoProducerHTML::CloseItalic() -{ - return exporter.Put("</i>"); -} -bool TexoProducerHTML::CloseMono() -{ - return exporter.Put("</code>"); -} -bool TexoProducerHTML::CloseStrike() -{ - return exporter.Put("</del>"); -} -bool TexoProducerHTML::CloseUnderline() -{ - return exporter.Put("</ins>"); -} +bool TexoProducerHTML::StartMono() { return exporter.Put("<code>"); } +bool TexoProducerHTML::CloseMono() { return exporter.Put("</code>"); } + +bool TexoProducerHTML::StartStrike() { return exporter.Put("<del>"); } +bool TexoProducerHTML::CloseStrike() { return exporter.Put("</del>"); } + +bool TexoProducerHTML::StartUnderline() { return exporter.Put("<ins>"); } +bool TexoProducerHTML::CloseUnderline() { return exporter.Put("</ins>"); } -bool TexoProducerHTML::StartLink(const ScriptVariable & link, - const ScriptVariable & title) +bool TexoProducerHTML::StartLink(const char *link, const char *title) { - bool ok = true; - if (link != "") { - ok = ok && exporter.Put("<a href='"); - ok = ok && exporter.Put(link); - if (title != "") { - ok = ok && exporter.Put("' title='"); - ok = ok && exporter.Put(title); - } - ok = ok && exporter.Put("'>"); + if (!link) { + return true; + } + bool ok = exporter.Put("<a href='") && exporter.Put(link); + if (title) { + ok = ok && exporter.Put("' title='") && exporter.Put(title); } - return ok; + return ok && exporter.Put("'>"); } -bool TexoProducerHTML::CloseLink(const ScriptVariable & link, - const ScriptVariable & title) +bool TexoProducerHTML::CloseLink(const char *link, const char *title) { - if (link != "") { - return exporter.Put("</a>"); - } else { + if (!link) { return true; } + return exporter.Put("</a>"); } -bool TexoProducerHTML::TruePutImage(const ScriptVariable & src, - const ScriptVariable & alt, - const ScriptVariable & title) +bool TexoProducerHTML::TruePutImage(const char *src, + const char *alt, + const char *title) { - bool ok = true; - if (src != "") { - ok = ok && exporter.Put("<img src='"); - ok = ok && exporter.Put(src); - if (alt != "") { - ok = ok && exporter.Put("' alt='"); - ok = ok && exporter.Put(alt); - } - if (title != "") { - ok = ok && exporter.Put("' title='"); - ok = ok && exporter.Put(title); - } - ok = ok && exporter.Put("'/>"); + if (!src) { + return true; + } + bool ok = exporter.Put("<img src='") && exporter.Put(src); + if (alt) { + ok = ok && exporter.Put("' alt='") && exporter.Put(alt); + } + if (title) { + ok = ok && exporter.Put("' title='") && exporter.Put(title); } - return ok; + return ok && exporter.Put("'/>"); } bool TexoProducerHTML::TruePutHorizontalRule() |