├── .DS_Store ├── assets ├── .DS_Store ├── avt_min.jpg ├── boat_avt3.png ├── b_pattern_small.jpg ├── rss.svg ├── github.svg └── by-nc-nd.svg ├── favicons ├── favicon.ico ├── favicon-16x16.png ├── favicon-32x32.png ├── apple-touch-icon.png ├── android-chrome-192x192.png ├── android-chrome-512x512.png └── site.webmanifest ├── post-assets ├── optimize-gemm │ └── fig1.png ├── what-it-is │ ├── Age-of-Man.jpg │ ├── new-view-tree.png │ ├── tree-of-life.png │ └── tree-of-life-chs.jpg ├── conv1d与conv2d的区别 │ └── textcnn1.png ├── ways-to-redirect │ ├── proc_fds.png │ ├── File_table_and_inode_table.png │ └── File_table_and_inode_table.svg ├── 为Hexo寻找一个合适的Latex方案 │ ├── mathjax_fig1.png │ └── mathjax_fig2.png ├── 通过异步加载非关键js脚本与css样式表来加速网页网页渲染 │ ├── fig2.png │ ├── fig3.png │ ├── fig4.png │ ├── fig5.png │ ├── fig6.png │ └── CRP.svg └── 使用jsdelivr-CDN-加速hexo的图片等静态资源加载 │ ├── fig0.png │ ├── fig1.jpg │ ├── fig2.jpg │ ├── fig3.jpg │ ├── fig4.jpg │ ├── fig5.jpg │ ├── fig6.jpg │ ├── fig7.jpg │ └── fig8.png ├── css ├── github.css ├── normalize.min.css ├── defer-style.css ├── style.css └── normalize.css └── js └── disqus.js /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/.DS_Store -------------------------------------------------------------------------------- /assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/assets/.DS_Store -------------------------------------------------------------------------------- /assets/avt_min.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/assets/avt_min.jpg -------------------------------------------------------------------------------- /assets/boat_avt3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/assets/boat_avt3.png -------------------------------------------------------------------------------- /favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/favicons/favicon.ico -------------------------------------------------------------------------------- /assets/b_pattern_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/assets/b_pattern_small.jpg -------------------------------------------------------------------------------- /favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /post-assets/optimize-gemm/fig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/optimize-gemm/fig1.png -------------------------------------------------------------------------------- /post-assets/what-it-is/Age-of-Man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/what-it-is/Age-of-Man.jpg -------------------------------------------------------------------------------- /post-assets/what-it-is/new-view-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/what-it-is/new-view-tree.png -------------------------------------------------------------------------------- /post-assets/what-it-is/tree-of-life.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/what-it-is/tree-of-life.png -------------------------------------------------------------------------------- /post-assets/conv1d与conv2d的区别/textcnn1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/conv1d与conv2d的区别/textcnn1.png -------------------------------------------------------------------------------- /post-assets/ways-to-redirect/proc_fds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/ways-to-redirect/proc_fds.png -------------------------------------------------------------------------------- /post-assets/what-it-is/tree-of-life-chs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/what-it-is/tree-of-life-chs.jpg -------------------------------------------------------------------------------- /post-assets/为Hexo寻找一个合适的Latex方案/mathjax_fig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/为Hexo寻找一个合适的Latex方案/mathjax_fig1.png -------------------------------------------------------------------------------- /post-assets/为Hexo寻找一个合适的Latex方案/mathjax_fig2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/为Hexo寻找一个合适的Latex方案/mathjax_fig2.png -------------------------------------------------------------------------------- /post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig2.png -------------------------------------------------------------------------------- /post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig3.png -------------------------------------------------------------------------------- /post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig4.png -------------------------------------------------------------------------------- /post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig5.png -------------------------------------------------------------------------------- /post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/fig6.png -------------------------------------------------------------------------------- /css/github.css: -------------------------------------------------------------------------------- 1 | 2 | .title, 3 | .attr, 4 | .selector-id, 5 | .selector-class, 6 | .selector-attr, 7 | .selector-pseudo { 8 | color: #795da3 9 | } 10 | 11 | -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig0.png -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig1.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig2.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig3.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig4.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig5.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig6.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig7.jpg -------------------------------------------------------------------------------- /post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/使用jsdelivr-CDN-加速hexo的图片等静态资源加载/fig8.png -------------------------------------------------------------------------------- /post-assets/ways-to-redirect/File_table_and_inode_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/personal-blog-assets/master/post-assets/ways-to-redirect/File_table_and_inode_table.png -------------------------------------------------------------------------------- /favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/favicons/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/favicons/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /assets/rss.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /css/normalize.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Minified by jsDelivr using clean-css v4.2.1. 3 | * Original file: /npm/normalize.css@8.0.1/normalize.css 4 | * 5 | * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files 6 | */ 7 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 8 | html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} 9 | /*# sourceMappingURL=/sm/5d8a97cdb40a6c49031b52d63494a6eca084416b5b035e5698fdc5fa0969b2c3.map */ -------------------------------------------------------------------------------- /css/defer-style.css: -------------------------------------------------------------------------------- 1 | .route-trans-enter{position:absolute;left:0;right:0;transform:translateX(-100px);opacity:0}.route-trans-enter.route-trans-enter-active{animation:route-trans-e .8s;animation-fill-mode:forwards}.route-trans-leave{position:absolute;left:0;right:0;transform:translateX(0);opacity:1}.route-trans-leave.route-trans-leave-active{animation:route-trans-o .8s;animation-fill-mode:forwards}@-moz-keyframes route-trans-e{0%{transform:translate3d(-100px,0,0);opacity:0}50%{transform:translate3d(-100px,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes route-trans-e{0%{transform:translate3d(-100px,0,0);opacity:0}50%{transform:translate3d(-100px,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@-o-keyframes route-trans-e{0%{transform:translate3d(-100px,0,0);opacity:0}50%{transform:translate3d(-100px,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes route-trans-e{0%{transform:translate3d(-100px,0,0);opacity:0}50%{transform:translate3d(-100px,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@-moz-keyframes route-trans-o{0%{transform:translate3d(0,0,0);opacity:1}50%{transform:translate3d(100px,0,0);opacity:0}100%{transform:translate3d(100px,0,0);opacity:0}}@-webkit-keyframes route-trans-o{0%{transform:translate3d(0,0,0);opacity:1}50%{transform:translate3d(100px,0,0);opacity:0}100%{transform:translate3d(100px,0,0);opacity:0}}@-o-keyframes route-trans-o{0%{transform:translate3d(0,0,0);opacity:1}50%{transform:translate3d(100px,0,0);opacity:0}100%{transform:translate3d(100px,0,0);opacity:0}}@keyframes route-trans-o{0%{transform:translate3d(0,0,0);opacity:1}50%{transform:translate3d(100px,0,0);opacity:0}100%{transform:translate3d(100px,0,0);opacity:0}}.hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}.comment,.meta{color:#969896}.string,.variable,.template-variable,.strong,.emphasis,.quote{color:#df5000}.keyword,.selector-tag,.type{color:#a71d5d}.literal,.symbol,.bullet,.attribute{color:#0086b3}.section,.name{color:#63a35c}.tag{color:#333}.addition{color:#55a532;background-color:#eaffea}.deletion{color:#bd2c00;background-color:#ffecec}.link{text-decoration:underline}mjx-container[jax="SVG"]{direction:ltr}mjx-container[jax="SVG"] > svg{overflow:visible}mjx-container[jax="SVG"] > svg a{fill:#00f;stroke:#00f}mjx-container[jax="SVG"][display="true"]{display:block;text-align:center;margin:1em 0}mjx-container[jax="SVG"][justify="left"]{text-align:left}mjx-container[jax="SVG"][justify="right"]{text-align:right}g[data-mml-node="merror"] > g{fill:#f00;stroke:#f00}g[data-mml-node="merror"] > rect[data-background]{fill:#ff0;stroke:none}g[data-mml-node="mtable"] > line[data-line]{stroke-width:70px;fill:none}g[data-mml-node="mtable"] > rect[data-frame]{stroke-width:70px;fill:none}g[data-mml-node="mtable"] > .mjx-dashed{stroke-dasharray:140}g[data-mml-node="mtable"] > .mjx-dotted{stroke-linecap:round;stroke-dasharray:0,140}g[data-mml-node="mtable"] > svg{overflow:visible}[jax="SVG"] mjx-tool{display:inline-block;position:relative;width:0;height:0}[jax="SVG"] mjx-tool > mjx-tip{position:absolute;top:0;left:0}mjx-tool > mjx-tip{display:inline-block;padding:.2em;border:1px solid #888;font-size:70%;background-color:#f8f8f8;color:#000;box-shadow:2px 2px 5px #aaa}g[data-mml-node="maction"][data-toggle]{cursor:pointer}mjx-status{display:block;position:fixed;left:1em;bottom:1em;min-width:25%;padding:.2em .4em;border:1px solid #888;font-size:90%;background-color:#f8f8f8;color:#000}foreignObject[data-mjx-xml]{font-family:initial;line-height:normal;overflow:visible}.MathJax path{stroke-width:3}mjx-container[display="true"]{overflow:auto hidden}mjx-container[display="true"] + br{display:none} -------------------------------------------------------------------------------- /post-assets/ways-to-redirect/File_table_and_inode_table.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | %3 11 | 12 | 13 | fildesc 14 | 15 | File descriptors 16 | 17 | 0 18 | 19 | 1 20 | 21 | 2 22 | 23 | 3 24 | 25 | 4 26 | 27 | ... 28 | 29 | 30 | filetab 31 | 32 | File table 33 | 34 | read 35 | 36 | ... 37 | 38 | write 39 | 40 | read-write 41 | 42 | ... 43 | 44 | 45 | fildesc:0->filetab:0 46 | 47 | 48 | 49 | 50 | fildesc:1->filetab:1 51 | 52 | 53 | 54 | 55 | fildesc:2->filetab:0 56 | 57 | 58 | 59 | 60 | fildesc:3->filetab:2 61 | 62 | 63 | 64 | 65 | inotab 66 | 67 | Inode table 68 | 69 | /home/joe/wikidb 70 | 71 | ... 72 | 73 | /etc/passwd 74 | 75 | ... 76 | 77 | 78 | filetab:0->inotab:1 79 | 80 | 81 | 82 | 83 | filetab:1->inotab:0 84 | 85 | 86 | 87 | 88 | filetab:2->inotab:0 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | body{font-family:"Source Han Serif","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7em;color:#4a4a4a;overflow-x:hidden}a{text-decoration:none;color:#686868;border-bottom:1px #686868 solid}a:hover{color:#0e0e0e;border-bottom:1px #0e0e0e solid}.gutter{text-align:right;width:2em}figure.highlight{display:block;margin:auto;overflow-x:auto}.highlight > table{width:100%;padding:0}.highlight td.gutter,.highlight td.code{padding:0;border:0}.highlight td.gutter{border-right:1px solid #808080}figure.highlight table{border:0;margin-top:auto;margin-bottom:auto}code{background:#eee;padding:1px .4em}figure.highlight,.code,code{font-family:Monaco,Menlo,Consolas,'Microsoft Yahei',monospace;font-size:13px;margin:auto 5px;border:0}figure.highlight pre,.code pre,code pre{margin:auto;overflow-x:auto;font-family:inherit;font-size:13px;background:#eee;line-height:1.6em;border:0}.highlight .gutter pre{padding:.5em .5em;background:#eff2f3}.highlight .code pre{padding:.5em 1em;background:#f7f7f7}img{max-width:100%}sup a{border-bottom:none}blockquote{margin:1em 0;padding:0 40px;box-sizing:border-box;border-left:2px solid #4a4a4a}.container{box-sizing:border-box;position:absolute;left:240px;right:0;margin:auto;max-width:960px;width:60%}.container > div > footer{width:100%;text-align:center;color:#ccc;font-size:14px;line-height:20px;padding:5rem 0 2rem}.container > div > footer a{color:#ccc;border-color:#ccc}.container > div > footer a:hover{color:#666;border-color:#666}.Index,.TagArticle{padding:7em 0 0 0;margin:0}.Index > li,.TagArticle > li{list-style:none}.Archives{position:relative;padding:7em 16px 0}.Archives::before{position:absolute;top:0;bottom:0;left:-2px;height:auto;content:'';background-color:#ddd;width:2px}.Archives h1,.Archives h2{font-weight:400}.Archives h1::before,.Archives h2::before{position:absolute;left:-6px;content:'';background-color:#ddd;width:10px;height:10px;border-radius:50%;margin-top:7px}.Archives h1:hover::before,.Archives h2:hover::before{background-color:#777;transition:background-color 500ms ease}.Archives h2{font-size:1.3rem;margin-bottom:0}.Archives h2::before{left:-5px;margin-top:8px;width:8px;height:8px}.Tags{margin:0;padding:4em 0 0 0;text-align:center}.Tags > li{list-style:none}.Tags a{border-bottom:none}@media screen and (max-width:1024px){.container{position:absolute;left:0;right:0;padding-top:20em;overflow-x:hidden;max-width:none;width:auto}.container::before{content:'';display:block;position:relative;height:1px;width:10%;background-color:#cdcdcd;top:3.5em;margin:auto}.Archives{padding:0 16px;margin-top:7em}.container > *{margin-left:4%;margin-right:4%}}@media screen and (max-width:450px){html,body{font-size:90%}blockquote{padding:0 10px}code pre{font-size:80%}.title h1,.PageTitle h1{font-size:1.3rem !important}}.SideBar{position:fixed;width:240px;overflow:hidden;top:0;left:0;bottom:0;height:100%;position:fixed;background-color:#fff;z-index:10000}.SideBar > section{width:100%}.media{position:absolute;width:100%;bottom:.5rem;text-align:right}.media > a{margin-left:1em;border:none}.media img{width:1.5em;height:auto;opacity:.6}.media img:hover{opacity:1}.menu{box-sizing:border-box;position:absolute;top:240px;width:240px;margin:0;text-align:right;line-height:1.7em}.menu > ul{padding-top:2em}.avatar{height:180px;background-color:#333;position:absolute;width:100%;top:0}.av-pic{display:block;width:130px;height:130px;margin-top:115px;margin-left:auto;margin-right:auto;border-radius:50%;background-color:#fff;background-size:100%}.Btn{border-bottom:none}.Btn > li{list-style:none;line-height:1em;margin:2rem 0}@media screen and (min-width:1024px){a.Btn{border-bottom:none}a.Btn > li{padding-right:1em;border-right:3px #aaa solid}a.Btn > li:hover{border-right-color:#333}a.Btn.active > li{border-right-color:#333}}@media screen and (max-width:1024px){.SideBar{position:absolute;left:0;right:0;height:10em;width:auto;overflow:visible}.menu{position:relative;top:185px;text-align:center;width:100%}.menu > ul{display:flex;align-items:center;justify-content:center;width:50%;min-width:280px;margin:0 auto;padding:0}.Btn > li{margin:1em 0;padding:0;flex:1;border-right:none;min-width:70px}.media{bottom:-2.5em;right:1.5em}.avatar{height:120px}.avatar > .av-pic{margin-top:55px}}.ListView{margin-bottom:7em}.ListView .title{text-align:center}.ListView .title h1{font-size:1.8rem;font-weight:400;margin-bottom:.3em;line-height:125%}.ListView .title a{border-bottom:none;color:#111}.ListView .title a:hover{color:#0e0e0e;border-bottom:1px #0e0e0e solid}.ListMeta{font-size:.8em;color:#bbb;margin-bottom:2.5em}.ListMeta:hover{color:#333}.ListMeta ul{display:inline;padding:0}li.meta-text{display:inline-block}.more-link a{border-bottom-width:2px}.PageTitle{text-align:left;margin-bottom:4em}.PageTitle h1{font-size:2rem;font-weight:400;margin-bottom:.3em;margin-left:-10%}@media screen and (max-width:1024px){.PageTitle h1{font-size:2rem;margin-left:auto;padding-top:3rem}}.PageTitle a{border:none;color:#111}time{font-family:inherit}.ContentView{padding-top:4em}.ContentView table{border:none;margin-top:30px;margin-bottom:30px;margin-left:auto;margin-right:auto;border-collapse:collapse;border-spacing:0;border-image-width:0;padding:0}.ContentView th{border:1px solid #808080;padding-left:13px;padding-right:13px;padding-top:6px;padding-bottom:6px;border-collapse:collapse;border-image-width:0;border-spacing:0}.ContentView td{border:1px solid #808080;border-collapse:collapse;border-image-width:0;border-spacing:0;padding:0 1em}.ContentView img{display:block;margin:0 auto}.ContentView .ArticleMeta{font-size:.8em;color:#bbb;margin:2.5em auto}.ContentView .ArticleMeta a{border-bottom:1px #bbb solid}.ContentView .ArticleMeta:hover{color:#333}.ContentView .ArticleMeta:hover a{border-bottom:1px #333 solid}.ContentView .ArticleMeta > div:nth-child(1){position:relative;width:49%;text-align:right}.ContentView .ArticleMeta > div:nth-child(1)::after{content:'/';font-size:300%;font-weight:100;position:absolute;top:15px;right:-18px}.ContentView .ArticleMeta > div:nth-child(2){width:49%;margin-left:auto;margin-right:0}.ContentView .ArticleMeta > div:only-child{width:100%;text-align:center}.ContentView .ArticleMeta > div:only-child::after{display:none}#nav-wrapper{text-align:center}#page-nav{position:relative;display:inline-block;padding:0 1em}.page-number{margin:.3em}.post-copyright{margin:2em 0 0;padding:.5em 1em;background-color:#ededed;border-left:3px solid #4a4a4a;list-style:none}.post-copyright li{line-height:27px}.extend{border-bottom-color:transparent;line-height:inherit;position:absolute;white-space:nowrap}.extend.prev{right:100%}.extend.next{left:100%}.TimeSection{overflow:hidden}.TimeSection h1{cursor:pointer}.TimeSection ul{margin:0;padding:0;overflow:hidden} 2 | .title, 3 | .attr, 4 | .selector-id, 5 | .selector-class, 6 | .selector-attr, 7 | .selector-pseudo { 8 | color: #795da3 9 | } 10 | 11 | 12 | -------------------------------------------------------------------------------- /post-assets/通过异步加载非关键js脚本与css样式表来加速网页网页渲染/CRP.svg: -------------------------------------------------------------------------------- 1 | HTMLCSSDOMTreeCSSOMTreeRenderTreeLayoutPaint -------------------------------------------------------------------------------- /css/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * 1. Correct the line height in all browsers. 8 | * 2. Prevent adjustments of font size after orientation changes in iOS. 9 | */ 10 | 11 | html { 12 | line-height: 1.15; /* 1 */ 13 | -webkit-text-size-adjust: 100%; /* 2 */ 14 | } 15 | 16 | /* Sections 17 | ========================================================================== */ 18 | 19 | /** 20 | * Remove the margin in all browsers. 21 | */ 22 | 23 | body { 24 | margin: 0; 25 | } 26 | 27 | /** 28 | * Render the `main` element consistently in IE. 29 | */ 30 | 31 | main { 32 | display: block; 33 | } 34 | 35 | /** 36 | * Correct the font size and margin on `h1` elements within `section` and 37 | * `article` contexts in Chrome, Firefox, and Safari. 38 | */ 39 | 40 | h1 { 41 | font-size: 2em; 42 | margin: 0.67em 0; 43 | } 44 | 45 | /* Grouping content 46 | ========================================================================== */ 47 | 48 | /** 49 | * 1. Add the correct box sizing in Firefox. 50 | * 2. Show the overflow in Edge and IE. 51 | */ 52 | 53 | hr { 54 | box-sizing: content-box; /* 1 */ 55 | height: 0; /* 1 */ 56 | overflow: visible; /* 2 */ 57 | } 58 | 59 | /** 60 | * 1. Correct the inheritance and scaling of font size in all browsers. 61 | * 2. Correct the odd `em` font sizing in all browsers. 62 | */ 63 | 64 | pre { 65 | font-family: monospace, monospace; /* 1 */ 66 | font-size: 1em; /* 2 */ 67 | } 68 | 69 | /* Text-level semantics 70 | ========================================================================== */ 71 | 72 | /** 73 | * Remove the gray background on active links in IE 10. 74 | */ 75 | 76 | a { 77 | background-color: transparent; 78 | } 79 | 80 | /** 81 | * 1. Remove the bottom border in Chrome 57- 82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 83 | */ 84 | 85 | abbr[title] { 86 | border-bottom: none; /* 1 */ 87 | text-decoration: underline; /* 2 */ 88 | text-decoration: underline dotted; /* 2 */ 89 | } 90 | 91 | /** 92 | * Add the correct font weight in Chrome, Edge, and Safari. 93 | */ 94 | 95 | b, 96 | strong { 97 | font-weight: bolder; 98 | } 99 | 100 | /** 101 | * 1. Correct the inheritance and scaling of font size in all browsers. 102 | * 2. Correct the odd `em` font sizing in all browsers. 103 | */ 104 | 105 | code, 106 | kbd, 107 | samp { 108 | font-family: monospace, monospace; /* 1 */ 109 | font-size: 1em; /* 2 */ 110 | } 111 | 112 | /** 113 | * Add the correct font size in all browsers. 114 | */ 115 | 116 | small { 117 | font-size: 80%; 118 | } 119 | 120 | /** 121 | * Prevent `sub` and `sup` elements from affecting the line height in 122 | * all browsers. 123 | */ 124 | 125 | sub, 126 | sup { 127 | font-size: 75%; 128 | line-height: 0; 129 | position: relative; 130 | vertical-align: baseline; 131 | } 132 | 133 | sub { 134 | bottom: -0.25em; 135 | } 136 | 137 | sup { 138 | top: -0.5em; 139 | } 140 | 141 | /* Embedded content 142 | ========================================================================== */ 143 | 144 | /** 145 | * Remove the border on images inside links in IE 10. 146 | */ 147 | 148 | img { 149 | border-style: none; 150 | } 151 | 152 | /* Forms 153 | ========================================================================== */ 154 | 155 | /** 156 | * 1. Change the font styles in all browsers. 157 | * 2. Remove the margin in Firefox and Safari. 158 | */ 159 | 160 | button, 161 | input, 162 | optgroup, 163 | select, 164 | textarea { 165 | font-family: inherit; /* 1 */ 166 | font-size: 100%; /* 1 */ 167 | line-height: 1.15; /* 1 */ 168 | margin: 0; /* 2 */ 169 | } 170 | 171 | /** 172 | * Show the overflow in IE. 173 | * 1. Show the overflow in Edge. 174 | */ 175 | 176 | button, 177 | input { /* 1 */ 178 | overflow: visible; 179 | } 180 | 181 | /** 182 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 183 | * 1. Remove the inheritance of text transform in Firefox. 184 | */ 185 | 186 | button, 187 | select { /* 1 */ 188 | text-transform: none; 189 | } 190 | 191 | /** 192 | * Correct the inability to style clickable types in iOS and Safari. 193 | */ 194 | 195 | button, 196 | [type="button"], 197 | [type="reset"], 198 | [type="submit"] { 199 | -webkit-appearance: button; 200 | } 201 | 202 | /** 203 | * Remove the inner border and padding in Firefox. 204 | */ 205 | 206 | button::-moz-focus-inner, 207 | [type="button"]::-moz-focus-inner, 208 | [type="reset"]::-moz-focus-inner, 209 | [type="submit"]::-moz-focus-inner { 210 | border-style: none; 211 | padding: 0; 212 | } 213 | 214 | /** 215 | * Restore the focus styles unset by the previous rule. 216 | */ 217 | 218 | button:-moz-focusring, 219 | [type="button"]:-moz-focusring, 220 | [type="reset"]:-moz-focusring, 221 | [type="submit"]:-moz-focusring { 222 | outline: 1px dotted ButtonText; 223 | } 224 | 225 | /** 226 | * Correct the padding in Firefox. 227 | */ 228 | 229 | fieldset { 230 | padding: 0.35em 0.75em 0.625em; 231 | } 232 | 233 | /** 234 | * 1. Correct the text wrapping in Edge and IE. 235 | * 2. Correct the color inheritance from `fieldset` elements in IE. 236 | * 3. Remove the padding so developers are not caught out when they zero out 237 | * `fieldset` elements in all browsers. 238 | */ 239 | 240 | legend { 241 | box-sizing: border-box; /* 1 */ 242 | color: inherit; /* 2 */ 243 | display: table; /* 1 */ 244 | max-width: 100%; /* 1 */ 245 | padding: 0; /* 3 */ 246 | white-space: normal; /* 1 */ 247 | } 248 | 249 | /** 250 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 251 | */ 252 | 253 | progress { 254 | vertical-align: baseline; 255 | } 256 | 257 | /** 258 | * Remove the default vertical scrollbar in IE 10+. 259 | */ 260 | 261 | textarea { 262 | overflow: auto; 263 | } 264 | 265 | /** 266 | * 1. Add the correct box sizing in IE 10. 267 | * 2. Remove the padding in IE 10. 268 | */ 269 | 270 | [type="checkbox"], 271 | [type="radio"] { 272 | box-sizing: border-box; /* 1 */ 273 | padding: 0; /* 2 */ 274 | } 275 | 276 | /** 277 | * Correct the cursor style of increment and decrement buttons in Chrome. 278 | */ 279 | 280 | [type="number"]::-webkit-inner-spin-button, 281 | [type="number"]::-webkit-outer-spin-button { 282 | height: auto; 283 | } 284 | 285 | /** 286 | * 1. Correct the odd appearance in Chrome and Safari. 287 | * 2. Correct the outline style in Safari. 288 | */ 289 | 290 | [type="search"] { 291 | -webkit-appearance: textfield; /* 1 */ 292 | outline-offset: -2px; /* 2 */ 293 | } 294 | 295 | /** 296 | * Remove the inner padding in Chrome and Safari on macOS. 297 | */ 298 | 299 | [type="search"]::-webkit-search-decoration { 300 | -webkit-appearance: none; 301 | } 302 | 303 | /** 304 | * 1. Correct the inability to style clickable types in iOS and Safari. 305 | * 2. Change font properties to `inherit` in Safari. 306 | */ 307 | 308 | ::-webkit-file-upload-button { 309 | -webkit-appearance: button; /* 1 */ 310 | font: inherit; /* 2 */ 311 | } 312 | 313 | /* Interactive 314 | ========================================================================== */ 315 | 316 | /* 317 | * Add the correct display in Edge, IE 10+, and Firefox. 318 | */ 319 | 320 | details { 321 | display: block; 322 | } 323 | 324 | /* 325 | * Add the correct display in all browsers. 326 | */ 327 | 328 | summary { 329 | display: list-item; 330 | } 331 | 332 | /* Misc 333 | ========================================================================== */ 334 | 335 | /** 336 | * Add the correct display in IE 10+. 337 | */ 338 | 339 | template { 340 | display: none; 341 | } 342 | 343 | /** 344 | * Add the correct display in IE 10. 345 | */ 346 | 347 | [hidden] { 348 | display: none; 349 | } 350 | -------------------------------------------------------------------------------- /js/disqus.js: -------------------------------------------------------------------------------- 1 | /*! DisqusJS v1.3.0 | Sukka (https://skk.moe) | https://disqusjs.skk.moe | MIT License */"use strict";function DisqusJS(C){!function(e,p,t,n,o){function r(){for(var s=arguments.length,e=new Array(s),t=0;t & DisqusJS

',u=function(s,e){return'
'},g=function(s,e,t){var n=s.avatarEl,r=s.createdAt;return'
'+n+'
'+e+'
'+t+"
"},v='如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理并 尝试完整 Disqus 模式 | 强制完整 Disqus 模式',b=function(s){return n(s,{method:"GET"}).then(function(s){return o.all([s.ok,s.status,s.json(),s.headers])}).then(function(s){var e=s[0],t=s[1],n=s[2],r=s[3];if(e)return{ok:e,status:t,data:n,headers:r};throw new Error}).catch(function(s){throw s})},y=function(s,e){try{t.setItem(s,e)}catch(s){}},a=function(s){function e(s){return s<10?"0"+s:s}return s=Date.parse(new Date(s)),(s=new Date(s+288e5)).getFullYear()+"-"+e(s.getMonth()+1)+"-"+e(s.getDate())+" "+e(s.getHours())+":"+e(s.getMinutes())};function s(){var s;e.DISQUS?e.DISQUS.reset({reload:!0,config:function(){this.page.identifier=M.config.identifier,this.page.url=M.config.url,this.page.title=M.config.title}}):(s=p.createElement("script"),q(d).innerHTML='
评论完整模式加载中... 如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理,或切换至 评论基础模式
'+l+"
",q("dsqjs-force-dsqjs").addEventListener(h,D),s.src="https://"+M.config.shortname+".disqus.com/embed.js",s.setAttribute("data-timestamp",+new Date),(p.head||p.body).appendChild(s))}function E(){q(d).innerHTML='
正在检查 Disqus 能否访问...
'+l+"
";function s(r){return new o(function(s,e){var t=new Image,n=setTimeout(function(){t.onerror=t.onload=null,e()},3e3);t.onerror=function(){clearTimeout(n),e()},t.onload=function(){clearTimeout(n),s()},t.src="https://"+r+"/favicon.ico?"+ +new Date+"="+ +new Date})}return o.all([s("disqus.com"),s(M.config.shortname+".disqus.com")]).then(w,D)}function L(){q("dsqjs-reload-disqus").addEventListener(h,E),q("dsqjs-force-disqus").addEventListener(h,w)}function i(){f("评论基础模式加载中... "+v),L();var s=M.config.api+"3.0/threads/list.json?forum="+encodeURIComponent(M.config.shortname)+"&thread="+encodeURIComponent("ident:"+M.config.identifier)+"&api_key="+encodeURIComponent(k());b(s).then(function(s){var e=s.data;if(0===e.code&&1===e.response.length){var t=e.response[0],n=t.id,r=t.title,o=t.isClosed,a=t.posts;M.page={id:n,title:r,isClosed:o,length:a,comment:[]},q(d).innerHTML='
评论基础模式加载中... '+v+"
"+u(a,M.config.siteName)+'

    评论列表加载中...

加载更多评论
'+l+"
",L(),q("dsqjs-order-"+M.sortType).setAttribute("checked","true"),i()}else{if(0!==e.code||1===e.response.length)throw new Error;f('当前 Thread 尚未创建。是否切换至 完整 Disqus 模式?'),q("dsqjs-force-disqus").addEventListener(h,w)}}).catch(T);function e(s){function n(s){return{comment:s,author:s.author.name,isPrimary:!!M.config.admin&&s.author.username===M.config.admin,children:t(+s.id),hasMore:s.hasMore}}var e=[],r=[],t=function(e){if(0===r.length)return null;var t=[];return r.forEach(function(s){s.parent===e&&t.unshift(n(s))}),t.length?t:null};return s.forEach(function(s){(s.parent?r:e).push(s)}),e.map(n)}var i=function t(s){void 0===s&&(s="");function n(){Array.prototype.slice.call(o).forEach(function(s){return s.removeEventListener("change",d)}),r.removeEventListener(h,i),Array.prototype.slice.call(a).forEach(function(s){return s.removeEventListener(h,E)})}var r=q("dsqjs-load-more"),o=p.getElementsByClassName("dsqjs-order-radio"),a=p.getElementsByClassName("dsqjs-has-more-btn"),i=function(){n(),t(M.page.next)},d=function(s){var e=s.target;M.sortType=e.getAttribute("value"),y(j,M.sortType),n(),M.page.comment=[],M.page.next="",q("dsqjs-post-container").innerHTML='

正在切换排序方式...

',r.classList.add("dsqjs-hide"),t()},e=""===s?"":"&cursor="+s;r.classList.add("dsqjs-disabled");function c(s){var e=s.createdAt;return Date.parse(new Date(e))}function l(s,e){return s.parent&&e.parent?c(s)-c(e):0}var u=M.config.api+"3.0/threads/listPostsThreaded?forum="+encodeURIComponent(M.config.shortname)+"&thread="+encodeURIComponent(M.page.id)+encodeURIComponent(e)+"&api_key="+encodeURIComponent(k())+"&order="+encodeURIComponent(M.sortType);b(u).then(function(s){var e,t=s.data;if(0===t.code&&0",L(),q("dsqjs-force-disqus").addEventListener(h,D)}}).catch(function(){""===s?T():(r.classList.remove("dsqjs-disabled"),r.innerHTML="加载更多评论失败,点击重试",r.addEventListener(h,i))})},m=function(s){function o(s){return s.comment.author.profileUrl?(s.comment.avatarEl='",s.comment.authorEl='"):(s.comment.avatarEl='',s.comment.authorEl='"),M.config.adminLabel&&s.isPrimary&&(s.comment.authorEl+=''+M.config.adminLabel+""),s}function a(s){var e="",t="",t=s.isDeleted?"此评论已被删除":(e=s.authorEl+'',function(s){var e=p.createElement("div");e.innerHTML=s;var t=e.getElementsByTagName("a");return Array.prototype.slice.call(t).forEach(function(s){var e=decodeURIComponent(s.href.replace(/https:\/\/disq\.us\/url\?url=/g,"")).replace(/(.*):.+cuid=.*/,"$1");s.href=e,s.innerHTML=e,s.rel="external noopener nofollow noreferrer",s.target="_blank"}),e.innerHTML}(n(s.message)));return g(s,e,t)}var n=function(s){return s.replace(/a\.disquscdn\.com/g,"c.disquscdn.com")},t="";e(s).map(function(s){s.children&&(s.nesting=1);var e="";(s=o(s)).hasMore&&(e='

切换至 完整 Disqus 模式 显示更多回复

'),t+='
  • '+a(s.comment)+function t(s){var n=s.nesting,e=s.children||[];if(e){var r="",r=n':'
      ';return e.map(function(s){(s=o(s)).nesting=n+1;var e=s.hasMore?'

      切换至 完整 Disqus 模式 显示更多回复

      ':"";r+='
    • '+a(s.comment)+t(s)+e+"
    • "}),0!==(r+="
    ").length?r:void 0}}(s)+e+"
  • "}),f("你可能无法访问 Disqus,已启用评论基础模式。"+v),q("dsqjs-post-container").innerHTML=t,L()}}function T(s){console.log(s),f('评论基础模式加载失败,是否 重载尝试完整 Disqus 模式 ?'),q("dsqjs-reload-dsqjs").addEventListener(h,i),q("dsqjs-reload-disqus").addEventListener(h,E)}function D(){y("dsqjs_mode","dsqjs"),i()}function w(){y("dsqjs_mode","disqus"),s()}var M={},m=p.location.origin+p.location.pathname+p.location.search;M.config=r({api:"https://disqus.skk.moe/disqus/",identifier:m,url:m,title:p.title,siteName:"",nesting:parseInt(C.nesting)||4,nocomment:"这里冷冷清清的,一条评论都没有"},C),M.page={};var I=M.config.apikey,k=function(){return Array.isArray(I)?I[Math.floor(Math.random()*I.length)]:I};e.disqus_config=function(){this.page.url=M.config.url,this.page.identifier=M.config.identifier,this.page.title=M.config.title},q(d).innerHTML='
    '+l+"
    ",n&&t&&o?(M.mode=t.getItem("dsqjs_mode"),M.sortType=t.getItem(j)||t.getItem("disqus.sort"),M.sortType||(y(j,"desc"),M.sortType="desc"),("disqus"===M.mode?s:"dsqjs"===M.mode?i:E)()):(f("你的浏览器版本过低,不兼容评论基础模式。"+v),L())}(window,document,localStorage,fetch,Promise)}try{module.exports=DisqusJS}catch(s){} -------------------------------------------------------------------------------- /assets/by-nc-nd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 21 | 24 | 31 | 32 | 33 | 56 | 58 | 59 | 61 | image/svg+xml 62 | 64 | 65 | 66 | 67 | 71 | 74 | 77 | 84 | 91 | 96 | 100 | 109 | 113 | 114 | 115 | 119 | 120 | 121 | 122 | --------------------------------------------------------------------------------