diff options
Diffstat (limited to 'js')
| -rw-r--r-- | js/quote-selection.js | 24 | ||||
| -rw-r--r-- | js/youtube.js | 34 |
2 files changed, 50 insertions, 8 deletions
diff --git a/js/quote-selection.js b/js/quote-selection.js index 0c5b7e7d..0722c0b1 100644 --- a/js/quote-selection.js +++ b/js/quote-selection.js @@ -1,6 +1,9 @@ /* * quote-selection.js * + * This is a little buggy. + * Allows you to quote a post by just selecting some text, then beginning to type. + * * Released under the MIT license * Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org> * @@ -31,12 +34,15 @@ $(document).ready(function(){ var altKey = false; var ctrlKey = false; + var metaKey = false; $(document).keyup(function(e) { - if (e.altKey) + if (e.keyCode == 18) altKey = false; - else if (e.ctrlKey) + else if (e.keyCode == 17) ctrlKey = false; + else if (e.keyCode == 91) + metaKey = false; }); $(document).keydown(function(e) { @@ -44,9 +50,11 @@ $(document).ready(function(){ altKey = true; else if (e.ctrlKey) ctrlKey = true; + else if (e.metaKey) + metaKey = true; - if (altKey || ctrlKey) { - console.log('CTRL/ALT used. Ignoring'); + if (altKey || ctrlKey || metaKey) { + // console.log('CTRL/ALT/Something used. Ignoring'); return; } @@ -56,20 +64,20 @@ $(document).ready(function(){ var selection = window.getSelection(); var $post = $(selection.anchorNode).parents('.post'); if ($post.length == 0) { - console.log('Start of selection was not post div', $(selection.anchorNode).parent()); + // console.log('Start of selection was not post div', $(selection.anchorNode).parent()); return; } var postID = $post.find('.post_no:eq(1)').text(); if (postID != $(selection.focusNode).parents('.post').find('.post_no:eq(1)').text()) { - console.log('Selection left post div', $(selection.focusNode).parent()); + // console.log('Selection left post div', $(selection.focusNode).parent()); return; } ; var selectedText = selection.toString(); - console.log('Selected text: ' + selectedText.replace(/\n/g, '\\n').replace(/\r/g, '\\r')); + // console.log('Selected text: ' + selectedText.replace(/\n/g, '\\n').replace(/\r/g, '\\r')); if ($('body').hasClass('debug')) alert(selectedText); @@ -86,7 +94,7 @@ $(document).ready(function(){ /* to solve some bugs on weird browsers, we need to replace \r\n with \n and then undo that after */ var quote = (last_quote != postID ? '>>' + postID + '\r\n' : '') + $.trim(selectedText).replace(/\r\n/g, '\n').replace(/^/mg, '>').replace(/\n/g, '\r\n') + '\r\n'; - console.log('Deselecting text'); + // console.log('Deselecting text'); selection.removeAllRanges(); if (document.selection) { diff --git a/js/youtube.js b/js/youtube.js new file mode 100644 index 00000000..482a9bc8 --- /dev/null +++ b/js/youtube.js @@ -0,0 +1,34 @@ +/* +* youtube +* https://github.com/savetheinternet/Tinyboard/blob/master/js/youtube.js +* +* Don't load the YouTube player unless the video image is clicked. +* This increases performance issues when many videos are embedded on the same page. +* Currently only compatiable with YouTube. +* +* Proof of concept. +* +* Released under the MIT license +* Copyright (c) 2013 Michael Save <savetheinternet@tinyboard.org> +* +* Usage: +* $config['embedding'] = array(); +* $config['embedding'][] = array( +* '/^https?:\/\/(\w+\.)?youtube\.com\/watch\?v=([a-zA-Z0-9\-_]{10,11})(&.+)?$/i', +* '<div class="video-container" data-video="$2"><a href="$0" target="_blank" class="file"><img style="width:360px;height:270px;" src="http://img.youtube.com/vi/$2/0.jpg"/></a></div>' +); +* $config['additional_javascript'][] = 'js/jquery.min.js'; +* $config['additional_javascript'][] = 'js/youtube.js'; +* +*/ + + +onready(function(){ + $('div.video-container a').attr('href', 'javascript:void(0)'); + $('div.video-container').click(function() { + var videoID = $(this).data('video'); + + $(this).html('<iframe style="float:left;margin: 10px 20px" type="text/html" width="360" height="270" src="http://www.youtube.com/embed/' + videoID + '?autoplay=1" frameborder="0"/>'); + }); +}); + |
