Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
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-1
Commits
d51a1fa4
Unverified
Commit
d51a1fa4
authored
May 04, 2019
by
Van
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix #12774
parent
a196159d
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
286 additions
and
507 deletions
+286
-507
package-lock.json
package-lock.json
+276
-497
package.json
package.json
+3
-3
src/main/webapp/admin/admin-index.ftl
src/main/webapp/admin/admin-index.ftl
+1
-1
src/main/webapp/js/common.js
src/main/webapp/js/common.js
+3
-3
src/main/webapp/js/common.min.js
src/main/webapp/js/common.min.js
+1
-1
src/main/webapp/js/page.js
src/main/webapp/js/page.js
+1
-1
src/main/webapp/js/page.min.js
src/main/webapp/js/page.min.js
+1
-1
No files found.
package-lock.json
View file @
d51a1fa4
...
...
@@ -4,6 +4,35 @@
"lockfileVersion"
:
1
,
"requires"
:
true
,
"dependencies"
:
{
"@types/events"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz"
,
"integrity"
:
"sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g=="
,
"dev"
:
true
},
"@types/glob"
:
{
"version"
:
"7.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz"
,
"integrity"
:
"sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w=="
,
"dev"
:
true
,
"requires"
:
{
"@types/events"
:
"*"
,
"@types/minimatch"
:
"*"
,
"@types/node"
:
"*"
}
},
"@types/minimatch"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz"
,
"integrity"
:
"sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
,
"dev"
:
true
},
"@types/node"
:
{
"version"
:
"12.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@types/node/-/node-12.0.0.tgz"
,
"integrity"
:
"sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg=="
,
"dev"
:
true
},
"abab"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/abab/-/abab-2.0.0.tgz"
,
...
...
@@ -21,9 +50,9 @@
"integrity"
:
"sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
},
"acorn-globals"
:
{
"version"
:
"4.3.
1
"
,
"resolved"
:
"https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.
1
.tgz"
,
"integrity"
:
"sha512-
gJSiKY8dBIjV/0jagZIFBdVMtfQyA5QHCvAT48H2q8REQoW8Fs5AOjqBql1LgSXgrMWdevcE+8cdZ33NtVbIBA
=="
,
"version"
:
"4.3.
2
"
,
"resolved"
:
"https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.
2
.tgz"
,
"integrity"
:
"sha512-
BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ
=="
,
"requires"
:
{
"acorn"
:
"^6.0.1"
,
"acorn-walk"
:
"^6.0.1"
...
...
@@ -320,9 +349,9 @@
}
},
"async-each"
:
{
"version"
:
"1.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/async-each/-/async-each-1.0.
1
.tgz"
,
"integrity"
:
"sha
1-GdOGodntxufByF04iu28xW0zYC0
="
,
"version"
:
"1.0.
3
"
,
"resolved"
:
"https://registry.npmjs.org/async-each/-/async-each-1.0.
3
.tgz"
,
"integrity"
:
"sha
512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=
="
,
"dev"
:
true
},
"async-foreach"
:
{
...
...
@@ -454,20 +483,11 @@
}
},
"binary-extensions"
:
{
"version"
:
"1.1
2.0
"
,
"resolved"
:
"https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.1
2.0
.tgz"
,
"integrity"
:
"sha512-
DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg
=="
,
"version"
:
"1.1
3.1
"
,
"resolved"
:
"https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.1
3.1
.tgz"
,
"integrity"
:
"sha512-
Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw
=="
,
"dev"
:
true
},
"block-stream"
:
{
"version"
:
"0.0.9"
,
"resolved"
:
"https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz"
,
"integrity"
:
"sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo="
,
"dev"
:
true
,
"requires"
:
{
"inherits"
:
"~2.0.0"
}
},
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
...
...
@@ -588,26 +608,39 @@
}
},
"chokidar"
:
{
"version"
:
"2.
0.4
"
,
"resolved"
:
"https://registry.npmjs.org/chokidar/-/chokidar-2.
0.4
.tgz"
,
"integrity"
:
"sha512-
z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ
=="
,
"version"
:
"2.
1.5
"
,
"resolved"
:
"https://registry.npmjs.org/chokidar/-/chokidar-2.
1.5
.tgz"
,
"integrity"
:
"sha512-
i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A
=="
,
"dev"
:
true
,
"requires"
:
{
"anymatch"
:
"^2.0.0"
,
"async-each"
:
"^1.0.
0
"
,
"braces"
:
"^2.3.
0
"
,
"fsevents"
:
"^1.2.
2
"
,
"async-each"
:
"^1.0.
1
"
,
"braces"
:
"^2.3.
2
"
,
"fsevents"
:
"^1.2.
7
"
,
"glob-parent"
:
"^3.1.0"
,
"inherits"
:
"^2.0.
1
"
,
"inherits"
:
"^2.0.
3
"
,
"is-binary-path"
:
"^1.0.0"
,
"is-glob"
:
"^4.0.0"
,
"lodash.debounce"
:
"^4.0.8"
,
"normalize-path"
:
"^2.1.1"
,
"normalize-path"
:
"^3.0.0"
,
"path-is-absolute"
:
"^1.0.0"
,
"readdirp"
:
"^2.0.0"
,
"upath"
:
"^1.0.5"
"readdirp"
:
"^2.2.1"
,
"upath"
:
"^1.1.1"
},
"dependencies"
:
{
"normalize-path"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
,
"integrity"
:
"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
,
"dev"
:
true
}
}
},
"chownr"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz"
,
"integrity"
:
"sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
,
"dev"
:
true
},
"class-utils"
:
{
"version"
:
"0.3.6"
,
"resolved"
:
"https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz"
,
...
...
@@ -642,12 +675,24 @@
"wrap-ansi"
:
"^2.0.0"
}
},
"clone"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/clone/-/clone-2.1.2.tgz"
,
"integrity"
:
"sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
,
"dev"
:
true
},
"clone-buffer"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz"
,
"integrity"
:
"sha1-4+JbIHrE5wGvch4staFnksrD3Fg="
,
"dev"
:
true
},
"clone-stats"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz"
,
"integrity"
:
"sha1-s3gt/4u1R04Yuba/D9/ngvh3doA="
,
"dev"
:
true
},
"cloneable-readable"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz"
,
...
...
@@ -758,9 +803,9 @@
"integrity"
:
"sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
},
"component-emitter"
:
{
"version"
:
"1.
2.1
"
,
"resolved"
:
"https://registry.npmjs.org/component-emitter/-/component-emitter-1.
2.1
.tgz"
,
"integrity"
:
"sha
1-E3kY1teCg/ffemt8WmPhQOaUJeY
="
,
"version"
:
"1.
3.0
"
,
"resolved"
:
"https://registry.npmjs.org/component-emitter/-/component-emitter-1.
3.0
.tgz"
,
"integrity"
:
"sha
512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=
="
,
"dev"
:
true
},
"concat-map"
:
{
...
...
@@ -779,38 +824,6 @@
"inherits"
:
"^2.0.3"
,
"readable-stream"
:
"^2.2.2"
,
"typedarray"
:
"^0.0.6"
},
"dependencies"
:
{
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
}
},
"concat-with-sourcemaps"
:
{
...
...
@@ -1319,11 +1332,12 @@
}
},
"del"
:
{
"version"
:
"4.1.
0
"
,
"resolved"
:
"https://registry.npmjs.org/del/-/del-4.1.
0
.tgz"
,
"integrity"
:
"sha512-
C4kvKNlYrwXhKxz97BuohF8YoGgQ23Xm9lvoHmgT7JaPGprSEjk3+XFled74Yt/x0ZABUHg2D67covzAPUKx5
Q=="
,
"version"
:
"4.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/del/-/del-4.1.
1
.tgz"
,
"integrity"
:
"sha512-
QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5X
Q=="
,
"dev"
:
true
,
"requires"
:
{
"@types/glob"
:
"^7.1.1"
,
"globby"
:
"^6.1.0"
,
"is-path-cwd"
:
"^2.0.0"
,
"is-path-in-cwd"
:
"^2.0.0"
,
...
...
@@ -1375,47 +1389,15 @@
}
},
"duplexify"
:
{
"version"
:
"3.
6.0
"
,
"resolved"
:
"https://registry.npmjs.org/duplexify/-/duplexify-3.
6.0
.tgz"
,
"integrity"
:
"sha512-
fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ
=="
,
"version"
:
"3.
7.1
"
,
"resolved"
:
"https://registry.npmjs.org/duplexify/-/duplexify-3.
7.1
.tgz"
,
"integrity"
:
"sha512-
07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g
=="
,
"dev"
:
true
,
"requires"
:
{
"end-of-stream"
:
"^1.0.0"
,
"inherits"
:
"^2.0.1"
,
"readable-stream"
:
"^2.0.0"
,
"stream-shift"
:
"^1.0.0"
},
"dependencies"
:
{
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
}
},
"each-props"
:
{
...
...
@@ -1473,14 +1455,14 @@
}
},
"es5-ext"
:
{
"version"
:
"0.10.
46
"
,
"resolved"
:
"https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.
46
.tgz"
,
"integrity"
:
"sha512-
24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2dj
w=="
,
"version"
:
"0.10.
50
"
,
"resolved"
:
"https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.
50
.tgz"
,
"integrity"
:
"sha512-
KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3ag
w=="
,
"dev"
:
true
,
"requires"
:
{
"es6-iterator"
:
"~2.0.3"
,
"es6-symbol"
:
"~3.1.1"
,
"next-tick"
:
"
1
"
"next-tick"
:
"
^1.0.0
"
}
},
"es6-iterator"
:
{
...
...
@@ -1607,9 +1589,9 @@
}
},
"extend"
:
{
"version"
:
"3.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/extend/-/extend-3.0.
1
.tgz"
,
"integrity"
:
"sha
1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ
="
"version"
:
"3.0.
2
"
,
"resolved"
:
"https://registry.npmjs.org/extend/-/extend-3.0.
2
.tgz"
,
"integrity"
:
"sha
512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=
="
},
"extend-shallow"
:
{
"version"
:
"3.0.2"
,
...
...
@@ -1703,13 +1685,14 @@
"integrity"
:
"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fancy-log"
:
{
"version"
:
"1.3.
2
"
,
"resolved"
:
"https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.
2
.tgz"
,
"integrity"
:
"sha
1-9BEl49hPLn2JpD0G2VjI94vha+E
="
,
"version"
:
"1.3.
3
"
,
"resolved"
:
"https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.
3
.tgz"
,
"integrity"
:
"sha
512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw=
="
,
"dev"
:
true
,
"requires"
:
{
"ansi-gray"
:
"^0.1.1"
,
"color-support"
:
"^1.1.3"
,
"parse-node-version"
:
"^1.0.0"
,
"time-stamp"
:
"^1.0.0"
}
},
...
...
@@ -1762,32 +1745,21 @@
}
},
"findup-sync"
:
{
"version"
:
"
2
.0.0"
,
"resolved"
:
"https://registry.npmjs.org/findup-sync/-/findup-sync-
2
.0.0.tgz"
,
"integrity"
:
"sha
1-kyaxSIwi0aYIhlCoaQGy2akKLLw
="
,
"version"
:
"
3
.0.0"
,
"resolved"
:
"https://registry.npmjs.org/findup-sync/-/findup-sync-
3
.0.0.tgz"
,
"integrity"
:
"sha
512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg=
="
,
"dev"
:
true
,
"requires"
:
{
"detect-file"
:
"^1.0.0"
,
"is-glob"
:
"^
3.1
.0"
,
"is-glob"
:
"^
4.0
.0"
,
"micromatch"
:
"^3.0.4"
,
"resolve-dir"
:
"^1.0.1"
},
"dependencies"
:
{
"is-glob"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz"
,
"integrity"
:
"sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo="
,
"dev"
:
true
,
"requires"
:
{
"is-extglob"
:
"^2.1.0"
}
}
}
},
"fined"
:
{
"version"
:
"1.
1
.0"
,
"resolved"
:
"https://registry.npmjs.org/fined/-/fined-1.
1
.0.tgz"
,
"integrity"
:
"sha
1-s33IRLdqL15wgeiE98CuNE8VNHY
="
,
"version"
:
"1.
2
.0"
,
"resolved"
:
"https://registry.npmjs.org/fined/-/fined-1.
2
.0.tgz"
,
"integrity"
:
"sha
512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng=
="
,
"dev"
:
true
,
"requires"
:
{
"expand-tilde"
:
"^2.0.2"
,
...
...
@@ -1798,51 +1770,19 @@
}
},
"flagged-respawn"
:
{
"version"
:
"1.0.
0
"
,
"resolved"
:
"https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.
0
.tgz"
,
"integrity"
:
"sha
1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c
="
,
"version"
:
"1.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.
1
.tgz"
,
"integrity"
:
"sha
512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=
="
,
"dev"
:
true
},
"flush-write-stream"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz"
,
"integrity"
:
"sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw=="
,
"dev"
:
true
,
"requires"
:
{
"inherits"
:
"^2.0.1"
,
"readable-stream"
:
"^2.0.4"
},
"dependencies"
:
{
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder
-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg
=="
,
"resolved"
:
"https://registry.npmjs.org/flush-write-stream/-/flush-write-stream
-1.1.1.tgz"
,
"integrity"
:
"sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w
=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
"inherits"
:
"^2.0.3"
,
"readable-stream"
:
"^2.3.6"
}
},
"for-in"
:
{
...
...
@@ -1884,6 +1824,15 @@
"map-cache"
:
"^0.2.2"
}
},
"fs-minipass"
:
{
"version"
:
"1.2.5"
,
"resolved"
:
"https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz"
,
"integrity"
:
"sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ=="
,
"dev"
:
true
,
"requires"
:
{
"minipass"
:
"^2.2.1"
}
},
"fs-mkdirp-stream"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz"
,
...
...
@@ -1901,9 +1850,9 @@
"dev"
:
true
},
"fsevents"
:
{
"version"
:
"1.2.
8
"
,
"resolved"
:
"https://registry.npmjs.org/fsevents/-/fsevents-1.2.
8
.tgz"
,
"integrity"
:
"sha512-
tPvHgPGB7m40CZ68xqFGkKuzN+RnpGmSV+hgeKxhRpbxdqKXUFJGC3yonBOLzQBcJyGpdZFDfCsdOC2KFsXzeA
=="
,
"version"
:
"1.2.
9
"
,
"resolved"
:
"https://registry.npmjs.org/fsevents/-/fsevents-1.2.
9
.tgz"
,
"integrity"
:
"sha512-
oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw
=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
...
...
@@ -2167,13 +2116,6 @@
"dev"
:
true
,
"optional"
:
true
},
"nan"
:
{
"version"
:
"2.13.2"
,
"resolved"
:
"https://registry.npmjs.org/nan/-/nan-2.13.2.tgz"
,
"integrity"
:
"sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw=="
,
"dev"
:
true
,
"optional"
:
true
},
"needle"
:
{
"version"
:
"2.3.0"
,
"bundled"
:
true
,
...
...
@@ -2575,48 +2517,18 @@
"remove-trailing-separator"
:
"^1.0.1"
,
"to-absolute-glob"
:
"^2.0.0"
,
"unique-stream"
:
"^2.0.2"
},
"dependencies"
:
{
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
}
},
"glob-watcher"
:
{
"version"
:
"5.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.
1
.tgz"
,
"integrity"
:
"sha512-
fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2
g=="
,
"version"
:
"5.0.
3
"
,
"resolved"
:
"https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.
3
.tgz"
,
"integrity"
:
"sha512-
8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13ds
g=="
,
"dev"
:
true
,
"requires"
:
{
"anymatch"
:
"^2.0.0"
,
"async-done"
:
"^1.2.0"
,
"chokidar"
:
"^2.0.0"
,
"is-negated-glob"
:
"^1.0.0"
,
"just-debounce"
:
"^1.0.0"
,
"object.defaults"
:
"^1.1.0"
}
...
...
@@ -2693,21 +2605,21 @@
}
},
"gulp"
:
{
"version"
:
"4.0.
0
"
,
"resolved"
:
"https://registry.npmjs.org/gulp/-/gulp-4.0.
0
.tgz"
,
"integrity"
:
"sha
1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y
="
,
"version"
:
"4.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/gulp/-/gulp-4.0.
1
.tgz"
,
"integrity"
:
"sha
512-yDVtVunxrAdsk7rIV/b7lVSBifPN1Eqe6wTjsESGrFcL+MEVzaaeNTkpUuGTUptloSOU+8oJm/lBJbgPV+tMAw=
="
,
"dev"
:
true
,
"requires"
:
{
"glob-watcher"
:
"^5.0.
0
"
,
"gulp-cli"
:
"^2.
0
.0"
,
"undertaker"
:
"^1.
0.0
"
,
"glob-watcher"
:
"^5.0.
3
"
,
"gulp-cli"
:
"^2.
2
.0"
,
"undertaker"
:
"^1.
2.1
"
,
"vinyl-fs"
:
"^3.0.0"
},
"dependencies"
:
{
"gulp-cli"
:
{
"version"
:
"2.
0.1
"
,
"resolved"
:
"https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.
0.1
.tgz"
,
"integrity"
:
"sha512-
RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ
=="
,
"version"
:
"2.
2.0
"
,
"resolved"
:
"https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.
2.0
.tgz"
,
"integrity"
:
"sha512-
rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA
=="
,
"dev"
:
true
,
"requires"
:
{
"ansi-colors"
:
"^1.0.1"
,
...
...
@@ -2720,7 +2632,7 @@
"gulplog"
:
"^1.0.0"
,
"interpret"
:
"^1.1.0"
,
"isobject"
:
"^3.0.1"
,
"liftoff"
:
"^
2.5
.0"
,
"liftoff"
:
"^
3.1
.0"
,
"matchdep"
:
"^2.0.0"
,
"mute-stdout"
:
"^1.0.0"
,
"pretty-hrtime"
:
"^1.0.0"
,
...
...
@@ -2936,9 +2848,9 @@
"integrity"
:
"sha512-zozTAWM1D6sozHo8kqhfYgsac+B+q0PmsjXeyDrYIHHcBN0zTVT66+s2GW1GZv7DbyaROdLXKdabwS/WqPyIdQ=="
},
"homedir-polyfill"
:
{
"version"
:
"1.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.
1
.tgz"
,
"integrity"
:
"sha
1-TCu8inWJmP7r9e1oWA921GdotLw
="
,
"version"
:
"1.0.
3
"
,
"resolved"
:
"https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.
3
.tgz"
,
"integrity"
:
"sha
512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA=
="
,
"dev"
:
true
,
"requires"
:
{
"parse-passwd"
:
"^1.0.0"
...
...
@@ -3014,9 +2926,9 @@
"dev"
:
true
},
"interpret"
:
{
"version"
:
"1.
1
.0"
,
"resolved"
:
"https://registry.npmjs.org/interpret/-/interpret-1.
1
.0.tgz"
,
"integrity"
:
"sha
1-ftGxQQxqDg94z5XTuEQMY/eLhhQ
="
,
"version"
:
"1.
2
.0"
,
"resolved"
:
"https://registry.npmjs.org/interpret/-/interpret-1.
2
.0.tgz"
,
"integrity"
:
"sha
512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=
="
,
"dev"
:
true
},
"invert-kv"
:
{
...
...
@@ -3155,9 +3067,9 @@
}
},
"is-glob"
:
{
"version"
:
"4.0.
0
"
,
"resolved"
:
"https://registry.npmjs.org/is-glob/-/is-glob-4.0.
0
.tgz"
,
"integrity"
:
"sha
1-lSHHaEXMJhCoUgPd8ICpWML/q8A
="
,
"version"
:
"4.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/is-glob/-/is-glob-4.0.
1
.tgz"
,
"integrity"
:
"sha
512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=
="
,
"dev"
:
true
,
"requires"
:
{
"is-extglob"
:
"^2.1.1"
...
...
@@ -3346,26 +3258,17 @@
"resolved"
:
"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"
,
"integrity"
:
"sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
},
"json-stable-stringify"
:
{
"json-stable-stringify
-without-jsonify
"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
,
"integrity"
:
"sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8="
,
"dev"
:
true
,
"requires"
:
{
"jsonify"
:
"~0.0.0"
}
"resolved"
:
"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
,
"integrity"
:
"sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
,
"dev"
:
true
},
"json-stringify-safe"
:
{
"version"
:
"5.0.1"
,
"resolved"
:
"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
,
"integrity"
:
"sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"jsonify"
:
{
"version"
:
"0.0.0"
,
"resolved"
:
"https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
,
"integrity"
:
"sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
,
"dev"
:
true
},
"jsprim"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"
,
...
...
@@ -3414,53 +3317,21 @@
"dev"
:
true
,
"requires"
:
{
"readable-stream"
:
"^2.0.5"
}
},
"dependencies"
:
{
"isarray"
:
{
"lcid"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
"resolved"
:
"https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
,
"integrity"
:
"sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU="
,
"dev"
:
true
,
"requires"
:
{
"invert-kv"
:
"^1.0.0"
}
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
}
},
"lcid"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"
,
"integrity"
:
"sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU="
,
"dev"
:
true
,
"requires"
:
{
"invert-kv"
:
"^1.0.0"
}
},
"lead"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/lead/-/lead-1.0.0.tgz"
,
"integrity"
:
"sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI="
,
"lead"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/lead/-/lead-1.0.0.tgz"
,
"integrity"
:
"sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI="
,
"dev"
:
true
,
"requires"
:
{
"flush-write-stream"
:
"^1.0.2"
...
...
@@ -3481,13 +3352,13 @@
}
},
"liftoff"
:
{
"version"
:
"
2.5
.0"
,
"resolved"
:
"https://registry.npmjs.org/liftoff/-/liftoff-
2.5
.0.tgz"
,
"integrity"
:
"sha
1-IAkpG7Mc6oYbvxCnwVooyvdcMew
="
,
"version"
:
"
3.1
.0"
,
"resolved"
:
"https://registry.npmjs.org/liftoff/-/liftoff-
3.1
.0.tgz"
,
"integrity"
:
"sha
512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog=
="
,
"dev"
:
true
,
"requires"
:
{
"extend"
:
"^3.0.0"
,
"findup-sync"
:
"^
2
.0.0"
,
"findup-sync"
:
"^
3
.0.0"
,
"fined"
:
"^1.0.1"
,
"flagged-respawn"
:
"^1.0.0"
,
"is-plain-object"
:
"^2.0.4"
,
...
...
@@ -3551,12 +3422,6 @@
"integrity"
:
"sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
,
"dev"
:
true
},
"lodash.debounce"
:
{
"version"
:
"4.0.8"
,
"resolved"
:
"https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
,
"integrity"
:
"sha1-gteb/zCmfEAF/9XiUVMArZyk168="
,
"dev"
:
true
},
"lodash.mergewith"
:
{
"version"
:
"4.6.1"
,
"resolved"
:
"https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz"
,
...
...
@@ -3655,6 +3520,29 @@
"micromatch"
:
"^3.0.4"
,
"resolve"
:
"^1.4.0"
,
"stack-trace"
:
"0.0.10"
},
"dependencies"
:
{
"findup-sync"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz"
,
"integrity"
:
"sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw="
,
"dev"
:
true
,
"requires"
:
{
"detect-file"
:
"^1.0.0"
,
"is-glob"
:
"^3.1.0"
,
"micromatch"
:
"^3.0.4"
,
"resolve-dir"
:
"^1.0.1"
}
},
"is-glob"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz"
,
"integrity"
:
"sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo="
,
"dev"
:
true
,
"requires"
:
{
"is-extglob"
:
"^2.1.0"
}
}
}
},
"mdurl"
:
{
...
...
@@ -3744,6 +3632,33 @@
"integrity"
:
"sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
,
"dev"
:
true
},
"minipass"
:
{
"version"
:
"2.3.5"
,
"resolved"
:
"https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz"
,
"integrity"
:
"sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
},
"dependencies"
:
{
"yallist"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz"
,
"integrity"
:
"sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
,
"dev"
:
true
}
}
},
"minizlib"
:
{
"version"
:
"1.2.1"
,
"resolved"
:
"https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz"
,
"integrity"
:
"sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA=="
,
"dev"
:
true
,
"requires"
:
{
"minipass"
:
"^2.2.1"
}
},
"mixin-deep"
:
{
"version"
:
"1.3.1"
,
"resolved"
:
"https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz"
,
...
...
@@ -3846,7 +3761,7 @@
"request"
:
"^2.87.0"
,
"rimraf"
:
"2"
,
"semver"
:
"~5.3.0"
,
"tar"
:
"^
2.0.0
"
,
"tar"
:
"^
4
"
,
"which"
:
"1"
},
"dependencies"
:
{
...
...
@@ -4027,9 +3942,9 @@
}
},
"now-and-later"
:
{
"version"
:
"2.0.
0
"
,
"resolved"
:
"https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.
0
.tgz"
,
"integrity"
:
"sha
1-vGHLtFbXnLMiB85HygUTb/Ln1u4
="
,
"version"
:
"2.0.
1
"
,
"resolved"
:
"https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.
1
.tgz"
,
"integrity"
:
"sha
512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ=
="
,
"dev"
:
true
,
"requires"
:
{
"once"
:
"^1.3.2"
...
...
@@ -4054,9 +3969,9 @@
"dev"
:
true
},
"nwsapi"
:
{
"version"
:
"2.1.
3
"
,
"resolved"
:
"https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.
3
.tgz"
,
"integrity"
:
"sha512-
RowAaJGEgYXEZfQ7tvvdtAQUKPyTR6T6wNu0fwlNsGQYr/h3yQc6oI8WnVZh3Y/Sylwc+dtAlvPqfFZjhTyk3A
=="
"version"
:
"2.1.
4
"
,
"resolved"
:
"https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.
4
.tgz"
,
"integrity"
:
"sha512-
iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw
=="
},
"oauth-sign"
:
{
"version"
:
"0.8.2"
,
...
...
@@ -4101,9 +4016,9 @@
}
},
"object-keys"
:
{
"version"
:
"1.
0.12
"
,
"resolved"
:
"https://registry.npmjs.org/object-keys/-/object-keys-1.
0.12
.tgz"
,
"integrity"
:
"sha512-
FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag
=="
,
"version"
:
"1.
1.1
"
,
"resolved"
:
"https://registry.npmjs.org/object-keys/-/object-keys-1.
1.1
.tgz"
,
"integrity"
:
"sha512-
NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA
=="
,
"dev"
:
true
},
"object-visit"
:
{
...
...
@@ -4197,38 +4112,6 @@
"dev"
:
true
,
"requires"
:
{
"readable-stream"
:
"^2.0.1"
},
"dependencies"
:
{
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
}
},
"os-homedir"
:
{
...
...
@@ -4288,6 +4171,12 @@
"error-ex"
:
"^1.2.0"
}
},
"parse-node-version"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz"
,
"integrity"
:
"sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="
,
"dev"
:
true
},
"parse-passwd"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
,
...
...
@@ -4526,38 +4415,6 @@
"graceful-fs"
:
"^4.1.11"
,
"micromatch"
:
"^3.1.10"
,
"readable-stream"
:
"^2.0.2"
},
"dependencies"
:
{
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
}
}
},
"rechoir"
:
{
...
...
@@ -4712,12 +4569,12 @@
"dev"
:
true
},
"resolve"
:
{
"version"
:
"1.
8
.1"
,
"resolved"
:
"https://registry.npmjs.org/resolve/-/resolve-1.
8
.1.tgz"
,
"integrity"
:
"sha512-
AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOY
A=="
,
"version"
:
"1.
10
.1"
,
"resolved"
:
"https://registry.npmjs.org/resolve/-/resolve-1.
10
.1.tgz"
,
"integrity"
:
"sha512-
KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEz
A=="
,
"dev"
:
true
,
"requires"
:
{
"path-parse"
:
"^1.0.
5
"
"path-parse"
:
"^1.0.
6
"
}
},
"resolve-dir"
:
{
...
...
@@ -5236,14 +5093,26 @@
"integrity"
:
"sha1-rifbOPZgp64uHDt9G8KQgZuFGeY="
},
"tar"
:
{
"version"
:
"
2.2.1
"
,
"resolved"
:
"https://registry.npmjs.org/tar/-/tar-2.2.1.tgz"
,
"integrity"
:
"sha
1-jk0qJWwOIYXGsYrWlK7JaLg8sdE
="
,
"version"
:
"
4.4.8
"
,
"resolved"
:
false
,
"integrity"
:
"sha
512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ=
="
,
"dev"
:
true
,
"requires"
:
{
"block-stream"
:
"*"
,
"fstream"
:
"^1.0.2"
,
"inherits"
:
"2"
"chownr"
:
"^1.1.1"
,
"fs-minipass"
:
"^1.2.5"
,
"minipass"
:
"^2.3.4"
,
"minizlib"
:
"^1.1.1"
,
"mkdirp"
:
"^0.5.0"
,
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.2"
},
"dependencies"
:
{
"yallist"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz"
,
"integrity"
:
"sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
,
"dev"
:
true
}
}
},
"through2"
:
{
...
...
@@ -5289,9 +5158,9 @@
}
},
"through2-filter"
:
{
"version"
:
"
2
.0.0"
,
"resolved"
:
"https://registry.npmjs.org/through2-filter/-/through2-filter-
2
.0.0.tgz"
,
"integrity"
:
"sha
1-YLxVoNrLdghdsfna6Zq0P4PWIuw
="
,
"version"
:
"
3
.0.0"
,
"resolved"
:
"https://registry.npmjs.org/through2-filter/-/through2-filter-
3
.0.0.tgz"
,
"integrity"
:
"sha
512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA=
="
,
"dev"
:
true
,
"requires"
:
{
"through2"
:
"~2.0.0"
,
...
...
@@ -5474,9 +5343,9 @@
"dev"
:
true
},
"undertaker"
:
{
"version"
:
"1.2.
0
"
,
"resolved"
:
"https://registry.npmjs.org/undertaker/-/undertaker-1.2.
0
.tgz"
,
"integrity"
:
"sha
1-M52kZGJS0ILcN45wgGcpl1DhG0k
="
,
"version"
:
"1.2.
1
"
,
"resolved"
:
"https://registry.npmjs.org/undertaker/-/undertaker-1.2.
1
.tgz"
,
"integrity"
:
"sha
512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA=
="
,
"dev"
:
true
,
"requires"
:
{
"arr-flatten"
:
"^1.0.1"
,
...
...
@@ -5532,13 +5401,13 @@
}
},
"unique-stream"
:
{
"version"
:
"2.
2
.1"
,
"resolved"
:
"https://registry.npmjs.org/unique-stream/-/unique-stream-2.
2
.1.tgz"
,
"integrity"
:
"sha
1-WqADz76Uxf+GbE59ZouxxNuts2k
="
,
"version"
:
"2.
3
.1"
,
"resolved"
:
"https://registry.npmjs.org/unique-stream/-/unique-stream-2.
3
.1.tgz"
,
"integrity"
:
"sha
512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A=
="
,
"dev"
:
true
,
"requires"
:
{
"json-stable-stringify
"
:
"^1.0.0
"
,
"through2-filter"
:
"^
2
.0.0"
"json-stable-stringify
-without-jsonify"
:
"^1.0.1
"
,
"through2-filter"
:
"^
3
.0.0"
}
},
"unset-value"
:
{
...
...
@@ -5578,19 +5447,13 @@
"resolved"
:
"https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz"
,
"integrity"
:
"sha1-bWHeldkd/Km5oCCJrThL/49it3E="
,
"dev"
:
true
},
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
}
}
},
"upath"
:
{
"version"
:
"1.1.
0
"
,
"resolved"
:
"https://registry.npmjs.org/upath/-/upath-1.1.
0
.tgz"
,
"integrity"
:
"sha512-
bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw
=="
,
"version"
:
"1.1.
2
"
,
"resolved"
:
"https://registry.npmjs.org/upath/-/upath-1.1.
2
.tgz"
,
"integrity"
:
"sha512-
kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q
=="
,
"dev"
:
true
},
"uri-js"
:
{
...
...
@@ -5634,9 +5497,9 @@
"integrity"
:
"sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
},
"v8flags"
:
{
"version"
:
"3.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/v8flags/-/v8flags-3.1.
1
.tgz"
,
"integrity"
:
"sha512-
iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ
=="
,
"version"
:
"3.1.
2
"
,
"resolved"
:
"https://registry.npmjs.org/v8flags/-/v8flags-3.1.
2
.tgz"
,
"integrity"
:
"sha512-
MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw
=="
,
"dev"
:
true
,
"requires"
:
{
"homedir-polyfill"
:
"^1.0.1"
...
...
@@ -5659,9 +5522,9 @@
"dev"
:
true
},
"vditor"
:
{
"version"
:
"1.3.
3
"
,
"resolved"
:
"https://registry.npmjs.org/vditor/-/vditor-1.3.
3
.tgz"
,
"integrity"
:
"sha512-
wevQUSekX5u3PVLnVymax/wXsZqQ8hWRPdFnY659Xpbno2paXRdhM5oXt8y4AHqdfkKoMnsztCkCez7JkkZ9Z
Q=="
,
"version"
:
"1.3.
5
"
,
"resolved"
:
"https://registry.npmjs.org/vditor/-/vditor-1.3.
5
.tgz"
,
"integrity"
:
"sha512-
fzDtXRtXG2fNUuTlzqS6qfP0F+GhwQ9nsQK47Ymh6NcIh5PEgfBUdGXLB4AQR6jwrrJHhb8/xuSs/5n6URa46
Q=="
,
"requires"
:
{
"highlight.js"
:
"^9.15.6"
,
"katex"
:
"^0.10.1"
,
...
...
@@ -5681,6 +5544,20 @@
"extsprintf"
:
"^1.2.0"
}
},
"vinyl"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz"
,
"integrity"
:
"sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg=="
,
"dev"
:
true
,
"requires"
:
{
"clone"
:
"^2.1.1"
,
"clone-buffer"
:
"^1.0.0"
,
"clone-stats"
:
"^1.0.0"
,
"cloneable-readable"
:
"^1.0.0"
,
"remove-trailing-separator"
:
"^1.0.1"
,
"replace-ext"
:
"^1.0.0"
}
},
"vinyl-fs"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz"
,
...
...
@@ -5704,70 +5581,6 @@
"value-or-function"
:
"^3.0.0"
,
"vinyl"
:
"^2.0.0"
,
"vinyl-sourcemap"
:
"^1.1.0"
},
"dependencies"
:
{
"clone"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/clone/-/clone-2.1.2.tgz"
,
"integrity"
:
"sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
,
"dev"
:
true
},
"clone-stats"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz"
,
"integrity"
:
"sha1-s3gt/4u1R04Yuba/D9/ngvh3doA="
,
"dev"
:
true
},
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
,
"dev"
:
true
},
"readable-stream"
:
{
"version"
:
"2.3.6"
,
"resolved"
:
"http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"
,
"integrity"
:
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw=="
,
"dev"
:
true
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"replace-ext"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
,
"integrity"
:
"sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs="
,
"dev"
:
true
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"dev"
:
true
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
},
"vinyl"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz"
,
"integrity"
:
"sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg=="
,
"dev"
:
true
,
"requires"
:
{
"clone"
:
"^2.1.1"
,
"clone-buffer"
:
"^1.0.0"
,
"clone-stats"
:
"^1.0.0"
,
"cloneable-readable"
:
"^1.0.0"
,
"remove-trailing-separator"
:
"^1.0.1"
,
"replace-ext"
:
"^1.0.0"
}
}
}
},
"vinyl-sourcemap"
:
{
...
...
@@ -5783,40 +5596,6 @@
"now-and-later"
:
"^2.0.0"
,
"remove-bom-buffer"
:
"^3.0.0"
,
"vinyl"
:
"^2.0.0"
},
"dependencies"
:
{
"clone"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/clone/-/clone-2.1.2.tgz"
,
"integrity"
:
"sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
,
"dev"
:
true
},
"clone-stats"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz"
,
"integrity"
:
"sha1-s3gt/4u1R04Yuba/D9/ngvh3doA="
,
"dev"
:
true
},
"replace-ext"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz"
,
"integrity"
:
"sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs="
,
"dev"
:
true
},
"vinyl"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz"
,
"integrity"
:
"sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg=="
,
"dev"
:
true
,
"requires"
:
{
"clone"
:
"^2.1.1"
,
"clone-buffer"
:
"^1.0.0"
,
"clone-stats"
:
"^1.0.0"
,
"cloneable-readable"
:
"^1.0.0"
,
"remove-trailing-separator"
:
"^1.0.1"
,
"replace-ext"
:
"^1.0.0"
}
}
}
},
"vinyl-sourcemaps-apply"
:
{
...
...
package.json
View file @
d51a1fa4
...
...
@@ -28,14 +28,14 @@
}
],
"devDependencies"
:
{
"
del
"
:
"
^4.1.
0
"
,
"
gulp
"
:
"
^4.0.
0
"
,
"
del
"
:
"
^4.1.
1
"
,
"
gulp
"
:
"
^4.0.
1
"
,
"
gulp-concat
"
:
"
^2.6.1
"
,
"
gulp-rename
"
:
"
^1.4.0
"
,
"
gulp-sass
"
:
"
^4.0.2
"
,
"
gulp-uglify
"
:
"
^3.0.2
"
},
"dependencies"
:
{
"
vditor
"
:
"
^1.3.
3
"
"
vditor
"
:
"
^1.3.
5
"
}
}
src/main/webapp/admin/admin-index.ftl
View file @
d51a1fa4
...
...
@@ -165,7 +165,7 @@
</div>
</div>
<script
src=
"${staticServePath}/js/lib/compress/admin-lib.min.js"
></script>
<script
src=
"https://cdn.jsdelivr.net/npm/vditor@1.3.
3
/dist/index.min.js"
></script>
<script
src=
"https://cdn.jsdelivr.net/npm/vditor@1.3.
5
/dist/index.min.js"
></script>
<script
src=
"${staticServePath}/js/common${miniPostfix}.js"
></script>
<
#if
""
==
miniPostfix
>
<script
src=
"${staticServePath}/js/admin/admin.js"
></script>
...
...
src/main/webapp/js/common.js
View file @
d51a1fa4
...
...
@@ -147,7 +147,7 @@ var Util = {
if
(
$
(
'
.vditor-reset pre > code
'
).
length
===
0
)
{
return
}
Util
.
addStyle
(
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
3
/dist/js/highlight.js@9.15.6/styles/
'
+
Util
.
addStyle
(
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
5
/dist/js/highlight.js@9.15.6/styles/
'
+
Label
.
hljsStyle
+
'
.css
'
,
'
vditorHljsStyle
'
)
var
initHljs
=
function
()
{
...
...
@@ -158,7 +158,7 @@ var Util = {
if
(
!
Label
.
markedAvailable
)
{
if
(
typeof
hljs
===
'
undefined
'
)
{
$
.
ajax
({
url
:
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
3
/dist/js/highlight.js@9.15.6/highlight.pack.js
'
,
url
:
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
5
/dist/js/highlight.js@9.15.6/highlight.pack.js
'
,
dataType
:
'
script
'
,
cache
:
true
,
success
:
function
()
{
...
...
@@ -182,7 +182,7 @@ var Util = {
return
}
Util
.
addScript
(
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
3
/dist/index.min.js
'
,
Util
.
addScript
(
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
5
/dist/index.min.js
'
,
'
vditorScript
'
)
Vditor
.
mermaidRender
(
document
.
body
)
...
...
src/main/webapp/js/common.min.js
View file @
d51a1fa4
var
Util
=
{
isArticlePage
:
function
(
e
){
var
t
=!
0
;
return
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/tags/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/tags.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/category/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/archives.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/archives/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/links.html
"
)
&&
(
t
=!
1
),
e
===
Label
.
servePath
&&
(
t
=!
1
),
/^
[
0-9
]
*$/
.
test
(
e
.
replace
(
Label
.
servePath
+
"
/
"
,
""
))
&&
(
t
=!
1
),
t
},
initPjax
:
function
(
e
){
1
===
$
(
"
#pjax
"
).
length
&&
(
$
.
pjax
({
selector
:
"
a
"
,
container
:
"
#pjax
"
,
show
:
""
,
cache
:
!
1
,
storage
:
!
0
,
titleSuffix
:
""
,
filter
:
function
(
e
){
return
e
===
Label
.
servePath
+
"
/rss.xml
"
||-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/admin-index.do
"
)
||!
(
-
1
<
e
.
indexOf
(
Label
.
servePath
))},
callback
:
function
(){
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
e
&&
e
()}}),
NProgress
.
configure
({
showSpinner
:
!
1
}),
$
(
"
#pjax
"
).
bind
(
"
pjax.start
"
,
function
(){
NProgress
.
start
()}),
$
(
"
#pjax
"
).
bind
(
"
pjax.end
"
,
function
(){
window
.
scroll
(
window
.
scrollX
,
0
),
NProgress
.
done
()}))},
previewImg
:
function
(){
$
(
"
body
"
).
on
(
"
click
"
,
"
.vditor-reset img
"
,
function
(){
$
(
this
).
hasClass
(
"
prevent
"
)
||
window
.
open
(
this
.
src
)})},
addStyle
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
document
.
createElement
(
"
link
"
);
i
.
id
=
t
,
i
.
setAttribute
(
"
rel
"
,
"
stylesheet
"
),
i
.
setAttribute
(
"
type
"
,
"
text/css
"
),
i
.
setAttribute
(
"
href
"
,
e
),
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
i
)}},
addScript
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
new
XMLHttpRequest
;
i
.
open
(
"
GET
"
,
e
,
!
1
),
i
.
setRequestHeader
(
"
Accept
"
,
"
text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
"
),
i
.
send
(
""
);
var
n
=
document
.
createElement
(
"
script
"
);
n
.
id
=
t
,
n
.
type
=
"
text/javascript
"
,
n
.
text
=
i
.
responseText
,
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
n
)}},
parseLanguage
:
function
(){
if
(
0
!==
$
(
"
.vditor-reset pre > code
"
).
length
){
Util
.
addStyle
(
"
https://cdn.jsdelivr.net/npm/vditor@1.3.3/dist/js/highlight.js@9.15.6/styles/
"
+
Label
.
hljsStyle
+
"
.css
"
,
"
vditorHljsStyle
"
);
function
e
(){
hljs
.
initHighlighting
.
called
=!
1
,
hljs
.
initHighlighting
()}
Label
.
markedAvailable
||
(
"
undefined
"
==
typeof
hljs
?
$
.
ajax
({
url
:
"
https://cdn.jsdelivr.net/npm/vditor@1.3.3/dist/js/highlight.js@9.15.6/highlight.pack.js
"
,
dataType
:
"
script
"
,
cache
:
!
0
,
success
:
function
(){
e
()}}):
e
())}},
parseMarkdown
:
function
(){
var
e
=
$
(
"
.vditor-reset
"
).
text
();(
0
!==
$
(
"
.vditor-reset pre > code
"
).
length
||
2
<
e
.
split
(
"
$
"
).
length
||
1
<
e
.
split
(
"
\\
(
"
).
length
&&
1
<
e
.
split
(
"
\\
)
"
).
length
)
&&
(
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@1.3.3/dist/index.min.js
"
,
"
vditorScript
"
),
Vditor
.
mermaidRender
(
document
.
body
),
Vditor
.
mathRender
(
document
.
body
),
Vditor
.
codeRender
(
document
.
body
,
Label
.
langLabel
))},
killIE
:
function
(
e
){
var
t
=
navigator
.
userAgent
.
split
(
"
MSIE
"
)[
1
];
t
&&
(
e
||
(
e
=
7
),
parseFloat
(
t
.
split
(
"
;
"
))
<=
e
&&
function
(){
if
(
""
===
Cookie
.
readCookie
(
"
showKill
"
))
try
{
var
t
=
"
<div style='display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110'></div><iframe style='left:
"
+
(
$
(
window
).
width
()
-
781
)
/
2
+
"
px;z-index:120;top:
"
+
(
$
(
window
).
height
()
-
680
)
/
2
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
t
)}
catch
(
e
){
t
=
"
<div style='display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110'></div><iframe style='left:10px;z-index:120;top: 0px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
,
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
t
}}())},
replaceEmString
:
function
(
e
){
var
t
=
e
.
split
(
"
[em
"
);
if
(
1
===
t
.
length
)
return
e
;
e
=
t
[
0
];
for
(
var
i
=
1
;
i
<
t
.
length
;
i
++
){
var
n
=
t
[
i
].
substr
(
0
,
2
);
e
+=
"
<img width='20' src='
"
+
Label
.
staticServePath
+
"
/images/emotions/em
"
+
n
+
"
.png' alt='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
'/>
"
+
t
[
i
].
substr
(
3
)}
return
e
},
switchMobile
:
function
(
e
){
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
e
,
365
),
setTimeout
(
function
(){
location
.
reload
()},
1250
)},
setTopBar
:
function
(){
var
e
=
$
(
"
#top
"
);
if
(
1
===
e
.
length
){
var
t
=
$
(
"
#showTop
"
);
t
.
click
(
function
(){
e
.
slideDown
(),
t
.
hide
()}),
$
(
"
#hideTop
"
).
click
(
function
(){
e
.
slideUp
(),
t
.
show
()})}},
goTop
:
function
(){
$
(
"
html, body
"
).
animate
({
scrollTop
:
0
},
800
)},
goBottom
:
function
(
e
){
e
||
(
e
=
0
),
$
(
"
html, body
"
).
animate
({
scrollTop
:
$
(
document
).
height
()
-
$
(
window
).
height
()
-
e
},
800
)},
init
:
function
(){
Util
.
killIE
(),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
Util
.
initSW
(),
Util
.
previewImg
(),
Util
.
initDebugInfo
()},
initDebugInfo
:
function
(){
console
.
log
(
"
%cSolo%c
\n
🎸一款小而美的博客系统,专为程序员设计。
"
+
Label
.
version
+
"
©
"
+
(
new
Date
).
getFullYear
(),
"
font-size:96px;color:#3b3e43
"
,
"
font-size:12px;color:rgba(0,0,0,0.38);
"
)},
initSW
:
function
(){
navigator
.
serviceWorker
&&
navigator
.
serviceWorker
.
register
(
"
/sw.js
"
,{
scope
:
"
/
"
})},
replaceSideEm
:
function
(
e
){
for
(
var
t
=
0
;
t
<
e
.
length
;
t
++
){
var
i
=
$
(
e
[
t
]);
i
.
html
(
Util
.
replaceEmString
(
i
.
html
()))}},
buildTags
:
function
(
e
){
e
=
e
||
"
tags
"
;
for
(
var
t
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
i
=
$
(
"
#
"
+
e
+
"
b
"
).
get
(),
n
=
parseInt
(
$
(
"
#
"
+
e
+
"
b
"
).
last
().
text
()),
o
=
Math
.
ceil
(
n
/
t
.
length
),
r
=
0
;
r
<
i
.
length
;
r
++
)
for
(
var
a
=
parseInt
(
i
[
r
].
innerHTML
),
s
=
0
;
s
<
t
.
length
;
s
++
)
if
(
s
*
o
<
a
&&
a
<=
(
s
+
1
)
*
o
){
i
[
r
].
parentNode
.
className
=
t
[
s
];
break
}
$
(
"
#
"
+
e
).
html
(
$
(
"
#
"
+
e
+
"
li
"
).
get
().
sort
(
function
(
e
,
t
){
var
i
=
$
(
e
).
find
(
"
span
"
).
text
().
toLowerCase
(),
n
=
$
(
t
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
i
.
localeCompare
(
n
)}))},
toDate
:
function
(
e
,
t
){
var
i
=
new
Date
(
e
),
n
=
{
"
M+
"
:
i
.
getMonth
()
+
1
,
"
d+
"
:
i
.
getDate
(),
"
H+
"
:
i
.
getHours
(),
"
m+
"
:
i
.
getMinutes
(),
"
s+
"
:
i
.
getSeconds
(),
"
q+
"
:
Math
.
floor
((
i
.
getMonth
()
+
3
)
/
3
),
S
:
i
.
getMilliseconds
()};
for
(
var
o
in
/
(
y+
)
/
.
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,(
i
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
))),
n
)
new
RegExp
(
"
(
"
+
o
+
"
)
"
).
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,
1
==
RegExp
.
$1
.
length
?
n
[
o
]:(
"
00
"
+
n
[
o
]).
substr
((
""
+
n
[
o
]).
length
)));
return
t
}};
if
(
!
Cookie
)
var
Cookie
=
{
readCookie
:
function
(
e
){
for
(
var
t
=
e
+
"
=
"
,
i
=
document
.
cookie
.
split
(
"
;
"
),
n
=
0
;
n
<
i
.
length
;
n
++
){
for
(
var
o
=
i
[
n
];
"
"
==
o
.
charAt
(
0
);)
o
=
o
.
substring
(
1
,
o
.
length
);
if
(
0
==
o
.
indexOf
(
t
))
return
decodeURIComponent
(
o
.
substring
(
t
.
length
,
o
.
length
))}
return
""
},
eraseCookie
:
function
(
e
){
this
.
createCookie
(
e
,
""
,
-
1
)},
createCookie
:
function
(
e
,
t
,
i
){
var
n
=
""
;
if
(
i
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
24
*
i
*
60
*
60
*
1
e3
),
n
=
"
; expires=
"
+
o
.
toGMTString
()}
document
.
cookie
=
e
+
"
=
"
+
encodeURIComponent
(
t
)
+
n
+
"
; path=/
"
}};
\ No newline at end of file
var
Util
=
{
isArticlePage
:
function
(
e
){
var
t
=!
0
;
return
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/tags/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/tags.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/category/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/archives.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/archives/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/links.html
"
)
&&
(
t
=!
1
),
e
===
Label
.
servePath
&&
(
t
=!
1
),
/^
[
0-9
]
*$/
.
test
(
e
.
replace
(
Label
.
servePath
+
"
/
"
,
""
))
&&
(
t
=!
1
),
t
},
initPjax
:
function
(
e
){
1
===
$
(
"
#pjax
"
).
length
&&
(
$
.
pjax
({
selector
:
"
a
"
,
container
:
"
#pjax
"
,
show
:
""
,
cache
:
!
1
,
storage
:
!
0
,
titleSuffix
:
""
,
filter
:
function
(
e
){
return
e
===
Label
.
servePath
+
"
/rss.xml
"
||-
1
<
e
.
indexOf
(
Label
.
servePath
+
"
/admin-index.do
"
)
||!
(
-
1
<
e
.
indexOf
(
Label
.
servePath
))},
callback
:
function
(){
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
e
&&
e
()}}),
NProgress
.
configure
({
showSpinner
:
!
1
}),
$
(
"
#pjax
"
).
bind
(
"
pjax.start
"
,
function
(){
NProgress
.
start
()}),
$
(
"
#pjax
"
).
bind
(
"
pjax.end
"
,
function
(){
window
.
scroll
(
window
.
scrollX
,
0
),
NProgress
.
done
()}))},
previewImg
:
function
(){
$
(
"
body
"
).
on
(
"
click
"
,
"
.vditor-reset img
"
,
function
(){
$
(
this
).
hasClass
(
"
prevent
"
)
||
window
.
open
(
this
.
src
)})},
addStyle
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
document
.
createElement
(
"
link
"
);
i
.
id
=
t
,
i
.
setAttribute
(
"
rel
"
,
"
stylesheet
"
),
i
.
setAttribute
(
"
type
"
,
"
text/css
"
),
i
.
setAttribute
(
"
href
"
,
e
),
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
i
)}},
addScript
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
new
XMLHttpRequest
;
i
.
open
(
"
GET
"
,
e
,
!
1
),
i
.
setRequestHeader
(
"
Accept
"
,
"
text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
"
),
i
.
send
(
""
);
var
n
=
document
.
createElement
(
"
script
"
);
n
.
id
=
t
,
n
.
type
=
"
text/javascript
"
,
n
.
text
=
i
.
responseText
,
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
n
)}},
parseLanguage
:
function
(){
if
(
0
!==
$
(
"
.vditor-reset pre > code
"
).
length
){
Util
.
addStyle
(
"
https://cdn.jsdelivr.net/npm/vditor@1.3.5/dist/js/highlight.js@9.15.6/styles/
"
+
Label
.
hljsStyle
+
"
.css
"
,
"
vditorHljsStyle
"
);
function
e
(){
hljs
.
initHighlighting
.
called
=!
1
,
hljs
.
initHighlighting
()}
Label
.
markedAvailable
||
(
"
undefined
"
==
typeof
hljs
?
$
.
ajax
({
url
:
"
https://cdn.jsdelivr.net/npm/vditor@1.3.5/dist/js/highlight.js@9.15.6/highlight.pack.js
"
,
dataType
:
"
script
"
,
cache
:
!
0
,
success
:
function
(){
e
()}}):
e
())}},
parseMarkdown
:
function
(){
var
e
=
$
(
"
.vditor-reset
"
).
text
();(
0
!==
$
(
"
.vditor-reset pre > code
"
).
length
||
2
<
e
.
split
(
"
$
"
).
length
||
1
<
e
.
split
(
"
\\
(
"
).
length
&&
1
<
e
.
split
(
"
\\
)
"
).
length
)
&&
(
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@1.3.5/dist/index.min.js
"
,
"
vditorScript
"
),
Vditor
.
mermaidRender
(
document
.
body
),
Vditor
.
mathRender
(
document
.
body
),
Vditor
.
codeRender
(
document
.
body
,
Label
.
langLabel
))},
killIE
:
function
(
e
){
var
t
=
navigator
.
userAgent
.
split
(
"
MSIE
"
)[
1
];
t
&&
(
e
||
(
e
=
7
),
parseFloat
(
t
.
split
(
"
;
"
))
<=
e
&&
function
(){
if
(
""
===
Cookie
.
readCookie
(
"
showKill
"
))
try
{
var
t
=
"
<div style='display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110'></div><iframe style='left:
"
+
(
$
(
window
).
width
()
-
781
)
/
2
+
"
px;z-index:120;top:
"
+
(
$
(
window
).
height
()
-
680
)
/
2
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
t
)}
catch
(
e
){
t
=
"
<div style='display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110'></div><iframe style='left:10px;z-index:120;top: 0px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
,
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
t
}}())},
replaceEmString
:
function
(
e
){
var
t
=
e
.
split
(
"
[em
"
);
if
(
1
===
t
.
length
)
return
e
;
e
=
t
[
0
];
for
(
var
i
=
1
;
i
<
t
.
length
;
i
++
){
var
n
=
t
[
i
].
substr
(
0
,
2
);
e
+=
"
<img width='20' src='
"
+
Label
.
staticServePath
+
"
/images/emotions/em
"
+
n
+
"
.png' alt='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
'/>
"
+
t
[
i
].
substr
(
3
)}
return
e
},
switchMobile
:
function
(
e
){
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
e
,
365
),
setTimeout
(
function
(){
location
.
reload
()},
1250
)},
setTopBar
:
function
(){
var
e
=
$
(
"
#top
"
);
if
(
1
===
e
.
length
){
var
t
=
$
(
"
#showTop
"
);
t
.
click
(
function
(){
e
.
slideDown
(),
t
.
hide
()}),
$
(
"
#hideTop
"
).
click
(
function
(){
e
.
slideUp
(),
t
.
show
()})}},
goTop
:
function
(){
$
(
"
html, body
"
).
animate
({
scrollTop
:
0
},
800
)},
goBottom
:
function
(
e
){
e
||
(
e
=
0
),
$
(
"
html, body
"
).
animate
({
scrollTop
:
$
(
document
).
height
()
-
$
(
window
).
height
()
-
e
},
800
)},
init
:
function
(){
Util
.
killIE
(),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
Util
.
initSW
(),
Util
.
previewImg
(),
Util
.
initDebugInfo
()},
initDebugInfo
:
function
(){
console
.
log
(
"
%cSolo%c
\n
🎸一款小而美的博客系统,专为程序员设计。
"
+
Label
.
version
+
"
©
"
+
(
new
Date
).
getFullYear
(),
"
font-size:96px;color:#3b3e43
"
,
"
font-size:12px;color:rgba(0,0,0,0.38);
"
)},
initSW
:
function
(){
navigator
.
serviceWorker
&&
navigator
.
serviceWorker
.
register
(
"
/sw.js
"
,{
scope
:
"
/
"
})},
replaceSideEm
:
function
(
e
){
for
(
var
t
=
0
;
t
<
e
.
length
;
t
++
){
var
i
=
$
(
e
[
t
]);
i
.
html
(
Util
.
replaceEmString
(
i
.
html
()))}},
buildTags
:
function
(
e
){
e
=
e
||
"
tags
"
;
for
(
var
t
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
i
=
$
(
"
#
"
+
e
+
"
b
"
).
get
(),
n
=
parseInt
(
$
(
"
#
"
+
e
+
"
b
"
).
last
().
text
()),
o
=
Math
.
ceil
(
n
/
t
.
length
),
r
=
0
;
r
<
i
.
length
;
r
++
)
for
(
var
a
=
parseInt
(
i
[
r
].
innerHTML
),
s
=
0
;
s
<
t
.
length
;
s
++
)
if
(
s
*
o
<
a
&&
a
<=
(
s
+
1
)
*
o
){
i
[
r
].
parentNode
.
className
=
t
[
s
];
break
}
$
(
"
#
"
+
e
).
html
(
$
(
"
#
"
+
e
+
"
li
"
).
get
().
sort
(
function
(
e
,
t
){
var
i
=
$
(
e
).
find
(
"
span
"
).
text
().
toLowerCase
(),
n
=
$
(
t
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
i
.
localeCompare
(
n
)}))},
toDate
:
function
(
e
,
t
){
var
i
=
new
Date
(
e
),
n
=
{
"
M+
"
:
i
.
getMonth
()
+
1
,
"
d+
"
:
i
.
getDate
(),
"
H+
"
:
i
.
getHours
(),
"
m+
"
:
i
.
getMinutes
(),
"
s+
"
:
i
.
getSeconds
(),
"
q+
"
:
Math
.
floor
((
i
.
getMonth
()
+
3
)
/
3
),
S
:
i
.
getMilliseconds
()};
for
(
var
o
in
/
(
y+
)
/
.
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,(
i
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
))),
n
)
new
RegExp
(
"
(
"
+
o
+
"
)
"
).
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,
1
==
RegExp
.
$1
.
length
?
n
[
o
]:(
"
00
"
+
n
[
o
]).
substr
((
""
+
n
[
o
]).
length
)));
return
t
}};
if
(
!
Cookie
)
var
Cookie
=
{
readCookie
:
function
(
e
){
for
(
var
t
=
e
+
"
=
"
,
i
=
document
.
cookie
.
split
(
"
;
"
),
n
=
0
;
n
<
i
.
length
;
n
++
){
for
(
var
o
=
i
[
n
];
"
"
==
o
.
charAt
(
0
);)
o
=
o
.
substring
(
1
,
o
.
length
);
if
(
0
==
o
.
indexOf
(
t
))
return
decodeURIComponent
(
o
.
substring
(
t
.
length
,
o
.
length
))}
return
""
},
eraseCookie
:
function
(
e
){
this
.
createCookie
(
e
,
""
,
-
1
)},
createCookie
:
function
(
e
,
t
,
i
){
var
n
=
""
;
if
(
i
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
24
*
i
*
60
*
60
*
1
e3
),
n
=
"
; expires=
"
+
o
.
toGMTString
()}
document
.
cookie
=
e
+
"
=
"
+
encodeURIComponent
(
t
)
+
n
+
"
; path=/
"
}};
\ No newline at end of file
src/main/webapp/js/page.js
View file @
d51a1fa4
...
...
@@ -113,7 +113,7 @@ $.extend(Page.prototype, {
if
(
!
$
(
'
#soloEditorComment
'
).
hasClass
(
'
vditor
'
))
{
var
that
=
this
Util
.
addScript
(
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
3
/dist/index.min.js
'
,
'
vditorScript
'
)
Util
.
addScript
(
'
https://cdn.jsdelivr.net/npm/vditor@1.3.
5
/dist/index.min.js
'
,
'
vditorScript
'
)
window
.
vditor
=
new
Vditor
(
'
soloEditorComment
'
,
{
placeholder
:
that
.
tips
.
commentContentCannotEmptyLabel
,
height
:
180
,
...
...
src/main/webapp/js/page.min.js
View file @
d51a1fa4
var
Page
=
function
(
t
){
this
.
currentCommentId
=
""
,
this
.
tips
=
t
};
$
.
extend
(
Page
.
prototype
,{
share
:
function
(){
var
t
=
$
(
"
.article__share
"
);
if
(
0
!==
t
.
length
){
var
e
=
t
.
find
(
"
.item__qr
"
),
o
=
t
.
data
(
"
url
"
),
i
=
t
.
data
(
"
avatar
"
),
n
=
encodeURIComponent
(
t
.
data
(
"
title
"
)
+
"
-
"
+
t
.
data
(
"
blogtitle
"
)),
r
=
encodeURIComponent
(
o
),
a
=
{};
a
.
tencent
=
"
http://share.v.t.qq.com/index.php?c=share&a=index&title=
"
+
n
+
"
&url=
"
+
r
+
"
&pic=
"
+
i
,
a
.
weibo
=
"
http://v.t.sina.com.cn/share/share.php?title=
"
+
n
+
"
&url=
"
+
r
+
"
&pic=
"
+
i
,
a
.
qqz
=
"
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=
"
+
r
+
"
&sharesource=qzone&title=
"
+
n
+
"
&pics=
"
+
i
,
a
.
twitter
=
"
https://twitter.com/intent/tweet?status=
"
+
n
+
"
"
+
r
,
t
.
find
(
"
span
"
).
click
(
function
(){
var
t
=
$
(
this
).
data
(
"
type
"
);
if
(
t
)
return
"
wechat
"
===
t
?(
0
===
e
.
find
(
"
canvas
"
).
length
?(
Util
.
addScript
(
Label
.
staticServePath
+
"
/js/lib/jquery.qrcode.min.js
"
,
"
qrcodeScript
"
),
e
.
qrcode
({
width
:
128
,
height
:
128
,
text
:
o
})):
e
.
slideToggle
(),
!
1
):
void
window
.
open
(
a
[
t
],
"
_blank
"
,
"
top=100,left=200,width=648,height=618
"
)})}},
replaceCommentsEm
:
function
(
t
){
for
(
var
e
=
$
(
t
),
o
=
0
;
o
<
e
.
length
;
o
++
){
var
i
=
e
[
o
].
innerHTML
;
e
[
o
].
innerHTML
=
Util
.
replaceEmString
(
i
)}},
load
:
function
(){
var
t
=
this
;
$
(
"
#comment
"
).
click
(
function
(){
t
.
toggleEditor
()}).
attr
(
"
readonly
"
,
"
readonly
"
),
$
(
"
#soloEditorCancel
"
).
click
(
function
(){
t
.
toggleEditor
()}),
$
(
"
#soloEditorAdd
"
).
click
(
function
(){
t
.
submitComment
()})},
toggleEditor
:
function
(
t
,
e
){
var
o
=
$
(
"
#soloEditor
"
);
if
(
0
!==
o
.
length
){
if
(
!
$
(
"
#soloEditorComment
"
).
hasClass
(
"
vditor
"
)){
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@1.3.3/dist/index.min.js
"
,
"
vditorScript
"
),
window
.
vditor
=
new
Vditor
(
"
soloEditorComment
"
,{
placeholder
:
this
.
tips
.
commentContentCannotEmptyLabel
,
height
:
180
,
tab
:
"
\t
"
,
hint
:{
emojiPath
:
Label
.
staticServePath
+
"
/js/lib/emojify.js-1.1.0/images/basic
"
},
esc
:
function
(){
$
(
"
#soloEditorCancel
"
).
click
()},
ctrlEnter
:
function
(){
$
(
"
#soloEditorAdd
"
).
click
()},
preview
:{
delay
:
500
,
show
:
!
1
,
url
:
Label
.
servePath
+
"
/console/markdown/2html
"
,
hljs
:{
enable
:
!
0
,
style
:
Label
.
hljsStyle
},
parse
:
function
(
t
){
"
none
"
!==
t
.
style
.
display
&&
Util
.
parseLanguage
()}},
counter
:
500
,
resize
:{
enable
:
!
0
,
position
:
"
top
"
,
after
:
function
(){
$
(
"
body
"
).
css
(
"
padding-bottom
"
,
$
(
"
#soloEditor
"
).
outerHeight
())}},
lang
:
Label
.
langLabel
,
toolbar
:[
"
emoji
"
,
"
headings
"
,
"
bold
"
,
"
italic
"
,
"
strike
"
,
"
|
"
,
"
line
"
,
"
quote
"
,
"
|
"
,
"
list
"
,
"
ordered-list
"
,
"
check
"
,
"
|
"
,
"
code
"
,
"
inline-code
"
,
"
|
"
,
"
undo
"
,
"
redo
"
,
"
|
"
,
"
link
"
,
"
table
"
,
"
|
"
,
"
preview
"
,
"
fullscreen
"
,
"
info
"
,
"
help
"
]}),
vditor
.
focus
()}
"
0px
"
===
$
(
"
body
"
).
css
(
"
padding-bottom
"
)
||
t
?(
$
(
"
#soloEditorError
"
).
text
(
""
),
o
.
css
({
bottom
:
"
0
"
,
opacity
:
1
}),
$
(
"
body
"
).
css
(
"
padding-bottom
"
,
"
238px
"
),
this
.
currentCommentId
=
t
,
$
(
"
#soloEditorReplyTarget
"
).
text
(
e
?
"
@
"
+
e
:
""
),
"
undefined
"
!=
typeof
vditor
&&
vditor
.
focus
()):(
o
.
css
({
bottom
:
"
-300px
"
,
opacity
:
0
}),
$
(
"
body
"
).
css
(
"
padding-bottom
"
,
0
))}
else
location
.
href
=
Label
.
servePath
+
"
/start
"
},
loadRandomArticles
:
function
(
s
){
var
c
=
this
.
tips
.
randomArticles1Label
;
$
.
ajax
({
url
:
Label
.
servePath
+
"
/articles/random
"
,
type
:
"
POST
"
,
success
:
function
(
t
,
e
){
var
o
=
t
.
randomArticles
;
if
(
o
&&
0
!==
o
.
length
){
for
(
var
i
=
""
,
n
=
0
;
n
<
o
.
length
;
n
++
){
var
r
=
o
[
n
],
a
=
r
.
articleTitle
;
i
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' href='
"
+
Label
.
servePath
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
l
=
(
s
||
"
<h4>
"
+
c
+
"
</h4>
"
)
+
"
<ul>
"
+
i
+
"
</ul>
"
;
$
(
"
#randomArticles
"
).
append
(
l
)}
else
$
(
"
#randomArticles
"
).
remove
()}})},
loadRelevantArticles
:
function
(
t
,
s
){
$
.
ajax
({
url
:
Label
.
servePath
+
"
/article/id/
"
+
t
+
"
/relevant/articles
"
,
type
:
"
GET
"
,
success
:
function
(
t
,
e
){
var
o
=
t
.
relevantArticles
;
if
(
o
&&
0
!==
o
.
length
){
for
(
var
i
=
""
,
n
=
0
;
n
<
o
.
length
;
n
++
){
var
r
=
o
[
n
],
a
=
r
.
articleTitle
;
i
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' href='
"
+
Label
.
servePath
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
l
=
s
+
"
<ul>
"
+
i
+
"
</ul>
"
;
$
(
"
#relevantArticles
"
).
append
(
l
)}
else
$
(
"
#relevantArticles
"
).
remove
()},
error
:
function
(){
$
(
"
#relevantArticles
"
).
remove
()}})},
loadExternalRelevantArticles
:
function
(
t
,
s
){
var
c
=
this
.
tips
;
try
{
$
.
ajax
({
url
:
"
https://rhythm.b3log.org/get-articles-by-tags.do?tags=
"
+
t
+
"
&blogHost=
"
+
c
.
blogHost
+
"
&paginationPageSize=
"
+
c
.
externalRelevantArticlesDisplayCount
,
type
:
"
GET
"
,
cache
:
!
0
,
dataType
:
"
jsonp
"
,
error
:
function
(){
$
(
"
#externalRelevantArticles
"
).
remove
()},
success
:
function
(
t
,
e
){
var
o
=
t
.
articles
;
if
(
o
&&
0
!==
o
.
length
){
for
(
var
i
=
""
,
n
=
0
;
n
<
o
.
length
;
n
++
){
var
r
=
o
[
n
],
a
=
r
.
articleTitle
;
i
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' target='_blank' href='
"
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
l
=
(
s
||
"
<h4>
"
+
c
.
externalRelevantArticles1Label
+
"
</h4>
"
)
+
"
<ul>
"
+
i
+
"
</ul>
"
;
$
(
"
#externalRelevantArticles
"
).
append
(
l
)}
else
$
(
"
#externalRelevantArticles
"
).
remove
()}})}
catch
(
t
){}},
submitComment
:
function
(){
var
e
=
this
,
t
=
this
.
tips
;
if
(
1
<
vditor
.
getValue
().
length
&&
vditor
.
getValue
().
length
<
500
){
$
(
"
#soloEditorAdd
"
).
attr
(
"
disabled
"
,
"
disabled
"
);
var
o
=
{
oId
:
t
.
oId
,
commentContent
:
vditor
.
getValue
()};
this
.
currentCommentId
&&
(
o
.
commentOriginalCommentId
=
this
.
currentCommentId
),
$
.
ajax
({
type
:
"
POST
"
,
url
:
Label
.
servePath
+
"
/article/comments
"
,
cache
:
!
1
,
contentType
:
"
application/json
"
,
data
:
JSON
.
stringify
(
o
),
success
:
function
(
t
){
$
(
"
#soloEditorAdd
"
).
removeAttr
(
"
disabled
"
),
t
.
sc
?(
e
.
toggleEditor
(),
vditor
.
setValue
(
""
),
e
.
addCommentAjax
(
Util
.
replaceEmString
(
t
.
cmtTpl
))):
$
(
"
#soloEditorError
"
).
html
(
t
.
msg
)}})}
else
$
(
"
#soloEditorError
"
).
text
(
e
.
tips
.
commentContentCannotEmptyLabel
)},
addReplyForm
:
function
(
t
,
e
){
this
.
currentCommentId
=
t
,
this
.
toggleEditor
(
t
,
e
)},
hideComment
:
function
(
t
){
$
(
"
#commentRef
"
+
t
).
hide
()},
showComment
:
function
(
t
,
e
,
o
,
i
){
var
n
=
parseInt
(
$
(
t
).
position
().
top
);
if
(
i
&&
(
n
=
parseInt
(
$
(
t
).
parents
(
i
).
position
().
top
)),
0
<
$
(
"
#commentRef
"
+
e
).
length
)
$
(
"
#commentRef
"
+
e
).
show
().
css
(
"
top
"
,
n
+
o
+
"
px
"
);
else
{
var
r
=
$
(
"
#
"
+
e
).
clone
();
r
.
addClass
(
"
comment-body-ref
"
).
attr
(
"
id
"
,
"
commentRef
"
+
e
),
r
.
find
(
"
#replyForm
"
).
remove
(),
$
(
"
#comments
"
).
append
(
r
),
$
(
"
#commentRef
"
+
e
).
css
(
"
top
"
,
n
+
o
+
"
px
"
)}},
addCommentAjax
:
function
(
t
){
0
<
$
(
"
#comments
"
).
children
().
length
?
$
(
$
(
"
#comments
"
).
children
()[
0
]).
before
(
t
):
$
(
"
#comments
"
).
html
(
t
),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
window
.
location
.
hash
=
"
#comments
"
}});
\ No newline at end of file
var
Page
=
function
(
t
){
this
.
currentCommentId
=
""
,
this
.
tips
=
t
};
$
.
extend
(
Page
.
prototype
,{
share
:
function
(){
var
t
=
$
(
"
.article__share
"
);
if
(
0
!==
t
.
length
){
var
e
=
t
.
find
(
"
.item__qr
"
),
o
=
t
.
data
(
"
url
"
),
i
=
t
.
data
(
"
avatar
"
),
n
=
encodeURIComponent
(
t
.
data
(
"
title
"
)
+
"
-
"
+
t
.
data
(
"
blogtitle
"
)),
r
=
encodeURIComponent
(
o
),
a
=
{};
a
.
tencent
=
"
http://share.v.t.qq.com/index.php?c=share&a=index&title=
"
+
n
+
"
&url=
"
+
r
+
"
&pic=
"
+
i
,
a
.
weibo
=
"
http://v.t.sina.com.cn/share/share.php?title=
"
+
n
+
"
&url=
"
+
r
+
"
&pic=
"
+
i
,
a
.
qqz
=
"
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=
"
+
r
+
"
&sharesource=qzone&title=
"
+
n
+
"
&pics=
"
+
i
,
a
.
twitter
=
"
https://twitter.com/intent/tweet?status=
"
+
n
+
"
"
+
r
,
t
.
find
(
"
span
"
).
click
(
function
(){
var
t
=
$
(
this
).
data
(
"
type
"
);
if
(
t
)
return
"
wechat
"
===
t
?(
0
===
e
.
find
(
"
canvas
"
).
length
?(
Util
.
addScript
(
Label
.
staticServePath
+
"
/js/lib/jquery.qrcode.min.js
"
,
"
qrcodeScript
"
),
e
.
qrcode
({
width
:
128
,
height
:
128
,
text
:
o
})):
e
.
slideToggle
(),
!
1
):
void
window
.
open
(
a
[
t
],
"
_blank
"
,
"
top=100,left=200,width=648,height=618
"
)})}},
replaceCommentsEm
:
function
(
t
){
for
(
var
e
=
$
(
t
),
o
=
0
;
o
<
e
.
length
;
o
++
){
var
i
=
e
[
o
].
innerHTML
;
e
[
o
].
innerHTML
=
Util
.
replaceEmString
(
i
)}},
load
:
function
(){
var
t
=
this
;
$
(
"
#comment
"
).
click
(
function
(){
t
.
toggleEditor
()}).
attr
(
"
readonly
"
,
"
readonly
"
),
$
(
"
#soloEditorCancel
"
).
click
(
function
(){
t
.
toggleEditor
()}),
$
(
"
#soloEditorAdd
"
).
click
(
function
(){
t
.
submitComment
()})},
toggleEditor
:
function
(
t
,
e
){
var
o
=
$
(
"
#soloEditor
"
);
if
(
0
!==
o
.
length
){
if
(
!
$
(
"
#soloEditorComment
"
).
hasClass
(
"
vditor
"
)){
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@1.3.5/dist/index.min.js
"
,
"
vditorScript
"
),
window
.
vditor
=
new
Vditor
(
"
soloEditorComment
"
,{
placeholder
:
this
.
tips
.
commentContentCannotEmptyLabel
,
height
:
180
,
tab
:
"
\t
"
,
hint
:{
emojiPath
:
Label
.
staticServePath
+
"
/js/lib/emojify.js-1.1.0/images/basic
"
},
esc
:
function
(){
$
(
"
#soloEditorCancel
"
).
click
()},
ctrlEnter
:
function
(){
$
(
"
#soloEditorAdd
"
).
click
()},
preview
:{
delay
:
500
,
show
:
!
1
,
url
:
Label
.
servePath
+
"
/console/markdown/2html
"
,
hljs
:{
enable
:
!
0
,
style
:
Label
.
hljsStyle
},
parse
:
function
(
t
){
"
none
"
!==
t
.
style
.
display
&&
Util
.
parseLanguage
()}},
counter
:
500
,
resize
:{
enable
:
!
0
,
position
:
"
top
"
,
after
:
function
(){
$
(
"
body
"
).
css
(
"
padding-bottom
"
,
$
(
"
#soloEditor
"
).
outerHeight
())}},
lang
:
Label
.
langLabel
,
toolbar
:[
"
emoji
"
,
"
headings
"
,
"
bold
"
,
"
italic
"
,
"
strike
"
,
"
|
"
,
"
line
"
,
"
quote
"
,
"
|
"
,
"
list
"
,
"
ordered-list
"
,
"
check
"
,
"
|
"
,
"
code
"
,
"
inline-code
"
,
"
|
"
,
"
undo
"
,
"
redo
"
,
"
|
"
,
"
link
"
,
"
table
"
,
"
|
"
,
"
preview
"
,
"
fullscreen
"
,
"
info
"
,
"
help
"
]}),
vditor
.
focus
()}
"
0px
"
===
$
(
"
body
"
).
css
(
"
padding-bottom
"
)
||
t
?(
$
(
"
#soloEditorError
"
).
text
(
""
),
o
.
css
({
bottom
:
"
0
"
,
opacity
:
1
}),
$
(
"
body
"
).
css
(
"
padding-bottom
"
,
"
238px
"
),
this
.
currentCommentId
=
t
,
$
(
"
#soloEditorReplyTarget
"
).
text
(
e
?
"
@
"
+
e
:
""
),
"
undefined
"
!=
typeof
vditor
&&
vditor
.
focus
()):(
o
.
css
({
bottom
:
"
-300px
"
,
opacity
:
0
}),
$
(
"
body
"
).
css
(
"
padding-bottom
"
,
0
))}
else
location
.
href
=
Label
.
servePath
+
"
/start
"
},
loadRandomArticles
:
function
(
s
){
var
c
=
this
.
tips
.
randomArticles1Label
;
$
.
ajax
({
url
:
Label
.
servePath
+
"
/articles/random
"
,
type
:
"
POST
"
,
success
:
function
(
t
,
e
){
var
o
=
t
.
randomArticles
;
if
(
o
&&
0
!==
o
.
length
){
for
(
var
i
=
""
,
n
=
0
;
n
<
o
.
length
;
n
++
){
var
r
=
o
[
n
],
a
=
r
.
articleTitle
;
i
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' href='
"
+
Label
.
servePath
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
l
=
(
s
||
"
<h4>
"
+
c
+
"
</h4>
"
)
+
"
<ul>
"
+
i
+
"
</ul>
"
;
$
(
"
#randomArticles
"
).
append
(
l
)}
else
$
(
"
#randomArticles
"
).
remove
()}})},
loadRelevantArticles
:
function
(
t
,
s
){
$
.
ajax
({
url
:
Label
.
servePath
+
"
/article/id/
"
+
t
+
"
/relevant/articles
"
,
type
:
"
GET
"
,
success
:
function
(
t
,
e
){
var
o
=
t
.
relevantArticles
;
if
(
o
&&
0
!==
o
.
length
){
for
(
var
i
=
""
,
n
=
0
;
n
<
o
.
length
;
n
++
){
var
r
=
o
[
n
],
a
=
r
.
articleTitle
;
i
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' href='
"
+
Label
.
servePath
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
l
=
s
+
"
<ul>
"
+
i
+
"
</ul>
"
;
$
(
"
#relevantArticles
"
).
append
(
l
)}
else
$
(
"
#relevantArticles
"
).
remove
()},
error
:
function
(){
$
(
"
#relevantArticles
"
).
remove
()}})},
loadExternalRelevantArticles
:
function
(
t
,
s
){
var
c
=
this
.
tips
;
try
{
$
.
ajax
({
url
:
"
https://rhythm.b3log.org/get-articles-by-tags.do?tags=
"
+
t
+
"
&blogHost=
"
+
c
.
blogHost
+
"
&paginationPageSize=
"
+
c
.
externalRelevantArticlesDisplayCount
,
type
:
"
GET
"
,
cache
:
!
0
,
dataType
:
"
jsonp
"
,
error
:
function
(){
$
(
"
#externalRelevantArticles
"
).
remove
()},
success
:
function
(
t
,
e
){
var
o
=
t
.
articles
;
if
(
o
&&
0
!==
o
.
length
){
for
(
var
i
=
""
,
n
=
0
;
n
<
o
.
length
;
n
++
){
var
r
=
o
[
n
],
a
=
r
.
articleTitle
;
i
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' target='_blank' href='
"
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
l
=
(
s
||
"
<h4>
"
+
c
.
externalRelevantArticles1Label
+
"
</h4>
"
)
+
"
<ul>
"
+
i
+
"
</ul>
"
;
$
(
"
#externalRelevantArticles
"
).
append
(
l
)}
else
$
(
"
#externalRelevantArticles
"
).
remove
()}})}
catch
(
t
){}},
submitComment
:
function
(){
var
e
=
this
,
t
=
this
.
tips
;
if
(
1
<
vditor
.
getValue
().
length
&&
vditor
.
getValue
().
length
<
500
){
$
(
"
#soloEditorAdd
"
).
attr
(
"
disabled
"
,
"
disabled
"
);
var
o
=
{
oId
:
t
.
oId
,
commentContent
:
vditor
.
getValue
()};
this
.
currentCommentId
&&
(
o
.
commentOriginalCommentId
=
this
.
currentCommentId
),
$
.
ajax
({
type
:
"
POST
"
,
url
:
Label
.
servePath
+
"
/article/comments
"
,
cache
:
!
1
,
contentType
:
"
application/json
"
,
data
:
JSON
.
stringify
(
o
),
success
:
function
(
t
){
$
(
"
#soloEditorAdd
"
).
removeAttr
(
"
disabled
"
),
t
.
sc
?(
e
.
toggleEditor
(),
vditor
.
setValue
(
""
),
e
.
addCommentAjax
(
Util
.
replaceEmString
(
t
.
cmtTpl
))):
$
(
"
#soloEditorError
"
).
html
(
t
.
msg
)}})}
else
$
(
"
#soloEditorError
"
).
text
(
e
.
tips
.
commentContentCannotEmptyLabel
)},
addReplyForm
:
function
(
t
,
e
){
this
.
currentCommentId
=
t
,
this
.
toggleEditor
(
t
,
e
)},
hideComment
:
function
(
t
){
$
(
"
#commentRef
"
+
t
).
hide
()},
showComment
:
function
(
t
,
e
,
o
,
i
){
var
n
=
parseInt
(
$
(
t
).
position
().
top
);
if
(
i
&&
(
n
=
parseInt
(
$
(
t
).
parents
(
i
).
position
().
top
)),
0
<
$
(
"
#commentRef
"
+
e
).
length
)
$
(
"
#commentRef
"
+
e
).
show
().
css
(
"
top
"
,
n
+
o
+
"
px
"
);
else
{
var
r
=
$
(
"
#
"
+
e
).
clone
();
r
.
addClass
(
"
comment-body-ref
"
).
attr
(
"
id
"
,
"
commentRef
"
+
e
),
r
.
find
(
"
#replyForm
"
).
remove
(),
$
(
"
#comments
"
).
append
(
r
),
$
(
"
#commentRef
"
+
e
).
css
(
"
top
"
,
n
+
o
+
"
px
"
)}},
addCommentAjax
:
function
(
t
){
0
<
$
(
"
#comments
"
).
children
().
length
?
$
(
$
(
"
#comments
"
).
children
()[
0
]).
before
(
t
):
$
(
"
#comments
"
).
html
(
t
),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
window
.
location
.
hash
=
"
#comments
"
}});
\ No newline at end of file
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