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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
function insert(text) {
var t = document.getElementsByName('t')[0];
if(!t) return;
if(t.selectionStart || t.selectionStart == '0') {
var pos = t.selectionStart;
var end = t.selectionEnd;
t.value = t.value.substring(0, pos) + text + t.value.substring(end, t.value.length);
}
t.focus();
var cpos = t.selectionStart;
t.setSelectionRange(cpos, cpos);
}
function wrap(prefix, postfix) {
var t = document.getElementsByName('t')[0];
if(!t) return;
if(t.selectionStart || t.selectionStart == '0') {
var pos = t.selectionStart;
var end = t.selectionEnd;
var n = t.value.indexOf("\n", pos);
if(n > 0 && n < end) end = n;
t.value = t.value.substring(0, pos) + prefix + t.value.substring(pos, end) + postfix + t.value.substring(end, t.value.length);
}
t.focus();
var cpos = t.selectionEnd + prefix.length + postfix.length;
t.setSelectionRange(cpos, cpos);
}
function prepend(text) {
var t = document.getElementsByName('t')[0];
if(!t) return;
if(t.selectionStart || t.selectionStart == '0') {
var pos = t.selectionStart;
var end = t.selectionEnd;
for(;pos < end; pos++) {
if(t.value.charAt(pos) != "\n") break;
}
for(;end > pos; end--) {
if(t.value.charAt(end - 1) != "\n") break;
}
var quote = "";
var cpos = end;
if(t.value.charAt(pos - 1) != "\n") {
quote += "\n";
cpos += 1;
}
if(pos == end) {
quote += text;
cpos += text.length;
} else {
var lines = t.value.substring(pos, end).split("\n");
for(var i=0; i < lines.length; i++) {
quote += text + lines[i] + "\n";
cpos += text.length;
}
quote = quote.slice(0, -1);
}
t.value = t.value.substring(0, pos) + quote + t.value.substring(end, t.value.length);
}
t.focus();
t.setSelectionRange(cpos, cpos);
}
function marxup_bold(e) {
wrap("*", "*");
}
function marxup_header(e) {
prepend("= ");
}
function marxup_italics(e) {
wrap("_", "_");
}
function marxup_link(e) {
wrap("[", "]");
}
function marxup_quote(e) {
prepend("> ");
}
function marxup_list(e) {
prepend("* ");
}
function button(node, html, fun) {
var a = document.createElement("a");
a.innerHTML = html;
a.href = "#";
a.onclick = fun;
node.parentNode.insertBefore(a, node.nextSibling);
}
function orz(src) {
insert("\n@" + src.replace(".t.jpg", "") + "\n");
}
document.addEventListener("DOMContentLoaded", function(e) {
var title = document.getElementsByTagName('h1')[0];
var headers = document.getElementsByTagName("h2");
if(headers.length > 0) {
var menu = document.createElement("div"); menu.className = 'magisk meny';
for(var i = 0; i < headers.length; i++) {
var a = document.createElement("a");
var id = "h-" + i; headers[i].id = id; a.href = "#" + id;
a.textContent = headers[i].textContent;
menu.appendChild(a);
menu.appendChild(document.createElement("br"));
}
title.parentNode.insertBefore(menu, title.nextSibling);
}
var orz = document.getElementById('orz');
if(orz) {
orz.onclick = function(e) {
window.open("/orz");
return false;
}
button(orz, "> sitat", marxup_quote);
button(orz, "* liste", marxup_list);
button(orz, "[lenke]", marxup_link);
button(orz, "<i>_kursiv_</i>", marxup_italics);
button(orz, "<b>*fet*</b>", marxup_bold);
button(orz, "= overskrift", marxup_header);
}
});
|