summaryrefslogtreecommitdiff
path: root/src/html.cpp
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-02-03 15:53:56 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-02-03 15:53:56 +0300
commit8d4981fcc1c545396df3eac87a3c1a67f3d30038 (patch)
tree0e4f373313f7b251847fecd1186786574e8d450c /src/html.cpp
parent3032869b86efa52f20ad9840381a37017980f587 (diff)
downloadtexo-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.cpp192
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("&lt;");
- break;
- case '>':
- return exporter.Put("&gt;");
- break;
- case '&':
- return exporter.Put("&amp;");
- break;
- default:
- return exporter.Put(c);
+ case '<': return exporter.Put("&lt;");
+ case '>': return exporter.Put("&gt;");
+ case '&': return exporter.Put("&amp;");
+ 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()