-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheditor.js
105 lines (102 loc) · 4.98 KB
/
editor.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
if (document.getElementsByClassName('habra-chrome-toolbar').length == 0) {
// window.onload = function() {
function tag (TXT, startTag, endTag) {
TXT.focus();
if (document.selection) with (document.selection.createRange ())
{
var t = text;
text = startTag + text + endTag;
if (!t.length) moveEnd ('character', endTag.length * (-1));
select ();
} else if (TXT.selectionStart >= 0) with (TXT) {
var sT = scrollTop, sL = scrollLeft, t = value,
stS = selectionStart, leS = selectionEnd - stS,
w = (startTag + t.substr (stS, leS) + endTag).length;
value = t.substr (0, stS) + startTag + t.substr (stS, leS) + endTag + t.substr (stS + leS);
if (leS) selectionStart = selectionEnd = stS + w;
else selectionStart = selectionEnd = stS + startTag.length;
scrollTop = sT, scrollLeft = sL;
} else {
TXT.value += startTag + endTag;
}
return false;
}
var list = '<ul class="habra-chrome-toolbar">'
+ '<li><a class="habra-toolbar-bold" href="#"><img src="/i/panel/bold_ru.gif" alt="B" title="Жирный" /></a></li>'
+ '<li><a class="habra-toolbar-italic" href="#"><img src="/i/panel/italic_ru.gif" alt="I" title="Курсив" /></a></li>'
+ '<li><a class="habra-toolbar-underline" href="#"><img src="/i/panel/underline_ru.gif" alt="U" title="Подчеркнутый" /></a></li>'
+ '<li><a class="habra-toolbar-strike" href="#"><img src="/i/panel/strikethrough.gif" alt="S" title="Зачеркнутый" /></a></li>'
+ '<li></li>'
+ '<li style="width: 30px"><a class="habra-toolbar-code" style="width: 30px" href="#"><img src="/i/panel/code.gif" alt="Code" title="Код" /></a></li>'
+ '<li></li>'
+ '<li><a class="habra-toolbar-user" href="#"><img src="/i/panel/user.gif" alt="User" title="Хабраюзер" /></a></li>'
+ '<li><a class="habra-toolbar-link" href="#"><img src="/i/panel/link.gif" alt="Link" title="Ссылка" /></a></li>'
+ '<li><a class="habra-toolbar-image" href="#"><img src="/i/panel/image.gif" alt="Image" title="Изображение" /></a></li>'
+ '<li></li>'
+ '<li><a class="habra-toolbar-ul" title="Ненумерованный список" href="#">UL</a></li>'
+ '<li><a class="habra-toolbar-ol" title="Нумерованный список" href="#">OL</a></li>'
+ '<li><a class="habra-toolbar-li" title="Элемент списка" href="#">LI</a></li>'
+ '<li><a class="habra-toolbar-blockquote" title="Цитата" href="#">«»</a></li></ul>';
$('textarea#comment_text').before(list);
$(".habra-toolbar-bold").click(function(){
tag($(this).parent().parent().next()[0],'<strong>','</strong>')
return false;
})
$(".habra-toolbar-italic").click(function(){
tag($(this).parent().parent().next()[0],'<em>','</em>')
return false;
})
$(".habra-toolbar-underline").click(function(){
tag($(this).parent().parent().next()[0],'<u>','</u>')
return false;
})
$(".habra-toolbar-strike").click(function(){
tag($(this).parent().parent().next()[0],'<s>','</s>')
return false;
})
$(".habra-toolbar-image").click(function(){
var temp = prompt('Введите URL изображения','http://')
if (temp != null) {
tag($(this).parent().parent().next()[0], '<img src="' + temp + '" />', '')
}
return false;
})
$(".habra-toolbar-link").click(function(){
var temp = prompt('Введите URL','http://')
if (temp != null) {
tag($(this).parent().parent().next()[0], '<a href="' + temp + '">', '</a>')
}
return false;
})
$(".habra-toolbar-user").click(function(){
var temp = prompt('Введите никнейм хабраюзера')
if (temp != null) {
tag($(this).parent().parent().next()[0], '<hh user="' + temp + '" />', '')
}
return false;
})
$(".habra-toolbar-code").click(function(){
var temp = prompt('bash, cpp, cs, xml, html, java, javascript, lisp, lua, php, perl, python, ruby, sql, scala, tex')
if (temp != null) {
tag($(this).parent().parent().next()[0], '<source lang="' + temp + '">', '</source>')
}
return false;
})
$(".habra-toolbar-ul").click(function(){
tag($(this).parent().parent().next()[0],'<ul>','</ul>')
return false;
})
$(".habra-toolbar-ol").click(function(){
tag($(this).parent().parent().next()[0],'<ol>','</ol>')
return false;
})
$(".habra-toolbar-li").click(function(){
tag($(this).parent().parent().next()[0],'<li>','</li>')
return false;
})
$(".habra-toolbar-blockquote").click(function(){
tag($(this).parent().parent().next()[0],'<blockquote>','</blockquote>')
return false;
})
// }
}