blob: 6d24ac7821a73572f2348c00050f8c9b7f887994 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#ifndef MARKDOWN_TRANSLATOR_H
#define MARKDOWN_TRANSLATOR_H
#include <string>
#include <vector>
#include <sstream>
#include <ctime>
class MarkdownTranslator {
public:
// Constructor
MarkdownTranslator();
// Destructor
~MarkdownTranslator();
// Main translation function - takes markdown content and returns HTML
std::string translate(const std::string& markdownContent, const std::string& cssPath = "styles/ffxiv-style.css", const std::string& title = "Title");
std::string processLine(const std::string& line);
private:
// Helper functions for different markdown elements
std::string processHeaders(const std::string& line);
std::string processBold(const std::string& text);
std::string processItalic(const std::string& text);
std::string processLinks(const std::string& text);
std::string processParagraph(const std::string& text);
std::string processSingleFigure(const std::string& text);
std::string processFigureBlock(const std::vector<std::string>& lines);
// Navigation and table of contents
void generateSideBar(std::stringstream& output, const std::vector<std::string>& headers, const std::string& title);
std::string createAnchorId(const std::string& text);
// Utility functions
std::string getCurrentDateTime();
};
#endif // MARKDOWN_TRANSLATOR_H
|