mirror of
https://github.com/claudehohl/Stikked.git
synced 2025-04-26 04:51:08 -05:00
line highlighter for bootstrap
This commit is contained in:
parent
7a8204c4b9
commit
c8207f71ce
@ -65,7 +65,65 @@ var CM = {
|
||||
}
|
||||
};
|
||||
|
||||
ST.line_highlighter = function() {
|
||||
var org_href = window.location.href.replace(/(.*?)#(.*)/, '$1');
|
||||
var first_line = false;
|
||||
var second_line = false;
|
||||
|
||||
$('blockquote').on('mousedown', function() {
|
||||
window.getSelection().removeAllRanges();
|
||||
});
|
||||
|
||||
$('blockquote').on('click', 'li', function(ev) {
|
||||
var $this = $(this);
|
||||
var li_num = ($this.index() + 1);
|
||||
if(ev.shiftKey == 1){
|
||||
second_line = li_num;
|
||||
} else {
|
||||
first_line = li_num;
|
||||
second_line = false;
|
||||
}
|
||||
|
||||
if(second_line){
|
||||
// determine mark
|
||||
if(first_line < second_line) {
|
||||
sel_start = first_line;
|
||||
sel_end = second_line;
|
||||
} else {
|
||||
sel_start = second_line;
|
||||
sel_end = first_line;
|
||||
}
|
||||
window.location.href = org_href + '#L' + sel_start + '-L' + sel_end;
|
||||
} else {
|
||||
window.location.href = org_href + '#L' + first_line;
|
||||
}
|
||||
|
||||
ST.highlight_lines();
|
||||
});
|
||||
ST.highlight_lines();
|
||||
}
|
||||
|
||||
ST.highlight_lines = function() {
|
||||
var wloc = window.location.href;
|
||||
if(wloc.indexOf('#') > -1) {
|
||||
$('blockquote li').css('background', 'none');
|
||||
|
||||
var lines = wloc.split('#')[1];
|
||||
if(lines.indexOf('-') > -1) {
|
||||
var start_line = parseInt(lines.split('-')[0].replace('L', ''), 10);
|
||||
var end_line = parseInt(lines.split('-')[1].replace('L', ''), 10);
|
||||
for(var i=start_line; i<=end_line; i++) {
|
||||
$('blockquote li:nth-child(' + i + ')').css('background', '#F8EEC7');
|
||||
}
|
||||
} else {
|
||||
var marked_line = lines.replace('L', '');
|
||||
$('blockquote li:nth-child(' + marked_line + ')').css('background', '#F8EEC7');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
ST.init();
|
||||
CM.init();
|
||||
ST.line_highlighter();
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user