mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2025-03-29 04:01:55 +01:00
Resolves #37, basic Discord markdown parsing
Adds support for bold, italics, underline, strikethrough, code, and blockcode (no Syntax highlighting yet)
This commit is contained in:
parent
b3d5a7e171
commit
8f56bea4cc
@ -169,6 +169,7 @@ body > div.navbar-fixed > nav > div {
|
|||||||
|
|
||||||
#chatcontent > p {
|
#chatcontent > p {
|
||||||
display: table;
|
display: table;
|
||||||
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#chatcontent > p > span {
|
#chatcontent > p > span {
|
||||||
@ -391,8 +392,7 @@ a {
|
|||||||
display: table-header-group;
|
display: table-header-group;
|
||||||
}
|
}
|
||||||
.chatmessage {
|
.chatmessage {
|
||||||
display: table-footer-group;
|
display: inline;
|
||||||
display: inline-block;
|
|
||||||
color: rgb(195, 196, 197);
|
color: rgb(195, 196, 197);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -403,4 +403,19 @@ p.mentioned {
|
|||||||
|
|
||||||
p.mentioned span.chatmessage {
|
p.mentioned span.chatmessage {
|
||||||
color: #ff5252;
|
color: #ff5252;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chatmessage code {
|
||||||
|
background-color: gray;
|
||||||
|
color: lightgray;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chatmessage code.blockcode {
|
||||||
|
width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
line-height: 15px;
|
||||||
|
padding: 5px;
|
||||||
}
|
}
|
@ -603,6 +603,16 @@
|
|||||||
}
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parse_message_markdown(text) {
|
||||||
|
text = text.replace(/\*\*(.*?)\*\*/g, "<b>$1</b>");
|
||||||
|
text = text.replace(/\*(.*?)\*/g, "<i>$1</i>");
|
||||||
|
text = text.replace(/__(.*?)__/g, "<u>$1</u>");
|
||||||
|
text = text.replace(/~~(.*?)~~/g, "<del>$1</del>");
|
||||||
|
text = text.replace(/\`\`\`([^]+)\`\`\`/g, "<code class=\"blockcode\">$1</code>");
|
||||||
|
text = text.replace(/\`(.*?)\`/g, "<code>$1</code>");
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
function fill_discord_messages(messages, jumpscroll) {
|
function fill_discord_messages(messages, jumpscroll) {
|
||||||
if (messages.length == 0) {
|
if (messages.length == 0) {
|
||||||
@ -619,11 +629,13 @@
|
|||||||
message = parse_message_attachments(message);
|
message = parse_message_attachments(message);
|
||||||
message = parse_channels_in_message(message);
|
message = parse_channels_in_message(message);
|
||||||
message.content = escapeHtml(message.content);
|
message.content = escapeHtml(message.content);
|
||||||
|
message.content = parse_message_markdown(message.content);
|
||||||
message = parse_emoji_in_message(message);
|
message = parse_emoji_in_message(message);
|
||||||
var rendered = Mustache.render(template, {"id": message.id, "full_timestamp": message.formatted_timestamp, "time": message.formatted_time, "username": message.author.username, "discriminator": message.author.discriminator, "content": nl2br(message.content)});
|
var rendered = Mustache.render(template, {"id": message.id, "full_timestamp": message.formatted_timestamp, "time": message.formatted_time, "username": message.author.username, "discriminator": message.author.discriminator, "content": nl2br(message.content)});
|
||||||
$("#chatcontent").append(rendered);
|
$("#chatcontent").append(rendered);
|
||||||
last = message.id;
|
last = message.id;
|
||||||
handle_last_message_mention();
|
handle_last_message_mention();
|
||||||
|
$("#chatcontent p:last-child").find(".blockcode").find("br").remove(); // Remove excessive breaks in codeblocks
|
||||||
}
|
}
|
||||||
$("html, body").animate({ scrollTop: $(document).height() }, "slow");
|
$("html, body").animate({ scrollTop: $(document).height() }, "slow");
|
||||||
$('#chatcontent').linkify({
|
$('#chatcontent').linkify({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user