Parse URLs with Handlebars
This commit is contained in:
parent
6366fd38a2
commit
d49ee1326b
|
@ -114,7 +114,7 @@
|
|||
<div class="time">{{time}}</div>
|
||||
<div class="user">{{from}}</div>
|
||||
<div class="type">{{type}}</div>
|
||||
<div class="text">{{text}}</div>
|
||||
<div class="text">{{{uri text}}}</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</script>
|
||||
|
|
|
@ -35,13 +35,6 @@ $(function() {
|
|||
return tpl[id](json);
|
||||
}
|
||||
|
||||
Handlebars.registerHelper(
|
||||
"partial",
|
||||
function(id) {
|
||||
return new Handlebars.SafeString(render(id, this));
|
||||
}
|
||||
);
|
||||
|
||||
function handleEvent(event, json) {
|
||||
var data = json.data;
|
||||
switch (event) {
|
||||
|
@ -245,12 +238,6 @@ $(function() {
|
|||
$(this).closest(".window").find(".messages").scrollToBottom();
|
||||
});
|
||||
|
||||
function uri(text) {
|
||||
return URI.withinString(text, function(url) {
|
||||
return "<a href='" + url + "' target='_blank'>" + url + "</a>";
|
||||
});
|
||||
}
|
||||
|
||||
var highest = 1;
|
||||
$.fn.bringToTop = function() {
|
||||
return this.css('z-index', highest++)
|
||||
|
@ -262,4 +249,34 @@ $(function() {
|
|||
.removeClass("active")
|
||||
.end();
|
||||
};
|
||||
|
||||
function uri(text) {
|
||||
return URI.withinString(text, function(url) {
|
||||
return "<a href='" + url + "' target='_blank'>" + url + "</a>";
|
||||
});
|
||||
}
|
||||
|
||||
function escape(string) {
|
||||
var e = {
|
||||
"<": "<",
|
||||
">": ">",
|
||||
};
|
||||
return string.replace(/[<>]/g, function (s) {
|
||||
return e[s];
|
||||
});
|
||||
}
|
||||
|
||||
Handlebars.registerHelper(
|
||||
"uri",
|
||||
function(text) {
|
||||
return uri(escape(text));
|
||||
}
|
||||
);
|
||||
|
||||
Handlebars.registerHelper(
|
||||
"partial",
|
||||
function(id) {
|
||||
return new Handlebars.SafeString(render(id, this));
|
||||
}
|
||||
);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue