Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo
Commits
1acd07d3
Commit
1acd07d3
authored
Jan 21, 2017
by
Van
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
fixed #12219
parent
833e48c8
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
164 additions
and
55 deletions
+164
-55
gulpfile.js
gulpfile.js
+5
-5
src/main/webapp/js/admin/article.js
src/main/webapp/js/admin/article.js
+49
-46
src/main/webapp/js/admin/editorCodeMirror.js
src/main/webapp/js/admin/editorCodeMirror.js
+106
-2
src/main/webapp/js/lib/CodeMirrorEditor/codemirror.css
src/main/webapp/js/lib/CodeMirrorEditor/codemirror.css
+2
-1
src/main/webapp/js/lib/CodeMirrorEditor/codemirror.min.css
src/main/webapp/js/lib/CodeMirrorEditor/codemirror.min.css
+1
-1
src/main/webapp/js/lib/compress/admin-lib.min.js
src/main/webapp/js/lib/compress/admin-lib.min.js
+1
-0
No files found.
gulpfile.js
View file @
1acd07d3
/*
/*
* Symphony - A modern community (forum/SNS/blog) platform written in Java.
* Symphony - A modern community (forum/SNS/blog) platform written in Java.
* Copyright (C) 2012-201
6
, b3log.org & hacpai.com
* Copyright (C) 2012-201
7
, b3log.org & hacpai.com
*
*
* This program is free software: you can redistribute it and/or modify
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
* @file frontend tool.
* @file frontend tool.
*
*
* @author <a href="mailto:liliyuan@fangstar.net">Liyuan Li</a>
* @author <a href="mailto:liliyuan@fangstar.net">Liyuan Li</a>
* @version 1.
3.2.0, Nov 9, 2016
* @version 1.
4.2.0, Jan 21, 20167
*/
*/
'
use strict
'
;
'
use strict
'
;
...
@@ -32,10 +32,10 @@ var cleanCSS = require('gulp-clean-css');
...
@@ -32,10 +32,10 @@ var cleanCSS = require('gulp-clean-css');
gulp
.
task
(
'
default
'
,
function
()
{
gulp
.
task
(
'
default
'
,
function
()
{
// min css
// min css
gulp
.
src
(
'
./src/main/webapp/js/lib/
e
ditor/codemirror.css
'
)
gulp
.
src
(
'
./src/main/webapp/js/lib/
CodeMirrorE
ditor/codemirror.css
'
)
.
pipe
(
cleanCSS
())
.
pipe
(
cleanCSS
())
.
pipe
(
concat
(
'
codemirror.min.css
'
))
.
pipe
(
concat
(
'
codemirror.min.css
'
))
.
pipe
(
gulp
.
dest
(
'
./src/main/webapp/js/lib/
e
ditor/
'
));
.
pipe
(
gulp
.
dest
(
'
./src/main/webapp/js/lib/
CodeMirrorE
ditor/
'
));
// concat js
// concat js
var
jsJqueryUpload
=
[
'
./src/main/webapp/js/lib/jquery/jquery.min.js
'
,
var
jsJqueryUpload
=
[
'
./src/main/webapp/js/lib/jquery/jquery.min.js
'
,
...
@@ -45,7 +45,7 @@ gulp.task('default', function () {
...
@@ -45,7 +45,7 @@ gulp.task('default', function () {
'
./src/main/webapp/js/lib/jquery/jquery.bowknot.min.js
'
,
'
./src/main/webapp/js/lib/jquery/jquery.bowknot.min.js
'
,
// codemirror
// codemirror
'
./src/main/webapp/js/lib/CodeMirrorEditor/codemirror.js
'
,
'
./src/main/webapp/js/lib/CodeMirrorEditor/codemirror.js
'
,
'
./src/main/webapp/js/lib/
e
ditor/placeholder.js
'
,
'
./src/main/webapp/js/lib/
CodeMirrorE
ditor/placeholder.js
'
,
'
./src/main/webapp/js/overwrite/codemirror/addon/hint/show-hint.js
'
,
'
./src/main/webapp/js/overwrite/codemirror/addon/hint/show-hint.js
'
,
'
./src/main/webapp/js/lib/CodeMirrorEditor/editor.js
'
,
'
./src/main/webapp/js/lib/CodeMirrorEditor/editor.js
'
,
'
./src/main/webapp/js/lib/to-markdown.js
'
,
'
./src/main/webapp/js/lib/to-markdown.js
'
,
...
...
src/main/webapp/js/admin/article.js
View file @
1acd07d3
/*
/*
* Copyright (c) 2010-201
6
, b3log.org & hacpai.com
* Copyright (c) 2010-201
7
, b3log.org & hacpai.com
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* you may not use this file except in compliance with the License.
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
*
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.
3.5.7, Nov 16, 2016
* @version 1.
4.5.7, Jan 21, 2017
*/
*/
admin
.
article
=
{
admin
.
article
=
{
currentEditorType
:
''
,
currentEditorType
:
''
,
...
@@ -34,6 +34,52 @@ admin.article = {
...
@@ -34,6 +34,52 @@ admin.article = {
autoSaveDraftTimer
:
""
,
autoSaveDraftTimer
:
""
,
// 自动保存间隔
// 自动保存间隔
AUTOSAVETIME
:
1000
*
60
,
AUTOSAVETIME
:
1000
*
60
,
/**
* 初始化上传组建
*/
initUploadFile
:
function
(
id
)
{
var
filename
=
""
;
$
(
'
#
'
+
id
).
fileupload
({
multipart
:
true
,
url
:
"
https://up.qbox.me
"
,
add
:
function
(
e
,
data
)
{
filename
=
data
.
files
[
0
].
name
;
data
.
submit
();
$
(
'
#
'
+
id
+
'
span
'
).
text
(
'
uploading...
'
);
},
formData
:
function
(
form
)
{
var
data
=
form
.
serializeArray
();
var
ext
=
filename
.
substring
(
filename
.
lastIndexOf
(
"
.
"
)
+
1
);
data
.
push
({
name
:
'
key
'
,
value
:
getUUID
()
+
"
.
"
+
ext
});
data
.
push
({
name
:
'
token
'
,
value
:
qiniu
.
qiniuUploadToken
});
return
data
;
},
done
:
function
(
e
,
data
)
{
$
(
'
#
'
+
id
+
'
span
'
).
text
(
''
);
var
qiniuKey
=
data
.
result
.
key
;
if
(
!
qiniuKey
)
{
alert
(
"
Upload error, please check Qiniu configurations
"
);
return
;
}
$
(
'
#
'
+
id
).
after
(
'
<div>![
'
+
data
.
files
[
0
].
name
+
'
](http://
'
+
qiniu
.
qiniuDomain
+
qiniuKey
+
'
)</div>
'
);
},
fail
:
function
(
e
,
data
)
{
$
(
'
#
'
+
id
+
'
span
'
).
text
(
"
Upload error, please check Qiniu configurations [
"
+
data
.
errorThrown
+
"
]
"
);
}
}).
on
(
'
fileuploadprocessalways
'
,
function
(
e
,
data
)
{
var
currentFile
=
data
.
files
[
data
.
index
];
if
(
data
.
files
.
error
&&
currentFile
.
error
)
{
alert
(
currentFile
.
error
);
}
});
},
/**
/**
* @description 获取文章并把值塞入发布文章页面
* @description 获取文章并把值塞入发布文章页面
* @param {String} id 文章 id
* @param {String} id 文章 id
...
@@ -438,50 +484,7 @@ admin.article = {
...
@@ -438,50 +484,7 @@ admin.article = {
}
}
});
});
// upload
this
.
initUploadFile
(
'
articleUpload
'
);
var
qiniu
=
window
.
qiniu
;
var
filename
=
""
;
$
(
'
#articleUpload
'
).
fileupload
({
multipart
:
true
,
url
:
"
https://up.qbox.me
"
,
add
:
function
(
e
,
data
)
{
filename
=
data
.
files
[
0
].
name
;
data
.
submit
();
$
(
'
#articleUpload span
'
).
text
(
'
uploading...
'
);
},
formData
:
function
(
form
)
{
var
data
=
form
.
serializeArray
();
var
ext
=
filename
.
substring
(
filename
.
lastIndexOf
(
"
.
"
)
+
1
);
data
.
push
({
name
:
'
key
'
,
value
:
getUUID
()
+
"
.
"
+
ext
});
data
.
push
({
name
:
'
token
'
,
value
:
qiniu
.
qiniuUploadToken
});
return
data
;
},
done
:
function
(
e
,
data
)
{
$
(
'
#articleUpload span
'
).
text
(
''
);
var
qiniuKey
=
data
.
result
.
key
;
if
(
!
qiniuKey
)
{
alert
(
"
Upload error, please check Qiniu configurations
"
);
return
;
}
$
(
'
#articleUpload
'
).
after
(
'
<div>![
'
+
data
.
files
[
0
].
name
+
'
](http://
'
+
qiniu
.
qiniuDomain
+
qiniuKey
+
'
)</div>
'
);
},
fail
:
function
(
e
,
data
)
{
$
(
'
#articleUpload span
'
).
text
(
"
Upload error, please check Qiniu configurations [
"
+
data
.
errorThrown
+
"
]
"
);
}
}).
on
(
'
fileuploadprocessalways
'
,
function
(
e
,
data
)
{
var
currentFile
=
data
.
files
[
data
.
index
];
if
(
data
.
files
.
error
&&
currentFile
.
error
)
{
alert
(
currentFile
.
error
);
}
});
// editor
// editor
admin
.
editors
.
articleEditor
=
new
SoloEditor
({
admin
.
editors
.
articleEditor
=
new
SoloEditor
({
...
...
src/main/webapp/js/admin/editorCodeMirror.js
View file @
1acd07d3
/*
/*
* Copyright (c) 2010-201
6
, b3log.org & hacpai.com
* Copyright (c) 2010-201
7
, b3log.org & hacpai.com
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* you may not use this file except in compliance with the License.
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
*
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.
3.1.4, Nov 8, 2016
* @version 1.
4.1.4, Jan 21, 2017
*/
*/
Util
.
processClipBoard
=
function
(
text
,
cm
)
{
Util
.
processClipBoard
=
function
(
text
,
cm
)
{
...
@@ -66,6 +66,100 @@ Util.processClipBoard = function (clipboardData, cm) {
...
@@ -66,6 +66,100 @@ Util.processClipBoard = function (clipboardData, cm) {
return
$
.
trim
(
text
);
return
$
.
trim
(
text
);
};
};
Util
.
initUploadFile
=
function
(
obj
)
{
var
isImg
=
false
;
$
(
'
#
'
+
obj
.
id
).
fileupload
({
multipart
:
true
,
pasteZone
:
obj
.
pasteZone
,
dropZone
:
obj
.
pasteZone
,
url
:
"
https://up.qbox.me/
"
,
paramName
:
"
file
"
,
add
:
function
(
e
,
data
)
{
if
(
data
.
files
[
0
].
name
)
{
var
processName
=
data
.
files
[
0
].
name
.
match
(
/
[
a-zA-Z0-9.
]
/g
).
join
(
''
);
filename
=
getUUID
()
+
'
-
'
+
processName
;
// 文件名称全为中文时,移除 ‘-’
if
(
processName
.
split
(
'
.
'
)[
0
]
===
''
)
{
filename
=
getUUID
()
+
processName
;
}
}
else
{
filename
=
getUUID
()
+
'
.
'
+
data
.
files
[
0
].
type
.
split
(
"
/
"
)[
1
];
}
if
(
window
.
File
&&
window
.
FileReader
&&
window
.
FileList
&&
window
.
Blob
)
{
var
reader
=
new
FileReader
();
reader
.
readAsArrayBuffer
(
data
.
files
[
0
]);
reader
.
onload
=
function
(
evt
)
{
var
fileBuf
=
new
Uint8Array
(
evt
.
target
.
result
.
slice
(
0
,
11
));
isImg
=
data
.
files
[
0
].
type
.
indexOf
(
'
image
'
)
===
0
?
true
:
false
;
data
.
submit
();
}
}
else
{
data
.
submit
();
}
},
formData
:
function
(
form
)
{
var
data
=
form
.
serializeArray
();
data
.
push
({
name
:
'
key
'
,
value
:
"
file/
"
+
(
new
Date
()).
getFullYear
()
+
"
/
"
+
((
new
Date
()).
getMonth
()
+
1
)
+
'
/
'
+
filename
});
data
.
push
({
name
:
'
token
'
,
value
:
obj
.
qiniuUploadToken
});
return
data
;
},
submit
:
function
(
e
,
data
)
{
if
(
obj
.
editor
.
replaceRange
)
{
var
cursor
=
obj
.
editor
.
getCursor
();
obj
.
editor
.
replaceRange
(
obj
.
uploadingLabel
,
cursor
,
cursor
);
}
else
{
$
(
'
#
'
+
obj
.
id
+
'
input
'
).
prop
(
'
disabled
'
,
false
);
}
},
done
:
function
(
e
,
data
)
{
var
qiniuKey
=
data
.
result
.
key
;
if
(
!
qiniuKey
)
{
alert
(
"
Upload error
"
);
return
;
}
if
(
obj
.
editor
.
replaceRange
)
{
var
cursor
=
obj
.
editor
.
getCursor
();
if
(
isImg
)
{
obj
.
editor
.
replaceRange
(
'

\n\n
'
,
CodeMirror
.
Pos
(
cursor
.
line
,
cursor
.
ch
-
obj
.
uploadingLabel
.
length
),
cursor
);
}
else
{
obj
.
editor
.
replaceRange
(
'
[
'
+
filename
+
'
](
'
+
obj
.
qiniuDomain
+
'
/
'
+
qiniuKey
+
'
)
\n\n
'
,
CodeMirror
.
Pos
(
cursor
.
line
,
cursor
.
ch
-
obj
.
uploadingLabel
.
length
),
cursor
);
}
}
else
{
obj
.
editor
.
$it
.
val
(
'

\n\n
'
);
$
(
'
#
'
+
obj
.
id
+
'
input
'
).
prop
(
'
disabled
'
,
false
);
}
},
fail
:
function
(
e
,
data
)
{
alert
(
"
Upload error:
"
+
data
.
errorThrown
);
if
(
obj
.
editor
.
replaceRange
)
{
var
cursor
=
obj
.
editor
.
getCursor
();
obj
.
editor
.
replaceRange
(
''
,
CodeMirror
.
Pos
(
cursor
.
line
,
cursor
.
ch
-
obj
.
uploadingLabel
.
length
),
cursor
);
}
else
{
$
(
'
#
'
+
obj
.
id
+
'
input
'
).
prop
(
'
disabled
'
,
false
);
}
}
}).
on
(
'
fileuploadprocessalways
'
,
function
(
e
,
data
)
{
var
currentFile
=
data
.
files
[
data
.
index
];
if
(
data
.
files
.
error
&&
currentFile
.
error
)
{
alert
(
currentFile
.
error
);
}
});
}
admin
.
editors
.
CodeMirror
=
{
admin
.
editors
.
CodeMirror
=
{
/*
/*
* @description 初始化编辑器
* @description 初始化编辑器
...
@@ -136,6 +230,7 @@ admin.editors.CodeMirror = {
...
@@ -136,6 +230,7 @@ admin.editors.CodeMirror = {
{
name
:
'
ordered-list
'
},
{
name
:
'
ordered-list
'
},
'
|
'
,
'
|
'
,
{
name
:
'
link
'
},
{
name
:
'
link
'
},
{
name
:
'
image
'
,
html
:
'
<form id="
'
+
conf
.
id
+
'
fileUpload" method="POST" enctype="multipart/form-data"><label class="icon-upload"><input type="file"/></label></form>
'
},
'
|
'
,
'
|
'
,
{
name
:
'
redo
'
},
{
name
:
'
redo
'
},
{
name
:
'
undo
'
},
{
name
:
'
undo
'
},
...
@@ -149,6 +244,15 @@ admin.editors.CodeMirror = {
...
@@ -149,6 +244,15 @@ admin.editors.CodeMirror = {
});
});
commentEditor
.
render
();
commentEditor
.
render
();
Util
.
initUploadFile
({
"
id
"
:
conf
.
id
+
'
fileUpload
'
,
"
pasteZone
"
:
$
(
'
#
'
+
conf
.
id
).
next
().
next
(),
"
qiniuUploadToken
"
:
qiniu
.
qiniuUploadToken
,
"
editor
"
:
commentEditor
.
codemirror
,
"
uploadingLabel
"
:
'
uploading...
'
,
"
qiniuDomain
"
:
'
//
'
+
qiniu
.
qiniuDomain
});
this
[
conf
.
id
]
=
commentEditor
.
codemirror
;
this
[
conf
.
id
]
=
commentEditor
.
codemirror
;
this
[
conf
.
id
].
on
(
'
changes
'
,
function
(
cm
)
{
this
[
conf
.
id
].
on
(
'
changes
'
,
function
(
cm
)
{
...
...
src/main/webapp/js/lib/CodeMirrorEditor/codemirror.css
View file @
1acd07d3
...
@@ -555,10 +555,11 @@ span.CodeMirror-selectedtext { background: none; }
...
@@ -555,10 +555,11 @@ span.CodeMirror-selectedtext { background: none; }
width
:
21px
;
width
:
21px
;
vertical-align
:
bottom
;
vertical-align
:
bottom
;
float
:
none
;
float
:
none
;
overflow
:
hidden
;
}
}
.editor-toolbar
input
{
.editor-toolbar
input
{
height
:
1px
;
height
:
1px
;
margin-top
:
8px
;
}
}
.editor-toolbar
form
{
.editor-toolbar
form
{
display
:
inline
;
display
:
inline
;
...
...
src/main/webapp/js/lib/CodeMirrorEditor/codemirror.min.css
View file @
1acd07d3
.CodeMirror
{
font-family
:
monospace
;
height
:
300px
;
color
:
#000
}
.CodeMirror-lines
{
padding
:
4px
0
}
.CodeMirror-lines
pre
{
padding
:
0
4px
}
.CodeMirror-gutter-filler
,
.CodeMirror-scrollbar-filler
{
background-color
:
#fff
}
.CodeMirror-gutters
{
border-right
:
1px
solid
#ddd
;
background-color
:
#f7f7f7
;
white-space
:
nowrap
}
.CodeMirror-linenumber
{
padding
:
0
3px
0
5px
;
min-width
:
20px
;
text-align
:
right
;
color
:
#999
;
white-space
:
nowrap
}
.CodeMirror-guttermarker
{
color
:
#000
}
.CodeMirror-guttermarker-subtle
{
color
:
#999
}
.CodeMirror-cursor
{
border-left
:
1px
solid
#000
;
border-right
:
none
;
width
:
0
}
.CodeMirror
div
.CodeMirror-secondarycursor
{
border-left
:
1px
solid
silver
}
.cm-fat-cursor
.CodeMirror-cursor
{
width
:
auto
;
border
:
0
;
background
:
#7e7
}
.cm-fat-cursor
div
.CodeMirror-cursors
{
z-index
:
1
}
.cm-animate-fat-cursor
{
width
:
auto
;
border
:
0
;
-webkit-animation
:
blink
1.06s
steps
(
1
)
infinite
;
-moz-animation
:
blink
1.06s
steps
(
1
)
infinite
;
animation
:
blink
1.06s
steps
(
1
)
infinite
;
background-color
:
#7e7
}
@-moz-keyframes
blink
{
50
%
{
background-color
:
transparent
}}
@-webkit-keyframes
blink
{
50
%
{
background-color
:
transparent
}}
@keyframes
blink
{
50
%
{
background-color
:
transparent
}}
.cm-tab
{
display
:
inline-block
;
text-decoration
:
inherit
}
.CodeMirror-ruler
{
border-left
:
1px
solid
#ccc
;
position
:
absolute
}
.cm-s-default
.cm-header
{
color
:
#00f
}
.cm-s-default
.cm-quote
{
color
:
#090
}
.cm-negative
{
color
:
#d44
}
.cm-positive
{
color
:
#292
}
.cm-header
,
.cm-strong
{
font-weight
:
700
}
.cm-em
{
font-style
:
italic
}
.cm-link
{
text-decoration
:
underline
}
.cm-strikethrough
{
text-decoration
:
line-through
}
.cm-s-default
.cm-keyword
{
color
:
#708
}
.cm-s-default
.cm-atom
{
color
:
#219
}
.cm-s-default
.cm-number
{
color
:
#164
}
.cm-s-default
.cm-def
{
color
:
#00f
}
.cm-s-default
.cm-variable-2
{
color
:
#05a
}
.cm-s-default
.cm-variable-3
{
color
:
#085
}
.cm-s-default
.cm-comment
{
color
:
#a50
}
.cm-s-default
.cm-string
{
color
:
#a11
}
.cm-s-default
.cm-string-2
{
color
:
#f50
}
.cm-s-default
.cm-meta
,
.cm-s-default
.cm-qualifier
{
color
:
#555
}
.cm-s-default
.cm-builtin
{
color
:
#30a
}
.cm-s-default
.cm-bracket
{
color
:
#997
}
.cm-s-default
.cm-tag
{
color
:
#170
}
.cm-s-default
.cm-attribute
{
color
:
#00c
}
.cm-s-default
.cm-hr
{
color
:
#999
}
.cm-s-default
.cm-link
{
color
:
#00c
}
.cm-invalidchar
,
.cm-s-default
.cm-error
{
color
:
red
}
.CodeMirror-composing
{
border-bottom
:
2px
solid
}
div
.CodeMirror
span
.CodeMirror-matchingbracket
{
color
:
#0f0
}
div
.CodeMirror
span
.CodeMirror-nonmatchingbracket
{
color
:
#f22
}
.CodeMirror-matchingtag
{
background
:
rgba
(
255
,
150
,
0
,
.3
)}
.CodeMirror-activeline-background
{
background
:
#e8f2ff
}
.CodeMirror
{
position
:
relative
;
overflow
:
hidden
;
background
:
#fff
}
.CodeMirror-scroll
{
overflow
:
scroll
!important
;
margin-bottom
:
-30px
;
margin-right
:
-30px
;
padding-bottom
:
30px
;
height
:
100%
;
outline
:
0
;
position
:
relative
}
.CodeMirror-sizer
{
position
:
relative
;
border-right
:
30px
solid
transparent
}
.CodeMirror-gutter-filler
,
.CodeMirror-hscrollbar
,
.CodeMirror-scrollbar-filler
,
.CodeMirror-vscrollbar
{
position
:
absolute
;
z-index
:
6
;
display
:
none
}
.CodeMirror-vscrollbar
{
right
:
0
;
top
:
0
;
overflow-x
:
hidden
;
overflow-y
:
scroll
}
.CodeMirror-hscrollbar
{
bottom
:
0
;
left
:
0
;
overflow-y
:
hidden
;
overflow-x
:
scroll
}
.CodeMirror-scrollbar-filler
{
right
:
0
;
bottom
:
0
}
.CodeMirror-gutter-filler
{
left
:
0
;
bottom
:
0
}
.CodeMirror-gutters
{
position
:
absolute
;
left
:
0
;
top
:
0
;
z-index
:
3
}
.CodeMirror-gutter
{
white-space
:
normal
;
height
:
100%
;
display
:
inline-block
;
margin-bottom
:
-30px
}
.CodeMirror-gutter-wrapper
{
position
:
absolute
;
z-index
:
4
;
background
:
0
0
!important
;
border
:
none
!important
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
user-select
:
none
}
.CodeMirror-gutter-background
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
z-index
:
4
}
.CodeMirror-gutter-elt
{
position
:
absolute
;
cursor
:
default
;
z-index
:
4
}
.CodeMirror-lines
{
cursor
:
text
;
min-height
:
1px
}
.CodeMirror-lines
pre
{
-moz-border-radius
:
0
;
-webkit-border-radius
:
0
;
border-radius
:
0
;
border-width
:
0
;
background
:
0
0
;
font-family
:
inherit
;
font-size
:
inherit
;
margin
:
0
;
white-space
:
pre
;
word-wrap
:
normal
;
line-height
:
inherit
;
color
:
inherit
;
z-index
:
2
;
position
:
relative
;
overflow
:
visible
;
-webkit-tap-highlight-color
:
transparent
}
.CodeMirror-wrap
pre
{
word-wrap
:
break-word
;
white-space
:
pre-wrap
;
word-break
:
normal
}
.CodeMirror-linebackground
{
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
bottom
:
0
;
z-index
:
0
}
.CodeMirror-linewidget
{
position
:
relative
;
z-index
:
2
;
overflow
:
auto
}
.CodeMirror-code
{
outline
:
0
}
.CodeMirror-gutter
,
.CodeMirror-gutters
,
.CodeMirror-linenumber
,
.CodeMirror-scroll
,
.CodeMirror-sizer
{
-moz-box-sizing
:
content-box
;
box-sizing
:
content-box
}
.CodeMirror-measure
{
position
:
absolute
;
width
:
100%
;
height
:
0
;
overflow
:
hidden
;
visibility
:
hidden
}
.CodeMirror-cursor
{
position
:
absolute
}
.CodeMirror-measure
pre
{
position
:
static
}
div
.CodeMirror-cursors
{
visibility
:
hidden
;
position
:
relative
;
z-index
:
3
}
.CodeMirror-focused
div
.CodeMirror-cursors
,
div
.CodeMirror-dragcursors
{
visibility
:
visible
}
.CodeMirror-selected
{
background
:
#d9d9d9
}
.CodeMirror-focused
.CodeMirror-selected
{
background
:
#d7d4f0
}
.CodeMirror-crosshair
{
cursor
:
crosshair
}
.CodeMirror-line
::selection
,
.CodeMirror-line
>
span
::selection
,
.CodeMirror-line
>
span
>
span
::selection
{
background
:
#d7d4f0
}
.CodeMirror-line
::-moz-selection
,
.CodeMirror-line
>
span
::-moz-selection
,
.CodeMirror-line
>
span
>
span
::-moz-selection
{
background
:
#d7d4f0
}
.cm-searching
{
background
:
#ffa
;
background
:
rgba
(
255
,
255
,
0
,
.4
)}
.cm-force-border
{
padding-right
:
.1px
}
.CodeMirror-hints
{
position
:
absolute
;
z-index
:
100
;
overflow
:
hidden
;
list-style
:
none
;
margin
:
0
;
padding
:
2px
;
-webkit-box-shadow
:
2px
3px
5px
rgba
(
0
,
0
,
0
,
.2
);
-moz-box-shadow
:
2px
3px
5px
rgba
(
0
,
0
,
0
,
.2
);
box-shadow
:
2px
3px
5px
rgba
(
0
,
0
,
0
,
.2
);
border-radius
:
3px
;
border
:
1px
solid
silver
;
background
:
#fff
;
font-size
:
90%
;
font-family
:
monospace
;
max-height
:
20em
;
overflow-y
:
auto
}
.CodeMirror-preview
,
.editor-toolbar
{
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)
inset
}
.CodeMirror-hint
{
margin
:
0
;
padding
:
0
4px
;
border-radius
:
2px
;
max-width
:
19em
;
overflow
:
hidden
;
white-space
:
pre
;
color
:
#000
;
cursor
:
pointer
}
li
.CodeMirror-hint-active
{
background
:
#08f
;
color
:
#fff
}
.CodeMirror-fullscreen
{
position
:
fixed
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
height
:
auto
;
z-index
:
9
}
@media
print
{
.CodeMirror
div
.CodeMirror-cursors
{
visibility
:
hidden
}}
.CodeMirror-merge-2pane
.CodeMirror-merge-pane
{
width
:
49%
;
border
:
1px
solid
#CCC
;
border-radius
:
3px
}
.CodeMirror-merge-2pane
.CodeMirror-merge-gap
{
width
:
0
;
display
:
none
}
.CodeMirror-merge-3pane
.CodeMirror-merge-pane
{
width
:
31%
}
.CodeMirror-merge-3pane
.CodeMirror-merge-gap
{
width
:
3.5%
}
.CodeMirror-merge-pane
{
display
:
inline-block
;
white-space
:
normal
;
vertical-align
:
top
}
.CodeMirror-merge-pane-rightmost
{
float
:
right
}
.CodeMirror-merge-gap
{
z-index
:
2
;
display
:
inline-block
;
height
:
100%
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow
:
hidden
;
border-left
:
1px
solid
#ddd
;
border-right
:
1px
solid
#ddd
;
position
:
relative
;
background
:
#f8f8f8
}
.CodeMirror-merge-scrolllock-wrap
{
position
:
absolute
;
bottom
:
0
;
left
:
50%
}
.CodeMirror-merge-scrolllock
{
position
:
relative
;
left
:
-50%
;
cursor
:
pointer
;
color
:
#555
;
line-height
:
1
;
display
:
none
}
.CodeMirror-merge-copy
,
.CodeMirror-merge-copy-reverse
{
position
:
absolute
;
color
:
#44c
;
cursor
:
pointer
}
.CodeMirror-merge-copybuttons-left
,
.CodeMirror-merge-copybuttons-right
{
position
:
absolute
;
left
:
0
;
top
:
0
;
right
:
0
;
bottom
:
0
;
line-height
:
1
}
.CodeMirror-merge-copy
{
z-index
:
3
}
.CodeMirror-merge-copybuttons-left
.CodeMirror-merge-copy
{
left
:
2px
}
.CodeMirror-merge-copybuttons-right
.CodeMirror-merge-copy
{
right
:
2px
}
.CodeMirror-merge-l-inserted
,
.CodeMirror-merge-r-inserted
{
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==)
;
background-position
:
bottom
left
;
background-repeat
:
repeat-x
}
.CodeMirror-merge-l-deleted
,
.CodeMirror-merge-r-deleted
{
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==)
;
background-position
:
bottom
left
;
background-repeat
:
repeat-x
}
.CodeMirror-merge-r-chunk
{
background
:
#ffffe0
}
.CodeMirror-merge-r-chunk-start
{
border-top
:
1px
solid
#ee8
}
.CodeMirror-merge-r-chunk-end
{
border-bottom
:
1px
solid
#ee8
}
.CodeMirror-merge-r-connect
{
fill
:
#ffffe0
;
stroke
:
#ee8
;
stroke-width
:
1px
}
.CodeMirror-merge-l-chunk
{
background
:
#eef
}
.CodeMirror-merge-l-chunk-start
{
border-top
:
1px
solid
#88e
}
.CodeMirror-merge-l-chunk-end
{
border-bottom
:
1px
solid
#88e
}
.CodeMirror-merge-l-connect
{
fill
:
#eef
;
stroke
:
#88e
;
stroke-width
:
1px
}
.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk
{
background
:
#dfd
}
.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start
{
border-top
:
1px
solid
#4e4
}
.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end
{
border-bottom
:
1px
solid
#4e4
}
.CodeMirror-merge-collapsed-widget
:before
{
content
:
"(...)"
}
.CodeMirror-merge-collapsed-widget
{
cursor
:
pointer
;
color
:
#88b
;
background
:
#eef
;
border
:
1px
solid
#ddf
;
font-size
:
90%
;
padding
:
0
3px
;
border-radius
:
4px
}
.CodeMirror-merge-collapsed-line
.CodeMirror-gutter-elt
{
display
:
none
}
.cm-tab-wrap-hack
:after
{
content
:
''
}
span
.CodeMirror-selectedtext
{
background
:
0
0
}
:-webkit-full-screen
{
background
:
#f9f9f5
;
padding
:
.5em
1em
;
width
:
100%
;
height
:
100%
}
:-moz-full-screen
{
padding
:
.5em
1em
;
background
:
#f9f9f5
;
width
:
100%
;
height
:
100%
}
.editor-wrapper
{
font
:
16px
/
1.62
"Helvetica Neue"
,
"Xin Gothic"
,
"Hiragino Sans GB"
,
"WenQuanYi Micro Hei"
,
"Microsoft YaHei"
,
sans-serif
;
color
:
#2c3e50
}
.editor-toolbar
{
position
:
relative
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
-o-user-select
:
none
;
user-select
:
none
;
border
:
1px
solid
#CCC
;
background-color
:
#FAFAFA
;
border-bottom-width
:
0
;
border-radius
:
3px
3px
0
0
}
.editor-toolbar
a
,
.editor-toolbar
label
{
display
:
inline-block
;
text-align
:
center
;
text-decoration
:
none
!important
;
font-size
:
16px
;
color
:
#666
;
width
:
23px
;
height
:
23px
;
margin
:
2px
;
border
:
1px
solid
transparent
;
border-radius
:
3px
;
cursor
:
pointer
}
.editor-toolbar
a
.active
,
.editor-toolbar
a
:hover
,
.editor-toolbar
label
.active
,
.editor-toolbar
label
:hover
{
background
:
#fcfcfc
;
border-color
:
#95a5a6
;
color
:
#777
}
.editor-toolbar
a
.active
{
color
:
#911
;
border-color
:
#911
}
.editor-toolbar
a
:before
,
.editor-toolbar
label
:before
{
line-height
:
24px
}
.editor-toolbar
label
.icon-upload
{
padding
:
0
1px
;
height
:
23px
;
width
:
21px
;
vertical-align
:
bottom
;
float
:
none
;
overflow
:
hidden
}
.CodeMirror-preview
,
.editor-preview
{
position
:
absolute
;
box-sizing
:
border-box
;
overflow
:
auto
}
.editor-toolbar
input
{
height
:
1px
}
.editor-toolbar
form
{
display
:
inline
}
.editor-toolbar
i
.separator
{
display
:
inline-block
;
width
:
0
;
border-left
:
1px
solid
#d9d9d9
;
border-right
:
1px
solid
#fff
;
color
:
transparent
;
text-indent
:
-10px
;
margin
:
0
5px
}
.editor-toolbar
a
.icon-contract
,
.editor-toolbar
a
.icon-fullscreen
{
position
:
absolute
;
right
:
0
}
.editor-statusbar
{
border-top
:
1px
solid
#ece9e9
;
padding
:
8px
10px
;
font-size
:
12px
;
color
:
#959694
;
text-align
:
right
}
.editor-statusbar
span
{
display
:
inline-block
;
min-width
:
4em
;
margin-left
:
1em
}
.editor-statusbar
.lines
:before
{
content
:
'lines: '
}
.editor-statusbar
.words
:before
{
content
:
'words: '
}
.editor-preview
{
width
:
100%
;
height
:
100%
;
top
:
1px
;
padding
:
0
4px
;
left
:
100%
;
background
:
#FDFDFD
;
z-index
:
9999
;
-webkit-transition
:
left
.2s
ease
;
-moz-transition
:
left
.2s
ease
;
-ms-transition
:
left
.2s
ease
;
transition
:
left
.2s
ease
}
.editor-preview-active
{
left
:
0
}
.editor-preview
>
p
{
margin-top
:
0
}
.CodeMirror-preview
{
background-color
:
#FFF
;
width
:
50%
;
top
:
30px
;
border-left
:
1px
solid
#ccc
;
border-radius
:
0
0
3px
;
border-top
:
0
;
right
:
0
;
padding
:
4px
}
.CodeMirror
{
font-family
:
monospace
;
height
:
300px
;
color
:
#000
}
.CodeMirror-lines
{
padding
:
4px
0
}
.CodeMirror-lines
pre
{
padding
:
0
4px
}
.CodeMirror-gutter-filler
,
.CodeMirror-scrollbar-filler
{
background-color
:
#fff
}
.CodeMirror-gutters
{
border-right
:
1px
solid
#ddd
;
background-color
:
#f7f7f7
;
white-space
:
nowrap
}
.CodeMirror-linenumber
{
padding
:
0
3px
0
5px
;
min-width
:
20px
;
text-align
:
right
;
color
:
#999
;
white-space
:
nowrap
}
.CodeMirror-guttermarker
{
color
:
#000
}
.CodeMirror-guttermarker-subtle
{
color
:
#999
}
.CodeMirror-cursor
{
border-left
:
1px
solid
#000
;
border-right
:
none
;
width
:
0
}
.CodeMirror
div
.CodeMirror-secondarycursor
{
border-left
:
1px
solid
silver
}
.cm-fat-cursor
.CodeMirror-cursor
{
width
:
auto
;
border
:
0
;
background
:
#7e7
}
.cm-fat-cursor
div
.CodeMirror-cursors
{
z-index
:
1
}
.cm-animate-fat-cursor
{
width
:
auto
;
border
:
0
;
-webkit-animation
:
blink
1.06s
steps
(
1
)
infinite
;
-moz-animation
:
blink
1.06s
steps
(
1
)
infinite
;
animation
:
blink
1.06s
steps
(
1
)
infinite
;
background-color
:
#7e7
}
@-moz-keyframes
blink
{
50
%
{
background-color
:
transparent
}}
@-webkit-keyframes
blink
{
50
%
{
background-color
:
transparent
}}
@keyframes
blink
{
50
%
{
background-color
:
transparent
}}
.cm-tab
{
display
:
inline-block
;
text-decoration
:
inherit
}
.CodeMirror-ruler
{
border-left
:
1px
solid
#ccc
;
position
:
absolute
}
.cm-s-default
.cm-header
{
color
:
#00f
}
.cm-s-default
.cm-quote
{
color
:
#090
}
.cm-negative
{
color
:
#d44
}
.cm-positive
{
color
:
#292
}
.cm-header
,
.cm-strong
{
font-weight
:
700
}
.cm-em
{
font-style
:
italic
}
.cm-link
{
text-decoration
:
underline
}
.cm-strikethrough
{
text-decoration
:
line-through
}
.cm-s-default
.cm-keyword
{
color
:
#708
}
.cm-s-default
.cm-atom
{
color
:
#219
}
.cm-s-default
.cm-number
{
color
:
#164
}
.cm-s-default
.cm-def
{
color
:
#00f
}
.cm-s-default
.cm-variable-2
{
color
:
#05a
}
.cm-s-default
.cm-variable-3
{
color
:
#085
}
.cm-s-default
.cm-comment
{
color
:
#a50
}
.cm-s-default
.cm-string
{
color
:
#a11
}
.cm-s-default
.cm-string-2
{
color
:
#f50
}
.cm-s-default
.cm-meta
,
.cm-s-default
.cm-qualifier
{
color
:
#555
}
.cm-s-default
.cm-builtin
{
color
:
#30a
}
.cm-s-default
.cm-bracket
{
color
:
#997
}
.cm-s-default
.cm-tag
{
color
:
#170
}
.cm-s-default
.cm-attribute
{
color
:
#00c
}
.cm-s-default
.cm-hr
{
color
:
#999
}
.cm-s-default
.cm-link
{
color
:
#00c
}
.cm-invalidchar
,
.cm-s-default
.cm-error
{
color
:
red
}
.CodeMirror-composing
{
border-bottom
:
2px
solid
}
div
.CodeMirror
span
.CodeMirror-matchingbracket
{
color
:
#0f0
}
div
.CodeMirror
span
.CodeMirror-nonmatchingbracket
{
color
:
#f22
}
.CodeMirror-matchingtag
{
background
:
rgba
(
255
,
150
,
0
,
.3
)}
.CodeMirror-activeline-background
{
background
:
#e8f2ff
}
.CodeMirror
{
position
:
relative
;
overflow
:
hidden
;
background
:
#fff
}
.CodeMirror-scroll
{
overflow
:
scroll
!important
;
margin-bottom
:
-30px
;
margin-right
:
-30px
;
padding-bottom
:
30px
;
height
:
100%
;
outline
:
0
;
position
:
relative
}
.CodeMirror-sizer
{
position
:
relative
;
border-right
:
30px
solid
transparent
}
.CodeMirror-gutter-filler
,
.CodeMirror-hscrollbar
,
.CodeMirror-scrollbar-filler
,
.CodeMirror-vscrollbar
{
position
:
absolute
;
z-index
:
6
;
display
:
none
}
.CodeMirror-vscrollbar
{
right
:
0
;
top
:
0
;
overflow-x
:
hidden
;
overflow-y
:
scroll
}
.CodeMirror-hscrollbar
{
bottom
:
0
;
left
:
0
;
overflow-y
:
hidden
;
overflow-x
:
scroll
}
.CodeMirror-scrollbar-filler
{
right
:
0
;
bottom
:
0
}
.CodeMirror-gutter-filler
{
left
:
0
;
bottom
:
0
}
.CodeMirror-gutters
{
position
:
absolute
;
left
:
0
;
top
:
0
;
z-index
:
3
}
.CodeMirror-gutter
{
white-space
:
normal
;
height
:
100%
;
display
:
inline-block
;
margin-bottom
:
-30px
}
.CodeMirror-gutter-wrapper
{
position
:
absolute
;
z-index
:
4
;
background
:
0
0
!important
;
border
:
none
!important
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
user-select
:
none
}
.CodeMirror-gutter-background
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
z-index
:
4
}
.CodeMirror-gutter-elt
{
position
:
absolute
;
cursor
:
default
;
z-index
:
4
}
.CodeMirror-lines
{
cursor
:
text
;
min-height
:
1px
}
.CodeMirror-lines
pre
{
-moz-border-radius
:
0
;
-webkit-border-radius
:
0
;
border-radius
:
0
;
border-width
:
0
;
background
:
0
0
;
font-family
:
inherit
;
font-size
:
inherit
;
margin
:
0
;
white-space
:
pre
;
word-wrap
:
normal
;
line-height
:
inherit
;
color
:
inherit
;
z-index
:
2
;
position
:
relative
;
overflow
:
visible
;
-webkit-tap-highlight-color
:
transparent
}
.CodeMirror-wrap
pre
{
word-wrap
:
break-word
;
white-space
:
pre-wrap
;
word-break
:
normal
}
.CodeMirror-linebackground
{
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
bottom
:
0
;
z-index
:
0
}
.CodeMirror-linewidget
{
position
:
relative
;
z-index
:
2
;
overflow
:
auto
}
.CodeMirror-code
{
outline
:
0
}
.CodeMirror-gutter
,
.CodeMirror-gutters
,
.CodeMirror-linenumber
,
.CodeMirror-scroll
,
.CodeMirror-sizer
{
-moz-box-sizing
:
content-box
;
box-sizing
:
content-box
}
.CodeMirror-measure
{
position
:
absolute
;
width
:
100%
;
height
:
0
;
overflow
:
hidden
;
visibility
:
hidden
}
.CodeMirror-cursor
{
position
:
absolute
}
.CodeMirror-measure
pre
{
position
:
static
}
div
.CodeMirror-cursors
{
visibility
:
hidden
;
position
:
relative
;
z-index
:
3
}
.CodeMirror-focused
div
.CodeMirror-cursors
,
div
.CodeMirror-dragcursors
{
visibility
:
visible
}
.CodeMirror-selected
{
background
:
#d9d9d9
}
.CodeMirror-focused
.CodeMirror-selected
{
background
:
#d7d4f0
}
.CodeMirror-crosshair
{
cursor
:
crosshair
}
.CodeMirror-line
::selection
,
.CodeMirror-line
>
span
::selection
,
.CodeMirror-line
>
span
>
span
::selection
{
background
:
#d7d4f0
}
.CodeMirror-line
::-moz-selection
,
.CodeMirror-line
>
span
::-moz-selection
,
.CodeMirror-line
>
span
>
span
::-moz-selection
{
background
:
#d7d4f0
}
.cm-searching
{
background
:
#ffa
;
background
:
rgba
(
255
,
255
,
0
,
.4
)}
.cm-force-border
{
padding-right
:
.1px
}
.CodeMirror-hints
{
position
:
absolute
;
z-index
:
100
;
overflow
:
hidden
;
list-style
:
none
;
margin
:
0
;
padding
:
2px
;
-webkit-box-shadow
:
2px
3px
5px
rgba
(
0
,
0
,
0
,
.2
);
-moz-box-shadow
:
2px
3px
5px
rgba
(
0
,
0
,
0
,
.2
);
box-shadow
:
2px
3px
5px
rgba
(
0
,
0
,
0
,
.2
);
border-radius
:
3px
;
border
:
1px
solid
silver
;
background
:
#fff
;
font-size
:
90%
;
font-family
:
monospace
;
max-height
:
20em
;
overflow-y
:
auto
}
.CodeMirror-preview
,
.editor-toolbar
{
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)
inset
}
.CodeMirror-hint
{
margin
:
0
;
padding
:
0
4px
;
border-radius
:
2px
;
max-width
:
19em
;
overflow
:
hidden
;
white-space
:
pre
;
color
:
#000
;
cursor
:
pointer
}
li
.CodeMirror-hint-active
{
background
:
#08f
;
color
:
#fff
}
.CodeMirror-fullscreen
{
position
:
fixed
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
height
:
auto
;
z-index
:
9
}
@media
print
{
.CodeMirror
div
.CodeMirror-cursors
{
visibility
:
hidden
}}
.CodeMirror-merge-2pane
.CodeMirror-merge-pane
{
width
:
49%
;
border
:
1px
solid
#CCC
;
border-radius
:
3px
}
.CodeMirror-merge-2pane
.CodeMirror-merge-gap
{
width
:
0
;
display
:
none
}
.CodeMirror-merge-3pane
.CodeMirror-merge-pane
{
width
:
31%
}
.CodeMirror-merge-3pane
.CodeMirror-merge-gap
{
width
:
3.5%
}
.CodeMirror-merge-pane
{
display
:
inline-block
;
white-space
:
normal
;
vertical-align
:
top
}
.CodeMirror-merge-pane-rightmost
{
float
:
right
}
.CodeMirror-merge-gap
{
z-index
:
2
;
display
:
inline-block
;
height
:
100%
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow
:
hidden
;
border-left
:
1px
solid
#ddd
;
border-right
:
1px
solid
#ddd
;
position
:
relative
;
background
:
#f8f8f8
}
.CodeMirror-preview
,
.editor-preview
{
box-sizing
:
border-box
;
overflow
:
auto
}
.CodeMirror-merge-scrolllock-wrap
{
position
:
absolute
;
bottom
:
0
;
left
:
50%
}
.CodeMirror-merge-scrolllock
{
position
:
relative
;
left
:
-50%
;
cursor
:
pointer
;
color
:
#555
;
line-height
:
1
;
display
:
none
}
.CodeMirror-merge-copy
,
.CodeMirror-merge-copy-reverse
{
position
:
absolute
;
color
:
#44c
;
cursor
:
pointer
}
.CodeMirror-merge-copybuttons-left
,
.CodeMirror-merge-copybuttons-right
{
position
:
absolute
;
left
:
0
;
top
:
0
;
right
:
0
;
bottom
:
0
;
line-height
:
1
}
.CodeMirror-merge-copy
{
z-index
:
3
}
.CodeMirror-merge-copybuttons-left
.CodeMirror-merge-copy
{
left
:
2px
}
.CodeMirror-merge-copybuttons-right
.CodeMirror-merge-copy
{
right
:
2px
}
.CodeMirror-preview
,
.editor-toolbar
a
.icon-contract
,
.editor-toolbar
a
.icon-fullscreen
{
right
:
0
;
position
:
absolute
}
.CodeMirror-merge-l-inserted
,
.CodeMirror-merge-r-inserted
{
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==)
;
background-position
:
bottom
left
;
background-repeat
:
repeat-x
}
.CodeMirror-merge-l-deleted
,
.CodeMirror-merge-r-deleted
{
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==)
;
background-position
:
bottom
left
;
background-repeat
:
repeat-x
}
.CodeMirror-merge-r-chunk
{
background
:
#ffffe0
}
.CodeMirror-merge-r-chunk-start
{
border-top
:
1px
solid
#ee8
}
.CodeMirror-merge-r-chunk-end
{
border-bottom
:
1px
solid
#ee8
}
.CodeMirror-merge-r-connect
{
fill
:
#ffffe0
;
stroke
:
#ee8
;
stroke-width
:
1px
}
.CodeMirror-merge-l-chunk
{
background
:
#eef
}
.CodeMirror-merge-l-chunk-start
{
border-top
:
1px
solid
#88e
}
.CodeMirror-merge-l-chunk-end
{
border-bottom
:
1px
solid
#88e
}
.CodeMirror-merge-l-connect
{
fill
:
#eef
;
stroke
:
#88e
;
stroke-width
:
1px
}
.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk
{
background
:
#dfd
}
.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start
{
border-top
:
1px
solid
#4e4
}
.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end
{
border-bottom
:
1px
solid
#4e4
}
.CodeMirror-merge-collapsed-widget
:before
{
content
:
"(...)"
}
.CodeMirror-merge-collapsed-widget
{
cursor
:
pointer
;
color
:
#88b
;
background
:
#eef
;
border
:
1px
solid
#ddf
;
font-size
:
90%
;
padding
:
0
3px
;
border-radius
:
4px
}
.CodeMirror-merge-collapsed-line
.CodeMirror-gutter-elt
{
display
:
none
}
.cm-tab-wrap-hack
:after
{
content
:
''
}
span
.CodeMirror-selectedtext
{
background
:
0
0
}
:-webkit-full-screen
{
background
:
#f9f9f5
;
padding
:
.5em
1em
;
width
:
100%
;
height
:
100%
}
:-moz-full-screen
{
padding
:
.5em
1em
;
background
:
#f9f9f5
;
width
:
100%
;
height
:
100%
}
.editor-wrapper
{
font
:
16px
/
1.62
"Helvetica Neue"
,
"Xin Gothic"
,
"Hiragino Sans GB"
,
"WenQuanYi Micro Hei"
,
"Microsoft YaHei"
,
sans-serif
;
color
:
#2c3e50
}
.editor-toolbar
{
position
:
relative
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
-o-user-select
:
none
;
user-select
:
none
;
border
:
1px
solid
#CCC
;
background-color
:
#FAFAFA
;
border-bottom-width
:
0
;
border-radius
:
3px
3px
0
0
}
.editor-toolbar
a
,
.editor-toolbar
label
{
display
:
inline-block
;
text-align
:
center
;
text-decoration
:
none
!important
;
font-size
:
16px
;
color
:
#666
;
width
:
23px
;
height
:
23px
;
margin
:
2px
;
border
:
1px
solid
transparent
;
border-radius
:
3px
;
cursor
:
pointer
}
.editor-toolbar
a
.active
,
.editor-toolbar
a
:hover
,
.editor-toolbar
label
.active
,
.editor-toolbar
label
:hover
{
background
:
#fcfcfc
;
border-color
:
#95a5a6
;
color
:
#777
}
.editor-toolbar
a
.active
{
color
:
#911
;
border-color
:
#911
}
.editor-toolbar
a
:before
,
.editor-toolbar
label
:before
{
line-height
:
24px
}
.editor-toolbar
label
.icon-upload
{
padding
:
0
1px
;
height
:
23px
;
width
:
21px
;
vertical-align
:
bottom
;
float
:
none
}
.editor-toolbar
input
{
height
:
1px
;
margin-top
:
8px
}
.editor-toolbar
form
{
display
:
inline
}
.editor-toolbar
i
.separator
{
display
:
inline-block
;
width
:
0
;
border-left
:
1px
solid
#d9d9d9
;
border-right
:
1px
solid
#fff
;
color
:
transparent
;
text-indent
:
-10px
;
margin
:
0
5px
}
.editor-statusbar
{
border-top
:
1px
solid
#ece9e9
;
padding
:
8px
10px
;
font-size
:
12px
;
color
:
#959694
;
text-align
:
right
}
.editor-statusbar
span
{
display
:
inline-block
;
min-width
:
4em
;
margin-left
:
1em
}
.editor-statusbar
.lines
:before
{
content
:
'lines: '
}
.editor-statusbar
.words
:before
{
content
:
'words: '
}
.editor-preview
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
top
:
1px
;
padding
:
0
4px
;
left
:
100%
;
background
:
#FDFDFD
;
z-index
:
9999
;
-webkit-transition
:
left
.2s
ease
;
-moz-transition
:
left
.2s
ease
;
-ms-transition
:
left
.2s
ease
;
transition
:
left
.2s
ease
}
.editor-preview-active
{
left
:
0
}
.editor-preview
>
p
{
margin-top
:
0
}
.CodeMirror-preview
{
background-color
:
#FFF
;
width
:
50%
;
top
:
30px
;
border-left
:
1px
solid
#ccc
;
border-radius
:
0
0
3px
;
border-top
:
0
;
padding
:
4px
}
\ No newline at end of file
\ No newline at end of file
src/main/webapp/js/lib/compress/admin-lib.min.js
View file @
1acd07d3
This source diff could not be displayed because it is too large. You can
view the blob
instead.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment