mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-02-05 16:04:15 +00:00
add quote tags support
This commit is contained in:
parent
5146eac9c1
commit
4ed7a0093b
@ -91,6 +91,28 @@ bool Reader::Line::Match::link(
|
||||
return !address.empty();
|
||||
}
|
||||
|
||||
bool Reader::Line::Match::quote(
|
||||
const Glib::ustring & GEMTEXT,
|
||||
Glib::ustring & quote
|
||||
) {
|
||||
auto match = Glib::Regex::split_simple(
|
||||
R"regex(^>(.*)$)regex",
|
||||
GEMTEXT
|
||||
);
|
||||
|
||||
int index = 0; for (const Glib::ustring & MATCH : match)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 1: quote = MATCH; break;
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
return !quote.empty();
|
||||
}
|
||||
|
||||
// Markup tools
|
||||
Glib::ustring Reader::make(
|
||||
const Glib::ustring & GEMTEXT
|
||||
@ -107,14 +129,14 @@ Glib::ustring Reader::make(
|
||||
{
|
||||
// Header
|
||||
int level;
|
||||
Glib::ustring text;
|
||||
Glib::ustring header;
|
||||
|
||||
if (Line::Match::header(line, level, text))
|
||||
if (Line::Match::header(line, level, header))
|
||||
{
|
||||
pango.append(
|
||||
Make::header(
|
||||
level,
|
||||
text
|
||||
header
|
||||
)
|
||||
);
|
||||
|
||||
@ -139,6 +161,20 @@ Glib::ustring Reader::make(
|
||||
continue;
|
||||
}
|
||||
|
||||
// Header
|
||||
Glib::ustring quote;
|
||||
|
||||
if (Line::Match::quote(line, quote))
|
||||
{
|
||||
pango.append(
|
||||
Make::quote(
|
||||
quote
|
||||
)
|
||||
);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// @TODO other tags..
|
||||
|
||||
pango.append(
|
||||
@ -153,7 +189,7 @@ Glib::ustring Reader::make(
|
||||
|
||||
Glib::ustring Reader::Make::header(
|
||||
const int & LEVEL,
|
||||
const Glib::ustring & VALUE
|
||||
const Glib::ustring & TEXT
|
||||
) {
|
||||
switch (LEVEL)
|
||||
{
|
||||
@ -162,7 +198,7 @@ Glib::ustring Reader::Make::header(
|
||||
return Glib::ustring::sprintf(
|
||||
"<span size=\"xx-large\">%s</span>\n",
|
||||
Glib::Markup::escape_text(
|
||||
VALUE
|
||||
TEXT
|
||||
)
|
||||
);
|
||||
|
||||
@ -171,7 +207,7 @@ Glib::ustring Reader::Make::header(
|
||||
return Glib::ustring::sprintf(
|
||||
"<span size=\"x-large\">%s</span>\n",
|
||||
Glib::Markup::escape_text(
|
||||
VALUE
|
||||
TEXT
|
||||
)
|
||||
);
|
||||
|
||||
@ -180,7 +216,7 @@ Glib::ustring Reader::Make::header(
|
||||
return Glib::ustring::sprintf(
|
||||
"<span size=\"large\">%s</span>\n",
|
||||
Glib::Markup::escape_text(
|
||||
VALUE
|
||||
TEXT
|
||||
)
|
||||
);
|
||||
|
||||
@ -223,4 +259,15 @@ Glib::ustring Reader::Make::link(
|
||||
description
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
Glib::ustring Reader::Make::quote(
|
||||
const Glib::ustring & TEXT
|
||||
) {
|
||||
return Glib::ustring::sprintf(
|
||||
"<i>%s</i>\n",
|
||||
Glib::Markup::escape_text(
|
||||
TEXT
|
||||
)
|
||||
);
|
||||
}
|
@ -31,6 +31,11 @@ namespace app::browser::main::tab::page::content::text::gemini
|
||||
Glib::ustring & date,
|
||||
Glib::ustring & alt
|
||||
);
|
||||
|
||||
static bool quote(
|
||||
const Glib::ustring & GEMTEXT,
|
||||
Glib::ustring & text
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
@ -38,7 +43,7 @@ namespace app::browser::main::tab::page::content::text::gemini
|
||||
{
|
||||
static Glib::ustring header(
|
||||
const int & LEVEL,
|
||||
const Glib::ustring & VALUE
|
||||
const Glib::ustring & TEXT
|
||||
);
|
||||
|
||||
static Glib::ustring link(
|
||||
@ -46,6 +51,10 @@ namespace app::browser::main::tab::page::content::text::gemini
|
||||
const Glib::ustring & DATE,
|
||||
const Glib::ustring & ALT
|
||||
);
|
||||
|
||||
static Glib::ustring quote(
|
||||
const Glib::ustring & TEXT
|
||||
);
|
||||
};
|
||||
|
||||
static Glib::ustring make(
|
||||
|
Loading…
x
Reference in New Issue
Block a user