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
|
function init() {
this.hooks = ['aceInitInnerdocbodyHead', 'aceGetFilterStack', 'aceCreateDomLine'];
this.aceInitInnerdocbodyHead = aceInitInnerdocbodyHead;
this.aceGetFilterStack = aceGetFilterStack;
this.aceCreateDomLine = aceCreateDomLine;
}
function aceInitInnerdocbodyHead(args) {
args.iframeHTML.push('\'<link rel="stylesheet" type="text/css" href="/static/css/plugins/twitterStyleTags/pad.css"/>\'');
}
function aceGetFilterStack(args) {
return [
args.linestylefilter.getRegexpFilter(
new RegExp("#[^,#=!\\s][^,#=!\\s]*", "g"), 'padtag'),
args.linestylefilter.getRegexpFilter(
new RegExp("=[^#=\\s][^#=\\s]*", "g"), 'padtagsearch')
];
}
function aceCreateDomLine(args) {
if (args.cls.indexOf('padtagsearch') >= 0) {
var href;
cls = args.cls.replace(/(^| )padtagsearch:(\S+)/g, function(x0, space, padtagsearch) {
href = '/ep/tag/?query=' + padtagsearch.substring(1);
return space + "padtagsearch padtagsearch_" + padtagsearch.substring(1);
});
return [{
cls: cls,
extraOpenTags: '<a href="' + href.replace(/\"/g, '"') + '">',
extraCloseTags: '</a>'}];
} else if (args.cls.indexOf('padtag') >= 0) {
var href;
cls = args.cls.replace(/(^| )padtag:(\S+)/g, function(x0, space, padtag) {
href = '/ep/tag/?query=' + padtag.substring(1);
return space + "padtag padtag_" + padtag.substring(1);
});
return [{
cls: cls,
extraOpenTags: '<a href="' + href.replace(/\"/g, '"') + '">',
extraCloseTags: '</a>'}];
}
}
/* used on the client side only */
twitterStyleTags = new init();
|