##// END OF EJS Templates
Fixed import of truncatewords
Fixed import of truncatewords

File last commit:

r1343:dff9bff4 default
r1385:a552aeec decentral
Show More
main.js
126 lines | 3.6 KiB | application/javascript | JavascriptLexer
neko259
Added copyright to the JS code.
r332 /*
@licstart The following is the entire license notice for the
JavaScript code in this page.
Copyright (C) 2013 neko259
The JavaScript code in this page is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this page.
*/
neko259
Added favorite thread popup
r1340 var FAV_POST_UPDATE_PERIOD = 10000;
neko259
Hide email form row by the JS code.
r653 /**
* An email is a hidden file to prevent spam bots from posting. It has to be
* hidden.
*/
function hideEmailFromForm() {
$('.form-email').parent().parent().hide();
}
neko259
Added js code highlight
r703 /**
* Highlight code blocks with code highlighter
*/
neko259
Run js highlight on the new posts only, not on all page each time. Add...
r709 function highlightCode(node) {
node.find('pre code').each(function(i, e) {
neko259
Added js code highlight
r703 hljs.highlightBlock(e);
});
}
neko259
Added favorite thread popup
r1340 function updateFavPosts() {
var includePostBody = $('#fav-panel').is(":visible");
var url = '/api/new_posts/';
if (includePostBody) {
url += '?include_posts'
}
$.getJSON(url,
function(data) {
var allNewPostCount = 0;
if (includePostBody) {
var favoriteThreadPanel = $('#fav-panel');
favoriteThreadPanel.empty();
}
$.each(data, function (_, dict) {
var newPostCount = dict.new_post_count;
allNewPostCount += newPostCount;
if (includePostBody) {
var favThreadNode = $('<div class="post"></div>');
neko259
Speed up loading favorite list. Add reflinks to the list to see favorite...
r1343 favThreadNode.append($(dict.post_url));
neko259
Added favorite thread popup
r1340 favThreadNode.append(' ');
neko259
Speed up loading favorite list. Add reflinks to the list to see favorite...
r1343 favThreadNode.append($('<span class="title">' + dict.title + '</span>'));
neko259
Added favorite thread popup
r1340
if (newPostCount > 0) {
favThreadNode.append(' (<a href="' + dict.newest_post_link + '">+' + newPostCount + "</a>)");
}
favoriteThreadPanel.append(favThreadNode);
neko259
Speed up loading favorite list. Add reflinks to the list to see favorite...
r1343
addRefLinkPreview(favThreadNode[0]);
neko259
Added favorite thread popup
r1340 }
});
var newPostCountNode = $('#new-fav-post-count');
if (allNewPostCount > 0) {
newPostCountNode.text('(+' + allNewPostCount + ')');
newPostCountNode.show();
} else {
newPostCountNode.hide();
}
}
);
}
function initFavPanel() {
updateFavPosts();
neko259
Dont update favorites if there aren't any
r1341
if ($('#fav-panel-btn').length > 0) {
setInterval(updateFavPosts, FAV_POST_UPDATE_PERIOD);
$('#fav-panel-btn').click(function() {
$('#fav-panel').toggle();
updateFavPosts();
neko259
Added favorite thread popup
r1340
neko259
Dont update favorites if there aren't any
r1341 return false;
});
neko259
Added favorite thread popup
r1340
neko259
Dont update favorites if there aren't any
r1341 $(document).on('keyup.removepic', function(e) {
if(e.which === 27) {
$('#fav-panel').hide();
}
});
}
neko259
Added favorite thread popup
r1340 }
neko259
xs
r54 $( document ).ready(function() {
neko259
Hide email form row by the JS code.
r653 hideEmailFromForm();
neko259
xs
r54 $("a[href='#top']").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
neko259
Added js popup for image viewing.
r63
neko259
Fixed image preview script which was accidentally disabled during testing.
r270 addImgPreview();
neko259
Removed reply popups as too buggy for using as they are now.
r272
neko259
Added post preview popups
r352 addRefLinkPreview();
neko259
Added js code highlight
r703
neko259
Run js highlight on the new posts only, not on all page each time. Add...
r709 highlightCode($(document));
neko259
Added favorite thread popup
r1340
initFavPanel();
rt@lightning
add mark panel
r228 });