update docs
|
@ -25,7 +25,6 @@ module.exports = context => config({
|
|||
cacheHTML: false,
|
||||
},
|
||||
sidebarDepth: 2,
|
||||
lastUpdated: '上次更新',
|
||||
hostname: 'https://hcode.top',
|
||||
repo: 'HimitZH/HOJ',
|
||||
pageInfo: false,
|
||||
|
@ -37,10 +36,10 @@ module.exports = context => config({
|
|||
footnote: true,
|
||||
tex: true,
|
||||
},
|
||||
docsRepo: 'HimitZH/HOJ/docs',
|
||||
docsBranch: 'docs',
|
||||
docsRepo: 'HimitZH/HOJ',
|
||||
docsBranch: 'master',
|
||||
docsDir:'docs/docs',
|
||||
editLinks: true,
|
||||
editLinkText: '文档有锅?点我修复',
|
||||
displayAllHeaders: true,
|
||||
smoothScroll: true,
|
||||
sidebar: [
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M12.5 1C6.16 1 1 6.159 1 12.5S6.16 24 12.5 24 24 18.841 24 12.5 18.84 1 12.5 1z" stroke="#444" stroke-width="2" fill="#f55"/><path fill="#444" d="M7 11h11v3H7z"/></g></svg>
|
Before Width: | Height: | Size: 259 B |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M12.5 1C6.16 1 1 6.159 1 12.5S6.16 24 12.5 24 24 18.841 24 12.5 18.84 1 12.5 1z" stroke="#FFF" stroke-width="2" fill="#f55"/><path fill="#FFF" d="M7 11h11v3H7z"/></g></svg>
|
Before Width: | Height: | Size: 259 B |
|
@ -1 +0,0 @@
|
|||
<svg width="264" height="88" viewBox="0 0 264 88" xmlns="http://www.w3.org/2000/svg"><title>default-skin 2</title><g fill="none" fill-rule="evenodd"><g><path d="M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z" id="Shape" fill="#fff"/><g fill="#fff"><path d="M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z" id="Shape"/></g><g fill="#fff"><path d="M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z"/></g><path d="M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z" fill="#fff"/><path d="M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z" fill="#fff"/><path d="M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z" fill="#fff"/><g><path id="Rectangle-11" fill="#fff" d="M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z"/><path d="M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" id="Oval-1" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M150 21h5v1h-5z"/></g><g><path d="M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z" fill="#fff"/><path d="M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M106 21h5v1h-5z"/><path fill="#fff" d="M109.043 19.008l-.085 5-1-.017.085-5z"/></g></g></g></svg>
|
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 604 KiB |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" viewBox="0 0 37 35" xmlns="http://www.w3.org/2000/svg"><g transform="translate(.28)" fill="none" fill-rule="evenodd"><circle stroke="#444" stroke-width="2" fill="#007BFF" cx="18.22" cy="17.5" r="16.5"/><path d="M17.122 25H16.08a.248.248 0 0 0-.046-.035c-.66-.301-.976-.906-.8-1.611.472-1.946.96-3.888 1.44-5.832a6.08 6.08 0 0 0 .142-.818.19.19 0 0 0-.254-.227 1.54 1.54 0 0 0-.32.11c-.237.1-.468.216-.706.307a.402.402 0 0 1-.536-.102v-.38c.161-.225.344-.434.546-.625a67.265 67.265 0 0 1 2.18-1.633c.159-.104.328-.19.506-.255.232-.1.49-.128.738-.077.926.188 1.406.93 1.18 1.844-.457 1.873-.917 3.746-1.379 5.619a7.52 7.52 0 0 0-.16.926.18.18 0 0 0 .263.205c.174-.053.339-.138.508-.206.205-.09.418-.172.624-.25a.3.3 0 0 1 .343.1.32.32 0 0 1 .033.367 1.38 1.38 0 0 1-.196.303 5.317 5.317 0 0 1-.556.536c-.79.636-1.6 1.262-2.508 1.734zm1.347-12.06a1.97 1.97 0 1 1 .003-3.938 1.97 1.97 0 0 1-.003 3.939z" fill="#444" fill-rule="nonzero"/></g></svg>
|
Before Width: | Height: | Size: 971 B |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" viewBox="0 0 37 35" xmlns="http://www.w3.org/2000/svg"><g transform="translate(.28)" fill="none" fill-rule="evenodd"><circle stroke="#FFF" stroke-width="2" fill="#007BFF" cx="18.22" cy="17.5" r="16.5"/><path d="M17.122 25H16.08a.248.248 0 0 0-.046-.035c-.66-.301-.976-.906-.8-1.611.472-1.946.96-3.888 1.44-5.832a6.08 6.08 0 0 0 .142-.818.19.19 0 0 0-.254-.227 1.54 1.54 0 0 0-.32.11c-.237.1-.468.216-.706.307a.402.402 0 0 1-.536-.102v-.38c.161-.225.344-.434.546-.625a67.265 67.265 0 0 1 2.18-1.633c.159-.104.328-.19.506-.255.232-.1.49-.128.738-.077.926.188 1.406.93 1.18 1.844-.457 1.873-.917 3.746-1.379 5.619a7.52 7.52 0 0 0-.16.926.18.18 0 0 0 .263.205c.174-.053.339-.138.508-.206.205-.09.418-.172.624-.25a.3.3 0 0 1 .343.1.32.32 0 0 1 .033.367 1.38 1.38 0 0 1-.196.303 5.317 5.317 0 0 1-.556.536c-.79.636-1.6 1.262-2.508 1.734zm1.347-12.06a1.97 1.97 0 1 1 .003-3.938 1.97 1.97 0 0 1-.003 3.939z" fill="#FFF" fill-rule="nonzero"/></g></svg>
|
Before Width: | Height: | Size: 971 B |
|
@ -1 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>
|
Before Width: | Height: | Size: 216 B |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" viewBox="0 0 27 27" xmlns="http://www.w3.org/2000/svg"><g transform="translate(1.862 1.862)" fill="none"><circle stroke="#444" stroke-width="1.724" fill="#42B983" cx="11.638" cy="11.638" r="11.638"/><path d="M14.978 6.27A5.006 5.006 0 0 0 6.67 9.468a4.901 4.901 0 0 0 1.773 4.362c.323.258.514.647.522 1.06v1.06a2.685 2.685 0 0 0 5.37 0v-1.008c.002-.398.173-.777.47-1.042a5.023 5.023 0 0 0 .173-7.63zm-3.337 10.967a1.304 1.304 0 0 1-1.286-1.287v-.278h2.572v.261c0 .713-.573 1.294-1.286 1.304zm2.26-4.415a2.81 2.81 0 0 0-.887 1.46h-2.746a2.868 2.868 0 0 0-.938-1.53h-.018a3.476 3.476 0 0 1-1.269-3.145 3.615 3.615 0 0 1 7.196.4 3.65 3.65 0 0 1-1.338 2.815z" fill="#444"/></g></svg>
|
Before Width: | Height: | Size: 707 B |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" viewBox="0 0 27 27" xmlns="http://www.w3.org/2000/svg"><g transform="translate(1.862 1.862)" fill="none"><circle stroke="#FFF" stroke-width="1.724" fill="#42B983" cx="11.638" cy="11.638" r="11.638"/><path d="M14.978 6.27A5.006 5.006 0 0 0 6.67 9.468a4.901 4.901 0 0 0 1.773 4.362c.323.258.514.647.522 1.06v1.06a2.685 2.685 0 0 0 5.37 0v-1.008c.002-.398.173-.777.47-1.042a5.023 5.023 0 0 0 .173-7.63zm-3.337 10.967a1.304 1.304 0 0 1-1.286-1.287v-.278h2.572v.261c0 .713-.573 1.294-1.286 1.304zm2.26-4.415a2.81 2.81 0 0 0-.887 1.46h-2.746a2.868 2.868 0 0 0-.938-1.53h-.018a3.476 3.476 0 0 1-1.269-3.145 3.615 3.615 0 0 1 7.196.4 3.65 3.65 0 0 1-1.338 2.815z" fill="#FFF"/></g></svg>
|
Before Width: | Height: | Size: 707 B |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><g transform="translate(1 1)" fill="none"><circle stroke="#444" stroke-width="2" fill="#f4cd00" cx="15" cy="15" r="15"/><path d="M14.281 17.156a2.89 2.89 0 0 1 .906-.125c.313 0 .657.063.938.125l.938-7.937v-.25a1.914 1.914 0 0 0-1.907-1.906c-.531 0-1.062.25-1.437.656a1.93 1.93 0 0 0-.469 1.5l1.031 7.937zm.875 1.469a1.947 1.947 0 0 0-1.937 1.938c0 1.062.875 1.937 1.937 1.937a1.947 1.947 0 0 0 1.938-1.938 1.908 1.908 0 0 0-1.938-1.937z" fill="#444"/></g></svg>
|
Before Width: | Height: | Size: 544 B |
|
@ -1 +0,0 @@
|
|||
<svg width="25" height="25" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><g transform="translate(1 1)" fill="none"><circle stroke="#FFF" stroke-width="2" fill="#f4cd00" cx="15" cy="15" r="15"/><path d="M14.281 17.156a2.89 2.89 0 0 1 .906-.125c.313 0 .657.063.938.125l.938-7.937v-.25a1.914 1.914 0 0 0-1.907-1.906c-.531 0-1.062.25-1.437.656a1.93 1.93 0 0 0-.469 1.5l1.031 7.937zm.875 1.469a1.947 1.947 0 0 0-1.937 1.938c0 1.062.875 1.937 1.937 1.937a1.947 1.947 0 0 0 1.938-1.938 1.908 1.908 0 0 0-1.938-1.937z" fill="#FFF"/></g></svg>
|
Before Width: | Height: | Size: 544 B |
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{477:function(n,w,o){}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{478:function(n,w,o){}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{479:function(n,w,o){}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{480:function(n,w,o){}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{476:function(n,e,t){"use strict";t.r(e),t.d(e,"register",(function(){return o})),t.d(e,"unregister",(function(){return c}));var r;function o(n,e){void 0===e&&(e={});var t=e.registrationOptions;void 0===t&&(t={}),delete e.registrationOptions;var o=function(n){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];e&&e[n]&&e[n].apply(e,t)};"serviceWorker"in navigator&&r.then((function(){Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))?(!function(n,e,t){fetch(n).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+n)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+n+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):a(n,e,t)})).catch((function(n){return i(e,n)}))}(n,o,t),navigator.serviceWorker.ready.then((function(n){o("ready",n)})).catch((function(n){return i(o,n)}))):(a(n,o,t),navigator.serviceWorker.ready.then((function(n){o("ready",n)})).catch((function(n){return i(o,n)})))}))}function i(n,e){navigator.onLine||n("offline"),n("error",e)}function a(n,e,t){navigator.serviceWorker.register(n,t).then((function(n){e("registered",n),n.waiting?e("updated",n):n.onupdatefound=function(){e("updatefound",n);var t=n.installing;t.onstatechange=function(){"installed"===t.state&&(navigator.serviceWorker.controller?e("updated",n):e("cached",n))}}})).catch((function(n){return i(e,n)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(n){n.unregister()})).catch((function(n){return i(emit,n)}))}"undefined"!=typeof window&&(r="undefined"!=typeof Promise?new Promise((function(n){return window.addEventListener("load",n)})):{then:function(n){return window.addEventListener("load",n)}})}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[4,5],{217:function(t,e){},218:function(t,e){},226:function(t,e){},228:function(t,e){},239:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var s=n(214),i=n(237),a=n(213);const o=i.a.extend({data:()=>({encryptPasswordConfig:{}}),computed:{pathEncryptMatchKeys(){return Object(a.a)(this.encryptOptions,this.$route.path)},isPathEncrypted(){if(0===this.pathEncryptMatchKeys.length)return!1;const{config:t}=this.encryptOptions;return this.pathEncryptMatchKeys.every(e=>{const n=t[e],i="string"==typeof n?[n]:n;return!this.encryptPasswordConfig[e]||i.every(t=>!Object(s.compareSync)(this.encryptPasswordConfig[e],t))})}},mounted(){const t=localStorage.getItem("encryptConfig");t&&(this.encryptPasswordConfig=JSON.parse(t))},methods:{checkPathPassword(t){const{config:e}=this.$themeConfig.encrypt;for(const n of this.pathEncryptMatchKeys){const i=e[n];if(("string"==typeof i?[i]:i).filter(e=>Object(s.compareSync)(t,e))){this.$set(this.encryptPasswordConfig,n,t),localStorage.setItem("encryptConfig",JSON.stringify(this.encryptPasswordConfig));break}}}}})},322:function(t,e,n){},323:function(t,e,n){},324:function(t,e,n){},463:function(t,e,n){"use strict";n(322)},464:function(t,e,n){"use strict";n(323)},465:function(t,e,n){"use strict";n(324)},484:function(t,e,n){"use strict";n.r(e);var s=n(207),i=n(0),a=n(241),o=n(186),r=n(198),c=i.a.extend({name:"ArticleType",computed:{types(){const t=this.$themeLocaleConfig.blog||Object(o.b)().blog;return[{text:t.allText,path:"/article/"},{text:t.star,path:"/star/"},{text:t.slides,path:"/slide/"},{text:t.encrypt,path:"/encrypt/"}]}},methods:{navigate(t){Object(r.a)(t,this.$router,this.$route)}}}),l=(n(463),n(1)),p=Object(l.a)(c,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ul",{staticClass:"article-type-wrapper"},t._l(t.types,(function(e){return n("li",{key:e.text,staticClass:"article-type",class:{active:e.path===t.$route.path},attrs:{role:"navigation"},on:{click:function(n){return t.navigate(e.path)}}},[n("span",[t._v(t._s(e.text))])])})),0)}),[],!1,null,null,null).exports,h=n(337),u=n(189),y=n(338),f=n(339),g=n(340),d=i.a.extend({name:"BlogPage",components:{ArticleList:a.a,ArticleType:p,BlogInfo:s.a,CategoryList:h.a,MyTransition:u.a,TagList:y.a,Timeline:f.a,TimelineList:g.a},computed:{showArticles(){const{path:t}=this.$route;return!t.includes("/timeline")},componentName(){const t=this.$route.path.split("/")[1];return["category","tag"].includes(t)?t+"List":"timeline"===t?t:"articleType"}}}),m=(n(464),Object(l.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e("main",{staticClass:"blog-page"},[e("MyTransition",[this.componentName?e(this.componentName,{tag:"component"}):this._e()],1),this._v(" "),e("MyTransition",{attrs:{delay:.24}},[this.showArticles?e("ArticleList",{key:this.$route.path}):this._e()],1)],1)}),[],!1,null,null,null).exports),w=n(240),b=n(244),P=n(239),v=n(242),C=b.a.extend(P.a).extend({components:{BlogInfo:s.a,BlogPage:m,Common:w.a,MyTransition:u.a,Password:v.a}}),x=(n(465),Object(l.a)(C,(function(){var t=this.$createElement,e=this._self._c||t;return e("Common",{attrs:{sidebar:!1},scopedSlots:this._u([{key:"sidebar-bottom",fn:function(){return[e("BlogInfo")]},proxy:!0}])},[this._v(" "),this.isGlobalEncrypted?e("Password",{on:{"password-verify":this.checkGlobalPassword}}):this.isPathEncrypted?e("Password",{on:{"password-verify":this.checkPathPassword}}):e("main",{staticClass:"page blog"},[e("div",{staticClass:"blog-page-wrapper"},[e("BlogPage"),this._v(" "),e("MyTransition",{attrs:{delay:.16}},[e("BlogInfo")],1)],1)])],1)}),[],!1,null,null,null));e.default=x.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{217:function(n,o){},218:function(n,o){},226:function(n,o){},228:function(n,o){}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{333:function(t,e,s){},475:function(t,e,s){"use strict";s(333)},486:function(t,e,s){"use strict";s.r(e);var o=s(0),i=s(290),n=s(335),a=o.a.extend({name:"Slide",components:{ThemeColor:n.a},directives:{"click-outside":i.a},data:()=>({showMenu:!1}),destroyed(){document.querySelector("html").classList.remove("reveal-full-page"),document.body.classList.remove("reveal-viewport"),document.body.style.removeProperty("--slide-width"),document.body.style.removeProperty("--slide-height")},methods:{toggle(){this.showMenu=!this.showMenu},back(){window.history.go(-1),this.showMenu=!1},home(){this.$router.push("/"),this.showMenu=!1},clickOutside(){this.showMenu=!1}}}),c=(s(475),s(1)),l=Object(c.a)(a,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"presentation"},[s("ThemeColor",{directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}]}),t._v(" "),s("Content",{key:t.$route.path,staticClass:"presentation-content"}),t._v(" "),s("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.clickOutside,expression:"clickOutside"}],staticClass:"menu",class:{active:t.showMenu}},[s("button",{staticClass:"menu-button",on:{click:t.toggle}},[s("span",{staticClass:"icon"})]),t._v(" "),s("button",{staticClass:"back-button",on:{click:t.back}},[s("svg",{attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"}},[s("path",{attrs:{d:"M1014.749 449.156v125.688H260.626l345.64 345.64-89.239 89.237L19.307 512l497.72-497.721 89.238 89.238-345.64 345.64h754.124z"}})])]),t._v(" "),s("button",{staticClass:"home-button",on:{click:t.home}},[s("svg",{attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"}},[s("path",{attrs:{d:"M780.106 420.978L506.994 147.866 233.882 420.978h.045v455.11H780.06v-455.11h.046zm90.977 90.976V876.09a91.022 91.022 0 01-91.023 91.022H233.927a91.022 91.022 0 01-91.022-91.022V511.954l-67.22 67.175-64.307-64.307 431.309-431.31c35.498-35.498 93.115-35.498 128.614 0l431.309 431.31-64.307 64.307L871.083 512z"}})])])])],1)}),[],!1,null,null,null);e.default=l.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{487:function(r,t,e){"use strict";e.r(t);var s=e(1),n=Object(s.a)({},(function(){var r=this,t=r.$createElement,e=r._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[e("p",[e("a",{attrs:{href:"http://openjdk.java.net/",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/Java-1.8-informational",alt:"Java"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://spring.io/projects/spring-boot",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/Spring Boot-2.2.6.RELEASE-success",alt:"Spring Boot"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://spring.io/projects/spring-cloud-alibaba",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/Spring Cloud Alibaba-2.2.1.RELEASE-success",alt:"SpringCloud Alibaba"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://www.mysql.com/",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/MySQL-8.0.19-blue",alt:"MySQL"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://redis.io/",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/Redis-5.0.9-red",alt:"Redis"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://github.com/alibaba/nacos",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/Nacos-1.4.2-%23267DF7",alt:"Nacos"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://cn.vuejs.org/",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/Vue-2.6.11-success",alt:"Vue"}}),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://qm.qq.com/cgi-bin/qm/qr?k=WWGBZ5gfDiBZOcpNvM8xnZTfUq7BT4Rs&jump_from=webapi",target:"_blank",rel:"noopener noreferrer"}},[e("img",{attrs:{src:"https://img.shields.io/badge/QQ Group-598587305-blue",alt:"QQ Group 598587305"}}),e("OutboundLink")],1)]),r._v(" "),e("p",[r._v("Hcode Online Judge (HOJ) : 基于前后端分离,分布式架构的在线测评平台(hoj),前端使用vue,后端主要使用springboot,redis,mysql,nacos等技术,"),e("strong",[r._v("支持HDU、POJ、Codeforces(包括GYM)的vjudge判题,同时适配手机端、电脑端浏览,拥有讨论区与站内消息系统,还有完善的比赛功能(打星队伍、关注队伍、外榜)。")])]),r._v(" "),e("p",[e("a",{attrs:{href:"https://github.com/HimitZH/HOJ",target:"_blank",rel:"noopener noreferrer"}},[r._v("Github 仓库"),e("OutboundLink")],1),r._v(" "),e("a",{attrs:{href:"https://gitee.com/himitzh0730/hoj",target:"_blank",rel:"noopener noreferrer"}},[r._v("Gitee 仓库"),e("OutboundLink")],1)]),r._v(" "),e("p",[r._v("欢迎star收藏本项目对开发者的支持,谢谢"),e("br"),r._v("\n有任何部署问题或项目bug请发issue或者加QQ群"),e("br"),r._v(" "),e("strong",[r._v("如果要对本项目进行商业化,请在页面底部的Powered by指向HOJ本仓库地址")])]),r._v(" "),e("p",[e("a",{attrs:{href:"https://hdoi.cn/",target:"_blank",rel:"noopener noreferrer"}},[r._v("HDOI Onlie Judge"),e("OutboundLink")],1)]),r._v(" "),e("h2",{attrs:{id:"联系我们"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#联系我们"}},[r._v("#")]),r._v(" 联系我们")]),r._v(" "),e("p",[r._v("QQ: "),e("a",{attrs:{href:"https://wpa.qq.com/msgrd?v=3&uin=372347736&site=qq&menu=yes",target:"_blank",rel:"noopener noreferrer"}},[r._v("372347736"),e("OutboundLink")],1),e("br"),r._v("\nHOJ交流群: 598587305")])])}),[],!1,null,null,null);t.default=n.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{489:function(s,a,t){"use strict";t.r(a);var e=t(1),r=Object(e.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"单体部署3-redis部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#单体部署3-redis部署"}},[s._v("#")]),s._v(" 单体部署③——Redis部署")]),s._v(" "),t("h2",{attrs:{id:"docker部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#docker部署"}},[s._v("#")]),s._v(" docker部署")]),s._v(" "),t("div",{staticClass:"language-shell line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[s._v("docker run -d --name redis -p "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("6379")]),s._v(":6379 \n-v /hoj/data/redis/data:/data "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\n--restart"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"always"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\nredis "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("\\")]),s._v("\n--requirepass "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"redis_password"')]),s._v(" \n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br")])]),t("h2",{attrs:{id:"常规部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#常规部署"}},[s._v("#")]),s._v(" 常规部署")]),s._v(" "),t("p",[s._v("请自行百度。。")])])}),[],!1,null,null,null);a.default=r.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{503:function(t,s,a){"use strict";a.r(s);var e=a(1),l=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h2",{attrs:{id:"导入用户"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导入用户"}},[t._v("#")]),t._v(" 导入用户")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://img-blog.csdnimg.cn/338bf9db257844a1b32a4ff54c6528f6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASGltaXRfWkg=,size_20,color_FFFFFF,t_70,g_se,x_16",alt:"在这里插入图片描述"}})]),t._v(" "),a("p",[a("strong",[t._v("要求如下:")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Tips")]),t._v(" "),a("ol",[a("li",[t._v("用户数据导入仅支持csv格式的用户数据。")]),t._v(" "),a("li",[t._v("共七列数据:用户名和密码不能为空,邮箱、真实姓名、性别、昵称和学校可选填,否则该行数据可能导入失败。")]),t._v(" "),a("li",[t._v('第一行不必写(“用户名”,“密码”,“邮箱”,"真实姓名",“性别”,“昵称”,“学校”)这7个列名')]),t._v(" "),a("li",[t._v("性别为男请使用“male”或“0”,女请使用“female”或“1”,不填默认为“secrecy”。")]),t._v(" "),a("li",[t._v("请导入保存为UTF-8编码的文件,否则中文可能会乱码。")])])])])}),[],!1,null,null,null);s.default=l.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{488:function(s,a,t){"use strict";t.r(a);var n=t(1),e=Object(n.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"测试用例"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#测试用例"}},[s._v("#")]),s._v(" 测试用例")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://img-blog.csdnimg.cn/ad4851c069674b30af08f187363906c4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASGltaXRfWkg=,size_20,color_FFFFFF,t_70,g_se,x_16",alt:"在这里插入图片描述"}})]),s._v(" "),t("p",[t("strong",[s._v("进入后台添加题目,上传题目测试用例数据可以选择手动输入、Zip文件上传两种方式")])]),s._v(" "),t("h2",{attrs:{id:"一、手动输入"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#一、手动输入"}},[s._v("#")]),s._v(" 一、手动输入")]),s._v(" "),t("p",[s._v("每次点击"),t("code",[s._v("Add Sampple")]),s._v("就可以手动填入该用例的输入与输出,该方式比较适合题目数据简单的,同时手动输入的题目数据将记录进数据库,下次对该题目进行修改可以直接获取,然后进行测试数据的修改,同时也会在服务器对应的testcase文件夹生成对应的文件。")]),s._v(" "),t("h2",{attrs:{id:"二、文件上传"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#二、文件上传"}},[s._v("#")]),s._v(" 二、文件上传")]),s._v(" "),t("p",[s._v("对于通题目,测试用例文件包括"),t("code",[s._v("in")]),s._v("、"),t("code",[s._v("out")]),s._v("、"),t("code",[s._v("ans")]),s._v("三种拓展名")]),s._v(" "),t("p",[s._v("例如有两组测试用例,则对于普通题目测试用例的文件名分别为"),t("code",[s._v("1.in, 1.out(1.ans), 2.in, 2.out(2.ans)")]),s._v("其他形式的文件后台均不识别。")]),s._v(" "),t("p",[s._v("压缩时,请将文件都放在压缩包的根目录,而不是包含在某一个文件夹中,比如正确的格式是:")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[s._v("├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v(".in\n├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v(".out\n├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("2")]),s._v(".in\n├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("2")]),s._v(".out\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br")])]),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[s._v("├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v(".in\n├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v(".ans\n├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("2")]),s._v(".in\n├── "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("2")]),s._v(".ans\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br")])]),t("p",[s._v("然后压缩测试用例到一个zip中")]),s._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[s._v("Warning")]),s._v(" "),t("p",[t("strong",[s._v("注意:即使没有输入或者没有输出,也请提供对应的空输入(输出)文件,不要在这些文件外面套多一层文件夹,请直接压缩!!!")])])]),s._v(" "),t("div",{staticClass:"custom-block info"},[t("p",{staticClass:"custom-block-title"},[s._v("Info")]),s._v(" "),t("p",[s._v("建议:尽量合并测试用例到一个文件中,减少测试用例组数,这会一定程度上提高判题性能。")])])])}),[],!1,null,null,null);a.default=e.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{505:function(s,t,a){"use strict";a.r(t);var n=a(1),e=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"自定义前端"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自定义前端"}},[s._v("#")]),s._v(" 自定义前端")]),s._v(" "),a("h2",{attrs:{id:"一、完全自定义前端"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#一、完全自定义前端"}},[s._v("#")]),s._v(" 一、完全自定义前端")]),s._v(" "),a("p",[s._v("直接下载"),a("a",{attrs:{href:"https://gitee.com/himitzh0730/hoj/tree/master/hoj-vue",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://gitee.com/himitzh0730/hoj/tree/master/hoj-vue"),a("OutboundLink")],1)]),s._v(" "),a("p",[s._v("修改后,使用"),a("code",[s._v("npm run build")]),s._v(",生成一个dist文件夹,结构如下:")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("dist\n├── index.html\n├── favicon.ico\n└── assets\n ├── css\n │ ├── ....\n ├── fonts\n │ ├── ....\n ├── img\n │ ├── ....\n ├── js\n │ ├── ....\n\n....\n....\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br")])]),a("p",[s._v("将 "),a("code",[s._v("dist")]),s._v(" 文件夹复制到服务器上某个目录下,比如 "),a("code",[s._v("/hoj/www/html/dist")]),s._v(",然后修改 "),a("code",[s._v("docker-compose.yml")]),s._v(",在 "),a("code",[s._v("hoj-frontend")]),s._v(" 模块中的 "),a("code",[s._v("volumes")]),s._v(" 中增加一行 "),a("code",[s._v("- /hoj/www/html/dist:/usr/share/nginx/html")]),s._v(" (冒号前面的请修改为实际的路径),然后 "),a("code",[s._v("docker-compose up -d")]),s._v(" 即可。")]),s._v(" "),a("h2",{attrs:{id:"二、仅修改图标"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#二、仅修改图标"}},[s._v("#")]),s._v(" 二、仅修改图标")]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[s._v("Tips")]),s._v(" "),a("p",[s._v("如果仅仅只是修改前台logo、管理后台logo和favicon.ico,那么操作如下:")])]),s._v(" "),a("p",[s._v("修改 "),a("code",[s._v("docker-compose.yml")]),s._v(",在 "),a("code",[s._v("hoj-frontend")]),s._v(" 模块中的 "),a("code",[s._v("volumes")]),s._v(" 中添加如下:")]),s._v(" "),a("div",{staticClass:"language-yaml line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("-")]),s._v(" ./logo.png"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("/usr/share/nginx/html/assets/img/logo.a0924d7d.png\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("-")]),s._v(" ./backstage.png"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("/usr/share/nginx/html/assets/img/backstage.8bce8c6e.png\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("-")]),s._v(" ./favicon.ico"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("/usr/share/nginx/html/favicon.ico\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br")])]),a("p",[a("code",[s._v("logo.png")]),s._v("为前台导航栏左边的logo,"),a("code",[s._v("backstage.png")]),s._v("为后台侧边导航栏上方的logo,"),a("code",[s._v("favicon.ico")]),s._v("为小图标")]),s._v(" "),a("p",[a("strong",[s._v("图片文件需放在与docker-compose.yml同个目录下,或者提供绝对路径也可。")])])])}),[],!1,null,null,null);t.default=e.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{509:function(t,s,a){"use strict";a.r(s);var e=a(1),l=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"评论管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#评论管理"}},[t._v("#")]),t._v(" 评论管理")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://img-blog.csdnimg.cn/6fcdb9f6895043498cb9d4bbadeb0a5b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASGltaXRfWkg=,size_20,color_FFFFFF,t_70,g_se,x_16",alt:"评论管理"}})]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Tips")]),t._v(" "),a("ul",[a("li",[t._v("后台管理员可以查看所有的讨论帖,并且可以选择是否置顶,是否正常显示,删除,查看等")]),t._v(" "),a("li",[t._v("后台管理员可以查看对应讨论帖的举报内容")])])]),t._v(" "),a("p",[a("img",{attrs:{src:"https://img-blog.csdnimg.cn/20210523221321418.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg1MzA5Nw==,size_16,color_FFFFFF,t_70",alt:"在这里插入图片描述"}})])])}),[],!1,null,null,null);s.default=l.exports}}]);
|
|
@ -1 +0,0 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{491:function(t,s,e){"use strict";e.r(s);var a=e(1),c=Object(a.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"通知和公告发布"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#通知和公告发布"}},[t._v("#")]),t._v(" 通知和公告发布")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("Tips")]),t._v(" "),e("ol",[e("li",[t._v("通知和公告都仅有超级管理员可操作")]),t._v(" "),e("li",[t._v("通知是系统消息通知,每个小时推送一次到用户的站内消息系统")])])]),t._v(" "),e("p",[e("img",{attrs:{src:"https://img-blog.csdnimg.cn/b2e1edf697494ed68c760beb63b782bf.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASGltaXRfWkg=,size_20,color_FFFFFF,t_70,g_se,x_16",alt:"在这里插入图片描述"}})]),t._v(" "),e("p",[e("img",{attrs:{src:"https://img-blog.csdnimg.cn/fe1cf4b8c0174933b8ffc8f17a486b53.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASGltaXRfWkg=,size_20,color_FFFFFF,t_70,g_se,x_16",alt:"在这里插入图片描述"}})])])}),[],!1,null,null,null);s.default=c.exports}}]);
|