Commit b58eff0f authored by Van's avatar Van

💄 #47

parent 24219959
{
"name": "Solo",
"name": "solo",
"version": "3.8.0",
"lockfileVersion": 1,
"requires": true,
......@@ -8658,9 +8658,12 @@
}
},
"vcmt": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/vcmt/-/vcmt-1.0.6.tgz",
"integrity": "sha512-OKcnwcPHNJUenziaZzZ09jHB1R7F1E24rGFEDDpI95bVFjUtOTZ4M04GblOWZ4kysyZCVTOwpLRkE6mNB74UDA=="
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/vcmt/-/vcmt-1.0.9.tgz",
"integrity": "sha512-ikSsf2H9CeVga+3Y45j8oBeSqiV2ibyFiCrXMpsvkUDtj/baLU/KUhHfpvzGwaSjYnxKJVotwa4hxcDYBm1OXg==",
"requires": {
"jquery": "^3.4.1"
}
},
"vditor": {
"version": "2.1.1",
......
{
"name": "Solo",
"name": "solo",
"version": "3.8.0",
"description": " 一款小而美的博客系统,专为程序员设计。",
"homepage": "https://github.com/88250/solo",
......@@ -48,7 +48,7 @@
"jquery": "^3.4.1",
"nprogress": "^0.2.0",
"uvstat": "^1.0.6",
"vcmt": "^1.0.6",
"vcmt": "^1.0.9",
"vditor": "^2.1.1"
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -20,7 +20,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.0.0, Mar 17, 2019
* @version 1.2.0.0, Jan 18, 2020
*/
admin.comment = {
......@@ -95,7 +95,6 @@ admin.comment = {
$('#' + fromId + 'Comments').html(commentsHTML)
Util.parseMarkdown()
Util.parseLanguage()
$('#loadMsg').text('')
},
})
......
......@@ -111,7 +111,6 @@ admin.commentList = {
result.pagination)
Util.parseMarkdown()
Util.parseLanguage()
$('#loadMsg').text('')
},
})
......
......@@ -19,9 +19,8 @@
* @fileoverview editor
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.3.0.1, Aug 6, 2019
* @version 1.4.0.0, Jan 18, 2020
*/
import Vditor from 'vditor'
admin.editors = {}
/*
......@@ -57,7 +56,7 @@ $.extend(SoloEditor.prototype, {
if (element.style.display === 'none') {
return
}
Util.parseLanguage()
Util.parseMarkdown()
},
},
upload: {
......
......@@ -16,18 +16,22 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import $ from 'jquery'
window.$ = $
import NProgress from 'nprogress'
import Uvstat from 'uvstat'
import pjax from './pjax'
import Vditor from 'vditor'
import Vcomment from 'vcmt'
window.$ = $
window.Vditor = Vditor
window.Vcomment = Vcomment
/**
* @fileoverview util and every page should be used.
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.0.1.0, Jan 12, 2020
* @version 2.1.0.0, Jan 18, 2020
*/
/**
......@@ -114,7 +118,6 @@ window.Util = {
},
callback: function () {
Util.parseMarkdown()
Util.parseLanguage()
Util.uvstat.addStat()
Util.uvstat.renderStat()
Util.uvstat.renderCmtStat()
......@@ -142,21 +145,6 @@ window.Util = {
window.open(this.src)
})
},
/**
* 异步添加 css
* @param url css 文件访问地址
* @param id css 文件标示
*/
addStyle: function (url, id) {
if (!document.getElementById(id)) {
var styleElement = document.createElement('link')
styleElement.id = id
styleElement.setAttribute('rel', 'stylesheet')
styleElement.setAttribute('type', 'text/css')
styleElement.setAttribute('href', url)
document.getElementsByTagName('head')[0].appendChild(styleElement)
}
},
/**
* 异步添加 js
* @param url js 文件访问地址
......@@ -176,40 +164,15 @@ window.Util = {
document.getElementsByTagName('head')[0].appendChild(scriptElement)
}
},
/*
* @description 解析语法高亮
*/
parseLanguage: function () {
Vditor.highlightRender({
style: Label.hljsStyle,
enable: !Label.luteAvailable,
}, document)
},
/**
* 按需加载数学公式、流程图、代码复制、五线谱、多媒体、图表
* @returns {undefined}
*/
parseMarkdown: function () {
if (typeof Vditor === 'undefined') {
Util.addScript(
'https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/method.min.js',
'vditorPreviewScript')
}
Vditor.codeRender(document.body, Label.langLabel)
if (Label.luteAvailable) {
Vditor.mathRenderByLute(document.body)
} else {
Vditor.mathRender(document.body)
}
Vditor.abcRender()
Vditor.chartRender()
Vditor.mediaRender(document.body)
Vditor.mermaidRender(document.body)
document.querySelectorAll('.vditor-reset').forEach((e) => {
Vditor.speechRender(e, Label.langLabel)
Vcomment.parseMarkdown({
lang: Label.langLabel,
hljsEnable: !Label.luteAvailable,
hljsStyle: Label.hljsStyle,
})
},
/**
......@@ -221,14 +184,16 @@ window.Util = {
var left = ($(window).width() - 781) / 2,
top1 = ($(window).height() - 680) / 2
var killIEHTML = '<div class="killIEIframe" 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 class="killIEIframe" style=\'left:' + left + 'px;z-index:120;top: ' + top1 +
+ '<iframe class="killIEIframe" style=\'left:' + left +
'px;z-index:120;top: ' + top1 +
'px; position: fixed; border: 0px none; width: 781px; height: 680px;\' src=\'' +
Label.servePath + '/kill-browser\'></iframe>'
$('body').append(killIEHTML)
} catch (e) {
var left = 10, top1 = 0
var killIEHTML = '<div class="killIEIframe" 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 class="killIEIframe" style=\'left:' + left + 'px;z-index:120;top: ' + top1 +
+ '<iframe class="killIEIframe" style=\'left:' + left +
'px;z-index:120;top: ' + top1 +
'px; position: fixed; border: 0px none; width: 781px; height: 680px;\' src=\'' +
Label.servePath + '/kill-browser\'></iframe>'
document.body.innerHTML = document.body.innerHTML + killIEHTML
......@@ -285,7 +250,6 @@ window.Util = {
init: function () {
Util.killIE()
Util.parseMarkdown()
Util.parseLanguage()
Util.initSW()
Util.previewImg()
Util.initDebugInfo()
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -14,7 +14,13 @@
* limitations under the License.
*/
import $ from 'jquery';
/**
* @fileoverview 工具类
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 0.1.0.0, Jan 18, 2020
*/
(function (a) {
var b = function () {}
......@@ -39,7 +45,7 @@ import $ from 'jquery';
},
})
a.bowknot = new b
})(jQuery);
})($);
(function ($) {
$.fn.extend({paginate: {version: '0.0.0.8', author: 'v@b3log.org'}})
......@@ -270,7 +276,7 @@ import $ from 'jquery';
}
$.paginate = new Paginate()
window['DP_jQuery_' + dpuuid] = $
})(jQuery);
})($);
(function ($) {
$.fn.extend({table: {version: '0.0.1.0', author: 'v@b3log.org'}})
var n = new Date().getTime()
......@@ -681,7 +687,7 @@ import $ from 'jquery';
}
$.table = new p()
window['DP_jQuery_' + n] = $
})(jQuery);
})($);
(function ($) {
$.fn.extend({dialog: {version: '0.0.1.7', author: 'v@b3log.org'}})
var dpuuid = new Date().getTime()
......@@ -935,7 +941,7 @@ import $ from 'jquery';
}
$.dialog = new Dialog()
window['DP_jQuery_' + dpuuid] = $
})(jQuery)
})($)
!function (e) {
var t = (new Date).getTime(), n = 'completed', a = function () {
this._defaults = {
......@@ -1119,7 +1125,7 @@ import $ from 'jquery';
e.completed, [this].concat(n)) : e.completed._attach(this, t)
})
}, e.completed = new a, window['DP_jQuery_' + t] = e
}(jQuery);
}($);
(function ($) {
$.fn.extend({tabs: {version: '0.0.1.9', author: 'v@b3log.org'}})
var g = new Date().getTime()
......@@ -1207,4 +1213,4 @@ import $ from 'jquery';
}
$.tabs = new k()
window['DP_jQuery_' + g] = $
})(jQuery)
})($)
......@@ -16,14 +16,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import $ from 'jquery'
import Vcomment from 'vcmt'
/**
* @fileoverview Page util, load heighlight and process comment.
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.5.0.0, Jan 15, 2020
* @version 2.6.0.0, Jan 18, 2020
*/
window.Page = function (tips) {
this.currentCommentId = ''
......@@ -136,9 +134,6 @@ $.extend(Page.prototype, {
if (!$('#soloEditorComment').hasClass('vditor')) {
var that = this
Util.addScript(
'https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/index.min.js',
'vditorScript')
var toolbar = [
'emoji',
'headings',
......@@ -208,7 +203,7 @@ $.extend(Page.prototype, {
if (element.style.display === 'none') {
return
}
Util.parseLanguage()
Util.parseMarkdown()
},
},
counter: 500,
......@@ -399,15 +394,6 @@ $.extend(Page.prototype, {
$('#soloEditorError').text(that.tips.commentContentCannotEmptyLabel)
}
},
/*
* @description 添加回复评论表单
* @param {String} id 被回复的评论 id
*/
addReplyForm: function (id, name) {
var that = this
that.currentCommentId = id
this.toggleEditor(id, name)
},
/*
* @description 隐藏回复评论的浮出层
* @parma {String} id 被回复的评论 id
......@@ -449,7 +435,6 @@ $.extend(Page.prototype, {
$('#comments').html(commentHTML)
}
Util.parseMarkdown()
Util.parseLanguage()
window.location.hash = '#comments'
},
})
......@@ -97,17 +97,6 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * jQ
/***/ }),
/***/ "./node_modules/vcmt/dist/index.min.js":
/*!*********************************************!*\
!*** ./node_modules/vcmt/dist/index.min.js ***!
\*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/*!\n * vcomment v1.0.6 - Full-featured comment system.\n * \n * MIT License\n * \n * Copyright (c) 2019-present B3log 开源, b3log.org\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n */\n!function(t,e){ true?module.exports=e():undefined}(window,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=4)}([function(t,e,n){var o=n(1),i=n(2);\"string\"==typeof(i=i.__esModule?i.default:i)&&(i=[[t.i,i,\"\"]]);var r={insert:\"head\",singleton:!1},a=(o(t.i,i,r),i.locals?i.locals:{});t.exports=a},function(t,e,n){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a={};function c(t,e,n){for(var o=0;o<e.length;o++){var i={css:e[o][1],media:e[o][2],sourceMap:e[o][3]};a[t][o]?a[t][o](i):a[t].push(v(i,n))}}function m(t){var e=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=n.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){e.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(e);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(e)}return e}var s,d=(s=[],function(t,e){return s[t]=e,s.filter(Boolean).join(\"\\n\")});function l(t,e,n,o){var i=n?\"\":o.css;if(t.styleSheet)t.styleSheet.cssText=d(e,i);else{var r=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(r,a[e]):t.appendChild(r)}}function u(t,e,n){var o=n.css,i=n.media,r=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var f=null,p=0;function v(t,e){var n,o,i;if(e.singleton){var r=p++;n=f||(f=m(e)),o=l.bind(null,n,r,!1),i=l.bind(null,n,r,!0)}else n=m(e),o=u.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else i()}}t.exports=function(t,e,n){return(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i()),t=n.base?t+n.base:t,e=e||[],a[t]||(a[t]=[]),c(t,e,n),function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){a[t]||(a[t]=[]),c(t,e,n);for(var o=e.length;o<a[t].length;o++)a[t][o]();a[t].length=e.length,0===a[t].length&&delete a[t]}}}},function(t,e,n){(e=n(3)(!1)).push([t.i,'.vcomment .details{display:inline-block;position:relative}.vcomment .details>summary{list-style:none}.vcomment .details>summary::-webkit-details-marker,.vcomment .details>summary::before{display:none}.vcomment .details>summary:focus{outline:none}.vcomment .details:not([open])>:not(summary){display:none}.vcomment .details details-menu:after,.vcomment .details details-menu:before{top:-14px;right:7px;left:auto;position:absolute;border:7px solid transparent;border-bottom-color:#fff;content:\" \"}.vcomment .details details-menu:before{border-width:8px;border-bottom-color:#eee;top:-16px;right:6px}.vcomment a{text-decoration:none}.vcomment a:hover{text-decoration:underline}.vcomment__flex{display:-webkit-box;display:flex}.vcomment__flex1{-webkit-box-flex:1;flex:1}.vcomment__flexinline{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center}.vcomment__flexcenter{-ms-grid-row-align:center;align-self:center}.vcomment__center{text-align:center}.vcomment__space{display:inline-block;width:5px}.vcomment__hr{display:block;height:5px}.vcomment__text{margin-left:10px;-ms-grid-row-align:center;align-self:center;color:#4285f4;cursor:pointer}.vcomment__text:hover{color:rgba(0,0,0,0.38)}.vcomment__input{border:1px solid #d1d5da;background-color:#FAFAFA;border-radius:3px;box-shadow:inset 0 1px 2px rgba(27,31,35,0.075);padding:5px 63px 5px 10px;width:100%;line-height:22px;box-sizing:border-box}.vcomment__input:focus{background-color:#FFF;box-shadow:inset 0 1px 2px rgba(27,31,35,0.075),0 0 0 0.2em #dbedff;border:1px solid #4285f4;outline:none}.vcomment__btn{cursor:pointer;color:#fff;background-color:#60b044;border-radius:3px;padding:6px 12px;border:1px solid #569e3d;box-sizing:border-box;line-height:20px;white-space:nowrap;display:inline-block;font-size:14px}.vcomment__btn:disabled{opacity:0.3;cursor:not-allowed}.vcomment__btn:hover{text-decoration:none;border-color:#eee}.vcomment__btn:focus{outline:none}.vcomment__btn:active{box-shadow:0 2px 15px rgba(0,0,0,0.25) inset}.vcomment__btn--cancel{background-color:transparent;color:rgba(0,0,0,0.54);border:0}.vcomment__btn--cancel:hover{color:#586069}.vcomment__btn--comment2{position:absolute;top:10px;right:10px;border-radius:0 3px 3px 0}.vcomment__pointer{cursor:pointer;color:rgba(0,0,0,0.54);font-size:12px}.vcomment__pointer:hover{color:#586069}.vcomment__none{display:none}.vcomment__smaller{font-size:12px}.vcomment__fade{color:rgba(0,0,0,0.38)}.vcomment__gray{color:rgba(0,0,0,0.54)}.vcomment__meta{font-size:12px;color:rgba(0,0,0,0.38);line-height:18px}.vcomment__svg{height:10px;width:10px;fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor}.vcomment__red{color:#d23f31}.vcomment__layer{display:block;padding:5px 0;-webkit-animation-duration:.15s;animation-duration:.15s;-webkit-animation-name:scale-in;animation-name:scale-in;-webkit-animation-timing-function:cubic-bezier(0.2, 0, 0.13, 1.5);animation-timing-function:cubic-bezier(0.2, 0, 0.13, 1.5);position:absolute;background-color:#fff;line-height:20px;box-shadow:0 1px 2px rgba(0,0,0,0.06);border:1px solid #eee;border-radius:3px;min-width:180px;right:-10px;z-index:100}.vcomment__layer--static{-webkit-animation:none;animation:none}.vcomment__layer::-webkit-scrollbar{display:none}.vcomment__layer hr{margin:5px 0;border:0;background-color:#eee;height:1px}.vcomment__layer-item{display:block;text-shadow:0 1px 0 #fff;position:relative;padding:5px 10px;color:#616161;font-weight:normal;width:100%;box-sizing:border-box;word-break:break-all;cursor:pointer;font-size:12px}.vcomment__layer-item:hover{text-decoration:none;background-color:#4285f4;color:#fff !important;text-shadow:none}.vcomment__layer-item--warn{color:#d23f31}.vcomment__layer-item--warn:hover{background-color:#d23f31;color:#fff !important}.vcomment__list{padding:0;margin:0}.vcomment__item{padding:10px;border-bottom:1px solid #eee;list-style:none}.vcomment__item--stick{background-color:#f1f7fe !important}.vcomment__item:last-child{border-bottom-width:0}.vcomment__avatar{height:48px;width:48px;border-radius:6px;margin-right:10px}.vcomment__avatar--small{height:20px;width:20px;margin-right:5px}.vcomment__avatarlink{display:inherit}.vcomment__comment2{margin-top:5px;border-top:1px solid #eee;padding-top:5px}.vcomment__comment2-form{padding:10px;position:relative;box-shadow:0 3px 12px rgba(27,31,35,0.15)}.vcomment__paginations{font-size:16px}.vcomment__paginations .vcomment__pointer{font-size:16px}.vcomment__paginations .vcomment__svg{height:14px;width:14px}.vcomment__pagination--disabled{cursor:not-allowed;color:rgba(0,0,0,0.18)}.vcomment .commentOriginal .vcomment__list{box-shadow:0 3px 12px rgba(27,31,35,0.15);margin-bottom:10px}.vcomment .commentActionPanel{box-shadow:0 3px 12px rgba(27,31,35,0.15)}.vcomment__editor{display:none;width:100%;position:fixed;bottom:0;z-index:100;top:0}.vcomment__editor-main{display:none;position:fixed;width:100%;box-sizing:border-box;bottom:0;background-color:#f1f7fe;z-index:201;padding:20px 0;left:0}.vcomment__editor-content{max-width:768px;padding:10px;margin:0 auto}.vcomment__editor-content #vcommentVditor{background-color:#fff;height:200px}.vcomment__bg{background-color:#000;height:100%;opacity:0.48;left:0;position:fixed;top:0;width:100%;z-index:200;-webkit-animation-duration:.38s;animation-duration:.38s;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}\\n',\"\"]),t.exports=e},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||\"\",o=t[3];if(!o)return n;if(e&&\"function\"==typeof btoa){var i=(a=o,c=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),m=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(c),\"/*# \".concat(m,\" */\")),r=o.sources.map((function(t){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(r).concat([i]).join(\"\\n\")}var a,c,m;return[n].join(\"\\n\")}(e,t);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var c=0;c<t.length;c++){var m=[].concat(t[c]);o&&i[m[0]]||(n&&(m[2]?m[2]=\"\".concat(n,\" and \").concat(m[2]):m[2]=n),e.push(m))}},e}},function(t,e,n){\"use strict\";n.r(e);var o=function(t){alert(t)},i=function(){var t=function(t){var e=document.createElement(\"img\");e.src=t.getAttribute(\"data-src\"),e.addEventListener(\"load\",(function(){t.getAttribute(\"style\")||t.getAttribute(\"class\")||t.getAttribute(\"width\")||t.getAttribute(\"height\")||e.naturalHeight>e.naturalWidth&&e.naturalWidth/e.naturalHeight<document.querySelector(\".vditor-reset\").clientWidth/(window.innerHeight-40)&&e.naturalHeight>window.innerHeight-40&&(t.style.height=window.innerHeight-40+\"px\"),t.src=e.src})),t.removeAttribute(\"data-src\")};if(!(\"IntersectionObserver\"in window))return document.querySelectorAll(\".vditor-reset img\").forEach((function(e){e.getAttribute(\"data-src\")&&t(e)})),!1;window.vcommentImageIntersectionObserver?(window.vcommentImageIntersectionObserver.disconnect(),document.querySelectorAll(\".vditor-reset img\").forEach((function(t){window.vcommentImageIntersectionObserver.observe(t)}))):(window.vcommentImageIntersectionObserver=new IntersectionObserver((function(e){e.forEach((function(e){(void 0===e.isIntersecting?0!==e.intersectionRatio:e.isIntersecting)&&e.target.getAttribute(\"data-src\")&&t(e.target)}))})),document.querySelectorAll(\".vditor-reset img\").forEach((function(t){window.vcommentImageIntersectionObserver.observe(t)})))},r=function(t){Vditor.highlightRender({enable:t.hljsEnable,style:t.hljsStyle},document),Vditor.codeRender(document.body,t.lang),t.hljsEnable?Vditor.mathRenderByLute(document.body):Vditor.mathRender(document.body),Vditor.abcRender(),Vditor.chartRender(),Vditor.mediaRender(document.body),Vditor.mermaidRender(document.body),document.querySelectorAll(\".vditor-reset\").forEach((function(e){Vditor.speechRender(e,t.lang)}))},a=function(t){$(\"#\"+t.id).on(\"click\",\".commentCloseBtn\",(function(){$(this).closest(\".commentActionPanel\").hide(),$(this).closest(\"ul\").remove(\"\")})).on(\"click\",\".commentOriginalBtn\",(function(){!function(t,e,n,a){\"disabled\"!==n.attr(\"disabled\")&&$.ajax({data:JSON.stringify({commentId:t}),headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+a.id+\" .vcomment\").data(\"csrf\")},type:\"POST\",url:a.url+\"/apis/vcomment/original\",beforeSend:function(){n.attr(\"disabled\",\"disabled\")},success:function(t){if(!t.sc)return o(t.msg),!1;e.html('<ul class=\"vcomment__list\">'+t.cmtTpl+\"</ul>\").show(),i(),r(a.vditor)},error:function(t){o(t.statusText)},complete:function(){n.removeAttr(\"disabled\")}})}($(this).data(\"ooid\"),$(this).closest(\"li\").find(\".commentOriginal\"),$(this),t)})).on(\"click\",\".commentShowReplyBtn\",(function(){var e=$(this),n=e.closest(\"li\").find(\".commentActionPanel\");!function(t,e,n,a){\"disabled\"!==n.attr(\"disabled\")&&$.ajax({data:JSON.stringify({commentId:t}),headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+a.id+\" .vcomment\").data(\"csrf\")},type:\"POST\",url:a.url+\"/apis/vcomment/replies\",beforeSend:function(){n.attr(\"disabled\",\"disabled\")},success:function(t){if(!t.sc)return o(t.msg),!1;var n=\"\";t.commentReplies.forEach((function(t){n+=t})),e.html('<ul class=\"vcomment__list\">'+n+\"</ul>\").slideDown(),i(),r(a.vditor)},error:function(t){o(t.statusText)},complete:function(){n.removeAttr(\"disabled\")}})}(e.closest(\"li\").attr(\"id\"),n,e,t)})).on(\"click\",\".commentShowMoreBtn\",(function(){var t=$(this),e=1===t.closest(\".commentOriginal\").length,n=t.closest(\".commentOriginal\").find(\".commentHide\");e||(n=t.closest(\"li\").find(\".commentHide\").filter((function(t,e){return 0===$(e).closest(\".commentOriginal\").length}))),\"fold\"===t.data(\"type\")?(n.show(),t.html(\"折叠\").data(\"type\",\"open\")):(n.hide(),t.html(\"展开\").data(\"type\",\"fold\"))})).on(\"click\",\".comment2SubmitBtn\",(function(){var e=$(this);if(\"disabled\"!==e.attr(\"disabled\")){e.attr(\"disabled\",\"disabled\");var n=\"POST\",r=\"\",a=JSON.stringify({comment2Content:e.prev().val(),commentId:e.closest(\"li\").attr(\"id\")});e.prev().data(\"id\")&&(n=\"PUT\",r=\"/\"+e.prev().data(\"id\"),a=JSON.stringify({comment2Content:e.prev().val()})),$.ajax({complete:function(){e.removeAttr(\"disabled\")},data:a,headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},type:n,url:t.url+\"/apis/vcomment2\"+r,success:function(t){0===t.code?(\"PUT\"===n?e.closest(\".comment2Item\")[0].outerHTML=t.data.html:(e.closest(\"li\").find(\".vcomment-comment2s\").append(t.data.html),1===e.closest(\".comment2Form\").length?e.closest(\".vcomment__comment2-form\").remove():e.closest(\"li\").find(\".commentActionPanel\").slideUp()),i()):o(t.msg)}})}}))},c=function(t,e){confirm(t)&&e()},m=function(t){window.location.href=t+\"/login?goto=\"+encodeURIComponent(location.href)+\"userinfo=false\"},s=function(t){document.getElementById(t.id).innerHTML='<div class=\"vcomment__center\"><svg style=\"height: 260px;width: 260px;background: none;\" width=\"260px\" height=\"260px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\"><circle cx=\"50\" cy=\"50\" ng-attr-r=\"{{config.radius}}\" ng-attr-stroke-width=\"{{config.width}}\" ng-attr-stroke=\"{{config.c1}}\" ng-attr-stroke-dasharray=\"{{config.dasharray}}\" fill=\"none\" stroke-linecap=\"round\" r=\"20\" stroke-width=\"4\" stroke=\"#3b3e43\" stroke-dasharray=\"31.41592653589793 31.41592653589793\" transform=\"rotate(111.924 50 50)\"><animateTransform attributeName=\"transform\" type=\"rotate\" calcMode=\"linear\" values=\"0 50 50;360 50 50\" keyTimes=\"0;1\" dur=\"1.5s\" begin=\"0s\" repeatCount=\"indefinite\"></animateTransform></circle><circle cx=\"50\" cy=\"50\" ng-attr-r=\"{{config.radius2}}\" ng-attr-stroke-width=\"{{config.width}}\" ng-attr-stroke=\"{{config.c2}}\" ng-attr-stroke-dasharray=\"{{config.dasharray2}}\" ng-attr-stroke-dashoffset=\"{{config.dashoffset2}}\" fill=\"none\" stroke-linecap=\"round\" r=\"15\" stroke-width=\"4\" stroke=\"#d23f31\" stroke-dasharray=\"23.561944901923447 23.561944901923447\" stroke-dashoffset=\"23.561944901923447\" transform=\"rotate(-111.924 50 50)\"><animateTransform attributeName=\"transform\" type=\"rotate\" calcMode=\"linear\" values=\"0 50 50;-360 50 50\" keyTimes=\"0;1\" dur=\"1.5s\" begin=\"0s\" repeatCount=\"indefinite\"></animateTransform></circle></svg></div>',$.ajax({cache:!1,success:function(e){0===e.code?(document.getElementById(t.id).innerHTML=e.data.html,i(),r(t.vditor),function(t){$(\".vcomment__paginations [data-page]\").click((function(){t.currentPage=$(this).data(\"page\"),s(t)}))}(t),t.commentVditor=null,1!==t.currentPage&&$(\"html, body\").animate({scrollTop:$(\"#\"+t.id).offset().top},300)):t.error&&t.error()},url:t.url+\"/apis/vcomment?aid=\"+t.postId+\"&p=\"+t.currentPage+\"&un=\"+t.userName})},d=function(t,e){if(\"disabled\"!==e.attr(\"disabled\"))if(e.data(\"haspermission\")){if(t.commentVditor.getValue().length>4096||0===t.commentVditor.getValue().length)return o(\"回帖内容长度 1-4096\"),!1;var n={articleAuthorName:t.userName,articleId:t.postId,commentContent:t.commentVditor.getValue(),commentOriginalCommentId:\"\"},a=$(\"#vcommentReplyUseName\");a.data(\"commentOriginalCommentId\")&&(n.commentOriginalCommentId=a.data(\"commentOriginalCommentId\"));var c=t.url+\"/apis/vcomment/vcomment\",m=\"POST\",d=a.data(\"commentId\");d&&(c=t.url+\"/apis/vcomment/\"+d,m=\"PUT\"),$.ajax({cache:!1,data:encodeURIComponent(JSON.stringify(n)),headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},type:m,url:c,beforeSend:function(){e.attr(\"disabled\",\"disabled\"),t.commentVditor.disabled()},success:function(e){if(0===e.code){d?(document.getElementById(d).outerHTML=e.data.html,i(),r(t.vditor),l(t)):s(t);var n=JSON.parse(localStorage.getItem(\"comments\")||\"{}\");delete n[t.postId],localStorage.setItem(\"comments\",JSON.stringify(n))}else o(e.msg)},error:function(t){o(t.statusText)},complete:function(){e.removeAttr(\"disabled\"),t.commentVditor.enable(),0===arguments[0].responseJSON.code&&t.commentVditor.setValue(\"\")}})}else o(\"因权限不足操作已被禁止\")},l=function(t,e,n,a,c){if($(\"#\"+t.id+\" .vcomment\").data(\"login\")){var s=$(\".vcomment__editor\"),u=$(\".vcomment__editor-main\");if($(\"#\"+t.id+\" .vcomment\").data(\"grant\"))if(\"block\"!==s.css(\"display\")){var f=$(\"#vcommentReplyUseName\");f.removeData(),n?f.data(\"commentOriginalCommentId\",e).html('<div class=\"vcomment__meta vcomment__flexinline\">\\n <svg class=\"vcomment__svg\" viewBox=\"0 0 32 32\">\\n <path d=\"M19.583 9.75q-8.667 1.25-13.375 6.625t-6.208 12.958q6.417-9.083 19.583-9.083v7.25l12.417-12.417-12.417-12.417v7.083z\"></path>\\n </svg>\\n <span class=\"vcomment__space\"></span>\\n <img class=\"vcomment__avatar vcomment__avatar--small\" src=\"'+a+'\">\\n <span>'+n+\"</span>\\n</div>\"):e?f.data(\"commentId\",e).html('<div class=\"vcomment__meta\">编辑</div>'):f.html('<div class=\"vcomment__flexinline vcomment__meta\">\\n <svg class=\"vcomment__svg\" viewBox=\"0 0 32 32\">\\n <path d=\"M19.583 9.75q-8.667 1.25-13.375 6.625t-6.208 12.958q6.417-9.083 19.583-9.083v7.25l12.417-12.417-12.417-12.417v7.083z\"></path>\\n </svg>\\n <span class=\"vcomment__space\"></span>\\n <span>'+$(\"title\").html()+\"</span>\\n</div>\"),s.show(),u.slideDown((function(){!function(t,e){if(void 0===e&&(e=\"\"),t.commentVditor)return e&&t.commentVditor.setValue(e),void t.commentVditor.focus();t.vditor.emoji||(t.vditor.emoji={},$.ajax({async:!1,cache:!0,url:t.url+\"/apis/vcomment/users/emotions\",success:function(e){Array.isArray(e.data)&&e.data.forEach((function(e){var n=Object.keys(e)[0];t.vditor.emoji[n]=e[n]}))}}));var n=$(\"#commentSubmitBtn\"),a={after:function(){if(e)t.commentVditor.setValue(e),t.commentVditor.focus();else{var n=JSON.parse(localStorage.getItem(\"comments\")||\"{}\");t.commentVditor.setValue(n[t.postId]||\"\"),t.commentVditor.focus()}},cache:!1,counter:4096,ctrlEnter:function(){d(t,n)},esc:function(){l(t)},input:function(e){if(\"\\n\"!==e){var n=JSON.parse(localStorage.getItem(\"comments\")||\"{}\");n[t.postId]=e,localStorage.setItem(\"comments\",JSON.stringify(n))}},height:200,hint:{at:function(e){var n=[];return $.ajax({async:!1,data:JSON.stringify({name:e}),type:\"POST\",url:t.url+\"/apis/vcomment/users/names\",success:function(t){0===t.code?(n=t.data.map((function(t){return t.value=\"@\"+t.userName,t.html=\"<img src='\"+t.userAvatarURL+\"'/> \"+t.userName,t})),\"\"===e&&n.push({html:\"<img src='https://static.hacpai.com/images/user-thumbnail.png'/> 参与者\",value:\"@participants\"})):o(t.msg)}}),n},emoji:t.vditor.emoji,emojiTail:'<a href=\"'+t.url+'/settings/function\" target=\"_blank\">设置常用表情</a>'},lang:\"zh_CN\",mode:\"wysiwyg-show\",placeholder:$(\"#vcommentVditor\").data(\"placeholder\"),preview:{hljs:{enable:t.vditor.hljsEnable,style:t.vditor.hljsStyle},mode:\"editor\",url:t.url+\"/apis/vcomment/markdown\",parse:function(e){\"none\"!==e.style.display&&(i(),r(t.vditor))}},resize:{enable:!0,position:\"top\"},tab:\"\\t\",toolbar:[\"emoji\",\"headings\",\"bold\",\"italic\",\"link\",\"|\",\"list\",\"ordered-list\",\"check\",\"|\",\"quote\",\"line\",\"code\",\"inline-code\",\"|\",\"record\",\"table\",\"|\",\"undo\",\"redo\",\"|\",\"wysiwyg\",\"both\",\"preview\",\"format\",\"|\",\"fullscreen\",\"devtools\",\"info\",\"help\"],typewriterMode:!1};$(window).width()<768&&(a.toolbar=[\"emoji\",\"bold\",\"italic\",\"link\",\"list\",\"check\",\"wysiwyg\",\"preview\",\"fullscreen\",\"help\"],a.resize.enable=!1),t.commentVditor=new Vditor(\"vcommentVditor\",a),n.click((function(){d(t,n)}))}(t,c)}));var p=$(\"#\"+e);1===p.length&&($(window).width()<768?$(window).scrollTop(p[0].offsetTop-308):$(window).scrollTop(p[0].offsetTop)),p.css({\"background-color\":\"#9bbee0\"}),setTimeout((function(){p.css({\"background-color\":\"#FFF\",transition:\"all 3s cubic-bezier(0.56, -0.36, 0.58, 1)\"})}),100),setTimeout((function(){p.removeAttr(\"style\")}),3100)}else u.slideUp((function(){s.hide()}));else o(\"角色有误\")}else m(t.url)},u=(n(0),function(){function t(t){this.options=function(t){var e={currentPage:1,id:\"\",postId:\"\",url:\"https://hacpai.com\",userName:\"\",vditor:{emoji:null,hljsEnable:!0,hljsStyle:\"github\",lang:\"zh_CN\"}};return t.vditor&&(t.vditor=Object.assign({},e.vditor,t.vditor)),Object.assign({},e,t)}(t),document.addEventListener(\"click\",(function(t){var e=$(t.target);1===e.closest(\"details-menu\").length&&e.closest(\".details\").removeAttr(\"open\"),0===e.closest(\".details\").length&&$(\".details\").removeAttr(\"open\")})),$(\"body\").on(\"click\",\".details summary\",(function(){$(\".details\").removeAttr(\"open\")})),a(t),function(t){var e='<div class=\"vcomment__comment2-form\">\\n <div class=\"vcomment__flex\">\\n <input class=\"vcomment__input\" type=\"text\" placeholder=\"评论内容长度 4-4096\">\\n <button class=\"comment2SubmitBtn vcomment__btn vcomment__btn--comment2\">提交</button>\\n </div>\\n <div class=\"vcomment__hr\"></div>\\n <div class=\"vcomment__meta\">\\n 仅支持_斜体_、**加粗**以及超链接,请浏览<a href=\"https://hacpai.com/article/1555259445024\" target=\"_blank\">使用场景说明</a>了解更多细节\\n </div>\\n</div>';$(\"#\"+t.id).on(\"click\",\".commentMenuBtn\",(function(){if($(\"#\"+t.id+\" .vcomment\").data(\"login\")){var e=$(this);\"\"===$.trim(e.closest(\"details\").find(\"details-menu\").html())&&\"disabled\"!==e.attr(\"disabled\")&&(e.attr(\"disabled\",\"disabled\"),$.ajax({cache:!1,headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},url:t.url+\"/apis/vcomment/action?id=\"+e.closest(\"li\").attr(\"id\"),complete:function(t){e.removeAttr(\"disabled\"),0===t.responseJSON.code?e.closest(\"details\").find(\"details-menu\").html(t.responseJSON.data):o(t.responseJSON.msg)}}))}else m(t.url)})).on(\"click\",\".comment2Btn\",(function(){if($(this).data(\"grant\")){var t=$(this).closest(\"li\").find(\".commentActionPanel\");t.html(e).slideDown(),t.find(\"input\").focus()}else o(\"因权限不足操作已被禁止\")})).on(\"click\",\".commentThankBtn\",(function(){var e=$(this);c(e.data(\"tip\"),(function(){\"disabled\"!==e.attr(\"disabled\")&&(e.attr(\"disabled\",\"disabled\"),$.ajax({cache:!1,complete:function(){e.removeAttr(\"disabled\")},data:JSON.stringify({commentId:e.closest(\"li\").attr(\"id\")}),headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},type:\"POST\",url:t.url+\"/apis/vcomment/thank\",success:function(n){0===n.code?(e.closest(\"li\")[0].outerHTML=n.data.html,i(),r(t.vditor)):o(n.msg)}}))}))})).on(\"click\",\".commentMenuBtn .commentShowEditorBtn\",(function(){var e=$(this);l(t,e.closest(\"li\").attr(\"id\"),e.data(\"name\"),e.data(\"avatar\"))})).on(\"click\",\".commentRemoveBtn\",(function(){var e=$(this);if($(\"#\"+t.id+\" .vcomment\").data(\"login\")){var n=e.closest(\"li\").attr(\"id\");c(\"确定删除么?\",(function(){$.ajax({cache:!1,headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},type:\"DELETE\",url:t.url+\"/apis/vcomment/\"+n,success:function(t){if(0===t.sc){$(\"#\"+n).remove();var e=$(\"#commentsCount\");e.text(parseInt(e.first().text(),10)-1||\"\")}else o(t.msg)}})}))}else m(t.url)})).on(\"click\",\".commentEditBtn\",(function(){var e=$(this);$.ajax({cache:!1,url:t.url+\"/apis/vcomment/vcomment/\"+e.closest(\"li\").attr(\"id\")+\"/content\",success:function(n){0===n.sc&&l(t,e.closest(\"li\").attr(\"id\"),\"\",\"\",n.commentContent)}})})).on(\"click\",\".comment2Thank\",(function(){var e=$(this);c(e.data(\"tip\"),(function(){e.attr(\"disabled\",\"disabled\"),$.ajax({complete:function(){e.removeAttr(\"disabled\")},data:JSON.stringify({comment2Id:e.closest(\".comment2Item\").data(\"id\")}),headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},type:\"POST\",url:t.url+\"/apis/vcomment2/thank\",success:function(t){0===t.code?e.closest(\".comment2Item\")[0].outerHTML=t.data.html:o(t.msg)}})}))})).on(\"click\",\".comment2at\",(function(){var t=$(this),n=t.closest(\".comment2Item\");0===n.find(\".vcomment__comment2-form\").length?n.find(\".comment2Form\").html(e).find(\"input\").val(t.text()).focus():n.find(\"input\").focus()})).on(\"click\",\".comment2Edit\",(function(){var n=$(this).closest(\".comment2Item\");1!==n.find(\".vcomment__comment2-form\").length?(n.find(\".comment2Form\").html(e),$.ajax({url:t.url+\"/apis/vcomment2/update/\"+n.data(\"id\"),success:function(t){0===t.sc?n.find(\"input\").val(t.data.comment2Content).data(\"id\",t.data.oId).focus():o(t.msg)}})):n.find(\".vcomment__comment2-form\").remove()})).on(\"click\",\".comment2Remove\",(function(){var e=$(this);\"disabled\"!==e.attr(\"disabled\")&&c(\"确定删除么?\",(function(){e.attr(\"disabled\",\"disabled\"),$.ajax({complete:function(){e.removeAttr(\"disabled\")},headers:{\"X-B3-UA\":\"vcomment\",csrfToken:$(\"#\"+t.id+\" .vcomment\").data(\"csrf\")},type:\"DELETE\",url:t.url+\"/apis/vcomment2/\"+e.closest(\".comment2Item\").data(\"id\"),success:function(t){0===t.sc?e.closest(\".comment2Item\").remove():o(t.msg)}})}))}))}(t),$(\"body\").on(\"click\",\".commentToggleEditorBtn\",(function(){l(t)})),$.ajaxSetup({xhrFields:{withCredentials:!0}})}return t.prototype.render=function(){s(this.options)},t.prototype.parseMarkdown=function(t){r(t)},t.prototype.lazyLoadImage=function(){i()},t}());e.default=u}]).default}));\n\n//# sourceURL=webpack:///./node_modules/vcmt/dist/index.min.js?");
/***/ }),
/***/ "./src/main/resources/js/page.js":
/*!***************************************!*\
!*** ./src/main/resources/js/page.js ***!
......@@ -116,7 +105,7 @@ eval("/*!\n * vcomment v1.0.6 - Full-featured comment system.\n * \n * MIT Lic
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vcmt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vcmt */ \"./node_modules/vcmt/dist/index.min.js\");\n/* harmony import */ var vcmt__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vcmt__WEBPACK_IMPORTED_MODULE_1__);\n/*\n * Solo - A small and beautiful blogging system written in Java.\n * Copyright (c) 2010-present, b3log.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\n\n/**\n * @fileoverview Page util, load heighlight and process comment.\n *\n * @author <a href=\"http://vanessa.b3log.org\">Liyuan Li</a>\n * @author <a href=\"http://88250.b3log.org\">Liang Ding</a>\n * @version 2.5.0.0, Jan 15, 2020\n */\n\nwindow.Page = function (tips) {\n this.currentCommentId = '';\n this.tips = tips;\n};\n\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(Page.prototype, {\n /**\n * 第三方评论\n */\n vcomment: function vcomment() {\n var $vcomment = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#vcomment');\n\n if ($vcomment.length === 0) {\n return;\n }\n\n var vcomment = new vcmt__WEBPACK_IMPORTED_MODULE_1___default.a({\n id: 'vcomment',\n postId: $vcomment.data('postid'),\n url: 'https://hacpai.com',\n userName: $vcomment.data('name'),\n currentPage: 1,\n vditor: {\n hljsEnable: !Label.luteAvailable,\n hljsStyle: Label.hljsStyle\n },\n error: function error() {\n $vcomment.remove();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloComments').show();\n }\n });\n vcomment.render();\n },\n\n /**\n * 分享\n */\n share: function share() {\n var $this = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.article__share');\n\n if ($this.length === 0) {\n return;\n }\n\n var $qrCode = $this.find('.item__qr');\n var shareURL = $this.data('url');\n var avatarURL = $this.data('avatar');\n var title = encodeURIComponent($this.data('title') + ' - ' + $this.data('blogtitle'));\n var url = encodeURIComponent(shareURL);\n var urls = {};\n urls.tencent = 'http://share.v.t.qq.com/index.php?c=share&a=index&title=' + title + '&url=' + url + '&pic=' + avatarURL;\n urls.weibo = 'http://v.t.sina.com.cn/share/share.php?title=' + title + '&url=' + url + '&pic=' + avatarURL;\n urls.qqz = 'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + avatarURL;\n urls.twitter = 'https://twitter.com/intent/tweet?status=' + title + ' ' + url;\n $this.find('span').click(function () {\n var key = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('type');\n\n if (!key) {\n return;\n }\n\n if (key === 'wechat') {\n if (typeof QRious === 'undefined') {\n Util.addScript(Label.staticServePath + '/js/lib/qrious.min.js', 'qriousScript');\n var qr = new QRious({\n padding: 0,\n element: $qrCode[0],\n value: shareURL,\n size: 128\n });\n $qrCode.css('background-image', \"url(\".concat(qr.toDataURL('image/jpeg'), \")\"));\n } else {\n $qrCode.slideToggle();\n }\n\n return false;\n }\n\n window.open(urls[key], '_blank', 'top=100,left=200,width=648,height=618');\n });\n },\n\n /*\n * @description 文章加载\n */\n load: function load() {\n var that = this; // comment\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comment').click(function () {\n that.toggleEditor();\n }).attr('readonly', 'readonly');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorCancel').click(function () {\n that.toggleEditor();\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').click(function () {\n that.submitComment();\n });\n that.vcomment();\n },\n toggleEditor: function toggleEditor(commentId, name) {\n var $editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditor');\n\n if ($editor.length === 0) {\n location.href = Label.servePath + '/start';\n return;\n }\n\n if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorComment').hasClass('vditor')) {\n var that = this;\n Util.addScript('https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/index.min.js', 'vditorScript');\n var toolbar = ['emoji', 'headings', 'bold', 'italic', 'strike', 'link', '|', 'list', 'ordered-list', 'check', '|', 'quote', 'line', 'code', 'inline-code', 'table', '|', 'undo', 'redo', '|', 'wysiwyg', 'both', 'preview', 'format', '|', 'fullscreen', 'devtools', 'info', 'help'],\n resizeEnable = true;\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width() < 768) {\n toolbar = ['emoji', 'bold', 'italic', 'link', 'list', 'check', 'wysiwyg', 'preview', 'fullscreen', 'help'];\n resizeEnable = false;\n }\n\n window.vditor = new Vditor('soloEditorComment', {\n placeholder: that.tips.commentContentCannotEmptyLabel,\n height: 180,\n tab: '\\t',\n esc: function esc() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorCancel').click();\n },\n ctrlEnter: function ctrlEnter() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').click();\n },\n preview: {\n delay: 500,\n mode: 'editor',\n url: Label.servePath + '/console/markdown/2html',\n hljs: {\n enable: !Label.luteAvailable,\n style: Label.hljsStyle\n },\n parse: function parse(element) {\n if (element.style.display === 'none') {\n return;\n }\n\n Util.parseLanguage();\n }\n },\n counter: 500,\n resize: {\n enable: resizeEnable,\n position: 'top'\n },\n lang: Label.langLabel,\n toolbar: toolbar,\n after: function after() {\n vditor.focus();\n }\n });\n }\n\n if ($editor.css('bottom') === '-300px' || commentId) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorError').text('');\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width() < 768) {\n $editor.css({\n 'top': '0',\n 'bottom': 'auto',\n 'opacity': 1\n });\n } else {\n $editor.css({\n 'bottom': '0',\n top: 'auto',\n 'opacity': 1\n });\n }\n\n this.currentCommentId = commentId;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorReplyTarget').text(name ? '@' + name : '');\n\n if (typeof vditor !== 'undefined' && vditor.vditor.wysiwyg) {\n vditor.focus();\n }\n } else {\n $editor.css({\n 'bottom': '-300px',\n top: 'auto',\n 'opacity': 0\n });\n }\n },\n\n /*\n * @description 加载随机文章\n * @param {String} headTitle 随机文章标题\n */\n loadRandomArticles: function loadRandomArticles(headTitle) {\n var randomArticles1Label = this.tips.randomArticles1Label; // getRandomArticles\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: Label.servePath + '/articles/random',\n type: 'POST',\n success: function success(result, textStatus) {\n var randomArticles = result.randomArticles;\n\n if (!randomArticles || 0 === randomArticles.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#randomArticles').remove();\n return;\n }\n\n var listHtml = '';\n\n for (var i = 0; i < randomArticles.length; i++) {\n var article = randomArticles[i];\n var title = article.articleTitle;\n var randomArticleLiHtml = '<li>' + '<a rel=\\'nofollow\\' title=\\'' + title + '\\' href=\\'' + Label.servePath + article.articlePermalink + '\\'>' + title + '</a></li>';\n listHtml += randomArticleLiHtml;\n }\n\n var titleHTML = headTitle ? headTitle : '<h4>' + randomArticles1Label + '</h4>';\n var randomArticleListHtml = titleHTML + '<ul>' + listHtml + '</ul>';\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#randomArticles').append(randomArticleListHtml);\n }\n });\n },\n\n /*\n * @description 加载相关文章\n * @param {String} id 文章 id\n * @param {String} headTitle 相关文章标题\n */\n loadRelevantArticles: function loadRelevantArticles(id, headTitle) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: Label.servePath + '/article/id/' + id + '/relevant/articles',\n type: 'GET',\n success: function success(data, textStatus) {\n var articles = data.relevantArticles;\n\n if (!articles || 0 === articles.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#relevantArticles').remove();\n return;\n }\n\n var listHtml = '';\n\n for (var i = 0; i < articles.length; i++) {\n var article = articles[i];\n var title = article.articleTitle;\n var articleLiHtml = '<li>' + '<a rel=\\'nofollow\\' title=\\'' + title + '\\' href=\\'' + Label.servePath + article.articlePermalink + '\\'>' + title + '</a></li>';\n listHtml += articleLiHtml;\n }\n\n var relevantArticleListHtml = headTitle + '<ul>' + listHtml + '</ul>';\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#relevantArticles').append(relevantArticleListHtml);\n },\n error: function error() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#relevantArticles').remove();\n }\n });\n },\n\n /*\n * @description 加载站外相关文章\n * @param {String} tags 文章 tags\n * @param {String} headTitle 站外相关文章标题\n */\n loadExternalRelevantArticles: function loadExternalRelevantArticles(tags, headTitle) {\n var tips = this.tips;\n\n try {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: 'https://rhythm.b3log.org/get-articles-by-tags.do?tags=' + tags + '&blogHost=' + tips.blogHost + '&paginationPageSize=' + tips.externalRelevantArticlesDisplayCount,\n type: 'GET',\n cache: true,\n dataType: 'jsonp',\n error: function error() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#externalRelevantArticles').remove();\n },\n success: function success(data, textStatus) {\n var articles = data.articles;\n\n if (!articles || 0 === articles.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#externalRelevantArticles').remove();\n return;\n }\n\n var listHtml = '';\n\n for (var i = 0; i < articles.length; i++) {\n var article = articles[i];\n var title = article.articleTitle;\n var articleLiHtml = '<li>' + '<a rel=\\'nofollow\\' title=\\'' + title + '\\' target=\\'_blank\\' href=\\'' + article.articlePermalink + '\\'>' + title + '</a></li>';\n listHtml += articleLiHtml;\n }\n\n var titleHTML = headTitle ? headTitle : '<h4>' + tips.externalRelevantArticles1Label + '</h4>';\n var randomArticleListHtml = titleHTML + '<ul>' + listHtml + '</ul>';\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#externalRelevantArticles').append(randomArticleListHtml);\n }\n });\n } catch (e) {// 忽略相关文章加载异常:load script error\n }\n },\n\n /*\n * @description 提交评论\n * @param {String} commentId 回复评论时的评论 id\n */\n submitComment: function submitComment() {\n var that = this,\n tips = this.tips;\n\n if (vditor.getValue().length > 1 && vditor.getValue().length < 500) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').attr('disabled', 'disabled');\n var requestJSONObject = {\n 'oId': tips.oId,\n 'commentContent': vditor.getValue()\n };\n\n if (this.currentCommentId) {\n requestJSONObject.commentOriginalCommentId = this.currentCommentId;\n }\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n type: 'POST',\n url: Label.servePath + '/article/comments',\n cache: false,\n contentType: 'application/json',\n data: JSON.stringify(requestJSONObject),\n success: function success(result) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').removeAttr('disabled');\n\n if (!result.sc) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorError').html(result.msg);\n return;\n }\n\n that.toggleEditor();\n vditor.setValue('');\n that.addCommentAjax(result.cmtTpl);\n }\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorError').text(that.tips.commentContentCannotEmptyLabel);\n }\n },\n\n /*\n * @description 添加回复评论表单\n * @param {String} id 被回复的评论 id\n */\n addReplyForm: function addReplyForm(id, name) {\n var that = this;\n that.currentCommentId = id;\n this.toggleEditor(id, name);\n },\n\n /*\n * @description 隐藏回复评论的浮出层\n * @parma {String} id 被回复的评论 id\n */\n hideComment: function hideComment(id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).hide();\n },\n\n /*\n * @description 显示回复评论的浮出层\n * @parma {Dom} it 触发事件的 dom\n * @param {String} id 被回复的评论 id\n * @param {Int} top 位置相对浮出层的高度\n * @param {String} [parentTag] it 如果嵌入在 position 为 relative 的元素 A 中时,需取到 A 元素\n */\n showComment: function showComment(it, id, top, parentTag) {\n var positionTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(it).position().top);\n\n if (parentTag) {\n positionTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(it).parents(parentTag).position().top);\n }\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).length > 0) {\n // 此处重复设置 top 是由于评论为异步,原有回复评论的显示位置应往下移动\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).show().css('top', positionTop + top + 'px');\n } else {\n var $refComment = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + id).clone();\n $refComment.addClass('comment-body-ref').attr('id', 'commentRef' + id);\n $refComment.find('#replyForm').remove();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').append($refComment);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).css('top', positionTop + top + 'px');\n }\n },\n\n /*\n * @description 回复不刷新,将回复内容异步添加到评论列表中\n * @parma {String} commentHTML 回复内容 HTML\n */\n addCommentAjax: function addCommentAjax(commentHTML) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').children().length > 0) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').children()[0]).before(commentHTML);\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').html(commentHTML);\n }\n\n Util.parseMarkdown();\n Util.parseLanguage();\n window.location.hash = '#comments';\n }\n});\n\n//# sourceURL=webpack:///./src/main/resources/js/page.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/*\n * Solo - A small and beautiful blogging system written in Java.\n * Copyright (c) 2010-present, b3log.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <https://www.gnu.org/licenses/>.\n */\n\n/**\n * @fileoverview Page util, load heighlight and process comment.\n *\n * @author <a href=\"http://vanessa.b3log.org\">Liyuan Li</a>\n * @author <a href=\"http://88250.b3log.org\">Liang Ding</a>\n * @version 2.5.0.0, Jan 15, 2020\n */\n\nwindow.Page = function (tips) {\n this.currentCommentId = '';\n this.tips = tips;\n};\n\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(Page.prototype, {\n /**\n * 第三方评论\n */\n vcomment: function vcomment() {\n var $vcomment = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#vcomment');\n\n if ($vcomment.length === 0) {\n return;\n }\n\n var vcomment = new Vcomment({\n id: 'vcomment',\n postId: $vcomment.data('postid'),\n url: 'https://hacpai.com',\n userName: $vcomment.data('name'),\n currentPage: 1,\n vditor: {\n hljsEnable: !Label.luteAvailable,\n hljsStyle: Label.hljsStyle\n },\n error: function error() {\n $vcomment.remove();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloComments').show();\n }\n });\n vcomment.render();\n },\n\n /**\n * 分享\n */\n share: function share() {\n var $this = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.article__share');\n\n if ($this.length === 0) {\n return;\n }\n\n var $qrCode = $this.find('.item__qr');\n var shareURL = $this.data('url');\n var avatarURL = $this.data('avatar');\n var title = encodeURIComponent($this.data('title') + ' - ' + $this.data('blogtitle'));\n var url = encodeURIComponent(shareURL);\n var urls = {};\n urls.tencent = 'http://share.v.t.qq.com/index.php?c=share&a=index&title=' + title + '&url=' + url + '&pic=' + avatarURL;\n urls.weibo = 'http://v.t.sina.com.cn/share/share.php?title=' + title + '&url=' + url + '&pic=' + avatarURL;\n urls.qqz = 'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + avatarURL;\n urls.twitter = 'https://twitter.com/intent/tweet?status=' + title + ' ' + url;\n $this.find('span').click(function () {\n var key = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('type');\n\n if (!key) {\n return;\n }\n\n if (key === 'wechat') {\n if (typeof QRious === 'undefined') {\n Util.addScript(Label.staticServePath + '/js/lib/qrious.min.js', 'qriousScript');\n var qr = new QRious({\n padding: 0,\n element: $qrCode[0],\n value: shareURL,\n size: 128\n });\n $qrCode.css('background-image', \"url(\".concat(qr.toDataURL('image/jpeg'), \")\"));\n } else {\n $qrCode.slideToggle();\n }\n\n return false;\n }\n\n window.open(urls[key], '_blank', 'top=100,left=200,width=648,height=618');\n });\n },\n\n /*\n * @description 文章加载\n */\n load: function load() {\n var that = this; // comment\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comment').click(function () {\n that.toggleEditor();\n }).attr('readonly', 'readonly');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorCancel').click(function () {\n that.toggleEditor();\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').click(function () {\n that.submitComment();\n });\n that.vcomment();\n },\n toggleEditor: function toggleEditor(commentId, name) {\n var $editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditor');\n\n if ($editor.length === 0) {\n location.href = Label.servePath + '/start';\n return;\n }\n\n if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorComment').hasClass('vditor')) {\n var that = this;\n var toolbar = ['emoji', 'headings', 'bold', 'italic', 'strike', 'link', '|', 'list', 'ordered-list', 'check', '|', 'quote', 'line', 'code', 'inline-code', 'table', '|', 'undo', 'redo', '|', 'wysiwyg', 'both', 'preview', 'format', '|', 'fullscreen', 'devtools', 'info', 'help'],\n resizeEnable = true;\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width() < 768) {\n toolbar = ['emoji', 'bold', 'italic', 'link', 'list', 'check', 'wysiwyg', 'preview', 'fullscreen', 'help'];\n resizeEnable = false;\n }\n\n window.vditor = new Vditor('soloEditorComment', {\n placeholder: that.tips.commentContentCannotEmptyLabel,\n height: 180,\n tab: '\\t',\n esc: function esc() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorCancel').click();\n },\n ctrlEnter: function ctrlEnter() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').click();\n },\n preview: {\n delay: 500,\n mode: 'editor',\n url: Label.servePath + '/console/markdown/2html',\n hljs: {\n enable: !Label.luteAvailable,\n style: Label.hljsStyle\n },\n parse: function parse(element) {\n if (element.style.display === 'none') {\n return;\n }\n\n Util.parseMarkdown();\n }\n },\n counter: 500,\n resize: {\n enable: resizeEnable,\n position: 'top'\n },\n lang: Label.langLabel,\n toolbar: toolbar,\n after: function after() {\n vditor.focus();\n }\n });\n }\n\n if ($editor.css('bottom') === '-300px' || commentId) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorError').text('');\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width() < 768) {\n $editor.css({\n 'top': '0',\n 'bottom': 'auto',\n 'opacity': 1\n });\n } else {\n $editor.css({\n 'bottom': '0',\n top: 'auto',\n 'opacity': 1\n });\n }\n\n this.currentCommentId = commentId;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorReplyTarget').text(name ? '@' + name : '');\n\n if (typeof vditor !== 'undefined' && vditor.vditor.wysiwyg) {\n vditor.focus();\n }\n } else {\n $editor.css({\n 'bottom': '-300px',\n top: 'auto',\n 'opacity': 0\n });\n }\n },\n\n /*\n * @description 加载随机文章\n * @param {String} headTitle 随机文章标题\n */\n loadRandomArticles: function loadRandomArticles(headTitle) {\n var randomArticles1Label = this.tips.randomArticles1Label; // getRandomArticles\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: Label.servePath + '/articles/random',\n type: 'POST',\n success: function success(result, textStatus) {\n var randomArticles = result.randomArticles;\n\n if (!randomArticles || 0 === randomArticles.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#randomArticles').remove();\n return;\n }\n\n var listHtml = '';\n\n for (var i = 0; i < randomArticles.length; i++) {\n var article = randomArticles[i];\n var title = article.articleTitle;\n var randomArticleLiHtml = '<li>' + '<a rel=\\'nofollow\\' title=\\'' + title + '\\' href=\\'' + Label.servePath + article.articlePermalink + '\\'>' + title + '</a></li>';\n listHtml += randomArticleLiHtml;\n }\n\n var titleHTML = headTitle ? headTitle : '<h4>' + randomArticles1Label + '</h4>';\n var randomArticleListHtml = titleHTML + '<ul>' + listHtml + '</ul>';\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#randomArticles').append(randomArticleListHtml);\n }\n });\n },\n\n /*\n * @description 加载相关文章\n * @param {String} id 文章 id\n * @param {String} headTitle 相关文章标题\n */\n loadRelevantArticles: function loadRelevantArticles(id, headTitle) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: Label.servePath + '/article/id/' + id + '/relevant/articles',\n type: 'GET',\n success: function success(data, textStatus) {\n var articles = data.relevantArticles;\n\n if (!articles || 0 === articles.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#relevantArticles').remove();\n return;\n }\n\n var listHtml = '';\n\n for (var i = 0; i < articles.length; i++) {\n var article = articles[i];\n var title = article.articleTitle;\n var articleLiHtml = '<li>' + '<a rel=\\'nofollow\\' title=\\'' + title + '\\' href=\\'' + Label.servePath + article.articlePermalink + '\\'>' + title + '</a></li>';\n listHtml += articleLiHtml;\n }\n\n var relevantArticleListHtml = headTitle + '<ul>' + listHtml + '</ul>';\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#relevantArticles').append(relevantArticleListHtml);\n },\n error: function error() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#relevantArticles').remove();\n }\n });\n },\n\n /*\n * @description 加载站外相关文章\n * @param {String} tags 文章 tags\n * @param {String} headTitle 站外相关文章标题\n */\n loadExternalRelevantArticles: function loadExternalRelevantArticles(tags, headTitle) {\n var tips = this.tips;\n\n try {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: 'https://rhythm.b3log.org/get-articles-by-tags.do?tags=' + tags + '&blogHost=' + tips.blogHost + '&paginationPageSize=' + tips.externalRelevantArticlesDisplayCount,\n type: 'GET',\n cache: true,\n dataType: 'jsonp',\n error: function error() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#externalRelevantArticles').remove();\n },\n success: function success(data, textStatus) {\n var articles = data.articles;\n\n if (!articles || 0 === articles.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#externalRelevantArticles').remove();\n return;\n }\n\n var listHtml = '';\n\n for (var i = 0; i < articles.length; i++) {\n var article = articles[i];\n var title = article.articleTitle;\n var articleLiHtml = '<li>' + '<a rel=\\'nofollow\\' title=\\'' + title + '\\' target=\\'_blank\\' href=\\'' + article.articlePermalink + '\\'>' + title + '</a></li>';\n listHtml += articleLiHtml;\n }\n\n var titleHTML = headTitle ? headTitle : '<h4>' + tips.externalRelevantArticles1Label + '</h4>';\n var randomArticleListHtml = titleHTML + '<ul>' + listHtml + '</ul>';\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#externalRelevantArticles').append(randomArticleListHtml);\n }\n });\n } catch (e) {// 忽略相关文章加载异常:load script error\n }\n },\n\n /*\n * @description 提交评论\n * @param {String} commentId 回复评论时的评论 id\n */\n submitComment: function submitComment() {\n var that = this,\n tips = this.tips;\n\n if (vditor.getValue().length > 1 && vditor.getValue().length < 500) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').attr('disabled', 'disabled');\n var requestJSONObject = {\n 'oId': tips.oId,\n 'commentContent': vditor.getValue()\n };\n\n if (this.currentCommentId) {\n requestJSONObject.commentOriginalCommentId = this.currentCommentId;\n }\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n type: 'POST',\n url: Label.servePath + '/article/comments',\n cache: false,\n contentType: 'application/json',\n data: JSON.stringify(requestJSONObject),\n success: function success(result) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorAdd').removeAttr('disabled');\n\n if (!result.sc) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorError').html(result.msg);\n return;\n }\n\n that.toggleEditor();\n vditor.setValue('');\n that.addCommentAjax(result.cmtTpl);\n }\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#soloEditorError').text(that.tips.commentContentCannotEmptyLabel);\n }\n },\n\n /*\n * @description 隐藏回复评论的浮出层\n * @parma {String} id 被回复的评论 id\n */\n hideComment: function hideComment(id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).hide();\n },\n\n /*\n * @description 显示回复评论的浮出层\n * @parma {Dom} it 触发事件的 dom\n * @param {String} id 被回复的评论 id\n * @param {Int} top 位置相对浮出层的高度\n * @param {String} [parentTag] it 如果嵌入在 position 为 relative 的元素 A 中时,需取到 A 元素\n */\n showComment: function showComment(it, id, top, parentTag) {\n var positionTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(it).position().top);\n\n if (parentTag) {\n positionTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(it).parents(parentTag).position().top);\n }\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).length > 0) {\n // 此处重复设置 top 是由于评论为异步,原有回复评论的显示位置应往下移动\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).show().css('top', positionTop + top + 'px');\n } else {\n var $refComment = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + id).clone();\n $refComment.addClass('comment-body-ref').attr('id', 'commentRef' + id);\n $refComment.find('#replyForm').remove();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').append($refComment);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#commentRef' + id).css('top', positionTop + top + 'px');\n }\n },\n\n /*\n * @description 回复不刷新,将回复内容异步添加到评论列表中\n * @parma {String} commentHTML 回复内容 HTML\n */\n addCommentAjax: function addCommentAjax(commentHTML) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').children().length > 0) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').children()[0]).before(commentHTML);\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#comments').html(commentHTML);\n }\n\n Util.parseMarkdown();\n window.location.hash = '#comments';\n }\n});\n\n//# sourceURL=webpack:///./src/main/resources/js/page.js?");
/***/ })
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -74,7 +74,6 @@ var getArticle = function (it, id) {
$content.html(result)
$abstract.hide().css('background', 'none')
$content.fadeIn('slow')
Util.parseLanguage()
Util.parseMarkdown()
},
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment