diff --git a/9IPHP/css/base.css b/9IPHP/css/base.css
index 1e83f21..ac966ee 100644
--- a/9IPHP/css/base.css
+++ b/9IPHP/css/base.css
@@ -1 +1,18 @@
+/**
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;height:100%}body{margin:0;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size:14px;background-color:#fff;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}::-moz-selection{text-shadow:none;background:rgba(65,131,196,0.4)}::selection{text-shadow:none;background:rgba(66,133,244,0.4)}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6,dl,dd,p{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}a{outline:0;text-decoration:none}a:hover{text-decoration:underline}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;height:auto;-ms-interpolation-mode:bicubic;overflow:hidden;font-size:12px}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;outline:none}button,input{line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}blockquote{margin:0}.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@-webkit-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.tooltipped{position:relative;cursor:pointer}.tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.tooltipped--hover::before,.tooltipped--hover::after,.tooltipped:hover::before,.tooltipped:hover::after,.tooltipped:active::before,.tooltipped:active::after,.tooltipped:focus::before,.tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.tooltipped__s::after,.tooltipped__se::after,.tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.tooltipped__s::before,.tooltipped__se::before,.tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.tooltipped__sw::after{margin-right:-15px}.tooltipped__n::after,.tooltipped__ne::after,.tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped__n::before,.tooltipped__ne::before,.tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.tooltipped__nw::after{margin-right:-15px}.tooltipped__s::after,.tooltipped__n::after{transform:translateX(50%)}.tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}a{outline:0;text-decoration:none;color:#383838}a:hover{color:#ff4d3a;text-decoration:underline}.content-reset a{color:#ff4d3a}.fn-pointer{cursor:pointer}.fn-inline{display:inline}.fn-clear:before,.fn-clear:after{display:table;content:""}.fn-clear:after{clear:both}.fn-left{float:left}.fn-right{float:right}.fn-none{display:none}.fn-hidden{visibility:hidden}.fn-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}a[class^="icon-"],a[class*=" icon-"]{color:#333}a[class^="icon-"]:hover,a[class*=" icon-"]:hover{text-decoration:none;color:#4285f4}#commentForm,#replyForm{width:100%}.comments{position:relative}.comment-body-ref{position:absolute;width:80%;background-color:#fff;right:0;border:1px solid #eee}@font-face{font-family:'icomoon';src:url("fonts/icomoon.eot?oyqnlj");src:url("fonts/icomoon.eot?oyqnlj#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?oyqnlj") format("truetype"),url("fonts/icomoon.woff?oyqnlj") format("woff"),url("fonts/icomoon.svg?oyqnlj#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-list:before{content:"\f0ca"}.icon-home:before{content:"\f015"}.icon-comments:before{content:"\f0e6"}.icon-date:before{content:"\f073"}.icon-search:before{content:"\f002"}.icon-up:before{content:"\f077"}.icon-inbox:before{content:"\f01c"}.icon-tags:before{content:"\f02c"}.icon-link:before{content:"\f0c1"}.icon-refresh:before{content:"\f021"}.icon-category:before{content:"\e9bc"}.icon-logout:before{content:"\ea14"}.icon-views:before{content:"\e900"}.icon-register:before{content:"\e973"}.icon-setting:before{content:"\e994"}.icon-login:before{content:"\ea13"}.icon-rss:before{content:"\e901"}*::selection{background:none repeat scroll 0% 0% #3D4450;color:#FFF;outline:none}a{transition:all .3s;outline:none}.pagination{margin-bottom:30px;line-height:30px;font-family:Georgia}.pagination .page-number:first-child{border-left:1px solid #ddd}.pagination .page-number{display:inline-block;padding:0 10px;border:1px solid #ddd;border-left:0;text-decoration:none;float:left}.pagination a.page-number:hover{color:#ff4d3a;background-color:#eee}.pagination .page-number.current{color:#fff;background:#ff4d3a;border-color:#ff4d3a;margin-left:-1px}.module{box-shadow:0 1px 1px rgba(0,0,0,0.05);margin-bottom:20px}.module header h2{border-bottom:1px solid #ff4d3a;padding:10px;line-height:18px;font-size:16px;font-weight:400}.module main{padding:20px}.ft-warn{color:#ff4d3a}.ft-gray{color:#aaa}.ft-center{text-align:center}.list,.module main.list{padding:0}.list li{list-style:none;border-bottom:1px solid #eee;line-height:40px;padding:0 20px}.list li:last-child{border-bottom:0}.list a{color:#666;text-decoration:none;display:block}.list a:hover{color:#ff4d3a}.form input,.form textarea{border:1px solid #ccc;background-color:#FAFAFA;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset;padding:0 10px;width:100%;line-height:28px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.form input{height:30px}.form input:focus,.form textarea:focus{background-color:#FFF;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset,0 0 5px rgba(81,167,232,0.5);border:1px solid #51A7E8}.form button{background-color:#EB5750;border:0;color:#fff}.form button:hover{background-color:#e42f19}.wrapper{width:90%;margin:0 auto;min-width:720px;max-width:1300px}aside{width:28%;min-width:236px}.main-wrap{display:flex}.main-wrap>main{margin-right:30px;flex:1;min-width:1px}.banner{background-color:#393939;height:75px}.banner h1 a{color:#fff;line-height:75px;text-decoration:none}.banner small{color:#DFDFDF;font-size:15px}.banner .fn-right a{line-height:75px;color:#DFDFDF;text-decoration:none;margin-left:10px;opacity:0.6}.banner .fn-right a:hover{opacity:1}.navbar{border-bottom:1px solid #eee;height:50px;margin-bottom:30px}.navbar.pin{position:fixed;width:100%;background-color:rgba(255,255,255,0.95);top:0;z-index:10}.navbar nav a{color:#555;text-decoration:none;line-height:50px;padding:0 10px;display:inline-block}.navbar nav a:hover{color:#333}.navbar nav a.current{background-color:#eee}.navbar form{position:relative;margin-top:8px}.navbar .form input{padding-right:40px}.navbar button{background-color:#EB5750;border:0;color:#fff;position:absolute;top:0;right:0;height:30px;width:30px}.navbar button:hover{background-color:#e42f19}.page-icon{float:left;height:14px;width:14px;margin:18px 5px 0 0}.footer{padding:30px 0;text-align:center;background:#111;margin-top:30px;color:#fff}.footer a{color:#ff4d3a;text-decoration:none}.icon-up{position:fixed;bottom:122px;right:20px;color:#fff;background-color:#111;height:30px;width:30px;text-align:center;line-height:28px;border-radius:15px;transition:all .3s;cursor:pointer;display:none}.icon-up:hover{background-color:#ff4d3a}aside .ad{background-color:#3cbc8d;border-color:#36a96b;color:#fff;padding:20px;margin-bottom:20px;border:1px solid transparent;box-sizing:border-box}aside .meta main{text-align:right;line-height:20px}aside .meta img{float:left;height:80px;width:80px;border-radius:5px}aside .tag.tooltipped{display:inline-block;padding:2px 5px;margin-bottom:10px;border:1px solid #e1e1e1;text-decoration:none;margin-right:10px;line-height:22px}aside.has-toc>ul>li{list-style:none;float:left;width:50%;margin:0;cursor:pointer;line-height:18px;font-size:16px;text-align:center;font-weight:400}aside.has-toc ul>li.current{color:#ff4d3a}aside .b3-solo-list{font-size:14px}aside.has-toc>section:last-child{margin-top:20px}.post{border:1px solid #ededed;margin-bottom:20px;padding:20px;box-sizing:border-box}.post h1{margin-bottom:10px}.post h1 a{font-size:24px;font-weight:500;text-decoration:none}.post sup{color:#aaa;font-weight:300}.post .meta{color:#aaa;margin-bottom:10px}.post .meta a{color:#aaa;text-decoration:none}.post .meta a:hover{color:#ff4d3a}.tags>a.tag{color:#fff;font-size:12px;display:inline-block;background-color:#bbb;margin-right:10px;padding:0 5px;line-height:22px;text-decoration:none;margin-top:10px}.tags>a.tag:before{content:"#"}.tags>a.tag:hover{background:#999}.post footer .copyright{padding:10px;font-size:14px;line-height:16px;border:1px solid #ff4d3a;border-left-width:20px;margin:20px 0}.post .rel a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px;text-decoration:none;margin:20px 0}.post .rel a:hover{background-color:#eee}.title h2{font-size:16px;font-weight:bold;padding-bottom:10px;border-bottom:1px solid #f1f1f1;margin-top:20px}.title>h2.tip{border-bottom:0}.comments>li{list-style:none;border-bottom:1px solid #f1f1f1;padding:10px}.comments>li>div{display:flex}.comments .avatar{width:50px;height:50px;border-radius:100%;margin-right:20px;background-size:contain}.comments main{flex:1;min-width:1px}.comments .content-reset{margin-top:10px}.comments .user-name{color:#666;text-decoration:none}.comments .user-name:hover{color:#ff4d3a}.comments .reply-btn{float:right;background-color:#ff4d3a;color:#fff;text-decoration:none;font-size:12px;padding:2px 5px}.comments .reply-btn:hover{background-color:#e42f19}#commentForm{margin-top:20px}.form .captcha{height:28px}.other{border:1px solid #ededed;margin-bottom:20px;padding:0 20px 20px}@media (max-width: 900px){.navbar .form{display:none}}@media (max-width: 700px){.page-icon{margin:13px 3px 0 0}.wrapper{width:100%;min-width:auto;padding:0 10px;box-sizing:border-box}.main-wrap>main{margin-right:0}.main-wrap,.responsive{display:block}aside{width:100%;box-sizing:border-box}.banner{margin-bottom:20px}.banner small,.banner .fn-right,.navbar{display:none}.icon-list{position:absolute;right:10px;top:20px;background-color:#fff;font-size:20px;padding:8px 6px;cursor:pointer}.responsive .list{background-color:#fff;position:absolute;width:100%;border:1px solid #eee;left:0;display:none;z-index:10;top:75px}.responsive .list li.current{background-color:#eee}}
diff --git a/9IPHP/js/common.min.js b/9IPHP/js/common.min.js
index d724ae1..8424c83 100644
--- a/9IPHP/js/common.min.js
+++ b/9IPHP/js/common.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
var Skin={_initCommon:function(i){$("body").on("click",".content-reset img",function(){window.open(this.src)});var t=$("header .banner"),n=$("header .navbar");$(window).scroll(function(){if(125<$(window).scrollTop()?i.show():i.hide(),$(window).width()<701)return!1;$(window).scrollTop()>t.height()?(n.addClass("pin"),$(".main-wrap").parent().css("margin-top","86px")):(n.removeClass("pin"),$(".main-wrap").parent().css("margin-top","0"))})},init:function(){this._initCommon($(".icon-up")),$(".navbar nav a").each(function(){this.href===location.href&&(this.className="current")}),$(".responsive .list a").each(function(){this.href===location.href&&$(this).parent().addClass("current")}),$(".responsive .icon-list").click(function(){$(".responsive .list").slideToggle()})},_initArticleCommon:function(i,t){if(0<$(".b3-solo-list li").length&&1e3<$(window).width()){$("aside").addClass("has-toc");var n='
'+i+'
'+t+"
";$("aside").prepend(n);var o=$("aside section:first").html($(".b3-solo-list")),s=$("aside section:last");o.height($(window).height()-154).css({overflow:"auto",width:$("aside").width()+"px"}),s.hide(),$("aside > ul > li").click(function(){"toc"===$(this).data("tab")?s.animate({opacity:"0",top:"-50px"},300,function(){o.show().css("top","-50px"),o.animate({opacity:"1",top:"0"},300).show()}):o.animate({opacity:"0",top:"-50px"},300,function(){o.hide().css("top","-50px"),s.animate({opacity:"1",top:"0"},300).show()}).hide(),$("aside > ul > li").removeClass("current"),$(this).addClass("current")}),$(window).scroll(function(){125<$(window).scrollTop()?$("aside section:eq(0)").css({position:"fixed",top:"51px",backgroundColor:"#fff"}):$("aside section:eq(0)").css({position:"inherit",borderLeft:0})})}},initArticle:function(i,t){this._initArticleCommon(i,t)}};Skin.init();
\ No newline at end of file
diff --git a/9IPHP/js/isotope.pkgd.min.js b/9IPHP/js/isotope.pkgd.min.js
index 614e241..4e627fd 100644
--- a/9IPHP/js/isotope.pkgd.min.js
+++ b/9IPHP/js/isotope.pkgd.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
!function(e,i){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("jquery")):e.jQueryBridget=i(e,e.jQuery)}(window,function(t,e){"use strict";function i(h,n,d){(d=d||e||t.jQuery)&&(n.prototype.option||(n.prototype.option=function(t){d.isPlainObject(t)&&(this.options=d.extend(!0,this.options,t))}),d.fn[h]=function(t){return"string"==typeof t?(e=this,s=t,r=l.call(arguments,1),u="$()."+h+'("'+s+'")',e.each(function(t,e){var i=d.data(e,h);if(i){var o=i[s];if(o&&"_"!=s.charAt(0)){var n=o.apply(i,r);a=void 0===a?n:a}else f(u+" is not a valid method")}else f(h+" not initialized. Cannot call methods, i.e. "+u)}),void 0!==a?a:e):(o=t,this.each(function(t,e){var i=d.data(e,h);i?(i.option(o),i._init()):(i=new n(e,o),d.data(e,h,i))}),this);var e,s,r,a,u,o},o(d))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var l=Array.prototype.slice,n=t.console,f=void 0===n?function(){}:function(t){n.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=0,n=i[o];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];n;){var r=s&&s[n];r&&(this.off(t,n),delete s[n]),n.apply(this,e),n=i[o+=r?0:1]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function g(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}function v(t){var e=getComputedStyle(t);return e||i("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function _(t){if(function(){if(!S){S=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var e=document.body||document.documentElement;e.appendChild(t);var i=v(t);_.isBoxSizeOuter=I=200==g(i.width),e.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=v(t);if("none"==e.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;ethis.cols?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},i._manageStamp=function(t){var e=h(t),i=this._getElementOffset(t),o=this._getOption("originLeft")?i.left:i.right,n=o+e.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var r=Math.floor(n/this.columnWidth);r-=n%this.columnWidth?0:1,r=Math.min(this.cols-1,r);for(var a=(this._getOption("originTop")?i.top:i.bottom)+e.outerHeight,u=s;u<=r;u++)this.colYs[u]=Math.max(a,this.colYs[u])},i._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(r,a){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(t,e,i,o,n,s){return a(r,t,e,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=a(r,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope/js/item"),require("isotope/js/layout-mode"),require("isotope/js/layout-modes/masonry"),require("isotope/js/layout-modes/fit-rows"),require("isotope/js/layout-modes/vertical")):r.Isotope=a(r,r.Outlayer,r.getSize,r.matchesSelector,r.fizzyUIUtils,r.Isotope.Item,r.Isotope.LayoutMode)}(window,function(t,i,e,o,s,n,r){var a=t.jQuery,h=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},d=i.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});d.Item=n,d.LayoutMode=r;var u=d.prototype;u._create=function(){for(var t in this.itemGUID=0,this._sorters={},this._getSorters(),i.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],r.modes)this._initLayoutMode(t)},u.reloadItems=function(){this.itemGUID=0,i.prototype.reloadItems.call(this)},u._itemize=function(){for(var t=i.prototype._itemize.apply(this,arguments),e=0;e.
+ */
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}.left{float:left}.right{float:right}.clear:before,.clear:after{display:table;content:""}.clear:after{clear:both}.none{display:none}body,dd,div,dl,h1,h2,h3,h4,h5,h6,html,img,li,ol,p,ul{padding:0;margin:0}body{background-image:url("../images/bg-grey.jpg");background-color:#000000;color:#363636;font-family:'\5fae\8f6f\96c5\9ed1, Arial,Verdana,sans-serif';font-size:12px;margin:0;padding:0}a,a:link,a:visited{color:#BE0700;text-decoration:underline}a:hover{text-decoration:none;color:rgba(190,7,0,0.75)}img{max-width:100%;vertical-align:middle;border:0;height:auto;-ms-interpolation-mode:bicubic;overflow:hidden;font-size:12px}.error-msg{color:#BE0700}.brush-icon,.article .month,.article .day,.pagination a,#greyBG,#brownBG,#blueBG,#goTop,.side-tool ul ul li a,.comment-form button{background-image:url("../images/icon.png")}.wrapper{width:910px;margin:0 auto;position:relative}.main{float:left;width:627px}.side-navi{float:left;width:282px}.header{background:url("../images/bgs.png") no-repeat;width:910px;height:185px;float:left}.header .left{width:566px}.header h1{margin:18px 0 0 37px}.header .left a,.sub-title{color:#FFFFFF;font-family:'\5fae\8f6f\96c5\9ed1',Arial,Verdana,sans-serif;font-size:46px;text-decoration:none}.sub-title{color:#000000;font-size:22px;margin-left:40px;margin-top:0;display:block}.header>.left>div{float:right;color:#C0BEBD}.header .right{width:343px}.header .right ul{list-style-type:none}.header .right li{float:left;margin:18px 30px 0 0;width:84px}.header .right li a{color:#FFFFFF;font-family:'sans-serif';font-size:26px;text-decoration:none;font-weight:bold}.header .right li a:hover{color:#DDDDDD;font-family:'sans-serif'}.main-content{padding:0 45px;background-color:#D4D4D4}.main-content>h2{color:#BE0700;font-size:20px;line-height:145%;margin-bottom:18px;font-family:'\5fae\8f6f\96c5\9ed1'}.main-footer{background:url("../images/bgs.png") 0 -185px;height:14px;width:627px}.brush{left:-52px;position:absolute;top:283px;width:100px}#brush{background:url("../images/paint.png") no-repeat fixed 98px -150px transparent;position:relative;top:-27px;width:82px}.brush-icon{background-position:0 -312px;height:240px;position:relative;width:92px;z-index:1}.brush-icon:hover{background-position:0 -69px}.article a.underline:hover{text-decoration:underline;color:#BE0700}.article .date{width:40px;float:left}.article .month{color:#FFFFFF;height:20px;text-align:center;width:36px}.article .day{border:1px solid #C4BFBA;border-top:0px;background-position:0px -20px;font-size:15px;height:23px;padding-top:4px;text-align:center;width:34px}.article h2{margin-bottom:3px;width:495px;*line-height:28px}.article h2 a{color:#363636;font-size:24px;line-height:24px;text-decoration:none}.article h2 a:hover{color:#BE0700;text-decoration:underline}.article h2 sup{color:#BE0700;font-size:10px;vertical-align:top}.article-abstract{border-top:2px dashed #F1EEE9;margin-top:15px;padding:20px 0 25px 0;overflow:hidden;line-height:145%}.article-abstract p:first-child:first-letter,.article-abstract:first-letter{font-size:38px;float:left;font-weight:bold;margin:0 3px 3px 0;line-height:38px}.pagination{line-height:21px}.pagination a{background-position:0px -47px;border:1px solid #C5C3C2;color:#8C8C8C;padding:1px 6px;text-decoration:none;margin:2px;font-size:10px}.pagination a.selected{background:none #FFFFFF;border:1px solid #C5C3C2;color:#3E3E3E;font-weight:bold;padding:1px 7px 2px 6px}.pagination a:hover{background:none #F3DEDD;color:#BE0700;border:1px solid #BE0700}.side-navi ul{list-style:none}.side-navi .item{border-radius:0 5px 5px 0;background:url("../images/bg-transparent.png") repeat scroll 0 0 transparent;border:1px solid #999999;float:left;margin-top:23px;padding:25px 15px 15px;width:250px;color:#EAE7E0}.side-navi .item dd{margin-bottom:25px}.side-navi .item dd li{list-style-type:none;border-bottom:1px solid #93908A;padding:4px 0px 1px 6px;margin-left:0px;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;color:#EAE7E0;position:relative;line-height:21px}.side-navi .item dd li:hover{background:url("../images/bg-transparent.png") repeat scroll 0 0 transparent;border-bottom:1px solid #BAB8B5}.side-navi .item dd li:hover a{color:#FFFFFF}.side-navi .item dd li a{white-space:nowrap;color:#EAE7E0;text-decoration:none}.side-navi .item .navi-tags img{cursor:pointer;height:16px;left:3px;position:absolute;top:5px;width:16px}.side-navi .item dd .navi-tags a{padding-left:18px}#naviComments li a{white-space:normal}#naviComments li br{display:none}#naviComments li p{display:inline}#naviComments li a.author{color:#BE0700}#naviComments li:hover{background-image:none}#naviComments li a:hover{text-decoration:underline}#naviComments img{height:16px;width:16px}.side-navi .item h4{border-bottom:1px solid #93908A;color:#EAE7E0;padding:0 5px 8px;font-size:16px}.footer{background-image:url("../images/footer.png");color:#EAE7E0;height:411px;padding:21px 0 0 95px;width:605px;margin-top:40px;text-align:center}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.side-tool{position:fixed;top:30px;left:0px}.side-tool li{margin-left:0px}.side-tool ul{list-style-type:none}.side-tool .page-icon{height:14px;width:14px}#greyBG,#brownBG,#blueBG{background-position:-103px 0;display:block;height:21px;margin:3px 0;width:21px;cursor:pointer}#brownBG{background-position:-103px -26px}#blueBG{background-position:-103px -52px}#greyBG:hover,#greyBG.selected{background-position:-126px 0px}#brownBG:hover,#brownBG.selected{background-position:-126px -26px}#blueBG:hover,#blueBG.selected{background-position:-126px -52px}#goTop{background-position:-105px -119px;cursor:pointer;height:36px;margin-top:9px;display:block;width:22px}#goTop:hover{background-position:-105px -74px}.side-tool ul ul li a{background-position:right -159px;color:#EAE7E0;display:block;font-size:14px;font-weight:bold;height:86px;margin:9px 0;overflow:hidden;padding:1px 8px 1px 9px;text-align:center;text-decoration:none;width:14px;word-wrap:break-word;text-transform:uppercase}.content-reset{border-top:2px dashed #F1EEE9;margin-top:15px;overflow:hidden;padding:20px 0 25px;line-height:145%}.content-reset p:first-child:first-letter,.content-reset:first-letter{font-size:48px;float:left;font-weight:bold;margin:0 3px 3px 0}.article-relative{margin:15px 0}.article-relative h4{font-family:'\5fae\8f6f\96c5\9ed1',Arial,Verdana;font-size:16px}.article-relative ul{list-style-type:none}#randomArticles,.relevantArticles{width:262px;overflow:hidden}#comments{position:relative}#comments,.comment-form{padding-bottom:30px}.comment-form{margin-right:15px;color:#606060}h2.comment-label{border-bottom:2px solid #3F3D36;font-size:24px;margin-bottom:15px;margin-top:30px;padding-bottom:7px;color:#363636}.comment-body{padding:20px 0}.comment-body:nth-child(2n){background-color:#F1EEE9}.comment-author{width:100px}.comment-info{margin-right:12px;word-wrap:break-word;overflow:hidden;width:423px}.comment-info>a{font-size:14px;font-weight:bold}.comment-content{margin:10px 0}.comment-author img{width:64px;height:64px;border:6px solid #F1EEE9;margin-left:12px}.comment-form img{cursor:pointer}.comment-form input,.comment-form textarea{border-radius:5px;background-color:#EBE9E5;border:1px solid #BABAAE;font-family:\5fae\8f6f\96c5\9ed1;font-size:12px;margin:10px 0;padding:10px;width:400px;outline:none}.comment-form input:focus,.comment-form textarea:focus{background-color:#E3EBCF;border-color:#73B722}#commentValidate,#commentValidateReply{width:80px}.comment-form button{border-radius:5px;border:1px solid #80B53B;color:#355207;cursor:pointer;font-weight:bold;height:34px;padding:5px 10px;width:140px}.comment-body-ref{background:url("../images/bg-transparent.png") repeat scroll 0 0 transparent;padding:12px 0;position:absolute;width:537px;border:1px solid #999999;border-radius:5px;z-index:10;left:180px}#tagsPanel{min-height:1px}#tagsPanel a{display:block;float:left;border:1px solid #D4D4D4}#tagsPanel a:hover{border:1px solid #BE0700}
diff --git a/Bruce/css/base.css b/Bruce/css/base.css
index 973c30c..4d99c42 100644
--- a/Bruce/css/base.css
+++ b/Bruce/css/base.css
@@ -1 +1,18 @@
+/**
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}body,button,input,select,textarea{font:400 1em/1.8 Avenir,Microsoft Yahei,Hiragino Sans GB,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif;letter-spacing:0.01rem}.site{padding:0 2em 0;margin:0 auto;font-size:16px}h4,h5,h6{font-weight:bold}.article{margin-bottom:90px}.article-title{text-align:center}.article-tags{text-align:center;font-size:14px}.article-date{text-align:center;font-size:12px;margin-top:6px;margin-bottom:12px}.article-content{font-size:1.1em}.article-content .task-list-item{list-style:none;margin-left:-1em}.article-content img{max-width:100%}.header{border-bottom:1px solid #ddd;background-color:#f9f9f9;margin-bottom:20px}.nav-item{position:relative;display:inline-block;padding:10px;font-weight:500}.nav-item .page-icon{float:left;height:14px;width:14px;margin:2px 3px 0 0}.comment{margin-bottom:32px}.comment p{margin-bottom:0em}.form-control{margin-top:15px}.cmtFromSym{font-size:12px;color:#ccc;margin-bottom:1em}.cmtForm{margin-top:24px}.gray{color:#ccc}.footer{padding:40px 0;margin-top:20px;color:#999;text-align:center;background-color:#f9f9f9;border-top:1px solid #e5e5e5}.right{float:right}
diff --git a/Bruce/js/bootstrap.min.js b/Bruce/js/bootstrap.min.js
index 0cc5a97..d212ad5 100644
--- a/Bruce/js/bootstrap.min.js
+++ b/Bruce/js/bootstrap.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(o){"use strict";o.fn.emulateTransitionEnd=function(t){var e=!1,i=this;o(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||o(i).trigger(o.support.transition.end)},t),this},o(function(){o.support.transition=function(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}(),o.support.transition&&(o.event.special.bsTransitionEnd={bindType:o.support.transition.end,delegateType:o.support.transition.end,handle:function(t){if(o(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(n){"use strict";var e='[data-dismiss="alert"]',o=function(t){n(t).on("click",e,this.close)};o.VERSION="3.2.0",o.prototype.close=function(t){var e=n(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,""));var o=n(i);function s(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.hasClass("alert")?e:e.parent()),o.trigger(t=n.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),n.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",s).emulateTransitionEnd(150):s())};var t=n.fn.alert;n.fn.alert=function(i){return this.each(function(){var t=n(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new o(this)),"string"==typeof i&&e[i].call(t)})},n.fn.alert.Constructor=o,n.fn.alert.noConflict=function(){return n.fn.alert=t,this},n(document).on("click.bs.alert.data-api",e,o.prototype.close)}(jQuery),function(n){"use strict";var s=function(t,e){this.$element=n(t),this.options=n.extend({},s.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=n(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new s(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}s.VERSION="3.2.0",s.DEFAULTS={loadingText:"loading..."},s.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",s=i.data();t+="Text",null==s.resetText&&i.data("resetText",i[o]()),i[o](null==s[t]?this.options[t]:s[t]),setTimeout(n.proxy(function(){"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e))},this),0)},s.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}t&&this.$element.toggleClass("active")};var t=n.fn.button;n.fn.button=i,n.fn.button.Constructor=s,n.fn.button.noConflict=function(){return n.fn.button=t,this},n(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=n(t.target);e.hasClass("btn")||(e=e.closest(".btn")),i.call(e,"toggle"),t.preventDefault()})}(jQuery),function(d){"use strict";var n=function(t,e){this.$element=d(t).on("keydown.bs.carousel",d.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",d.proxy(this.pause,this)).on("mouseleave.bs.carousel",d.proxy(this.cycle,this))};function r(s){return this.each(function(){var t=d(this),e=t.data("bs.carousel"),i=d.extend({},n.DEFAULTS,t.data(),"object"==typeof s&&s),o="string"==typeof s?s:i.slide;e||t.data("bs.carousel",e=new n(this,i)),"number"==typeof s?e.to(s):o?e[o]():i.interval&&e.pause().cycle()})}n.VERSION="3.2.0",n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},n.prototype.keydown=function(t){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(d.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},n.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i .panel > .in");if(e&&e.length){var i=e.data("bs.collapse");if(i&&i.transitioning)return;p.call(e,"hide"),i||e.data("bs.collapse",null)}var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!h.support.transition)return s.call(this);var n=h.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",h.proxy(s,this)).emulateTransitionEnd(350)[o](this.$element[0][n])}}},s.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=h.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};if(!h.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",h.proxy(i,this)).emulateTransitionEnd(350)}}},s.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var t=h.fn.collapse;h.fn.collapse=p,h.fn.collapse.Constructor=s,h.fn.collapse.noConflict=function(){return h.fn.collapse=t,this},h(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e,i=h(this),o=i.attr("data-target")||t.preventDefault()||(e=i.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""),s=h(o),n=s.data("bs.collapse"),r=n?"toggle":i.data(),a=i.attr("data-parent"),l=a&&h(a);n&&n.transitioning||(l&&l.find('[data-toggle="collapse"][data-parent="'+a+'"]').not(i).addClass("collapsed"),i[s.hasClass("in")?"addClass":"removeClass"]("collapsed")),p.call(s,r)})}(jQuery),function(a){"use strict";var l='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function n(i){i&&3===i.which||(a(".dropdown-backdrop").remove(),a(l).each(function(){var t=h(a(this)),e={relatedTarget:this};t.hasClass("open")&&(t.trigger(i=a.Event("hide.bs.dropdown",e)),i.isDefaultPrevented()||t.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function h(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i=e&&a(e);return i&&i.length?i:t.parent()}o.VERSION="3.2.0",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=h(e),o=i.hasClass("open");if(n(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a('').insertAfter(a(this)).on("click",n);var s={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",s)),t.isDefaultPrevented())return;e.trigger("focus"),i.toggleClass("open").trigger("shown.bs.dropdown",s)}return!1}},o.prototype.keydown=function(t){if(/(38|40|27)/.test(t.keyCode)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=h(e),o=i.hasClass("open");if(!o||o&&27==t.keyCode)return 27==t.which&&i.find(l).trigger("focus"),e.trigger("click");var s=" li:not(.divider):visible a",n=i.find('[role="menu"]'+s+', [role="listbox"]'+s);if(n.length){var r=n.index(n.filter(":focus"));38==t.keyCode&&0').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",n.proxy(function(t){t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(150):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var s=function(){e.removeBackdrop(),t&&t()};n.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",s).emulateTransitionEnd(150):s()}else t&&t()},r.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},r.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",t+this.scrollbarWidth)},r.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},r.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=n.fn.modal;n.fn.modal=a,n.fn.modal.Constructor=r,n.fn.modal.noConflict=function(){return n.fn.modal=t,this},n(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=n(this),i=e.attr("href"),o=n(e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),s=o.data("bs.modal")?"toggle":n.extend({remote:!/#/.test(i)&&i},o.data(),e.data());e.is("a")&&t.preventDefault(),o.one("show.bs.modal",function(t){t.isDefaultPrevented()||o.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),a.call(o,s,this)})}(jQuery),function(v){"use strict";var s=function(t,e){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",t,e)};s.VERSION="3.2.0",s.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'
";$("#externalRelevantArticles .text").append(l)}else $("#externalRelevantArticles").remove()}})}catch(e){$("#externalRelevantArticles").remove()}},goCmt:function(){$("html, body").animate({scrollTop:$(".comment-disabled").get(0).offsetTop})}};MetroHot.init(),Util.killIE(),0<$(".article-header").length&&MetroHot.share();
\ No newline at end of file
diff --git a/mobile/css/base.css b/mobile/css/base.css
index a5794eb..8905b36 100644
--- a/mobile/css/base.css
+++ b/mobile/css/base.css
@@ -1 +1,18 @@
+/**
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}
diff --git a/mobile/js/l10n.min.js b/mobile/js/l10n.min.js
index d1a7ee0..a22a87d 100644
--- a/mobile/js/l10n.min.js
+++ b/mobile/js/l10n.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
function convertEntities(t){var e,n;if(e=function(t){if(/&[^;]+;/.test(t)){var e=document.createElement("div");return e.innerHTML=t,e.firstChild?e.firstChild.nodeValue:t}return t},"string"==typeof t)return e(t);if("object"==typeof t)for(n in t)"string"==typeof t[n]&&(t[n]=e(t[n]));return t}
\ No newline at end of file
diff --git a/next/css/base.css b/next/css/base.css
index db55007..627f74e 100644
--- a/next/css/base.css
+++ b/next/css/base.css
@@ -1 +1,18 @@
+/**
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}#soloEditor{z-index:1041 !important}html{background-color:#f5f5f5}body{margin:0;font-family:Lato, "PingFang SC", "Microsoft YaHei", sans-serif;font-size:14px;color:#555;background:#fff}a{color:#555;text-decoration:none;border-bottom:1px solid #999}a:active,a:hover{outline:0}a:hover{color:#222;border-bottom-color:#222}hr{margin:40px 0;height:3px;border:none;background-color:#ddd;background-image:repeating-linear-gradient(-45deg, #fff, #fff 4px, transparent 4px, transparent 8px)}blockquote{padding:0 15px;color:#666;border-left:4px solid #ddd}img{max-width:100%;height:auto}.fn-clear:before,.fn-clear:after{display:table;content:"";line-height:0}.fn-clear:after{clear:both;line-height:0}.fn-left{float:left}.fn-right{float:right}.fn-none{display:none}@font-face{font-family:'icomoon';src:url("fonts/icomoon.eot?a0psdo");src:url("fonts/icomoon.eot?a0psdo#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?a0psdo") format("truetype"),url("fonts/icomoon.woff?a0psdo") format("woff"),url("fonts/icomoon.svg?a0psdo#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-register:before{content:"\e973"}.icon-setting:before{content:"\e994"}.icon-login:before{content:"\ea13"}.icon-logout:before{content:"\ea14"}.icon-rss:before{content:"\e901"}.form{width:100%;margin-top:50px}.form input,.form textarea,.form button{border:1px solid #CCCCCC;background-color:#FAFAFA;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset;padding:7px 8px;width:100%;box-sizing:border-box;outline:none}.form button{width:auto}.form input:focus,.form textarea:focus{background-color:#FFF;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset,0 0 5px rgba(81,167,232,0.5);border:1px solid #51A7E8}.error-msg{color:#9EABB3;margin-right:10px}.wrapper{max-width:700px;min-width:600px;margin:0 auto;padding:0 10px}.main{position:relative;top:-50px;opacity:0}.header{background:#f5f5f5;margin-bottom:80px;padding:40px 0px}.logo-wrap{float:left;overflow:hidden;top:0;opacity:0}.logo-line-before,.logo-line-after{display:block;overflow:hidden;margin:0 auto;width:75%}.logo-line-before i,.logo-line-after i{position:relative;display:block;height:2px;background:#222;left:-100%}.logo-line-after i{left:auto;right:-100%}.logo-wrap .site-title{font-size:22px;font-weight:bolder;opacity:0;top:-10px;position:relative}.logo-wrap>a{position:relative;display:inline-block;padding:2px 1px;color:#222;line-height:2;border-bottom:none;font-family:Lato, "PingFang SC", "Microsoft YaHei", sans-serif}.site-nav-toggle{display:none}.menu{float:left;margin:5px 0 0 20px;padding:0 20px;opacity:0}.menu .menu-item{display:inline-block}.menu .menu-item a{padding:5px 10px;border:none;transition-property:background;transition-duration:0.2s;transition-timing-function:ease-in-out;transition-delay:0s}.menu .menu-item a:hover{background:#e1e1e1}.menu .page-icon{float:left;height:14px;width:14px;margin:4px -4px 0 0}.site-search{float:right;margin-top:15px}.site-search input{padding:3px;border:none;padding-left:18px;border-radius:0;width:140px;background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMTZweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDE2OyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMTUuNywxNC4zbC0zLjEwNS0zLjEwNUMxMy40NzMsMTAuMDI0LDE0LDguNTc2LDE0LDdjMC0zLjg2Ni0zLjEzNC03LTctN1MwLDMuMTM0LDAsN3MzLjEzNCw3LDcsNyAgYzEuNTc2LDAsMy4wMjQtMC41MjcsNC4xOTQtMS40MDVMMTQuMywxNS43YzAuMTg0LDAuMTg0LDAuMzgsMC4zLDAuNywwLjNjMC41NTMsMCwxLTAuNDQ3LDEtMUMxNiwxNC43ODEsMTUuOTQ2LDE0LjU0NiwxNS43LDE0LjN6ICAgTTIsN2MwLTIuNzYyLDIuMjM4LTUsNS01czUsMi4yMzgsNSw1cy0yLjIzOCw1LTUsNVMyLDkuNzYyLDIsN3oiLz48L3N2Zz4=") no-repeat 0 50%;background-size:12px 12px;outline:none;border-bottom:1px solid #999;opacity:0.5}.site-search input:focus{opacity:1}.footer{margin-top:80px;padding:10px 20px;background:#f5f5f5;color:#666;line-height:2}.sidebar-toggle{position:fixed;right:50px;bottom:45px;width:15px;height:15px;padding:5px;background:#222;line-height:0;z-index:1050;cursor:pointer;-webkit-transform:translateZ(0)}.sidebar-toggle.has-toc .sidebar-toggle-line{background:#87daff}.sidebar-toggle-line{position:relative;display:inline-block;vertical-align:top;height:2px;width:100%;background:#fff;margin-top:4px;transition-duration:0.2s;transition-timing-function:ease-in-out;transition-delay:0s}.sidebar-toggle-line:first-child{margin-top:0}.sidebar-toggle:hover .sidebar-toggle-line-first{width:50%;transform:rotateZ(-45deg);top:3px}.sidebar-toggle:hover .sidebar-toggle-line-middle{width:90%}.sidebar-toggle:hover .sidebar-toggle-line-last{width:50%;transform:rotateZ(45deg);top:-3px}.sidebar-toggle.sidebar-active .sidebar-toggle-line-first{width:100%;transform:rotateZ(-45deg);top:6px}.sidebar-toggle.sidebar-active .sidebar-toggle-line-middle{opacity:0}.sidebar-toggle.sidebar-active .sidebar-toggle-line-last{width:100%;transform:rotateZ(45deg);top:-6px}.back-to-top{position:fixed;bottom:19px;right:50px;z-index:1050;width:15px;height:13px;padding:5px;background:#222;color:#fff;cursor:pointer;-webkit-transform:translateZ(0)}.back-to-top:before{display:block;content:" ";margin-top:2px;width:0;height:0;border-width:0 7px 8px 7px;border-color:transparent transparent #fff transparent;border-style:solid}.sidebar{overflow:auto;width:320px;position:fixed;right:-320px;top:0;bottom:0;z-index:1040;box-shadow:inset 0 2px 6px #000;background:#222;-webkit-transform:translateZ(0);padding:20px 10px;color:#999;text-align:center;box-sizing:border-box}.sidebar::-webkit-scrollbar{display:none}.sidebar a{color:#999;border-bottom-color:#555}.sidebar a:hover{color:#eee}.sidebar .site-author-image{display:block;margin:20px auto 0;max-width:96px;height:auto;border:2px solid #333;padding:2px}.sidebar .site-author-name{margin:5px 0 0;color:#f5f5f5}.sidebar .site-description{margin-top:5px;font-size:14px;color:#555}.sidebar .site-state-item{display:inline-block;padding:0 15px;border-left:1px solid #333}.sidebar .site-state-item:first-child{border-left:none}.sidebar .site-state-item a{border-bottom:none}.sidebar .site-state-item-count{display:block;text-align:center;font-size:18px}.sidebar .site-state-item-name{font-size:13px}.sidebar .feed-link{margin-top:20px}.sidebar .feed-link a{display:inline-block;padding:3px 15px;color:#fc6423;border:1px solid #fc6423;border-radius:4px}.sidebar .feed-link a:hover{color:#fff;background:#fc6423}.sidebar .links-of-author{margin-top:20px}.sidebar .links-of-author a{display:inline-block;vertical-align:middle;margin-right:10px;margin-bottom:10px;border-bottom-color:#555;font-size:13px}.sidebar .links-of-author a:before{display:inline-block;vertical-align:middle;margin-right:3px;content:" ";width:4px;height:4px;border-radius:50%;background:#0dd5ff}.sidebar .b3-solo-list{margin:20px;list-style:none;text-align:left;padding:0;font-size:14px;line-height:2}.sidebar .b3-solo-list li.current a{color:#87daff}.sidebar section{opacity:0;position:relative;overflow:auto}.sidebar>ul>li{display:inline-block;cursor:pointer;border-bottom:1px solid transparent;font-size:14px;color:#555}.sidebar>ul>li:hover{color:#f5f5f5}.sidebar>ul>li.current{color:#87daff;border-bottom-color:#87daff}.sidebar>ul>li:last-child{margin-left:10px}.posts-expand .post-item{margin-top:120px}.posts-expand .post-item:first-child{margin-top:0}.post-title-link{display:inline-block;position:relative;color:#555;border-bottom:none;line-height:1.2;vertical-align:top;font-size:26px;font-weight:400}.post-title-link::before{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#000;visibility:hidden;transform:scaleX(0);transition-duration:0.2s;transition-timing-function:ease-in-out;transition-delay:0s}.post-title-link:hover::before{visibility:visible;transform:scaleX(1)}.posts-expand .post-meta{margin:3px 0 60px 0;color:#999;font-size:12px}.post-more-link a{color:#666;border:none;border-bottom:2px solid #666;transition-property:border}.post-more-link a:hover{border-bottom-color:#222}.pagination{border-top:1px solid #eee;margin:120px 0 0;text-align:left}.pagination .next,.pagination .page-number{display:inline-block;position:relative;top:-1px;margin:0 5px;padding:0 10px;line-height:30px;border-bottom:0;border-top:1px solid #eee;transition-property:border-color;transition-duration:0.2s;transition-timing-function:ease-in-out;transition-delay:0s}.pagination .next:hover,.pagination .page-number:hover{border-top-color:#222}.pagination .page-number.current{color:#fff;background:#ccc;border-top-color:#ccc}.post-header{text-align:center}.post-body{word-wrap:break-word}.post-body img{box-sizing:border-box;margin:auto}.posts-expand .post-tags{margin-top:40px}.posts-expand .post-tags a{padding:1px 5px;background:#f5f5f5;border-bottom:none}.posts-expand .post-tags a:hover{background:#ccc}.posts-expand .post-nav{margin-top:40px;overflow:hidden;padding:10px;white-space:nowrap;border-top:1px solid #eee}.post-nav-item a:hover{color:#222;border-bottom:none}.post-nav-item a{position:relative;display:inline-block;line-height:25px;font-size:14px;color:#555;border-bottom:none;width:50%}#externalRelevantArticles h4{margin-bottom:0}#externalRelevantArticles ul{margin-top:5px}.content-reset{text-align:justify}.content-reset p{margin:0 0 25px 0}ul.comments{padding:0;list-style:none;margin-top:50px;position:relative}ul.comments li{padding:10px;white-space:normal;word-wrap:break-word;position:relative;border-bottom:#EBF2F6 1px solid}ul.comments li:hover{background-color:#F7F7F7}ul.comments .avatar-48{position:absolute;box-shadow:0 0 2px #ddd;height:48px;width:48px;margin:8px 10px 0 0;border-radius:24px}ul.comments .comment-body{margin:8px 0 0 60px;min-height:50px}ul.comments li.comment-body-ref{position:absolute;z-index:10;background-color:#EBF2F6;border:#d5dbde 1px solid;width:80%;left:69px}ul.comments .comment-meta{font-family:"Open Sans","Microsoft Yahei",Helvetica;color:#9eabb3;font-size:13px}ul.comments .comment-meta a{color:#9EABB3;text-decoration:none;border-bottom-width:0}ul.comments .post-meta a:hover{text-decoration:underline}ul.comments .comment-meta time{border-left:1px solid #d5dbde;margin-left:8px;padding-left:12px}.tag-cloud{text-align:center}.tag-cloud ul.tag-cloud-tags{padding-left:0}#tags li{list-style:none;display:inline-block;margin:10px}#tags .tags1{font-size:12px;color:#CCC}#tags .tags2{font-size:16px;color:#999}#tags .tags3{font-size:21px;color:#6f6f6f}#tags .tags4{font-size:24px;color:#333}#tags .tags5{font-size:30px;color:#111}.posts-collapse .collection-title::before{content:" ";position:absolute;left:0;top:50%;margin-left:-4px;margin-top:-4px;width:8px;height:8px;background:#bbb;border-radius:50%}.posts-collapse .collection-title{position:relative;margin:60px 0}.posts-collapse .collection-title h2{margin-left:20px}.posts-collapse .collection-title small{color:#bbb}.posts-collapse .post-header::before{content:" ";position:absolute;left:0;top:12px;width:6px;height:6px;margin-left:-4px;background:#bbb;border-radius:50%;border:1px solid #fff;transition-duration:0.2s;transition-timing-function:ease-in-out;transition-delay:0s;transition-property:background}.posts-collapse .post-header{position:relative;transition-duration:0.2s;transition-timing-function:ease-in-out;transition-delay:0s;transition-property:border;border-bottom:1px dashed #ccc;text-align:left}.posts-collapse .post-header:hover{border-bottom-color:#666}.posts-collapse .post-header:hover::before{background:#222}.posts-collapse .post-time{position:absolute;font-size:12px;left:20px;top:8px}.posts-collapse .post-title{margin-left:70px;font-size:16px;font-weight:normal;font-family:Lato, "PingFang SC", "Microsoft YaHei", sans-serif;line-height:inherit;text-decoration:none;border-bottom:0;color:#666}.page-archive .archive-page-counter{position:relative;top:7px;left:20px;margin-bottom:50px;display:block}.page-archive .posts-collapse .archive-move-on{position:absolute;top:11px;left:0;margin-left:-6px;width:10px;height:10px;opacity:0.5;background:#555;border:1px solid #fff;border-radius:50%}.page-archive .post-title{margin-left:20px}.page-archive .posts-collapse .post-header::before{top:8px}.page-archive .posts-collapse::after{top:20px;left:0;margin-left:-2px;width:4px;height:100%;background:#f5f5f5;z-index:-1;content:" ";position:absolute}@media (max-width: 1000px){.sidebar-toggle,.sidebar{display:none}body{padding-right:0 !important}}@media (max-width: 700px){.page-archive .posts-collapse .archive-move-on{margin-left:5px}.posts-collapse{margin-left:10px}.page-archive .archive-page-counter{margin-right:10px}.site-nav-toggle{display:block;margin-top:16px}.logo-line-before,.logo-line-after,.menu,.site-search,.back-to-top{display:none}.header{margin-bottom:50px;padding:5px 0px}.header-line{position:relative;top:52px;height:1px;width:100%;background-color:#ddd;display:none}.wrapper{min-width:inherit}.btn-bar{display:block;width:22px;height:2px;background:#555;border-radius:1px}.btn-bar+.btn-bar{margin-top:4px}.menu{width:100%;margin:0 0 0 -20px;padding:0 5px;line-height:26px}.menu .menu-item{display:block}.menu .page-icon{margin:6px -4px 0px 10px}.footer{text-align:center;font-size:12px;padding:10px 0}.footer .fn-right{float:none}}
diff --git a/next/js/next.min.js b/next/js/next.min.js
index 2d9ede3..334d45c 100644
--- a/next/js/next.min.js
+++ b/next/js/next.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
var NexT={init:function(){$(".sidebar-toggle").click(function(){var i=$(".sidebar");$(this).hasClass("sidebar-active")?($(this).removeClass("sidebar-active"),$("body").animate({"padding-right":0}),i.animate({right:-320}),i.find("section").css("opacity",0)):($(this).addClass("sidebar-active"),$("body").animate({"padding-right":320}),i.animate({right:0},function(){i.find("section:first").animate({opacity:1})}))}),$(".site-nav-toggle").click(function(){$(".site-nav").slideToggle()}),$(document).ready(function(){setTimeout(function(){$(".logo-wrap").css("opacity",1),$(".logo-line-before i").animate({left:"0"},function(){$(".site-title").css("opacity",1).animate({top:0},function(){$(".menu").css("opacity",1).animate({"margin-top":"15px"}),$(".main").css("opacity",1).animate({top:"0"},function(){0<$(".b3-solo-list li").length&&1e3<$(window).width()&&$(".sidebar-toggle").click()})})}),$(".logo-line-after i").animate({right:"0"})},500),$("body").on("click",".content-reset img",function(){window.open(this.src)})})},initArticle:function(){if(0<$(".b3-solo-list li").length&&1e3<$(window).width()){$(".sidebar-toggle").addClass("has-toc");var i='
'+Label.tocLabel+'
'+Label.siteViewLabel+"
";$(".sidebar").prepend(i);var t=$(".sidebar section:first").html($(".b3-solo-list")),e=$(".sidebar section:last");t.height($(window).height()-90),$(".sidebar > ul > li").click(function(){"toc"===$(this).data("tab")?e.animate({opacity:"0",top:"-50px"},300,function(){t.show().css("top","-50px"),t.animate({opacity:"1",top:"0"},300)}):t.animate({opacity:"0",top:"-50px"},300,function(){t.hide().css("top","-50px"),e.animate({opacity:"1",top:"0"},300)}),$(".sidebar > ul > li").removeClass("current"),$(this).addClass("current")}),this.initToc()}},initToc:function(){var s=$(".content-reset [id^=b3_solo_h]"),c=$(".b3-solo-list");$(window).scroll(function(i){if(0===$(".b3-solo-list li").length)return!1;var t=[];s.each(function(i){t.push({id:this.id,offsetTop:this.offsetTop})});for(var e=$(window).scrollTop(),a=0,o=t.length;a=t[t.length-1].offsetTop+200&&(c.find("li").removeClass("current"),c.find("li:last").addClass("current"))}),$(window).scroll()}};NexT.init();
\ No newline at end of file
diff --git a/nijigen/css/base.css b/nijigen/css/base.css
index 4ae7ca4..537da91 100644
--- a/nijigen/css/base.css
+++ b/nijigen/css/base.css
@@ -1 +1,18 @@
+/**
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;height:100%}body{margin:0;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size:14px;background-color:#fff;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}::-moz-selection{text-shadow:none;background:rgba(65,131,196,0.4)}::selection{text-shadow:none;background:rgba(66,133,244,0.4)}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6,dl,dd,p{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}a{outline:0;text-decoration:none}a:hover{text-decoration:underline}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;height:auto;-ms-interpolation-mode:bicubic;overflow:hidden;font-size:12px}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;outline:none}button,input{line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}blockquote{margin:0}.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}.fn__flex{display:flex}.fn__flex-center{align-self:center}.fn__flex-inline{display:inline-flex;align-items:center}.fn__flex-1{flex:1;min-width:1px}.fn__flex-column{min-height:100%;display:flex;flex-direction:column}.fn__pointer{cursor:pointer}.fn__clear:before,.fn__clear:after{display:table;content:""}.fn__clear:after{clear:both}.fn__left{float:left}.fn__right{float:right}.fn__none{display:none}.fn__hidden{visibility:hidden}.fn__ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.ft__13{font-size:13px}.ft__smaller{font-size:12px}.ft__center{text-align:center}.ft__nowrap{white-space:nowrap}@-webkit-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.tooltipped{position:relative;cursor:pointer}.tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.tooltipped--hover::before,.tooltipped--hover::after,.tooltipped:hover::before,.tooltipped:hover::after,.tooltipped:active::before,.tooltipped:active::after,.tooltipped:focus::before,.tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.tooltipped__s::after,.tooltipped__se::after,.tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.tooltipped__s::before,.tooltipped__se::before,.tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.tooltipped__sw::after{margin-right:-15px}.tooltipped__n::after,.tooltipped__ne::after,.tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped__n::before,.tooltipped__ne::before,.tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.tooltipped__nw::after{margin-right:-15px}.tooltipped__s::after,.tooltipped__n::after{transform:translateX(50%)}.tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{cursor:pointer;background-image:url(../../../images/emotions/emotions.png);background-size:120px;float:left;height:24px;margin-right:5px;width:24px;transition:all .2s ease-out;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out}#emotions span:hover,#emotionsReply span:hover{transform:scale(1.2) rotate(360deg);-webkit-transform:scale(1.2) rotate(360deg);-moz-transform:scale(1.2) rotate(360deg)}.em01{background-position:-24px 0}.em02{background-position:-48px 0}.em03{background-position:-72px 0}.em04{background-position:-96px 0}.em05{background-position:0 -24px}.em06{background-position:-24px -24px}.em07{background-position:-48px -24px}.em08{background-position:-72px -24px}.em09{background-position:-96px -24px}.em10{background-position:0 -48px}.em11{background-position:-24px -48px}.em12{background-position:-48px -48px}.em13{background-position:-72px -48px}.em14{background-position:-96px -48px}#nprogress{pointer-events:none}#nprogress .bar{background:#d23f31;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px #d23f31, 0 0 5px #d23f31;opacity:1.0;-webkit-transform:rotate(3deg) translate(0px, -4px);-ms-transform:rotate(3deg) translate(0px, -4px);transform:rotate(3deg) translate(0px, -4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#d23f31;border-left-color:#d23f31;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@font-face{font-family:'icomoon';src:url("fonts/icomoon.eot?oyqnlj");src:url("fonts/icomoon.eot?oyqnlj#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?oyqnlj") format("truetype"),url("fonts/icomoon.woff?oyqnlj") format("woff"),url("fonts/icomoon.svg?oyqnlj#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon__"],[class*=" icon__"]{font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon__list:before{content:"\f0ca"}.icon__home:before{content:"\f015"}.icon__comments:before{content:"\f0e6"}.icon__date:before{content:"\f073"}.icon__search:before{content:"\f002"}.icon__up:before{content:"\f077"}.icon__inbox:before{content:"\f01c"}.icon__tags:before{content:"\f02c"}.icon__link:before{content:"\f0c1"}.icon__refresh:before{content:"\f021"}.icon__category:before{content:"\e9bc"}.icon__logout:before{content:"\ea14"}.icon__views:before{content:"\e900"}.icon__register:before{content:"\e973"}.icon__setting:before{content:"\e994"}.icon__login:before{content:"\ea13"}.icon__rss:before{content:"\e901"}.icon__more:before{content:"\e902"}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}body{cursor:url(../images/cursor.cur),url(../images/cursor.cur),auto}a{transition:all .3s;cursor:url(../images/pointer.cur),url(../images/pointer.cur),auto}.content-reset img{vertical-align:sub}.ft__red{color:#b94a48}.module{border-radius:5px;overflow:hidden;margin-bottom:30px;box-shadow:1px 1px 3px 1px rgba(0,0,0,0.2);transition:all .3s}.module.item{transform:translateY(30px);transition:transform 2s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.module.item--active{transform:translate(0)}.module:hover{box-shadow:0px 0px 20px 0px rgba(0,0,0,0.8)}.module__content{background-color:rgba(255,255,255,0.8);padding:15px;color:#3d4450;display:block}.module__content:hover{background-color:#fff}.module__content--three{padding-bottom:0}.module__header{background-color:rgba(10,10,0,0.7);padding:15px;color:#fff}.module__header a{color:#fff}.module__header:hover{background-color:rgba(10,10,0,0.9)}.module__list li{border-bottom:1px solid #ddd;background-color:rgba(255,255,255,0.8);line-height:20px}.module__list li a{padding:15px 15px;display:block;color:#3d4450}.module__list li a:hover{text-decoration:none;color:#b94a48;background-color:#fff}.form{position:relative}.form__input{border:1px solid #7266BA;height:30px;line-height:30px;padding:0 15px;border-radius:15px;width:100%;box-sizing:border-box}.bg{height:100%;width:100%;position:fixed;top:0;left:0;background-image:url(../images/background1.jpg);background-size:cover;background-position:center center;z-index:-1;animation:imageAnimation 36s linear infinite 0s;opacity:0}.bg--1{background-image:url(../images/background2.jpg);animation-delay:6s}.bg--2{background-image:url(../images/background3.jpg);animation-delay:12s}.bg--3{background-image:url(../images/background4.jpg);animation-delay:18s}.bg--4{background-image:url(../images/background5.jpg);animation-delay:24s}.bg--5{background-image:url(../images/background6.jpg);animation-delay:30s}@keyframes imageAnimation{0%{opacity:0;animation-timing-function:ease-in}8%{opacity:1;transform:scale(1.05);animation-timing-function:ease-out}17%{opacity:1;transform:scale(1.1) rotate(0deg)}25%{opacity:0;transform:scale(1.1) rotate(0deg)}100%{opacity:0}}.header{background-color:rgba(10,10,0,0.7);height:50px;line-height:50px;color:#fff;transition:all .3s;box-shadow:0 0 8px black}.header:hover{background-color:rgba(10,10,0,0.9)}.header a{color:#fff;padding:0 15px;display:inline-block}.header a.current,.header a:hover{text-decoration:none;background-color:rgba(102,88,184,0.8)}.header__logo{position:absolute;left:30px}.header__nav{text-align:center}.header__nav img{float:left;height:20px;width:20px;margin:15px 5px 0 0}.header__login{position:absolute;right:30px;top:0}.main{max-width:1170px;padding:30px;margin:auto;display:flex}.content{flex:1;min-width:1px}.side{width:280px;min-width:280px;margin-left:30px;border-radius:5px}.side::-webkit-scrollbar{display:none}.side__btn{background-color:transparent;border:0;top:5px;position:absolute;right:10px}.side__avatar{border-radius:50%;height:100px;width:100px;display:block;margin:0 auto;margin-bottom:15px;transition:transform .3s;margin-top:10px}.side__avatar:hover{transform:rotate(360deg) scale(1.2);border:5px solid rgba(114,102,186,0.36);margin-top:0}.tag{float:left;color:#fff;padding:2px 5px;border:1px solid transparent;height:20px;white-space:nowrap;word-wrap:normal;background-color:rgba(10,10,0,0.7);border-radius:3px 3px 3px 3px;line-height:21px;margin:0 15px 15px 0}.tag a{color:#fff}.tag:hover{background-color:#b94a48;box-shadow:0 1px 1px rgba(0,0,0,0.2);text-decoration:none}.breadcrumb{color:#7266BA !important}.breadcrumb:hover{color:#3d4450 !important}.footer{text-align:center;color:#fff;padding:15px;margin-bottom:30px}.footer a{color:#7266BA}.article-list .item{border-radius:5px;margin-bottom:30px;box-shadow:1px 1px 3px 1px rgba(0,0,0,0.2);padding:15px;background-color:rgba(255,255,255,0.8);position:relative;transition:all 0.3s,transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);transform:perspective(2500px) rotateX(-100deg)}.article-list .item--active{transform:perspective(2500px) rotateX(0)}.article-list .item:hover{background-color:#fff;box-shadow:0px 0px 20px 0px rgba(0,0,0,0.8)}.article-list .item .tag{float:none;display:inline-block}.article-list .item__title{text-align:center;font-size:24px;font-weight:500}.article-list .item__title a{color:rgba(10,10,0,0.7);padding:0 15px;border-radius:5px;display:inline-block;margin-bottom:15px;line-height:36px}.article-list .item__title a:hover{color:#fff;text-decoration:none;background-color:#6658b8}.article-list .item__title>sup{color:#b94a48}.article-list .item__date{position:absolute;background-color:#7266BA;color:#fff;height:70px;width:70px;font-size:12px;top:-20px;border-radius:35px;left:-20px;text-align:center;padding-top:9px;box-sizing:border-box}.article-list .item__day{font-size:30px;display:block}.pagination__item{color:#fff;border-radius:3px;padding:0 10px;line-height:24px;display:inline-block;margin:0 0 10px 10px;background-color:rgba(114,102,186,0.58)}.pagination__item--text{background-color:rgba(255,255,255,0.8);color:#7266BA}.pagination__item--current{background-color:#6658b8}.pagination a.pagination__item:hover{text-decoration:none;background-color:#6658b8}.comments{position:relative}.comments__item{border-radius:5px;list-style:none;margin-bottom:30px;box-shadow:1px 1px 3px 1px rgba(0,0,0,0.2);transition:all .3s}.comments__item:hover{box-shadow:0px 0px 20px 0px rgba(0,0,0,0.8)}.comments__item:hover .comments__avatar{transform:rotate(720deg);border-radius:0}.comments__item:hover .comments__content{background-color:#fff}.comments__item:hover .comments__meta{background-color:#d9edf7}.comments__item:hover .comments__reply:after{background-color:#d9edf7}.comments__meta{border-radius:5px 5px 0 0;min-height:37px;line-height:37px;padding-left:45px;background:rgba(217,237,247,0.6);color:#3d4450;padding-right:15px}.comments__meta a{font-weight:700;color:#3d4450}.comments__meta a:hover{color:#b94a48}.comments__meta--only{border-radius:5px}.comments__content{border-radius:0 0 5px 5px;background-color:rgba(255,255,255,0.8);padding:15px 45px;position:relative}.comments__content textarea{margin:15px 0}.comments__avatar{position:absolute;height:54px;width:54px;background-position:center center;background-size:cover;border:2px solid #fff;border-radius:35px;left:-29px;top:-23px;transition:all .8s ease}.comments__captcha{height:30px}.comments__reply{border-radius:5px;margin:15px auto 0}.comments__reply #cancelCommentButton{line-height:34px}.comments__reply:after{content:" ";position:absolute;height:15px;width:5px;right:60px;top:-15px;background-color:rgba(217,237,247,0.6)}.comment-body-ref{right:0;position:absolute;left:64px}.comment-body-ref .breadcrumb{display:none}.form{width:100%}.form input,.form textarea{border:1px solid #d1d5da;background-color:#fafafa;border-radius:3px;box-shadow:inset 0 1px 2px rgba(27,31,35,0.075);padding:7px 8px;width:100%;line-height:17px;box-sizing:border-box}.form input:focus,.form textarea: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}.form .ft__red{line-height:34px}.form .btn{float:right;height:34px;margin:0 0 0 10px;padding:0 15px}.icon__up{position:fixed;bottom:30px;right:30px;color:#fff;background-color:rgba(114,102,186,0.8);height:30px;width:30px;line-height:28px;border-radius:15px;cursor:pointer;display:none;text-align:center}.icon__up:hover{background-color:#6658b8}.content .b3-solo-list{display:none !important}.b3-solo-list{margin:0 !important;font-size:14px !important}.b3-solo-list-h1{margin:0 !important}.b3-solo-list-h2{margin:0 !important}.b3-solo-list-h2 a{padding-left:30px !important}.b3-solo-list-h3{margin:0 !important}.b3-solo-list-h3 a{padding-left:45px !important}.b3-solo-list-h4{margin:0 !important}.b3-solo-list-h4 a{padding-left:60px !important}.b3-solo-list-h5{margin:0 !important}.b3-solo-list-h5 a{padding-left:75px !important}.article__relevant{margin-bottom:30px}.article__relevant .module{height:100%;background-color:rgba(255,255,255,0.8);margin-bottom:0}@media (max-width: 768px){.mobile__hidden{display:none}.mobile__hidden.fn__none{display:block}.main{display:block;margin:15px;padding:0}.side{margin:0;width:auto}.article-list{overflow:hidden}.article-list .item__title{font-size:20px}.article-list .item__date--m{text-align:center;margin-bottom:10px;color:#3d4450;display:block}.article-list .item__date{display:none}.article-list .item,.module,.comments__item{margin-bottom:15px}.footer{margin:0 15px 15px;background-color:rgba(255,255,255,0.8);border-radius:5px;color:#3d4450;line-height:20px}.footer a{text-decoration:underline}.footer .fn__none--m{display:none}.footer .fn__none{display:block}.tag{margin:0 5px 10px 0;font-size:12px}.header__logo{left:0}.header__login{display:none}.header__m{display:block;position:absolute;width:100%;z-index:1}.header__m img{float:left;height:20px;width:20px;margin:0 5px 0 0}.header__m a.current{color:#b94a48}.header__m .icon__more,.header__m .icon__list{position:absolute;top:-35px;right:15px;font-size:20px;color:#fff}.header__m .icon__list{right:50px}.header__m .module__list{display:none}.header__m .module__list li{background-color:#fff}.module__content.ft__center{text-align:left}.comments__avatar{height:34px;width:34px;left:-7px}.comments__content{padding:15px}.content-reset{font-size:14px}.article__relevant{display:block;margin-bottom:0}.article__relevant .module{margin-bottom:15px}.article__near a{display:block;float:none}}
diff --git a/nijigen/js/common.min.js b/nijigen/js/common.min.js
index a7e6d0c..bb3bbe8 100644
--- a/nijigen/js/common.min.js
+++ b/nijigen/js/common.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
var Skin={_initCommon:function(e){$(window).scroll(function(){125<$(window).scrollTop()?e.show():e.hide(),0<$(".side .b3-solo-list").length&&(50<$(window).scrollTop()?$(".side").css("position","fixed"):$(".side").css("position","initial"))})},_initAnimation:function(){if(!("IntersectionObserver"in window))return $(".item").addClass("item--active"),!1;window.imageIntersectionObserver?window.imageIntersectionObserver.disconnect():window.imageIntersectionObserver=new IntersectionObserver(function(e){e.forEach(function(e){if(void 0===e.isIntersecting?0!==e.intersectionRatio:e.isIntersecting)$(e.target).addClass("item--active");else{if(1===$(e.target).closest(".side").length||1===$(e.target).closest("#articlePage").length||768<$(e.target).outerHeight())return;$(e.target).removeClass("item--active")}})}),$(".item").each(function(){window.imageIntersectionObserver.observe(this)})},init:function(){Util.initPjax(function(){Skin._initAnimation(),0===$("#articlePage").length&&$(".b3-solo-list").closest(".module").remove()}),Skin._initAnimation(),$("body").on("click",".content-reset img",function(){window.open(this.src)}),this._initCommon($(".icon__up")),$(".header__nav a, .header__m a").each(function(){this.href===location.href&&(this.className="current")}).click(function(){$(".header__nav a, .header__m a").removeClass("current"),this.className="current",$(".header__m .module__list").hide()}),$(".header__logo").click(function(){$(".header__nav a, .header__m a").removeClass("current")})},_initArticleCommon:function(){if(768<$(window).width()){if(0===$("#articlePage .b3-solo-list li").length)return $(".side .b3-solo-list").closest(".module").remove(),void $(".side").css({height:"auto",position:"initial"});$("#articlePage").width($(".main").width()-310),0===$(".side .b3-solo-list").length&&$(".side").prepend('
').css({right:($(window).width()-$(".main").width())/2,position:"fixed",overflow:"auto",height:$(window).height()-30,top:30}),$(".side .module:eq(0) .module__list").html($(".b3-solo-list")),$(window).scroll(),$(".side").scrollTop(0)}else{if(0===$("#articlePage .b3-solo-list li").length)return void $(".header__m .icon__list").hide().next().hide();$(".header__m .icon__list").show().next().html($(".b3-solo-list")),$(".b3-solo-list a").click(function(){$(this).closest(".module__list").hide()})}},initArticle:function(){this._initArticleCommon(),setTimeout(function(){0===$("#externalRelevantArticlesWrap li").length&&($("#externalRelevantArticlesWrap").next().remove(),$("#externalRelevantArticlesWrap").remove()),0===$("#relevantArticlesWrap li").length&&($("#relevantArticlesWrap").prev().remove(),$("#relevantArticlesWrap").remove()),0===$("#randomArticlesWrap li").length&&($("#randomArticlesWrap").prev().remove(),$("#randomArticlesWrap").remove())},1e3)}};Skin.init();
\ No newline at end of file
diff --git a/nijigen/js/isotope.pkgd.min.js b/nijigen/js/isotope.pkgd.min.js
index 3c1abda..47cfd3e 100644
--- a/nijigen/js/isotope.pkgd.min.js
+++ b/nijigen/js/isotope.pkgd.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
!function(e,i){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("jquery")):e.jQueryBridget=i(e,e.jQuery)}(window,function(t,e){"use strict";function i(h,n,l){(l=l||e||t.jQuery)&&(n.prototype.option||(n.prototype.option=function(t){l.isPlainObject(t)&&(this.options=l.extend(!0,this.options,t))}),l.fn[h]=function(t){if("string"!=typeof t)return o=t,this.each(function(t,e){var i=l.data(e,h);i?(i.option(o),i._init()):(i=new n(e,o),l.data(e,h,i))}),this;var e,s,r,a,u,o,i=d.call(arguments,1);return r=i,u="$()."+h+'("'+(s=t)+'")',(e=this).each(function(t,e){var i=l.data(e,h);if(i){var o=i[s];if(o&&"_"!=s.charAt(0)){var n=o.apply(i,r);a=void 0===a?n:a}else f(u+" is not a valid method")}else f(h+" not initialized. Cannot call methods, i.e. "+u)}),void 0!==a?a:e},o(l))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var d=Array.prototype.slice,n=t.console,f=void 0===n?function(){}:function(t){n.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var o=this._onceEvents&&this._onceEvents[t],n=0;nthis.cols?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},i._manageStamp=function(t){var e=h(t),i=this._getElementOffset(t),o=this._getOption("originLeft")?i.left:i.right,n=o+e.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var r=Math.floor(n/this.columnWidth);r-=n%this.columnWidth?0:1,r=Math.min(this.cols-1,r);for(var a=(this._getOption("originTop")?i.top:i.bottom)+e.outerHeight,u=s;u<=r;u++)this.colYs[u]=Math.max(a,this.colYs[u])},i._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/masonry",["../layout-mode","masonry-layout/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(r,a){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope-layout/js/item","isotope-layout/js/layout-mode","isotope-layout/js/layout-modes/masonry","isotope-layout/js/layout-modes/fit-rows","isotope-layout/js/layout-modes/vertical"],function(t,e,i,o,n,s){return a(r,t,e,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=a(r,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope-layout/js/item"),require("isotope-layout/js/layout-mode"),require("isotope-layout/js/layout-modes/masonry"),require("isotope-layout/js/layout-modes/fit-rows"),require("isotope-layout/js/layout-modes/vertical")):r.Isotope=a(r,r.Outlayer,r.getSize,r.matchesSelector,r.fizzyUIUtils,r.Isotope.Item,r.Isotope.LayoutMode)}(window,function(t,i,e,o,s,n,r){var a=t.jQuery,h=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},l=i.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});l.Item=n,l.LayoutMode=r;var u=l.prototype;u._create=function(){for(var t in this.itemGUID=0,this._sorters={},this._getSorters(),i.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],r.modes)this._initLayoutMode(t)},u.reloadItems=function(){this.itemGUID=0,i.prototype.reloadItems.call(this)},u._itemize=function(){for(var t=i.prototype._itemize.apply(this,arguments),e=0;e.
+ */
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}.left{float:left}.right{float:right}.clear:before,.clear:after{display:table;content:""}.clear:after{clear:both}.none{display:none}header,footer,article,nav,section,aside,time,hgroup{display:block}html,body,header,footer,article,nav,section,aside,time,h1,h2,h3,p,a,ul,li,dl,dd,dt,table,thead,tfoot,tbody,th,tr,td{border:0;font:12px/22px 'Verdana', 'sans-serif';margin:0;outline:0;padding:0}BODY{background:#DDD;margin:0px 0 0 0;color:#444}img{max-width:100%;vertical-align:middle;border:0;height:auto;overflow:hidden;font-size:12px}A,A:LINK,A:ACTIVE,A:VISITED{color:#016f93;text-decoration:none}A:HOVER{color:#DB0202}a.selected{font-weight:bold;color:#000000}H1,H3,H4,H5,H6{background:url(../images/ai4.png) no-repeat 0 7px;border-bottom:1px solid #CCC;color:#666;font-weight:bold;margin:0 0 10px;padding:0 0 0 25px}H1{background:url(../images/ai4.png) no-repeat 0 6px;font-size:15px}H1 a{font-weight:bold;font-size:15px}H2{font-size:14px;margin:0 0 20px 0}H3{background:url(../images/ai5.png) no-repeat 0 7px}H3,H4,H5,H6{font-size:13px}h4{background-position:0 5px}sup{color:#444;top:-4px}header{border-radius:4px;background:#0098CC url(../images/hd.jpg) no-repeat top left;height:200px;margin:0 0 10px 0;padding:10px 10px;position:relative}header a:link,header a:active,header a:visited{font-weight:bold;color:#FFF;font-size:16px}header a:hover{color:#FFF}header p{border-radius:4px;background:#FFF;bottom:20px;color:#000;font-weight:bold;opacity:0.5;padding:10px;position:absolute;right:20px;width:400px}article{border-radius:4px;background:#FFF;border:1px solid #CCC;float:right;height:auto;padding:20px;width:550px}article h1{color:#666;font-weight:bold;font-size:15px}.highlight-1,.highlight-2,.highlight-3{-moz-border-radius:4px;-webkit-border-radius:4px;padding:5px 10px}.highlight-1{background:#FFCCCC;border:1px dotted #FF9966}.highlight-2{background:#FFFF99;border:1px dotted #FFCC33}.highlight-3{background:#CCFF99;border:1px dotted #CCCC33}cite{border-left:2px solid #0098CC;color:#666;font-size:12px;font-style:normal;font-weight:bold;margin:0;padding:5px 10px}blockquote{border-left:2px solid #0098CC;color:#666;margin:0 0 20px 0;padding:5px 10px}pre{color:#333;font-size:10px;line-height:15px;overflow:hidden;overflow-y:hidden}pre code{background:#EEE;border-left:2px solid #0098CC;margin:0 0 10px 0;padding:5px;display:block}dl.vevent{margin:-20px 0 20px 0;padding:0}.vevent dt{font-size:10px;position:relative;left:0;top:22px;font-weight:bold}.vevent dd{border-left:2px solid #0098CC;font-size:11px;margin:0 0 0 80px;padding:0 0 0 10px}dd.summary{font-weight:bold}.vevent a{font-size:11px}article form{border-radius:4px;background:#DDD;margin:0 0 20px;padding:10px}article label{color:#666;display:block;font-size:10px;font-weight:bold;margin:0 0 0 2px}article input,article textarea{border-radius:4px;border:1px solid #CCC;font-size:11px;padding:4px 5px;width:458px}article ul,aside ul{list-style:none;margin:0 0 20px 0}article ul{margin:0 0 20px 23px}article ul li{background:url(../images/ai2.png) no-repeat 0 8px;padding:0 0 0 17px}aside{background:#EEE;float:left;margin:0 0 20px 0;width:200px;white-space:normal}aside ul.aside-comments img{border-radius:4px;width:32px;height:32px;border:1px solid #999999;padding:1px;margin-top:5px;margin-right:5px}aside ul.aside-comments a{font-weight:bold}aside ul.aside-comments .side-comment{color:#555555;font-weight:normal;overflow:hidden;white-space:nowrap;width:158px;height:18px}aside ul.aside-comments div.left>div>div{display:none}aside ul.aside-comments .side-comment img{border:0px;height:16px;width:16px;padding:0px;margin-right:0px;margin-top:0}aside ul.aside-comments li{padding:2px 0}aside ul.aside-comments li div{width:158px}aside ul.aside-comments li div.left div{height:18px;line-height:18px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}aside ul.navi-tags li{padding-left:0px;background-image:none}aside ul.navi-tags li img{margin-bottom:3px;padding-right:6px;height:16px;width:16px}#mostViewCountArticles li,#mostCommentArticles li{overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}#mostViewCountArticles a,#mostCommentArticles a{white-space:nowrap}.s{border-radius:4px;margin:0 0 20px 0;padding:10px;width:179px}.s input{border-radius:4px;border:1px solid #AAA;color:#999;font-size:11px;padding:4px 5px;width:168px}nav ul{list-style:none}nav li{background:url(../images/ai1.png) no-repeat 0 8px;padding:0 0 0 15px}nav li ul,aside li ul li ul{margin:0}nav li li a{font-size:11px}nav li li li a{font-size:10px}nav li li li,aside li.active li li{background:url(../images/ai8.png) no-repeat 0 10px}nav li.active,aside li.active li{background:url(../images/ai2.png) no-repeat 0 8px}nav .page-icon{float:left;height:14px;width:14px;margin:4px 4px 0 0}.gallery{list-style:none;margin:0 0 10px}.gallery li{display:inline;margin:0 15px 0 0}.gallery a img{border:1px solid #999;height:50px;opacity:0.8;padding:1px;width:50px}.gallery li:last-child{margin:0 0 10px 0}.gallery a img:hover{opacity:1}.adspace{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,0.3);background:#EEE;height:100%;margin:0 0 20px 0;padding:5px 10px;text-align:center;width:178px}.adspace a img{border:none}#tagcloud{overflow:hidden;width:200px}#tagcloud li{display:inline;margin:0 10px 0 0}.tagcloudsize-1 a{font-size:14px}.tagcloudsize-2 a{font-size:16px}.tagcloudsize-3 a{font-size:18px}footer{border-top:1px dotted #B5B3A9;clear:both;margin:20px 0}footer a,footer p{color:#666;display:inline;font-size:12px}footer div{background:url("../images/icons.gif") no-repeat scroll 0 -304px transparent;color:#2A2A2A;cursor:pointer;line-height:18px;margin:5px 17px 0 0;padding-left:16px;width:22px;float:right;white-space:nowrap}footer span{margin:0px}footer img{height:28px}.comments{position:relative;background:none repeat scroll 0 0 #FCFCFC;border-bottom:1px solid #CCCCCC;border-top:1px solid #CCCCCC;margin:15px -15px;padding:0 15px 15px}.comment-title{background-color:#E3E9FF;border-top:1px solid #3366CC;padding:3px 12px 3px 12px;position:relative}.comment-body-ref{border-radius:6px;background-color:#FFFFFF;border:1px solid #CCCCCC;opacity:0.9;padding:6px;position:absolute;width:387px;left:174px}.comment-body-ref .comment-author{width:67px}.comment-body-ref .comment-info{width:300px;border-width:0px}.comment-body{margin-top:15px}.comment-author{float:left;text-align:center;width:81px}.comment-author div{margin-top:10px;padding-right:14px;background:url("../images/commentpoint.png") no-repeat scroll 100% 33% transparent}.comment-author img{border-radius:4px;border:1px solid #999999;padding:1px;width:32px;height:32px}.comment-author a{white-space:nowrap;margin-right:14px;font-weight:bold}.comment-info{border-radius:6px;width:440px;padding:5px 10px;background:#EDEFF0;border:1px dotted #EDEFF0}.comment-content{word-wrap:break-word;overflow:hidden;background:url("../images/comment.gif") no-repeat scroll 100% 100% transparent;line-height:145%;margin:0 -15px;padding:9px 15px 10px;font-size:12px}.comment-form img{cursor:pointer}.comment-form input,.comment-form textarea{height:16px;outline:none;font-family:Helvetica,Arial,sans-serif;color:#555555;background:url("../images/textfield.gif") repeat-x scroll 50% 0 #fff;border:1px solid #A6A6A6;padding:2px 1px;width:200px}.comment-form textarea{width:541px;font-size:12px;height:auto}.comment-form button{background:none repeat scroll 0 0 #B4D666;border-color:#B4D666 #81B840 #81B840 #B4D666;border-style:solid;border-width:1px;color:#2970A6;font-size:12px;padding:0px 6px;height:22px;line-height:22px;border-radius:0px}.comment-form button:hover{background:none repeat scroll 0 0 #98C64C;border-color:#76B33A #98C64C #98C64C #76B33A;color:#074A7E}.error-msg{color:#3366CC}#a,#b{margin:0 auto;position:relative}#a{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,0.3);background:#EEE;margin:15px auto;padding:10px 10px 0 10px;width:800px}#b{overflow:hidden}#c,.meta,.s,nav ul{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,0.4);background:#CCC}#c{margin:0 0 20px 0;padding:5px 10px;width:178px}#c p,#c a{font-size:11px;line-height:15px}#c p{margin:0 0 10px 0}#c img{border-radius:4px;float:left;margin:4px 10px 2px 0}.meta{margin:10px 0 30px;padding:2px 5px}.meta p,.meta a{font-size:10px;margin:0}nav ul{padding:10px}nav ul ul{border-radius:none;box-shadow:none}.single_page{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,0.2);background:#F2F7F8;padding:10px;margin-bottom:25px;width:531px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background-color:#bbb}::-webkit-scrollbar-thumb{background-color:#eee}::-webkit-scrollbar-thumb:hover{background-color:#888}
diff --git a/timeline/css/base.css b/timeline/css/base.css
index d311535..f5d16cd 100644
--- a/timeline/css/base.css
+++ b/timeline/css/base.css
@@ -1 +1,18 @@
+/**
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset audio{max-width:100%}.content-reset video{max-height:90vh}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:1px;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out}.vditor-upload--tip{height:20px;font-size:12px;line-height:20px;color:#fff;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{position:absolute;right:5px;top:0;cursor:pointer;display:block}.vditor-upload--tip .vditor-upload__progress{padding:0 5px}.vditor-upload__close{display:none}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}html,body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;margin:0;padding:0;height:100%}body{font:0.81em Verdana, arial, '\5fae\8f6f\96c5\9ed1';color:#666666;background-color:#363A3D;overflow-y:scroll}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:Verdana, arial,'\5fae\8f6f\96c5\9ed1';outline:none}a{color:#6599C6;outline:medium none;text-decoration:none;transition:color 1s ease 0s}a:hover{color:#000}img{max-width:100%;border:0;vertical-align:middle}::selection{background-color:#D5D5D5;color:#FCFCFC}::-moz-selection{background-color:#D5D5D5;color:#FCFCFC}.left{float:left}.right{float:right}.clear{background-color:transparent;border:0;clear:both;display:block;font-size:0;height:0;line-height:0;overflow:hidden}.none{display:none}.fn-clear:before,.fn-clear:after{display:table;content:""}.fn-clear:after{clear:both}.tags{margin:0}.tags li{float:left;list-style-type:none;height:45px}.tags a{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;display:block;margin:5px 10px;padding:5px 10px}.tags a:hover{text-shadow:0 0 2px;text-decoration:none;box-shadow:0 0 4px #D5D5D5}.tags b{font-size:70%;opacity:0.6;filter:alpha(opacity=60)}.tags1,.tags1:visited{font-size:12px;color:#a7a7a7}.tags2,.tags2:visited{font-size:14px;color:#808080}.tags3,.tags3:visited{font-size:16px;color:#595959}.tags4,.tags4:visited{font-size:18px;color:#323232}.tags5,.tags5:visited{font-size:20px;color:#0a0a0a}.module{background-color:#FFFFFF;border:1px solid #BEC3C7;border-radius:5px 5px 5px 5px;box-shadow:0 1px 1px rgba(0,0,0,0.1);margin-bottom:30px;padding:15px;word-wrap:break-word;position:relative}.module>h3.title{margin:0 0 10px 0;color:#444}.module>ul.list{list-style-type:none;padding-left:0;margin:0;overflow:hidden}.module>ul.list>li{border-top:1px solid #EEEEEE;padding:6px 0}.articles .arrow,.ico-author,.ico-tags,.ico-comment,.ico-top,.ico-view,.ico-reply,.ico-translate,#search{background-repeat:no-repeat;background-image:url("../../timeline/images/icons.png")}.ico-author,.ico-tags,.ico-comment,.ico-view,.ico-reply{padding-left:20px;background-position:-1px -63px;margin-right:10px}.ico-tags{background-position:-1px -83px}.ico-comment{background-position:-1px -41px}.ico-view{background-position:0 -122px}.ico-reply{background-position:0 -162px}.ico-translate{background-position:0 -186px;cursor:pointer;float:right;height:16px;margin-left:10px;width:16px}#search{background-position:5px -138px;border:medium none;border-radius:12px 12px 12px 12px;box-shadow:0 1px 0 rgba(0,0,0,0.4) inset,0 1px 0 rgba(255,255,255,0.1);color:#A5A099;height:22px;margin-top:13px;margin-bottom:10px;padding-left:25px;transition:width 0.7s ease 0s;width:60px}#search:focus{color:#333;width:140px}.ico-top{background-color:#363A3D;background-position:4px -100px;border-radius:20em 20em 20em 20em;bottom:60px;box-shadow:0 -1px 2px rgba(0,0,0,0.3) inset,0 1px 0 rgba(255,255,255,0.15);height:25px;position:fixed;left:90%;width:25px;cursor:pointer}.ico-next,.ico-pre{background-color:#6599C6;border-radius:10em 10em 10em 10em;color:#FFFFFF;display:block;float:left;font:20px/100% "Times New Roman",Times,serif;height:28px;margin:-8px 10px 0 0;padding:4px 0 0;text-align:center;transition:background 1s ease 0s;width:32px}.ico-next{float:right;margin:-8px 0 0 10px}a:hover>.ico-next,a:hover>.ico-pre{background-color:#000}.wrapper{min-width:400px;padding:50px 0;background:url("../../timeline/images/bg.png") repeat scroll 0 0 #DEE4EA}.header{background-color:#BFBFBF;background-image:url("../../timeline/images/nav-bg.png"),linear-gradient(#ccc, #a9a9a9);background-image:url("../../timeline/images/nav-bg.png"),-ms-linear-gradient(#ccc, #a9a9a9);background-image:url("../../timeline/images/nav-bg.png"),-o-linear-gradient(#ccc, #a9a9a9);background-image:url("../../timeline/images/nav-bg.png"),-webkit-linear-gradient(#ccc, #a9a9a9);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#CCCCCC', endColorstr='#A9A9A9');border-bottom:1px solid #898989;box-shadow:0 -1px 0 rgba(255,255,255,0.3) inset,0 1px 1px rgba(0,0,0,0.2)}.container{width:80%;margin:0 auto}.footer{border-top:1px solid #232323;padding:20px 0;color:#ddd;font-size:80%}.footer a{color:#9CC0DE}.footer a:hover{text-decoration:underline}.header .title{font-size:150%;margin:3px 0 0}.header .title a{color:#414141;text-shadow:0 1px 0 rgba(255,255,255,0.7)}.header .sub-title{float:left;max-width:574px;white-space:normal;word-wrap:break-word}.header li a{color:#444;padding:17px;line-height:20px;text-shadow:0 1px 0 rgba(255,255,255,0.7);white-space:nowrap}.header li a.current{border-bottom:2px solid #D26911}.header a:hover{color:#000}.header li{float:left;list-style-type:none}.header>.container>ul,.header>.container>form{height:auto;overflow:visible}.header .page-icon{height:14px;width:14px;margin:-1px 5px 0 0}.articles{position:relative;margin-top:11px}.articles>div.fn-clear{position:relative;margin-bottom:50px}.articles>div.fn-clear>h2{margin:0;text-align:center;height:28px}.articles>.vertical{background-color:#9EB5C6;border-radius:20em 20em 20em 20em;box-shadow:0 0 1px 0 rgba(0,0,0,0.5) inset,0 0 1px 0 rgba(255,255,255,0.6);height:100%;left:50%;margin-left:-3px;position:absolute;top:0;width:6px}.articles article{width:50%;float:left}.articles article.l>div.module{margin-right:30px;left:0}.articles article.r{left:50%}.articles article.r>div{margin-left:30px;position:relative}.articles .dot{background-color:#FFFFFF;border:3px solid #60829F;border-radius:20em 20em 20em 20em;height:6px;position:absolute;right:-37px;top:22px;width:6px}.articles .r .dot{left:-37px;right:inherit}.articles .arrow{height:15px;position:absolute;right:-9px;top:21px;width:9px}.articles .r .arrow{background-position:0 -22px;left:-9px;right:inherit}.articles pre{background-color:#F5F5F5;border:1px solid #ddd;border-radius:4px 4px 4px 4px;padding:9.5px;white-space:pre-wrap;word-wrap:break-word}time.article-time{top:-8px;left:50%;position:absolute}time.article-time>span{background-color:#FFFFFF;border:1px solid #A8A9A9;border-radius:20em 20em 20em 20em;font-size:80%;margin-left:-56px;padding:5px 10px}article .article-title{margin:10px 0 0 0}article .article-title>sup{color:#6599C6;font-size:70%}article .article-title a{color:#000;text-decoration:none}.ico>a{color:#999999;font-size:80%;text-decoration:none}.ico>a:hover{color:#000}.article-more{background-color:#60829F;border-radius:20em 20em 20em 20em;box-shadow:0 1px 0 rgba(0,0,0,0.2) inset,0 1px 0 rgba(255,255,255,0.6);color:#FFFFFF;cursor:pointer;font-weight:bold;height:19px;left:50%;margin-left:-38px;padding:5px 20px;position:absolute;text-align:center;top:100%;width:36px}.article-archive{background-color:#60829F;border-radius:20em 20em 20em 20em;box-shadow:0 1px 0 rgba(0,0,0,0.2) inset,0 1px 0 rgba(255,255,255,0.6);color:#FFFFFF;font-size:80%;font-weight:normal;padding:5px 20px}.dynamic-l{float:left;width:70%}.dynamic-l>div{margin-right:30px}.dynamic-r{float:right;width:30%}.dynamic-r .tags a,.links a{line-height:24px}#comments{margin:30px 0 50px;position:relative}.comments>li>img{height:60px;width:60px;border-radius:30px;float:left;margin-right:15px}.comments .author{font-size:130%;font-style:italic}.comments>li>div>div.content-reset{padding-left:75px;margin:12px 0}.module>ul>li.comment-body-ref{background-color:#FFFFFF;border:1px solid #ddd;left:76px;opacity:0.8;filter:alpha(opacity=80);padding:10px;position:absolute;width:74%;border-radius:10px}.comment-body-ref .ico-reply{display:none}.comment-form{width:100%;margin:30px 0}#commentForm{margin-top:0}.comment-form input[type='text'],.comment-form textarea{background:url("../../timeline/images/bg.png") repeat scroll 0 0 #E5E8EA;border:1px solid #BCBDBE;border-radius:5px 5px 5px 5px;box-shadow:0 1px 2px rgba(0,0,0,0.1) inset;margin:5px 5px 5px 0;padding:6px}.comment-form input[type='text']:focus,.comment-form textarea:focus{background-color:#EFEFEF;outline:medium none}#submitCommentButton,#submitCommentButtonReply{background:none repeat scroll 0 0 #868889;border:1px solid #5D6265;border-radius:10em 10em 10em 10em;box-shadow:0 1px 0 rgba(255,255,255,0.3) inset,0 1px 1px rgba(0,0,0,0.3);color:#FFFFFF;cursor:pointer;padding:5px 20px;text-shadow:0 -1px 0 rgba(0,0,0,0.3)}#submitCommentButton:hover,#submitCommentButtonReply:hover{color:#fff;background-color:#444}.nav-abs{background-color:#6B6B6B;border:1px solid #898989;border-radius:5px 5px 5px 5px;box-shadow:0 1px 3px rgba(0,0,0,0.4) inset,0 1px 0 rgba(255,255,255,0.7),0 -1px 0 rgba(255,255,255,0.6);color:#CCCCCC;padding:5px 10px;position:absolute;right:30px;top:61px;z-index:1;text-align:center;white-space:nowrap}.index-nav-abs{padding:0;position:fixed;max-width:160px}.nav-abs li{background-color:#DEDDDD;border:1px solid #6B6B6B;color:#616161;cursor:pointer;float:left;height:20px;list-style-type:none;padding:3px 5px;width:28px}.nav-abs li.year{background-color:#6B6B6B;clear:both;color:#CCCCCC;float:none;text-shadow:0 -1px 0 rgba(0,0,0,0.5);width:auto;border-width:0}.nav-abs li:hover{background-color:#EFEEEE;color:#000}.nav-abs li.year:hover,.nav-abs li.open{background-color:#353535;color:#fff}@media (max-width: 650px){.wrapper{min-width:200px}#top>.left{display:block;float:none;width:100%}#top>a{display:block;float:none !important}#hideTop{position:absolute;right:0;top:0}#admin{display:block;float:none}#admin>a{border-right-width:0 !important;display:block;float:none !important;line-height:26px !important;margin:0 !important}.container{width:100%}.header .title{height:26px;max-width:72%;overflow:hidden}.header>.container>div.left{float:none;height:50px;margin-left:10px}.header>.container>ul{float:none;padding:0;margin:0}.header>.container li{float:none;padding:3px 10px}.header>.container li>a{padding:0;display:block}.header>.container li:hover{background-color:#FFFFFF;background-image:linear-gradient(#fff, #E5E5E5);background-image:-ms-linear-gradient(#fff, #E5E5E5);background-image:-o-linear-gradient(#fff, #E5E5E5);background-image:-webkit-linear-gradient(#fff, #E5E5E5);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#FFFFFF', endColorstr='#E5E5E5')}.header>.container>form{float:none;margin:10px}#search{margin:5px 0 10px 10px}#search:focus{width:92%}.ico-list{background-color:#FCFCFC;background-image:url("../../timeline/images/icons.png");background-position:4px -206px;background-repeat:no-repeat;border-radius:1px 0 3px 3px;cursor:pointer;float:right;height:25px;margin-right:35px;margin-top:-29px;width:25px}.ico-list:hover{background-color:#FFF}.footer>.container>.right{float:none;padding:0 10px;line-height:19px}.footer>.container>.right>.left{float:none}.nav-abs{position:inherit !important;padding:0;background-color:transparent;box-shadow:none;border-width:0;max-width:none !important}.index-nav-abs{margin:0}.nav-abs li{float:none;width:auto}.author,.ico-reply{margin-left:75px;display:block}.comments>li>div>div.content-reset{padding-left:0}.dynamic-l,.dynamic-r{float:none;width:auto}.dynamic-l>div{margin-right:0}.articles .arrow,.articles .dot,#admin>span,.ft-next,.ft-pre,.footer>.container>.left{display:none}.header>.container>ul,.header>.container>form{height:0;overflow:hidden;margin:0}.articles{padding-bottom:10px}.articles article{float:none;width:auto}.articles>div.fn-clear>h2{margin-bottom:40px}}@media (max-width: 360px){.ico{display:block;float:none;line-height:19px}.dynamic-r .ico{float:right}#commentForm label,#replyForm label{display:block}.footer>.container>.right>.left>span{display:block}.ico-translate{display:block;float:none;margin-left:0}.ico-top{bottom:114px}}
diff --git a/timeline/js/timeline.min.js b/timeline/js/timeline.min.js
index 7a88c0a..c753c9b 100644
--- a/timeline/js/timeline.min.js
+++ b/timeline/js/timeline.min.js
@@ -1 +1,18 @@
+/*
+ * Solo - A small and beautiful blogging system written in Java.
+ * Copyright (c) 2010-2019, b3log.org & hacpai.com
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
var timeline={_COLHA:0,_COLHB:20,_initArticleList:function(){var e=$(".articles");0===e.length||0<$(".articles > .fn-clear").length||($(window).resize(function(){if("auto"===$("#hideTop").css("top")){var i=[timeline._COLHA,timeline._COLHB];e.find("article").each(function(){var e=$(this),t=i[1]>i[0],a=t?i[0]:i[1];parseInt(e.css("top"))===a&&0!==a||(e.css({top:a+"px",position:"absolute"}),this.className=t?"l":"r"),i[t?"0":"1"]+=parseInt(e.outerHeight(!0))}),e.height(i[0]>i[1]?i[0]:i[1])}else e.find("article").each(function(){$(this).css({position:"inherit",top:"auto"}).removeClass("r l")}),e.css("height","auto")}),$(window).resize(),$(".module img").imagesLoaded(function(){$(window).resize()}))},_initIndexList:function(){var e=$(".articles > .fn-clear");if(0!==e.length){var a=0;$(".nav-abs li").each(function(e){var t=$(this);t.hide(),a!==t.data("year")&&(a=t.data("year"),t.before("
'),$(".side .toc a").after($(".b3-solo-list")),$(".side .toc-btn").show()},resetTags:function(){$("a.tag").each(function(t){$(this).addClass("color"+Math.ceil(4*Math.random()))})},share:function(){var t=$(".share .fn-right"),i=t.find(".icon-wechat"),e=i.data("url"),o=i.data("avatar"),a=encodeURIComponent(i.data("title")+" - "+i.data("blogtitle")),s=encodeURIComponent(e),n={};n.weibo="http://v.t.sina.com.cn/share/share.php?title="+a+"&url="+s+"&pic="+o,n.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+s+"&sharesource=qzone&title="+a+"&pics="+o,n.twitter="https://twitter.com/intent/tweet?status="+a+" "+s,t.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===i.find("canvas").length?$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0,success:function(){i.qrcode({width:128,height:128,text:e})}}):i.find("canvas").slideToggle(),!1):void window.open(n[t],"_blank","top=100,left=200,width=648,height=618")})}};Yilia.init();
\ No newline at end of file