From 1de3a9aae84ec71c4fd83604ea9c45204efb9baf Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 25 Oct 2019 14:10:45 +0300 Subject: . --- src/markdown.hpp | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/markdown.hpp (limited to 'src/markdown.hpp') diff --git a/src/markdown.hpp b/src/markdown.hpp new file mode 100644 index 0000000..7a23fed --- /dev/null +++ b/src/markdown.hpp @@ -0,0 +1,49 @@ +#ifndef TEXO_INCLUDED_MARKDOWN +#define TEXO_INCLUDED_MARKDOWN + +#include "exporter.hpp" +#include "producer.hpp" +#include "importer.hpp" + + +class TexoProducerMarkdown: public TexoProducer { +public: + TexoProducerMarkdown(TexoExporter &exporter); + + void Put(const Texo &piece); + + void Put(const TexoHeader &piece); + void Put(const TexoParagraph &piece); + void Put(const TexoCode &piece); + void Put(const TexoQuote &piece); + + void Put(const TexoMono &piece); + void Put(const TexoBold &piece); + void Put(const TexoItalic &piece); + void Put(const TexoUnderline &piece); + void Put(const TexoStrike &piece); + + void Put(const TexoImage &piece); + void Put(const TexoLink &piece); + void Put(const TexoLineBreak &piece); + void Put(const TexoHorizontalRule &piece); + +private: + bool quoted; + bool newline; + bool header; + bool code; +}; + + +class TexoImporterMarkdown: public TexoImporter { +public: + TexoImporterMarkdown(TexoProducer &producer); + + void Put(char c); + void Put(const ScriptVariable &str); + void Put(FILE *file); +}; + + +#endif -- cgit v1.2.3