From 9e44b105811e18db52b26cb0ad04fe0d1e99e493 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BB=93=E5=8F=91=E5=8F=97=E9=95=BF=E7=94=9F?=
Date: Thu, 28 Jun 2018 17:16:52 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8D=A2=E7=94=A8valine=E8=AF=84=E8=AE=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
themes/yilia/_config.yml | 8 +-
themes/yilia/layout/_partial/after-footer.ejs | 2 +-
themes/yilia/layout/_partial/article.ejs | 9 +-
themes/yilia/layout/_partial/script.ejs | 5 +-
themes/yilia/package-lock.json | 345 +++++++++++++++---
themes/yilia/package.json | 3 +-
themes/yilia/source-src/config/comment.json | 25 ++
themes/yilia/source-src/js/comment.js | 16 +
themes/yilia/source-src/js/slider.js | 2 +-
themes/yilia/source-src/lib/Valine.min.js | 6 +
themes/yilia/source-src/lib/Valine.min.js.bak | 6 +
.../yilia/source-src/{js => lib/vue}/vue.js | 0
.../source-src/{js => lib/vue}/vue.min.js | 0
.../source/js/comment.62251492e636f41e00f2.js | 26 ++
...f2ae00.js => main.47daecb9041cfca058ea.js} | 4 +-
.../source/js/mobile.97141e5b049f95a96735.js | 1 +
.../source/js/mobile.cfb38e2874478d984279.js | 1 -
...5ae0.js => slider.ef2aa12e396cdf8555f9.js} | 6 +-
themes/yilia/webpack.config.js | 3 +-
19 files changed, 404 insertions(+), 64 deletions(-)
create mode 100644 themes/yilia/source-src/config/comment.json
create mode 100644 themes/yilia/source-src/js/comment.js
create mode 100644 themes/yilia/source-src/lib/Valine.min.js
create mode 100644 themes/yilia/source-src/lib/Valine.min.js.bak
rename themes/yilia/source-src/{js => lib/vue}/vue.js (100%)
rename themes/yilia/source-src/{js => lib/vue}/vue.min.js (100%)
create mode 100644 themes/yilia/source/js/comment.62251492e636f41e00f2.js
rename themes/yilia/source/js/{main.34802c21ea4824f2ae00.js => main.47daecb9041cfca058ea.js} (71%)
create mode 100644 themes/yilia/source/js/mobile.97141e5b049f95a96735.js
delete mode 100644 themes/yilia/source/js/mobile.cfb38e2874478d984279.js
rename themes/yilia/source/js/{slider.f9a33fdc5a046f675ae0.js => slider.ef2aa12e396cdf8555f9.js} (68%)
diff --git a/themes/yilia/_config.yml b/themes/yilia/_config.yml
index 46aa345..f2cd81a 100644
--- a/themes/yilia/_config.yml
+++ b/themes/yilia/_config.yml
@@ -81,7 +81,7 @@ disqus: false
#3、gitalk
gitalk:
- enable: true
+ enable: false
ClientID: 90e8f648da2a669f7975
ClientSecret: 7d2b602616387748ef0df10f7a8a626bdfd1034c
repo: hexo_blog
@@ -89,6 +89,12 @@ gitalk:
adminUser: sookie2010
distractionFreeMode: false
+#4、Valine
+valine:
+ enable: true
+ appId: 40jq6uO51rpVT4PEEcayYkda-gzGzoHsz
+ appKey: nBOoOEDP4EBUfgpSJAF6idKi
+
# 样式定制 - 一般不需要修改,除非有很强的定制欲望…
style:
# 头像上面的背景颜色
diff --git a/themes/yilia/layout/_partial/after-footer.ejs b/themes/yilia/layout/_partial/after-footer.ejs
index 39edf54..6b77468 100644
--- a/themes/yilia/layout/_partial/after-footer.ejs
+++ b/themes/yilia/layout/_partial/after-footer.ejs
@@ -25,7 +25,7 @@ new Gitalk({
admin: ['<%=theme.gitalk.adminUser%>'],
id: decodeURI(location.pathname),
distractionFreeMode: <%=theme.gitalk.distractionFreeMode%>
-}).render('gittalk-container')
+}).render('comments')
})(Gitalk)
<% } %>
\ No newline at end of file
diff --git a/themes/yilia/layout/_partial/article.ejs b/themes/yilia/layout/_partial/article.ejs
index 63aa5a0..2b83670 100644
--- a/themes/yilia/layout/_partial/article.ejs
+++ b/themes/yilia/layout/_partial/article.ejs
@@ -99,9 +99,8 @@
+ <% }
+ if(theme.gitalk.enable || theme.valine.enable){ %>
+
<% } %>
-
- <% if(theme.gitalk.enable){ %>
-
- <% } %>
-<% } %>
+<% } %>
\ No newline at end of file
diff --git a/themes/yilia/layout/_partial/script.ejs b/themes/yilia/layout/_partial/script.ejs
index 9daf438..933c2b2 100644
--- a/themes/yilia/layout/_partial/script.ejs
+++ b/themes/yilia/layout/_partial/script.ejs
@@ -1 +1,4 @@
-<%- js('js/mobile.cfb38e2874478d984279.js') %> <%- js('js/slider.f9a33fdc5a046f675ae0.js') %> <%- js('js/main.34802c21ea4824f2ae00.js') %>
\ No newline at end of file
+<%- js('js/main.47daecb9041cfca058ea.js') %>
+<%- js('js/slider.ef2aa12e396cdf8555f9.js') %>
+<%- js('js/mobile.97141e5b049f95a96735.js') %>
+<%- js('js/comment.62251492e636f41e00f2.js') %>
\ No newline at end of file
diff --git a/themes/yilia/package-lock.json b/themes/yilia/package-lock.json
index 1485e12..404d4ae 100644
--- a/themes/yilia/package-lock.json
+++ b/themes/yilia/package-lock.json
@@ -192,6 +192,15 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
+ "ascli": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz",
+ "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=",
+ "requires": {
+ "colour": "0.7.1",
+ "optjs": "3.2.2"
+ }
+ },
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
@@ -268,11 +277,15 @@
"integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
"dev": true
},
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
+ },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
"version": "2.1.1",
@@ -1194,6 +1207,11 @@
}
}
},
+ "base64-arraybuffer": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
+ },
"base64-js": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
@@ -1418,6 +1436,14 @@
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
+ "bytebuffer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz",
+ "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=",
+ "requires": {
+ "long": "3.2.0"
+ }
+ },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -1448,8 +1474,7 @@
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
},
"camelcase-keys": {
"version": "2.1.0",
@@ -1507,6 +1532,11 @@
"supports-color": "2.0.0"
}
},
+ "charenc": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
+ "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
+ },
"chokidar": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz",
@@ -1591,7 +1621,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
"requires": {
"string-width": "1.0.2",
"strip-ansi": "3.0.1",
@@ -1634,8 +1663,7 @@
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"collection-visit": {
"version": "1.0.0",
@@ -1699,11 +1727,15 @@
"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
"dev": true
},
+ "colour": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
+ "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g="
+ },
"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true,
"requires": {
"delayed-stream": "1.0.0"
}
@@ -1722,8 +1754,7 @@
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
},
"concat-map": {
"version": "0.0.1",
@@ -1756,6 +1787,11 @@
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
"integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU="
},
+ "cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
+ "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
+ },
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@@ -1770,8 +1806,7 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
"version": "2.2.2",
@@ -1853,6 +1888,11 @@
"which": "1.3.1"
}
},
+ "crypt": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
+ "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
+ },
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
@@ -2059,8 +2099,7 @@
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
"decode-uri-component": {
"version": "0.2.0",
@@ -2118,8 +2157,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"delegates": {
"version": "1.0.0",
@@ -2429,6 +2467,11 @@
"es5-ext": "0.10.45"
}
},
+ "eventemitter3": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
+ "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
+ },
"events": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
@@ -2511,8 +2554,7 @@
"extend": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
- "dev": true
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
"extend-shallow": {
"version": "3.0.2",
@@ -2783,6 +2825,11 @@
"mime-types": "2.1.18"
}
},
+ "formidable": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz",
+ "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg=="
+ },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -2795,8 +2842,7 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "1.2.4",
@@ -3430,7 +3476,6 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
"requires": {
"fs.realpath": "1.0.0",
"inflight": "1.0.6",
@@ -3821,7 +3866,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
@@ -3830,8 +3874,7 @@
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"interpret": {
"version": "1.1.0",
@@ -3850,8 +3893,7 @@
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
},
"is-absolute-url": {
"version": "2.1.0",
@@ -3977,7 +4019,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
"requires": {
"number-is-nan": "1.0.1"
}
@@ -4125,6 +4166,11 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
+ "javascript-state-machine": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/javascript-state-machine/-/javascript-state-machine-2.4.0.tgz",
+ "integrity": "sha1-2L4x7DjySsGhgy8LZy/DzV95yW4="
+ },
"js-base64": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
@@ -4234,11 +4280,78 @@
"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"
}
},
+ "leancloud-realtime": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/leancloud-realtime/-/leancloud-realtime-4.1.0.tgz",
+ "integrity": "sha512-sW5dkV/Z7dSK8d8lz7AYhZ43uAeyJ92FgbzLlIimJca8sHtdMGGO0t07X27D9L704/7E5CifaPcPhREbdRoZQg==",
+ "requires": {
+ "axios": "0.18.0",
+ "babel-runtime": "6.26.0",
+ "base64-arraybuffer": "0.1.5",
+ "debug": "3.1.0",
+ "eventemitter3": "3.1.0",
+ "javascript-state-machine": "2.4.0",
+ "lodash": "4.17.10",
+ "protobufjs": "5.0.3",
+ "uuid": "3.2.1",
+ "ws": "4.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "eventemitter3": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
+ "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA=="
+ }
+ }
+ },
+ "leancloud-realtime-plugin-live-query": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/leancloud-realtime-plugin-live-query/-/leancloud-realtime-plugin-live-query-1.1.1.tgz",
+ "integrity": "sha512-XT3IiZ6He1U8AcAuwfVS8iFLRmlzqkJVNcG6bG+8BnbJ1FKe0HxG9poW/WwVxTe9Tlnhbsd9MeFzm/dkMBhfMw=="
+ },
+ "leancloud-storage": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/leancloud-storage/-/leancloud-storage-3.7.3.tgz",
+ "integrity": "sha512-MY9+c+669mmcscYPgh/FVt+lrjZiV95/BjspBFMV3GlqfcqT8l1U/Q1nzVnGQGeqhTRddMFCZkbIglUd1GwT1A==",
+ "requires": {
+ "debug": "3.1.0",
+ "es6-promise": "4.2.3",
+ "eventemitter3": "2.0.3",
+ "leancloud-realtime": "4.1.0",
+ "leancloud-realtime-plugin-live-query": "1.1.1",
+ "localstorage-memory": "1.0.2",
+ "md5": "2.2.1",
+ "superagent": "3.8.3",
+ "underscore": "1.9.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.3.tgz",
+ "integrity": "sha512-vLf5iali3jKqlJoo6SryDwe3nxCmiueNjbjLWDIpNbAcKnQXAsAdZk+pM17nSYp3AQMbTmAQVCQSeDLfA87SNA=="
+ }
+ }
+ },
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@@ -4276,6 +4389,11 @@
"json5": "0.5.1"
}
},
+ "localstorage-memory": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/localstorage-memory/-/localstorage-memory-1.0.2.tgz",
+ "integrity": "sha1-zUqPIQ5V3VGckp9LTMgoKbWPmlE="
+ },
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
@@ -4411,6 +4529,11 @@
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
"dev": true
},
+ "long": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
+ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
+ },
"longest": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
@@ -4486,6 +4609,16 @@
"integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
"dev": true
},
+ "md5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
+ "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
+ "requires": {
+ "charenc": "0.0.2",
+ "crypt": "0.0.2",
+ "is-buffer": "1.1.6"
+ }
+ },
"md5.js": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
@@ -4573,6 +4706,11 @@
}
}
},
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
@@ -4613,14 +4751,12 @@
"mime-db": {
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
- "dev": true
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
},
"mime-types": {
"version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "dev": true,
"requires": {
"mime-db": "1.33.0"
}
@@ -5035,11 +5171,15 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
"requires": {
"wrappy": "1.0.2"
}
},
+ "optjs": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
+ "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
+ },
"os-browserify": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
@@ -5055,7 +5195,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
"requires": {
"lcid": "1.0.0"
}
@@ -5928,8 +6067,39 @@
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "protobufjs": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz",
+ "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==",
+ "requires": {
+ "ascli": "1.0.1",
+ "bytebuffer": "5.0.1",
+ "glob": "7.1.2",
+ "yargs": "3.32.0"
+ },
+ "dependencies": {
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "requires": {
+ "camelcase": "2.1.1",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "os-locale": "1.4.0",
+ "string-width": "1.0.2",
+ "window-size": "0.1.4",
+ "y18n": "3.2.1"
+ }
+ }
+ }
},
"prr": {
"version": "1.0.1",
@@ -6361,8 +6531,7 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safe-regex": {
"version": "1.1.0",
@@ -6930,7 +7099,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
"requires": {
"code-point-at": "1.1.0",
"is-fullwidth-code-point": "1.0.0",
@@ -6991,6 +7159,80 @@
"schema-utils": "0.4.5"
}
},
+ "superagent": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+ "requires": {
+ "component-emitter": "1.2.1",
+ "cookiejar": "2.1.2",
+ "debug": "3.1.0",
+ "extend": "3.0.1",
+ "form-data": "2.3.2",
+ "formidable": "1.2.1",
+ "methods": "1.1.2",
+ "mime": "1.6.0",
+ "qs": "6.5.2",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "form-data": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "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==",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
@@ -7255,6 +7497,11 @@
}
}
},
+ "underscore": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
+ "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
+ },
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@@ -7433,8 +7680,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utila": {
"version": "0.4.0",
@@ -7445,8 +7691,7 @@
"uuid": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
- "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
- "dev": true
+ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA=="
},
"validate-npm-package-license": {
"version": "3.0.3",
@@ -7779,7 +8024,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
"requires": {
"string-width": "1.0.2",
"strip-ansi": "3.0.1"
@@ -7788,8 +8032,16 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "ws": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
+ "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
+ "requires": {
+ "async-limiter": "1.0.0",
+ "safe-buffer": "5.1.2"
+ }
},
"xtend": {
"version": "4.0.1",
@@ -7800,8 +8052,7 @@
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
},
"yallist": {
"version": "2.1.2",
diff --git a/themes/yilia/package.json b/themes/yilia/package.json
index a2df50d..654d767 100644
--- a/themes/yilia/package.json
+++ b/themes/yilia/package.json
@@ -44,7 +44,8 @@
"badjs-report": "^1.2.2",
"es6-promise": "^4.0.5",
"file-loader": "^0.9.0",
- "js-cookie": "^2.1.3"
+ "js-cookie": "^2.1.3",
+ "leancloud-storage": "^3.7.3"
},
"config": {
"commitizen": {
diff --git a/themes/yilia/source-src/config/comment.json b/themes/yilia/source-src/config/comment.json
new file mode 100644
index 0000000..081f15e
--- /dev/null
+++ b/themes/yilia/source-src/config/comment.json
@@ -0,0 +1,25 @@
+{
+ "gitalk": {
+ "enable": false,
+ "config": {
+ "ClientID": "90e8f648da2a669f7975",
+ "ClientSecret": "7d2b602616387748ef0df10f7a8a626bdfd1034c",
+ "repo": "hexo_blog",
+ "githubID": "sookie2010",
+ "adminUser": "sookie2010",
+ "distractionFreeMode": false
+ }
+ },
+ "valine": {
+ "enable": true,
+ "config": {
+ "el": "#comments",
+ "notify": false,
+ "verify": false,
+ "appId": "40jq6uO51rpVT4PEEcayYkda-gzGzoHsz",
+ "appKey": "nBOoOEDP4EBUfgpSJAF6idKi",
+ "placeholder": "ヾノ≧∀≦)o来啊,快活啊!",
+ "avatar": "mm"
+ }
+ }
+}
\ No newline at end of file
diff --git a/themes/yilia/source-src/js/comment.js b/themes/yilia/source-src/js/comment.js
new file mode 100644
index 0000000..42703ff
--- /dev/null
+++ b/themes/yilia/source-src/js/comment.js
@@ -0,0 +1,16 @@
+// const AV = require('leancloud-storage');
+window.AV = require('leancloud-storage');
+const Valine = require('../lib/Valine.min');
+/**
+ * Valine.min.js.bak文件, 是根据Valine项目源代码重新打包的
+ * 可以支持对于AV对象的传参输入, 而不需要暴露全局变量
+ * 但是缺少一些新功能
+ */
+// 评论配置
+const commentConfig = require("../config/comment.json");
+
+if(window.yiliaConfig.isPost && commentConfig.valine.enable) {
+ commentConfig.valine.config.path = window.location.pathname;
+ // commentConfig.valine.config.av = AV;
+ new Valine(commentConfig.valine.config);
+}
diff --git a/themes/yilia/source-src/js/slider.js b/themes/yilia/source-src/js/slider.js
index cb394e4..036683c 100644
--- a/themes/yilia/source-src/js/slider.js
+++ b/themes/yilia/source-src/js/slider.js
@@ -4,7 +4,7 @@ import Anm from './anm'
import Browser from './browser'
import axios from 'axios'
-import Vue from './vue.min'
+import Vue from '../lib/vue/vue.min'
const isMobile = (Browser.versions.mobile && window.screen.width < 800)
diff --git a/themes/yilia/source-src/lib/Valine.min.js b/themes/yilia/source-src/lib/Valine.min.js
new file mode 100644
index 0000000..5de06b8
--- /dev/null
+++ b/themes/yilia/source-src/lib/Valine.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Valine v1.1.9
+ * (c) 2017-2018 xCss
+ * Released under the GPL-2.0 License.
+ */
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Valine=t():e.Valine=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(e,t,n){"use strict";function r(e){var t=this;return!!e&&t.init(e),t}function i(e){return new r(e)}var o=n(3),a=n(5),s=n(6),l=n(4),c=n(2),u=n(1);s.setOptions({renderer:new s.Renderer,gfm:!0,tables:!0,breaks:!0,pedantic:!0,sanitize:!0,smartLists:!0,smartypants:!0});var d={comment:"",nick:"Anonymous",mail:"",link:"",ua:navigator.userAgent,url:""},p={"zh-cn":{head:{nick:"昵称",mail:"邮箱",link:"网址(http://)"},tips:{comments:"评论",sofa:"还没有评论哦,快来抢沙发吧~",busy:"还在提交中,请稍候...",again:"这么简单也能错,也是没谁了."},ctrl:{reply:"回复",ok:"好的",sure:"确认",cancel:"取消",confirm:"确认",continue:"继续",more:"查看更多...",try:"再试试?"},error:{99:"初始化失败,请检查init中的`el`元素.",100:"初始化失败,请检查你的AppId和AppKey.",401:"未经授权的操作,请检查你的AppId和AppKey.",403:"访问被api域名白名单拒绝,请检查你的安全域名设置."},timeago:{seconds:"秒前",minutes:"分钟前",hours:"小时前",days:"天前",now:"刚刚"}},en:{head:{nick:"NickName",mail:"E-Mail",link:"Website(http://)"},tips:{comments:"Comments",sofa:"No comments yet.",busy:"Submit is busy, please wait...",again:"Sorry, this is a wrong calculation."},ctrl:{reply:"Reply",ok:"Ok",sure:"Sure",cancel:"Cancel",confirm:"Confirm",continue:"Continue",more:"Load More...",try:"Once More?"},error:{99:"Initialization failed, Please check the `el` element in the init method.",100:"Initialization failed, Please check your appId and appKey.",401:"Unauthorized operation, Please check your appId and appKey.",403:"Access denied by api domain white list, Please check your security domain."},timeago:{seconds:"seconds ago",minutes:"minutes ago",hours:"hours ago",days:"days ago",now:"just now"}}},h={cdn:"https://gravatar.loli.net/avatar/",ds:["mm","identicon","monsterid","wavatar","retro",""],params:"",hide:!1},f=["nick","mail","link"],v=Storage&&localStorage&&localStorage instanceof Storage&&localStorage,g=location.pathname.replace(/index\.(html|htm)$/,"");r.prototype.init=function(e){var t=this;try{var n=e.lang||"",r=e.langMode||"",i=h.ds,a=e.avatar||"mm",s=e.avatar_cdn||"";n&&r&&t.installLocale(n,r),t.locale=t.locale||p[e.lang||"zh-cn"],t.notify=e.notify||!1,t.verify=e.verify||!1,h.params="?d="+(i.indexOf(a)>-1?a:"mm"),h.hide="hide"===a,h.cdn=!!s&&s||h.cdn,g=e.path||g,e.guest_info=(e.guest_info||f).filter(function(e){return f.indexOf(e)>-1});var l=Number(e.pageSize||10);if(e.pageSize=isNaN(l)?10:l<1?10:l,!AV)return void setTimeout(function(){t.init(e)},20);var c=e.app_id||e.appId,u=e.app_key||e.appKey,d=(e.region||"cn").toLowerCase(),v=["cn","us"];if(d=v.indexOf(d)>-1?d:v[0],!c||!u)throw 99;AV.applicationId=null,AV.init({appId:c,appKey:u,region:d});for(var m=document.querySelectorAll(".valine-comment-count"),b=0,x=m.length;b-1?'':""});t.placeholder=e.placeholder||"Just Go Go",t.el.innerHTML='';var _=t.el.querySelector(".vempty");t.nodata={show:function(e){return _.innerHTML=e||t.locale.tips.sofa,_.setAttribute("style","display:block;"),t},hide:function(){return _.setAttribute("style","display:none;"),t}};var O=document.createElement("div");O.setAttribute("class","vloading");var A=t.el.querySelector(".vlist");t.loading={show:function(e){var n=A.querySelectorAll(".vcard");return e?A.insertBefore(O,n[0]):A.appendChild(O),t.nodata.hide(),t},hide:function(){var e=A.querySelector(".vloading");return e&&A.removeChild(e),0===A.querySelectorAll(".vcard").length&&t.nodata.show(),t}};var $=t.el.querySelector(".vmark");t.alert={show:function(e){$.innerHTML='';var n=$.querySelector(".vbtns"),r='",i='";if(n.innerHTML=""+r+(e&&e.type&&i),o.Event.on("click",$.querySelector(".vcancel"),function(e){t.alert.hide()}),$.setAttribute("style","display:block;"),e&&e.type){var a=$.querySelector(".vsure");o.Event.on("click",a,function(n){t.alert.hide(),e.cb&&e.cb()})}return t},hide:function(){return $.setAttribute("style","display:none;"),t}},t.el&&AV&&t.bind(e)}catch(e){t.ErrorHandler(e)}return t},r.prototype.Q=function(e){var t=new AV.Query("Comment");return t.equalTo("url",decodeURI(e)),1==arguments.length?t.doesNotExist("rid"):t.equalTo("rid",arguments[1]),t.addDescending("createdAt"),t.addDescending("insertedAt"),t},r.prototype.ErrorHandler=function(e){var t=this;t.el&&t.loading.hide().nodata.hide();var n="";101==e?t.nodata.show():(n="number"==typeof e?"Code "+e+": "+(t.locale.error[e]||e):e,t.el&&t.nodata.show(''+n+"
"),console)},r.prototype.installLocale=function(e,t){var n=this;return t=t||{},p[e]=JSON.stringify(Object.keys(p["zh-cn"]))==JSON.stringify(Object.keys(t))?t:void 0,n.locale=p[e]||p["zh-cn"],n},r.prototype.setPath=function(e){return g=e||g,this},r.prototype.bind=function(e){var t=this,n=t.el.querySelector(".vemojis"),r=t.el.querySelector(".vemoji-btn"),i=t.el.querySelector(".vpreview"),p=function(e){var t=e.value||"";t=u.parse(t),e.value=t;var n=s(t);d.comment=n,i.innerHTML=n},f=u.data;for(var b in f)f.hasOwnProperty(b)&&function(e,t){var r=document.createElement("i");r.setAttribute("name",e),r.setAttribute("title",e),r.innerHTML=t,n.appendChild(r),o.Event.on("click",r,function(e){var n=document.querySelector(".veditor");A(n,t),p(n)})}(b,f[b]);o.Event.on("click",r,function(e){r.getAttribute("v")?(r.removeAttribute("v"),n.setAttribute("style","display:none")):(r.setAttribute("v",1),O.removeAttribute("v"),i.setAttribute("style","display:none"),n.setAttribute("style","display:block"))});for(var x=e.guest_info,y={},k={veditor:"comment"},w=0,S=x.length;w0&&void 0!==arguments[0]?arguments[0]:1,i=e.pageSize,a=Number(t.el.querySelector(".vnum").innerText);t.loading.show();var s=t.Q(g);s.limit(i),s.skip((r-1)*i),s.find().then(function(e){for(var l=e.length,c=0;c'+t.locale.ctrl.more+"":"";var d=u.querySelector(".vmore");d&&o.Event.on("click",d,function(e){u.innerHTML="",n(++r)}),t.loading.hide()}).catch(function(e){t.loading.hide().ErrorHandler(e.code)})};t.Q(g).count().then(function(e){e>0?(t.el.querySelector(".vinfo").setAttribute("style","display:block;"),t.el.querySelector(".vcount").innerHTML=''+e+" "+t.locale.tips.comments,M()):t.loading.hide()}).catch(function(e){t.ErrorHandler(e.code)});var C=function(e,n,r){var i=document.createElement("div");i.setAttribute("class","vcard"),i.setAttribute("id",e.id);var o=h.hide?"":'
",s=c(e.get("ua")),u=''+s.browser+" "+s.version+"",d=''+s.os+" "+s.osVersion+"",p="",f=e.get("link")||"";p=f?''+e.get("nick")+"":''+e.get("nick")+"",i.innerHTML=o+'\n \n
'+p+" "+u+" "+d+'
\n
\n '+l(e.get("insertedAt")||e.createdAt,t.locale)+"\n '+t.locale.ctrl.reply+'\n
\n
\n '+e.get("comment")+"\n
\n
";for(var v=i.querySelector(".vat"),g=i.querySelectorAll("a"),m=0,b=g.length;m180&&(e.classList.add("expand"),o.Event.on("click",e,function(t){e.setAttribute("class","vcontent")}))},20)},q={at:"",rid:"",rmail:""},T=function(e){o.Event.on("click",e,function(t){var n=e.getAttribute("at"),r=e.getAttribute("rid"),i=e.getAttribute("mail");q.at=o.HtmlUtils.escape(n)+" ",q.rid=r,q.rmail=i,y.comment.setAttribute("placeholder",n),y.comment.focus()})},z=function(){var e=v&&v.ValineCache;if(e){e=JSON.parse(e);var n=x;for(var r in n){var i=n[r];t.el.querySelector(".v"+i).value=o.HtmlUtils.unescape(e[i]),d[i]=e[i]}}};z();var R=function(){for(var e in k)if(k.hasOwnProperty(e)){var n=k[e],r=t.el.querySelector("."+e);r.value="",d[n]=""}y.comment.setAttribute("placeholder",t.placeholder),q.at="",q.rid="",q.rmail="",d.nick="Anonymous",z(),i.innerHTML="",i.setAttribute("style","display:none;"),O.removeAttribute("v")},B=t.el.querySelector(".vsubmit"),U=function(e){if(B.getAttribute("disabled"))return void t.alert.show({type:0,text:t.locale.tips.busy+'ヾ(๑╹◡╹)ノ"',ctxt:t.locale.ctrl.ok});if(""==d.comment)return void y.comment.focus();d.nick=d.nick||"Anonymous";var n=m.mail(d.mail),r=m.link(d.link);d.mail=n.k?n.v:"",d.link=r.k?r.v:"",t.notify||t.verify?Q(j):j()},P=function(){var e=new AV.ACL;return e.setPublicReadAccess(!0),e.setPublicWriteAccess(!1),e},j=function(){B.setAttribute("disabled",!0),t.loading.show(!0);var e=AV.Object.extend("Comment"),n=new e;d.url=decodeURI(g),d.insertedAt=new Date,q.rid&&(n.set("rid",q.rid),d.comment=q.at+d.comment);for(var r in d)if(d.hasOwnProperty(r)){var i=d[r];n.set(r,i)}n.setACL(P()),n.save().then(function(e){"Anonymous"!=d.nick&&v&&v.setItem("ValineCache",JSON.stringify({nick:d.nick,link:d.link,mail:d.mail}));var n=t.el.querySelector(".vnum"),r=1;try{if(q.rid){var i=t.el.querySelector('.vquote[rid="'+q.rid+'"]')||$(q.rid);C(e,i,!0)}else n?(r=Number(n.innerText)+1,n.innerText=r):t.el.querySelector(".vcount").innerHTML='1 '+t.locale.tips.comments,C(e,t.el.querySelector(".vlist"));d.mail&&I({username:d.nick,mail:d.mail}),q.at&&q.rmail&&t.notify&&H({username:q.at.replace("@",""),mail:q.rmail}),B.removeAttribute("disabled"),t.loading.hide(),R()}catch(e){e.code&&t.ErrorHandler(e.code)||t.ErrorHandler(e)}}).catch(function(e){t.ErrorHandler(e.code)})},Q=function e(n){var r=Math.floor(10*Math.random()+1),i=Math.floor(10*Math.random()+1),o=Math.floor(10*Math.random()+1),a=["+","-","x"],s=a[Math.floor(3*Math.random())],l=a[Math.floor(3*Math.random())],c=""+r+s+i+l+o,u=c+" = ";t.alert.show({type:1,text:u,ctxt:t.locale.ctrl.cancel,otxt:t.locale.ctrl.ok,cb:function(){var r=+t.el.querySelector(".vcode").value;new Function("return "+c.replace(/x/g,"*"))()===r?n&&n():t.alert.show({type:1,text:"(T_T)"+t.locale.tips.again,ctxt:t.locale.ctrl.cancel,otxt:t.locale.ctrl.try,cb:function(){e(n)}})}})},I=function(e){var t=new AV.User;return t.setUsername(e.username),t.setPassword(e.mail),t.setEmail(e.mail),t.setACL(P()),t.signUp()},H=function e(n){AV.User.requestPasswordReset(n.mail).then(function(e){}).catch(function(r){1==r.code?t.alert.show({type:0,text:"ヾ(o・ω・)ノ At太频繁啦,提醒功能暂时宕机。
"+r.error,ctxt:t.locale.ctrl.ok}):I(n).then(function(t){e(n)}).catch(function(e){})})};o.Event.off("click",B,U),o.Event.on("click",B,U),o.Event.on("keyup",document,function(e){var t=e.keyCode||e.which||e.charCode;(e.ctrlKey||e.metaKey)&&13==t&&U()})};var m={mail:function(e){return{k:/[\w-\.]+@([\w-]+\.)+[a-z]{2,3}/.test(e),v:e}},link:function(e){return e=e.length>0&&(/^https?/.test(e)?e:"http://"+e),{k:/^https?:\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/.test(e),v:e}}};e.exports=i,e.exports.default=i},function(e,t,n){"use strict";var r={data:n(8),parse:function(e){return String(e).replace(/:(.+?):/g,function(e,t){return r.data[t]||e})}};e.exports=r},function(e,t,n){"use strict";function r(e){var t=e||a.userAgent,n=this,r={Trident:t.indexOf("Trident")>-1||t.indexOf("NET CLR")>-1,Presto:t.indexOf("Presto")>-1,WebKit:t.indexOf("AppleWebKit")>-1,Gecko:t.indexOf("Gecko/")>-1,Safari:t.indexOf("Safari")>-1,Chrome:t.indexOf("Chrome")>-1||t.indexOf("CriOS")>-1,IE:t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1,Edge:t.indexOf("Edge")>-1,Firefox:t.indexOf("Firefox")>-1||t.indexOf("FxiOS")>-1,"Firefox Focus":t.indexOf("Focus")>-1,Chromium:t.indexOf("Chromium")>-1,Opera:t.indexOf("Opera")>-1||t.indexOf("OPR")>-1,Vivaldi:t.indexOf("Vivaldi")>-1,Yandex:t.indexOf("YaBrowser")>-1,Kindle:t.indexOf("Kindle")>-1||t.indexOf("Silk/")>-1,360:t.indexOf("360EE")>-1||t.indexOf("360SE")>-1,UC:t.indexOf("UC")>-1||t.indexOf(" UBrowser")>-1,QQBrowser:t.indexOf("QQBrowser")>-1,QQ:t.indexOf("QQ/")>-1,Baidu:t.indexOf("Baidu")>-1||t.indexOf("BIDUBrowser")>-1,Maxthon:t.indexOf("Maxthon")>-1,Sogou:t.indexOf("MetaSr")>-1||t.indexOf("Sogou")>-1,LBBROWSER:t.indexOf("LBBROWSER")>-1,"2345Explorer":t.indexOf("2345Explorer")>-1,TheWorld:t.indexOf("TheWorld")>-1,XiaoMi:t.indexOf("MiuiBrowser")>-1,Quark:t.indexOf("Quark")>-1,Qiyu:t.indexOf("Qiyu")>-1,Wechat:t.indexOf("MicroMessenger")>-1,Taobao:t.indexOf("AliApp(TB")>-1,Alipay:t.indexOf("AliApp(AP")>-1,Weibo:t.indexOf("Weibo")>-1,Douban:t.indexOf("com.douban.frodo")>-1,Suning:t.indexOf("SNEBUY-APP")>-1,iQiYi:t.indexOf("IqiyiApp")>-1,Windows:t.indexOf("Windows")>-1,Linux:t.indexOf("Linux")>-1||t.indexOf("X11")>-1,"Mac OS":t.indexOf("Macintosh")>-1,Android:t.indexOf("Android")>-1||t.indexOf("Adr")>-1,Ubuntu:t.indexOf("Ubuntu")>-1,FreeBSD:t.indexOf("FreeBSD")>-1,Debian:t.indexOf("Debian")>-1,"Windows Phone":t.indexOf("IEMobile")>-1||t.indexOf("Windows Phone")>-1,BlackBerry:t.indexOf("BlackBerry")>-1||t.indexOf("RIM")>-1,MeeGo:t.indexOf("MeeGo")>-1,Symbian:t.indexOf("Symbian")>-1,iOS:t.indexOf("like Mac OS X")>-1,"Chrome OS":t.indexOf("CrOS")>-1,WebOS:t.indexOf("hpwOS")>-1,Mobile:t.indexOf("Mobi")>-1||t.indexOf("iPh")>-1||t.indexOf("480")>-1,Tablet:t.indexOf("Tablet")>-1||t.indexOf("Pad")>-1||t.indexOf("Nexus 7")>-1};r.Mobile?r.Mobile=!(t.indexOf("iPad")>-1):o.showModalDialog&&o.chrome&&(r[360]=!0);var i={engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Kindle","360","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet"]};n.device="PC",n.language=function(){var e=a.browserLanguage||a.language,t=e.split("-");return t[1]&&(t[1]=t[1].toUpperCase()),t.join("_")}();for(var s in i)for(var l=0;l27?n.engine="Blink":"Opera"==n.browser&&parseInt(n.version)>12?n.engine="Blink":"Yandex"==n.browser?n.engine="Blink":void 0==n.browser&&(n.browser="Unknow App")}function i(e){return new r(e)}var o=window||{},a=navigator||{};e.exports=i},function(e,t,n){"use strict";function r(e){return e&&c.test(e)?e.replace(l,function(e){return a[e]}):e}function i(e){return e&&d.test(e)?e.replace(u,function(e){return o[e]}):e}var o={},a={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","\\":"\"};for(var s in a)o[a[s]]=s;var l=/[&<>"'`\\]/g,c=RegExp(l.source),u=/&(?:amp|lt|gt|quot|#39|#x60|#x5c);/g,d=RegExp(u.source),p={on:function(e,t,n,r){return t.addEventListener?t.addEventListener(e,n,r||!1):t.attachEvent?t.attachEvent("on"+e,n):t["on"+e]=n,this},off:function(e,t,n,r){return t.removeEventListener?t.removeEventListener(e,n,r||!1):t.detachEvent?t.detachEvent("on"+e,n):t["on"+e]=null,this}};e.exports={HtmlUtils:{escape:r,unescape:i},Event:p}},function(e,t,n){"use strict";var r=function(e,t){if(e)try{var n=e.getTime(),r=(new Date).getTime(),o=r-n,a=Math.floor(o/864e5);if(0===a){var s=o%864e5,l=Math.floor(s/36e5);if(0===l){var c=s%36e5,u=Math.floor(c/6e4);if(0===u){var d=c%6e4;return Math.round(d/1e3)+" "+t.timeago.seconds}return u+" "+t.timeago.minutes}return l+" "+t.timeago.hours}return a<0?t.timeago.now:a<8?a+" "+t.timeago.days:i(e)}catch(e){}},i=function(e){var t=o(e.getDate(),2),n=o(e.getMonth()+1,2);return o(e.getFullYear(),2)+"-"+n+"-"+t},o=function(e,t){for(var n=e.toString();n.length>16)+(t>>16)+(n>>16)<<16|65535&n}function a(e,t){return e<>>32-t}function s(e,t,n,r,i,s){return o(a(o(o(t,e),o(r,s)),i),n)}function l(e,t,n,r,i,o,a){return s(t&n|~t&r,e,t,i,o,a)}function c(e,t,n,r,i,o,a){return s(t&r|n&~r,e,t,i,o,a)}function u(e,t,n,r,i,o,a){return s(t^n^r,e,t,i,o,a)}function d(e,t,n,r,i,o,a){return s(n^(t|~r),e,t,i,o,a)}function p(e,t){e[t>>5]|=128<>>9<<4)]=t;var n,r,i,a,s,p=1732584193,h=-271733879,f=-1732584194,v=271733878;for(n=0;n>5]>>>t%32&255);return n}function f(e){var t,n=[];for(n[(e.length>>2)-1]=void 0,t=0;t>5]|=(255&e.charCodeAt(t/8))<16&&(i=p(i,8*e.length)),n=0;n<16;n+=1)o[n]=909522486^i[n],a[n]=1549556828^i[n];return r=p(o.concat(f(t)),512+8*t.length),h(p(a.concat(r),640))}function m(e){var t,n,r="0123456789abcdef",i="";for(n=0;n>>4&15)+r.charAt(15&t);return i}function b(e){return unescape(encodeURIComponent(e))}function x(e){return v(b(e))}function y(e){return m(x(e))}function k(e,t){return g(b(e),b(t))}function w(e,t){return m(k(e,t))}function S(e,t,n){return t?n?k(t,e):w(t,e):n?x(e):y(e)}void 0!==(r=function(){return S}.call(t,n,t,e))&&(e.exports=r)}()},function(e,t,n){(function(t){!function(t){"use strict";function n(e){this.tokens=[],this.tokens.links={},this.options=e||h.defaults,this.rules=f.normal,this.options.gfm&&(this.options.tables?this.rules=f.tables:this.rules=f.gfm)}function r(e,t){if(this.options=t||h.defaults,this.links=e,this.rules=v.normal,this.renderer=this.options.renderer||new i,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=v.breaks:this.rules=v.gfm:this.options.pedantic&&(this.rules=v.pedantic)}function i(e){this.options=e||{}}function o(){}function a(e){this.tokens=[],this.token=null,this.options=e||h.defaults,this.options.renderer=this.options.renderer||new i,this.renderer=this.options.renderer,this.renderer.options=this.options}function s(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function l(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function c(e,t){return e=e.source,t=t||"",{replace:function(t,n){return n=n.source||n,n=n.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,n),this},getRegex:function(){return new RegExp(e,t)}}}function u(e,t){return g[" "+e]||(/^[^:]+:\/*[^\/]*$/.test(e)?g[" "+e]=e+"/":g[" "+e]=e.replace(/[^\/]*$/,"")),e=g[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^\/]*)[\s\S]*/,"$1")+t:e+t}function d(){}function p(e){for(var t,n,r=1;rAn error occurred:
"+s(e.message+"",!0)+"
";throw e}}var f={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:d,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:d,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:d,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};f._label=/(?:\\[\[\]]|[^\[\]])+/,f._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,f.def=c(f.def).replace("label",f._label).replace("title",f._title).getRegex(),f.bullet=/(?:[*+-]|\d+\.)/,f.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,f.item=c(f.item,"gm").replace(/bull/g,f.bullet).getRegex(),f.list=c(f.list).replace(/bull/g,f.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+f.def.source+")").getRegex(),f._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",f.html=c(f.html).replace("comment",//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,f._tag).getRegex(),f.paragraph=c(f.paragraph).replace("hr",f.hr).replace("heading",f.heading).replace("lheading",f.lheading).replace("tag","<"+f._tag).getRegex(),f.blockquote=c(f.blockquote).replace("paragraph",f.paragraph).getRegex(),f.normal=p({},f),f.gfm=p({},f.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),f.gfm.paragraph=c(f.paragraph).replace("(?!","(?!"+f.gfm.fences.source.replace("\\1","\\2")+"|"+f.list.source.replace("\\1","\\3")+"|").getRegex(),f.tables=p({},f.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),n.rules=f,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},n.prototype.token=function(e,t){e=e.replace(/^ +$/gm,"");for(var n,r,i,o,a,s,l,c,u,d,p;e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))){for(e=e.substring(i[0].length),s={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},c=0;c ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),o=i[2],p=o.length>1,this.tokens.push({type:"list_start",ordered:p,start:p?+o:""}),i=i[0].match(this.rules.item),n=!1,d=i.length,c=0;c1&&a.length>1||(e=i.slice(c+1).join("\n")+e,c=d-1)),r=n||/\n\n(?!\s*$)/.test(s),c!==d-1&&(n="\n"===s.charAt(s.length-1),r||(r=n)),this.tokens.push({type:r?"loose_item_start":"list_item_start"}),this.token(s,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(e))e=e.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(t&&(i=this.rules.def.exec(e)))e=e.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),u=i[1].toLowerCase(),this.tokens.links[u]||(this.tokens.links[u]={href:i[2],title:i[3]});else if(t&&(i=this.rules.table.exec(e))){for(e=e.substring(i[0].length),s={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},c=0;c])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:d,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:d,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,v.link=c(v.link).replace("inside",v._inside).replace("href",v._href).getRegex(),v.reflink=c(v.reflink).replace("inside",v._inside).getRegex(),v.normal=p({},v),v.pedantic=p({},v.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),v.gfm=p({},v.normal,{escape:c(v.escape).replace("])","~|])").getRegex(),url:c(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",v._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:c(v.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),v.breaks=p({},v.gfm,{br:c(v.br).replace("{2,}","*").getRegex(),text:c(v.gfm.text).replace("{2,}","*").getRegex()}),r.rules=v,r.output=function(e,t,n){return new r(t,n).output(e)},r.prototype.output=function(e){for(var t,n,r,i,o="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=s(this.mangle(i[1])),r="mailto:"+n):(n=s(i[1]),r=n),o+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):s(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){o+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,o+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),o+=this.renderer.codespan(s(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),o+=this.renderer.text(s(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else i[0]=this.rules._backpedal.exec(i[0])[0],e=e.substring(i[0].length),"@"===i[2]?(n=s(i[0]),r="mailto:"+n):(n=s(i[0]),r="www."===i[1]?"http://"+n:n),o+=this.renderer.link(r,null,n);return o},r.prototype.outputLink=function(e,t){var n=s(t.href),r=t.title?s(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,s(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+=""+t+";";return n},i.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?''+(n?e:s(e,!0))+"\n
\n":""+(n?e:s(e,!0))+"\n
"},i.prototype.blockquote=function(e){return"\n"+e+"
\n"},i.prototype.html=function(e){return e},i.prototype.heading=function(e,t,n){return"\n"},i.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},i.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+r+">\n"},i.prototype.listitem=function(e){return""+e+"\n"},i.prototype.paragraph=function(e){return""+e+"
\n"},i.prototype.table=function(e,t){return"\n"},i.prototype.tablerow=function(e){return"\n"+e+"
\n"},i.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+""+n+">\n"},i.prototype.strong=function(e){return""+e+""},i.prototype.em=function(e){return""+e+""},i.prototype.codespan=function(e){return""+e+""},i.prototype.br=function(){return this.options.xhtml?"
":"
"},i.prototype.del=function(e){return""+e+""},i.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(l(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return n}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return n}this.options.baseUrl&&!m.test(e)&&(e=u(this.options.baseUrl,e));var i='"+n+""},i.prototype.image=function(e,t,n){this.options.baseUrl&&!m.test(e)&&(e=u(this.options.baseUrl,e));var r='
":">"},i.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,p({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,l(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",o="";for(n="",e=0;e=0&&x.splice(t,1)}function s(e){var t=document.createElement("style");return e.attrs.type="text/css",c(t,e.attrs),o(e,t),t}function l(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",c(t,e.attrs),o(e,t),t}function c(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function u(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var c=b++;n=m||(m=s(t)),r=d.bind(null,n,c,!1),i=d.bind(null,n,c,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(t),r=h.bind(null,n,t),i=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=p.bind(null,n),i=function(){a(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}function d(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=k(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function p(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function h(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=y(r)),i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var f={},v=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),g=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),m=null,b=0,x=[],y=n(13);e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");t=t||{},t.attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=v()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=i(e,t);return r(n,t),function(e){for(var o=[],a=0;a';case"mail":return'';case"link":return'';default:return""}}),o=e.placeholder||"",a='";t.el.innerHTML=a;var s=t.el.querySelector(".vempty");t.nodata={show:function(e){s.innerHTML=e||"还没有评论哦,快来抢沙发吧!",s.setAttribute("style","display:block;")},hide:function(){s.setAttribute("style","display:none;")}};var l=t.el.querySelector(".vloading");l.innerHTML='',t.loading={show:function(){l.setAttribute("style","display:block;"),t.nodata.hide()},hide:function(){l.setAttribute("style","display:none;"),0===t.el.querySelectorAll(".vcard").length&&t.nodata.show()}},t.notify=e.notify||!1,t.verify=e.verify||!1,c.params="?d="+(c.ds.indexOf(e.avatar)>-1?e.avatar:"mm"),c.hide="hide"===e.avatar;var h=e.av||AV,d=e.app_id||e.appId,v=e.app_key||e.appKey;if(!d||!v)throw t.loading.hide(),"初始化失败,请检查你的appid或者appkey.";h.applicationId=null,h.init({appId:d,appKey:v}),t.v=h,u.url=(e.path||location.pathname).replace(/index\.(html|htm)/,"")}catch(e){var g="https://github.com/xCss/Valine/issues";return void(t.el?t.nodata.show(''+e+"
Valine:"+t.version+"
反馈:"+g+"
"):console)}var m=t.el.querySelector(".vmark");t.alert={show:function(e){m.innerHTML='';var n=m.querySelector(".vbtns"),r='",i='";if(n.innerHTML=""+r+(e.type&&i),m.querySelector(".vcancel").addEventListener("click",function(e){t.alert.hide()}),m.setAttribute("style","display:block;"),e&&e.type){var o=m.querySelector(".vsure");f.on("click",o,function(n){t.alert.hide(),e.cb&&e.cb()})}},hide:function(){m.setAttribute("style","display:none;")}},t.bind(e)},e.prototype.bind=function(e){var t=this,n=(e.guest_info||p).filter(function(e){return p.indexOf(e)>-1}),r=function(e){e.offsetHeight>180&&(e.classList.add("expand"),f.on("click",e,function(t){e.setAttribute("class","vcontent")}))},i=function(e){var n=new t.v.Query("Comment");return n.equalTo("url",u.url),n.descending("createdAt"),n};!function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.loading.show();var e=i();e.limit("1000"),e.find().then(function(e){var n=e.length;if(n){t.el.querySelector(".vlist").innerHTML="";for(var r=0;r'+n+")"}t.loading.hide()}).catch(function(e){t.loading.hide()})}();for(var o=function(e,n){var i=document.createElement("li");i.setAttribute("class","vcard"),i.setAttribute("id",e.id);var o=c.hide?"":'
";i.innerHTML=o+'