#include "html.hpp"
TexoHTMLProducer::TexoHTMLProducer(TexoExporter &exporter):
TexoProducer(exporter)
{}
void TexoHTMLProducer::Put(const Texo &piece)
{
switch (piece.type) {
case Texo::character: exporter.Put(piece.c); break;
case Texo::paragraph_begin: exporter.PutStr("
"); break;
case Texo::paragraph_end: exporter.PutStr("
"); break;
case Texo::newline: exporter.PutStr("
"); break;
case Texo::bold_begin: exporter.PutStr(""); break;
case Texo::bold_end: exporter.PutStr(""); break;
case Texo::italic_begin: exporter.PutStr(""); break;
case Texo::italic_end: exporter.PutStr(""); break;
case Texo::strike_begin: exporter.PutStr(""); break;
case Texo::strike_end: exporter.PutStr(""); break;
case Texo::underline_begin: exporter.PutStr(""); break;
case Texo::underline_end: exporter.PutStr(""); break;
case Texo::link_begin: BeginLink(piece); break;
case Texo::link_end: exporter.PutStr(""); break;
case Texo::image: Image(piece); break;
default: break;
}
}
void TexoHTMLProducer::BeginLink(const Texo &piece)
{
exporter.PutStr("');
}
void TexoHTMLProducer::Image(const Texo &piece)
{
exporter.PutStr("");
}
TexoHTMLImporter::TexoHTMLImporter(TexoProducer &producer):
TexoImporter(producer)
{}
void TexoHTMLImporter::Put(const char c)
{ // TODO by automata
producer.Put(Texo(c));
}