re-add emojis to babycode parser
This commit is contained in:
parent
443c25c09b
commit
692a1d6b2b
@ -28,6 +28,53 @@ TAGS = {
|
|||||||
"ol": lambda children, attr: f"<ol>{tag_list(children)}</ol>",
|
"ol": lambda children, attr: f"<ol>{tag_list(children)}</ol>",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def make_emoji(name, code):
|
||||||
|
return f' <img class=emoji src="/static/emoji/{name}.png" alt="{name}" title=":{code}:">'
|
||||||
|
|
||||||
|
EMOJI = {
|
||||||
|
'angry': make_emoji('angry', 'angry'),
|
||||||
|
|
||||||
|
'(': make_emoji('frown', '('),
|
||||||
|
|
||||||
|
'D': make_emoji('grin', 'D'),
|
||||||
|
|
||||||
|
'imp': make_emoji('imp', 'imp'),
|
||||||
|
|
||||||
|
'angryimp': make_emoji('impangry', 'angryimp'),
|
||||||
|
'impangry': make_emoji('impangry', 'impangry'),
|
||||||
|
|
||||||
|
'lobster': make_emoji('lobster', 'lobster'),
|
||||||
|
|
||||||
|
'|': make_emoji('neutral', '|'),
|
||||||
|
|
||||||
|
'pensive': make_emoji('pensive', 'pensive'),
|
||||||
|
|
||||||
|
')': make_emoji('smile', ')'),
|
||||||
|
|
||||||
|
'smiletear': make_emoji('smiletear', 'smiletear'),
|
||||||
|
'crytear': make_emoji('smiletear', 'crytear'),
|
||||||
|
|
||||||
|
',': make_emoji('sob', ','),
|
||||||
|
'T': make_emoji('sob', 'T'),
|
||||||
|
'cry': make_emoji('sob', 'cry'),
|
||||||
|
'sob': make_emoji('sob', 'sob'),
|
||||||
|
|
||||||
|
'o': make_emoji('surprised', 'o'),
|
||||||
|
'O': make_emoji('surprised', 'O'),
|
||||||
|
|
||||||
|
'hmm': make_emoji('think', 'hmm'),
|
||||||
|
'think': make_emoji('think', 'think'),
|
||||||
|
'thinking': make_emoji('think', 'thinking'),
|
||||||
|
|
||||||
|
'P': make_emoji('tongue', 'P'),
|
||||||
|
'p': make_emoji('tongue', 'p'),
|
||||||
|
|
||||||
|
'weary': make_emoji('weary', 'weary'),
|
||||||
|
|
||||||
|
';': make_emoji('wink', ';'),
|
||||||
|
'wink': make_emoji('wink', 'wink'),
|
||||||
|
}
|
||||||
|
|
||||||
TEXT_ONLY = ["code"]
|
TEXT_ONLY = ["code"]
|
||||||
|
|
||||||
def break_lines(text):
|
def break_lines(text):
|
||||||
@ -40,8 +87,10 @@ def babycode_to_html(s):
|
|||||||
parser = Parser(subj)
|
parser = Parser(subj)
|
||||||
parser.valid_bbcode_tags = TAGS.keys()
|
parser.valid_bbcode_tags = TAGS.keys()
|
||||||
parser.bbcode_tags_only_text_children = TEXT_ONLY
|
parser.bbcode_tags_only_text_children = TEXT_ONLY
|
||||||
|
parser.valid_emotes = EMOJI.keys()
|
||||||
|
|
||||||
elements = parser.parse()
|
elements = parser.parse()
|
||||||
|
print(elements)
|
||||||
out = ""
|
out = ""
|
||||||
def fold(element, nobr):
|
def fold(element, nobr):
|
||||||
if isinstance(element, str):
|
if isinstance(element, str):
|
||||||
@ -59,6 +108,8 @@ def babycode_to_html(s):
|
|||||||
return res
|
return res
|
||||||
case "link":
|
case "link":
|
||||||
return f"<a href=\"{element['url']}\">{element['url']}</a>"
|
return f"<a href=\"{element['url']}\">{element['url']}</a>"
|
||||||
|
case 'emote':
|
||||||
|
return EMOJI[element['name']]
|
||||||
case "rule":
|
case "rule":
|
||||||
return "<hr>"
|
return "<hr>"
|
||||||
for e in elements:
|
for e in elements:
|
||||||
|
Loading…
Reference in New Issue
Block a user