Break really long words
This commit is contained in:
parent
3a28afe408
commit
e4f100a177
@ -533,7 +533,9 @@ button {
|
||||
padding-left: 10px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
#chat .wrap,
|
||||
#chat .text a {
|
||||
font-style: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
#chat .self .text {
|
||||
|
12
client/js/libs.min.js
vendored
12
client/js/libs.min.js
vendored
File diff suppressed because one or more lines are too long
53
client/js/libs/handlebars/parse.js
Normal file
53
client/js/libs/handlebars/parse.js
Normal file
@ -0,0 +1,53 @@
|
||||
function escape(text) {
|
||||
var e = {
|
||||
"<": "<",
|
||||
">": ">",
|
||||
"'": "'"
|
||||
};
|
||||
return text.replace(/[<>']/g, function (c) {
|
||||
return e[c];
|
||||
});
|
||||
}
|
||||
|
||||
Handlebars.registerHelper(
|
||||
"parse", function(text) {
|
||||
text = uri(text);
|
||||
text = wraplong(text);
|
||||
return text;
|
||||
}
|
||||
);
|
||||
|
||||
function uri(text) {
|
||||
var urls = [];
|
||||
text = URI.withinString(text, function(url) {
|
||||
urls.push(url);
|
||||
return "$(" + (urls.length - 1) + ")";
|
||||
});
|
||||
text = escape(text);
|
||||
for (var i in urls) {
|
||||
var url = escape(urls[i]);
|
||||
var replace = url;
|
||||
if (url.indexOf("javascript:") !== 0) {
|
||||
replace = "<a href='" + url.replace(/^www/, "//www") + "' target='_blank'>" + url + "</a>";
|
||||
}
|
||||
text = text.replace(
|
||||
"$(" + i + ")", replace
|
||||
);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
function wraplong(text) {
|
||||
var wrap = false;
|
||||
var split = text.split(" ");
|
||||
for (var i in split) {
|
||||
if (split[i].length > 40) {
|
||||
wrap = true;
|
||||
}
|
||||
}
|
||||
if (wrap) {
|
||||
return "<i class='wrap'>" + text + "</i>";
|
||||
} else {
|
||||
return text;
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
function escape(text) {
|
||||
var e = {
|
||||
"<": "<",
|
||||
">": ">",
|
||||
"'": "'"
|
||||
};
|
||||
return text.replace(/[<>']/g, function (c) {
|
||||
return e[c];
|
||||
});
|
||||
}
|
||||
|
||||
Handlebars.registerHelper(
|
||||
"uri", function(text) {
|
||||
var urls = [];
|
||||
text = URI.withinString(text, function(url) {
|
||||
urls.push(url);
|
||||
return "$(" + (urls.length - 1) + ")";
|
||||
});
|
||||
text = escape(text);
|
||||
for (var i in urls) {
|
||||
var url = escape(urls[i]);
|
||||
var replace = url;
|
||||
if (url.indexOf("javascript:") !== 0) {
|
||||
replace = "<a href='" + url.replace(/^www/, "//www") + "' target='_blank'>" + url + "</a>";
|
||||
}
|
||||
text = text.replace(
|
||||
"$(" + i + ")", replace
|
||||
);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
);
|
@ -101,7 +101,7 @@ templates['msg'] = template({"1":function(depth0,helpers,partials,data) {
|
||||
+ "\" class=\"toggle-button\">···</button>\n </div>\n";
|
||||
},"8":function(depth0,helpers,partials,data) {
|
||||
var stack1, helperMissing=helpers.helperMissing, buffer = " ";
|
||||
stack1 = ((helpers.uri || (depth0 && depth0.uri) || helperMissing).call(depth0, (depth0 != null ? depth0.text : depth0), {"name":"uri","hash":{},"data":data}));
|
||||
stack1 = ((helpers.parse || (depth0 && depth0.parse) || helperMissing).call(depth0, (depth0 != null ? depth0.text : depth0), {"name":"parse","hash":{},"data":data}));
|
||||
if (stack1 != null) { buffer += stack1; }
|
||||
return buffer + "\n";
|
||||
},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
|
||||
|
@ -15,7 +15,7 @@
|
||||
<button id="toggle-{{id}}" class="toggle-button">···</button>
|
||||
</div>
|
||||
{{else}}
|
||||
{{{uri text}}}
|
||||
{{{parse text}}}
|
||||
{{/equal}}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "shout",
|
||||
"description": "The self-hosted web IRC client",
|
||||
"version": "0.37.4",
|
||||
"version": "0.38.0",
|
||||
"author": "Mattias Erming",
|
||||
"preferGlobal": true,
|
||||
"bin": {
|
||||
|
Loading…
Reference in New Issue
Block a user