diff --git a/html/src/app.js b/html/src/app.js
index 3abee293..9fc4b187 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -1183,6 +1183,12 @@ speechSynthesis.getVoices();
json.$online_for = API.currentUser.$online_for;
json.$offline_for = API.currentUser.$offline_for;
}
+ if (typeof json.statusDescription !== 'undefined') {
+ json.statusDescription = $app.replaceBioSymbols(json.statusDescription);
+ }
+ if (typeof json.bio !== 'undefined') {
+ json.bio = $app.replaceBioSymbols(json.bio);
+ }
if (typeof ref === 'undefined') {
ref = {
id: '',
@@ -12710,6 +12716,46 @@ speechSynthesis.getVoices();
}
});
+ $app.methods.replaceBioSymbols = function (text) {
+ if (!text) {
+ return;
+ }
+ var symbolList = {
+ '@': '@',
+ '#': '#',
+ '$': '$',
+ '%': '%',
+ '&': '&',
+ '=': '=',
+ '+': '+',
+ '/': '⁄',
+ '\\': '\',
+ ';': ';',
+ ':': '˸',
+ ',': '‚',
+ '?': '?',
+ '!': 'ǃ',
+ '"': '"',
+ '<': '≺',
+ '>': '≻',
+ '.': '․',
+ '^': '^',
+ '{': '{',
+ '}': '}',
+ '[': '[',
+ ']': ']',
+ '(': '(',
+ ')': ')',
+ '|': '|',
+ '*': '∗'
+ };
+ for (var key in symbolList) {
+ var regex = new RegExp(symbolList[key], "g");
+ text = text.replace(regex, key);
+ }
+ return text;
+ };
+
$app = new Vue($app);
window.$app = $app;
}());