diff --git a/css/posts.css b/css/posts.css index 9874fa0..9db1ff0 100644 --- a/css/posts.css +++ b/css/posts.css @@ -14,6 +14,14 @@ color: yellow; } +.crossout { + text-decoration: line-through; +} + +.greentext { + color: green; +} + #posts > div { background-color: darkgray; padding-left: 5px; diff --git a/js/posts.js b/js/posts.js index 37cc619..5a52b6c 100644 --- a/js/posts.js +++ b/js/posts.js @@ -10,28 +10,33 @@ socket.addEventListener("message", function (event) { } }) function urlify(text) { - let urlRegex = /(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal|tk|ga))(:[0-9]{1,5})?(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(\s+|$)/gi - return text.replace(urlRegex,'$1 ') + let textregex = /(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal|tk|ga))(:[0-9]{1,5})?(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(\s+|$)/gi + return text.replace(textregex,'$1 ') } function newlineify(text) { - let urlRegex = /(\n)/gi - return text.replace(urlRegex,'
') + let textregex = /(\n)/gi + return text.replace(textregex,'
') +} +function crossout(text) { + let textregex = /~([^~]*)~/gi + return text.replace(textregex,'$1') } function italicify(text) { - let urlRegex = /\*([^\*]*)\*/gi - return text.replace(urlRegex,'$1 ') + let textregex = /\*([^\*]*)\*/gi + return text.replace(textregex,'$1 ') } function boldify(text) { - let urlRegex = /\*\*([^\*]*)\*\*/gi - return text.replace(urlRegex,'$1 ') + let textregex = /\*\*([^\*]*)\*\*/gi + return text.replace(textregex,'$1 ') } function filterMentions(text) { - let mentionRegex = /(@[^\s]*)/gi - return text.replace(mentionRegex,'$1 ') + let textregex = /(@[^\s]*)/gi + return text.replace(textregex,'$1 ') } document.getElementById("post-btn").addEventListener("click",async function() { - if(document.getElementById("post-text").value.length >= 1001) { - alert("Error, your message cant contain more than 1000 characters!") + let len = document.getElementById("post-text").value.length + if(len >= 1001) { + alert(`Error, your message cant contain more than 1000 characters! (${len})`) return } let r = await post("/api/post",{"message":document.getElementById("post-text").value}) @@ -42,6 +47,7 @@ function filterPost(text) { text = newlineify(text) text = urlify(text) text = filterMentions(text) + text = crossout(text) text = boldify(text) text = italicify(text)