diff --git a/gulpfile.js b/gulpfile.js index d970981..09e0fae 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -10,10 +10,7 @@ const gulp = require('gulp') const src = { css: ['static/sass/style.scss'], - js: [ - 'node_modules/prismjs/prism.js', - 'node_modules/prismjs/components/prism-json.js' - ] + js: ['node_modules/prismjs/prism.js', 'node_modules/prismjs/components/prism-json.js'] } const dist = { @@ -24,7 +21,12 @@ const dist = { } } -gulp.task('css', () => { +function watch () { + gulp.watch(src.css, styles) + gulp.watch(src.js, scripts) +} + +const styles = () => gulp .src(src.css) .pipe( @@ -37,20 +39,16 @@ gulp.task('css', () => { .pipe(strip({ all: true })) .pipe(cssnano()) .pipe(gulp.dest(dist.path)) -}) -gulp.task('js', () => { +const scripts = () => gulp .src(src.js) .pipe(concat(`${dist.name.js}.min.js`)) .pipe(uglify()) .pipe(gulp.dest(dist.path)) -}) -gulp.task('build', ['css', 'js']) +const build = gulp.parallel(styles, scripts) -gulp.task('default', () => { - gulp.start(['build']) - gulp.watch(src.css, ['css']) - gulp.watch(src.js, ['js']) -}) +module.exports.default = gulp.series(build, watch) +module.exports.build = build +module.exports.watch = watch diff --git a/static/css/style.min.css b/static/css/style.min.css index 76886e7..ff298da 100644 --- a/static/css/style.min.css +++ b/static/css/style.min.css @@ -1 +1 @@ -html{font-size:12px}*{box-sizing:border-box;text-rendering:geometricPrecision}body{font-size:1rem;line-height:1.5rem;margin:0;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;word-wrap:break-word}h1,h2,h3,h4,h5,h6{line-height:1.3em}fieldset{border:none;padding:0;margin:0}pre{padding:2rem;margin:1.75rem 0;background-color:#fff;border:1px solid #ccc;overflow:auto}code[class*=language-],pre[class*=language-],pre code{font-weight:100;text-shadow:none;margin:1.75rem 0}a{cursor:pointer;color:#ff2e88;text-decoration:none;border-bottom:1px solid #ff2e88}a:hover{background-color:#ff2e88;color:#fff}.grid{display:flex;flex-wrap:wrap}.grid.\-top{align-items:flex-start}.grid.\-middle{align-items:center}.grid.\-bottom{align-items:flex-end}.grid.\-stretch{align-items:stretch}.grid.\-baseline{align-items:baseline}.grid.\-left{justify-content:flex-start}.grid.\-center{justify-content:center}.grid.\-right{justify-content:flex-end}.grid.\-between{justify-content:space-between}.grid.\-around{justify-content:space-around}.cell{flex:1;box-sizing:border-box}@media screen and (min-width:768px){.cell.\-1of12{flex:0 0 8.33333%}.cell.\-2of12{flex:0 0 16.66667%}.cell.\-3of12{flex:0 0 25%}.cell.\-4of12{flex:0 0 33.33333%}.cell.\-5of12{flex:0 0 41.66667%}.cell.\-6of12{flex:0 0 50%}.cell.\-7of12{flex:0 0 58.33333%}.cell.\-8of12{flex:0 0 66.66667%}.cell.\-9of12{flex:0 0 75%}.cell.\-10of12{flex:0 0 83.33333%}.cell.\-11of12{flex:0 0 91.66667%}}@media screen and (max-width:768px){.grid{flex-direction:column}.cell{flex:0 0 auto}}.hack,.hack blockquote,.hack code,.hack em,.hack h1,.hack h2,.hack h3,.hack h4,.hack h5,.hack h6,.hack strong{font-size:1rem;font-style:normal;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif}.hack blockquote,.hack code,.hack em,.hack strong{line-height:20px}.hack blockquote,.hack code,.hack footer,.hack h1,.hack h2,.hack h3,.hack h4,.hack h5,.hack h6,.hack header,.hack li,.hack ol,.hack p,.hack section,.hack ul{float:none;margin:0;padding:0}.hack blockquote,.hack h1,.hack ol,.hack p,.hack ul{margin-top:20px;margin-bottom:20px}.hack h1{position:relative;display:inline-block;display:table-cell;padding:20px 0 30px;margin:0;overflow:hidden}.hack h1:after{content:"====================================================================================================";position:absolute;bottom:10px;left:0}.hack h1+*{margin-top:0}.hack h2,.hack h3,.hack h4,.hack h5,.hack h6{position:relative;margin-bottom:1.75rem}.hack h2:before,.hack h3:before,.hack h4:before,.hack h5:before,.hack h6:before{display:inline}.hack h2:before{content:"## "}.hack h3:before{content:"### "}.hack h4:before{content:"#### "}.hack h5:before{content:"##### "}.hack h6:before{content:"###### "}.hack li{position:relative;display:block;padding-left:20px}.hack li:after{position:absolute;top:0;left:0}.hack ul>li:after{content:"-"}.hack ol{counter-reset:a}.hack ol>li:after{content:counter(a) ".";counter-increment:a}.hack ol li:nth-child(n+10):after{left:-7px}.hack blockquote{position:relative;padding-left:17px;padding-left:2ch;overflow:hidden}.hack blockquote:after{content:">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>";white-space:pre;position:absolute;top:0;left:0;line-height:20px}.hack em:after,.hack em:before{content:"*";display:inline}.hack pre code:after,.hack pre code:before{content:""}.hack code{font-weight:700}.hack code:after,.hack code:before{content:"`";display:inline}.hack hr{position:relative;height:20px;overflow:hidden;border:0;margin:20px 0}.hack hr:after{content:"----------------------------------------------------------------------------------------------------";position:absolute;top:0;left:0;line-height:20px;width:100%;word-wrap:break-word}@-moz-document url-prefix(){.hack h1{display:block}}.hack-ones ol>li:after{content:"1."}p{margin:0 0 1.75rem}.container{max-width:70rem}.container,.container-fluid{margin:0 auto;padding:0 1rem}.inner{padding:1rem}.inner2x{padding:2rem}.pull-left{float:left}.pull-right{float:right}.progress-bar{height:8px;opacity:.8;background-color:#ccc;margin-top:12px}.progress-bar.progress-bar-show-percent{margin-top:38px}.progress-bar-filled{background-color:gray;height:100%;transition:width .3s ease;position:relative;width:0}.progress-bar-filled:before{content:"";border:6px solid transparent;border-top-color:gray;position:absolute;top:-12px;right:-6px}.progress-bar-filled:after{color:gray;content:attr(data-filled);display:block;font-size:12px;white-space:nowrap;position:absolute;border:6px solid transparent;top:-38px;right:0;transform:translateX(50%)}table{width:100%;border-collapse:collapse;margin:1.75rem 0;color:#778087}table td,table th{vertical-align:top;border:1px solid #ccc;line-height:15px;padding:10px}table thead th{font-size:10px}table tbody td:first-child{font-weight:700;color:#333}.form{width:30rem}.form-group{margin-bottom:1.75rem;overflow:auto}.form-group label{border-bottom:2px solid #ccc;color:#333;width:10rem;display:inline-block;height:38px;line-height:38px;padding:0;float:left;position:relative}.form-group.form-success label{color:#4caf50!important;border-color:#4caf50!important}.form-group.form-warning label{color:#ff9800!important;border-color:#ff9800!important}.form-group.form-error label{color:#f44336!important;border-color:#f44336!important}.form-control{outline:none;border:none;border-bottom:2px solid #ccc;padding:.5rem 0;width:20rem;height:38px;background-color:transparent}.form-control:focus{border-color:#555}.form-group.form-textarea label:after{position:absolute;content:"";width:2px;background-color:#fff;right:-2px;top:0;bottom:0}textarea.form-control{height:auto;resize:none;padding:1rem 0;border-bottom:2px solid #ccc;border-left:2px solid #ccc;padding:.5rem}select.form-control{border-radius:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none}.help-block{color:#999;margin-top:.5rem}.form-actions{margin-bottom:1.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline:none;padding:.65rem 2rem;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;z-index:1}.btn:active{box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}.btn.btn-ghost{border-color:#757575;color:#757575;background-color:transparent}.btn.btn-ghost:focus,.btn.btn-ghost:hover{border-color:#424242;color:#424242;z-index:2}.btn.btn-ghost:hover{background-color:transparent}.btn-block{width:100%;display:flex}.btn-default{color:#fff;background-color:#e0e0e0;border:1px solid #e0e0e0;color:#333}.btn-default:focus:not(.btn-ghost),.btn-default:hover{background-color:#dcdcdc;border-color:#dcdcdc}.btn-success{color:#fff;background-color:#4caf50;border:1px solid #4caf50}.btn-success:focus:not(.btn-ghost),.btn-success:hover{background-color:#43a047;border-color:#43a047}.btn-success.btn-ghost{border-color:#4caf50;color:#4caf50}.btn-success.btn-ghost:focus,.btn-success.btn-ghost:hover{border-color:#388e3c;color:#388e3c;z-index:2}.btn-error{color:#fff;background-color:#f44336;border:1px solid #f44336}.btn-error:focus:not(.btn-ghost),.btn-error:hover{background-color:#e53935;border-color:#e53935}.btn-error.btn-ghost{border-color:#f44336;color:#f44336}.btn-error.btn-ghost:focus,.btn-error.btn-ghost:hover{border-color:#d32f2f;color:#d32f2f;z-index:2}.btn-warning{color:#fff;background-color:#ff9800;border:1px solid #ff9800}.btn-warning:focus:not(.btn-ghost),.btn-warning:hover{background-color:#fb8c00;border-color:#fb8c00}.btn-warning.btn-ghost{border-color:#ff9800;color:#ff9800}.btn-warning.btn-ghost:focus,.btn-warning.btn-ghost:hover{border-color:#f57c00;color:#f57c00;z-index:2}.btn-info{color:#fff;background-color:#00bcd4;border:1px solid #00bcd4}.btn-info:focus:not(.btn-ghost),.btn-info:hover{background-color:#00acc1;border-color:#00acc1}.btn-info.btn-ghost{border-color:#00bcd4;color:#00bcd4}.btn-info.btn-ghost:focus,.btn-info.btn-ghost:hover{border-color:#0097a7;color:#0097a7;z-index:2}.btn-primary{color:#fff;background-color:#2196f3;border:1px solid #2196f3}.btn-primary:focus:not(.btn-ghost),.btn-primary:hover{background-color:#1e88e5;border-color:#1e88e5}.btn-primary.btn-ghost{border-color:#2196f3;color:#2196f3}.btn-primary.btn-ghost:focus,.btn-primary.btn-ghost:hover{border-color:#1976d2;color:#1976d2;z-index:2}.btn-group{overflow:auto}.btn-group .btn{float:left}.btn-group .btn-ghost:not(:first-child){margin-left:-1px}.card{border:1px solid #ccc}.card .card-header{color:#333;text-align:center;background-color:#ddd;padding:.5rem 0}.alert{color:#ccc;padding:1rem;border:1px solid #ccc;margin-bottom:1.75rem}.alert-success{color:#4caf50;border-color:#4caf50}.alert-error{color:#f44336;border-color:#f44336}.alert-info{color:#00bcd4;border-color:#00bcd4}.alert-warning{color:#ff9800;border-color:#ff9800}.media:not(:last-child){margin-bottom:1.25rem}.media-left{padding-right:1rem}.media-left,.media-right{display:table-cell;vertical-align:top}.media-right{padding-left:1rem}.media-body{display:table-cell;vertical-align:top}.media-heading{font-size:1.16667rem;font-weight:700}.media-content{margin-top:.3rem}.avatarholder,.placeholder{background-color:#f0f0f0;text-align:center;color:#b9b9b9;font-size:1rem;border:1px solid #f0f0f0}.avatarholder{width:48px;height:48px;line-height:46px;font-size:2rem;background-size:cover;background-position:50%;background-repeat:no-repeat}.avatarholder.rounded{border-radius:33px}.loading{display:inline-block;content:" ";height:20px;width:20px;margin:0 .5rem;animation:a .6s infinite linear;border:2px solid #e91e63;border-right-color:transparent;border-radius:50%}.btn .loading{margin-bottom:0;width:14px;height:14px}.btn div.loading{float:left}.alert .loading{margin-bottom:-5px}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.menu{width:100%}.menu .menu-item{display:block;color:#616161;border-color:#616161}.menu .menu-item.active,.menu .menu-item:hover{color:#000;border-color:#000;background-color:transparent}@media screen and (max-width:768px){.form-group label{display:block;border-bottom:none;width:100%}.form-group.form-textarea label:after{display:none}.form-control{width:100%}textarea.form-control{border-left:none;padding:.5rem 0}pre::-webkit-scrollbar{height:3px}}@media screen and (max-width:480px){.form{width:100%}}code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}::-moz-selection{background-color:#ffe079;color:#000}::selection{background-color:#ffe079;color:#000}b::-moz-selection,h1::-moz-selection,h2::-moz-selection,h3::-moz-selection,h4::-moz-selection,h5::-moz-selection,h6::-moz-selection,img::-moz-selection{background-color:#ffc533}b::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,img::selection{background-color:#ffc533}.hack h1+*{margin-top:20px}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:transparent;font-weight:400}code[class*=language-],pre[class*=language-]{color:#999}.hack h1,.hack h2,.hack h3{margin-bottom:2rem;margin-top:4rem}.hack li{margin-bottom:1rem}.container{max-width:590px}.icon-github{border:0;position:relative;top:2px;color:inherit}.icon-github:hover{background-color:inherit;color:#ff2e88} \ No newline at end of file +html{font-size:12px}*{box-sizing:border-box;text-rendering:geometricPrecision}body{font-size:1rem;line-height:1.5rem;margin:0;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;word-wrap:break-word}h1,h2,h3,h4,h5,h6{line-height:1.3em}fieldset{border:none;padding:0;margin:0}pre{padding:2rem;margin:1.75rem 0;background-color:#fff;border:1px solid #ccc;overflow:auto}code[class*=language-],pre[class*=language-],pre code{font-weight:100;text-shadow:none;margin:1.75rem 0}a{cursor:pointer;color:#ff2e88;text-decoration:none;border-bottom:1px solid #ff2e88}a:hover{background-color:#ff2e88;color:#fff}.grid{display:flex;flex-wrap:wrap}.grid.\-top{align-items:flex-start}.grid.\-middle{align-items:center}.grid.\-bottom{align-items:flex-end}.grid.\-stretch{align-items:stretch}.grid.\-baseline{align-items:baseline}.grid.\-left{justify-content:flex-start}.grid.\-center{justify-content:center}.grid.\-right{justify-content:flex-end}.grid.\-between{justify-content:space-between}.grid.\-around{justify-content:space-around}.cell{flex:1;box-sizing:border-box}@media screen and (min-width:768px){.cell.\-1of12{flex:0 0 8.33333%}.cell.\-2of12{flex:0 0 16.66667%}.cell.\-3of12{flex:0 0 25%}.cell.\-4of12{flex:0 0 33.33333%}.cell.\-5of12{flex:0 0 41.66667%}.cell.\-6of12{flex:0 0 50%}.cell.\-7of12{flex:0 0 58.33333%}.cell.\-8of12{flex:0 0 66.66667%}.cell.\-9of12{flex:0 0 75%}.cell.\-10of12{flex:0 0 83.33333%}.cell.\-11of12{flex:0 0 91.66667%}}@media screen and (max-width:768px){.grid{flex-direction:column}.cell{flex:0 0 auto}}.hack,.hack blockquote,.hack code,.hack em,.hack h1,.hack h2,.hack h3,.hack h4,.hack h5,.hack h6,.hack strong{font-size:1rem;font-style:normal;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif}.hack blockquote,.hack code,.hack em,.hack strong{line-height:20px}.hack blockquote,.hack code,.hack footer,.hack h1,.hack h2,.hack h3,.hack h4,.hack h5,.hack h6,.hack header,.hack li,.hack ol,.hack p,.hack section,.hack ul{float:none;margin:0;padding:0}.hack blockquote,.hack h1,.hack ol,.hack p,.hack ul{margin-top:20px;margin-bottom:20px}.hack h1{position:relative;display:inline-block;display:table-cell;padding:20px 0 30px;margin:0;overflow:hidden}.hack h1:after{content:"====================================================================================================";position:absolute;bottom:10px;left:0}.hack h1+*{margin-top:0}.hack h2,.hack h3,.hack h4,.hack h5,.hack h6{position:relative;margin-bottom:1.75rem}.hack h2:before,.hack h3:before,.hack h4:before,.hack h5:before,.hack h6:before{display:inline}.hack h2:before{content:"## "}.hack h3:before{content:"### "}.hack h4:before{content:"#### "}.hack h5:before{content:"##### "}.hack h6:before{content:"###### "}.hack li{position:relative;display:block;padding-left:20px}.hack li:after{position:absolute;top:0;left:0}.hack ul>li:after{content:"-"}.hack ol{counter-reset:a}.hack ol>li:after{content:counter(a) ".";counter-increment:a}.hack ol li:nth-child(n+10):after{left:-7px}.hack blockquote{position:relative;padding-left:17px;padding-left:2ch;overflow:hidden}.hack blockquote:after{content:">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>";white-space:pre;position:absolute;top:0;left:0;line-height:20px}.hack em:after,.hack em:before{content:"*";display:inline}.hack pre code:after,.hack pre code:before{content:""}.hack code{font-weight:700}.hack code:after,.hack code:before{content:"`";display:inline}.hack hr{position:relative;height:20px;overflow:hidden;border:0;margin:20px 0}.hack hr:after{content:"----------------------------------------------------------------------------------------------------";position:absolute;top:0;left:0;line-height:20px;width:100%;word-wrap:break-word}@-moz-document url-prefix(){.hack h1{display:block}}.hack-ones ol>li:after{content:"1."}p{margin:0 0 1.75rem}.container{max-width:70rem}.container,.container-fluid{margin:0 auto;padding:0 1rem}.inner{padding:1rem}.inner2x{padding:2rem}.pull-left{float:left}.pull-right{float:right}.progress-bar{height:8px;opacity:.8;background-color:#ccc;margin-top:12px}.progress-bar.progress-bar-show-percent{margin-top:38px}.progress-bar-filled{background-color:gray;height:100%;transition:width .3s ease;position:relative;width:0}.progress-bar-filled:before{content:"";border:6px solid transparent;border-top-color:gray;position:absolute;top:-12px;right:-6px}.progress-bar-filled:after{color:gray;content:attr(data-filled);display:block;font-size:12px;white-space:nowrap;position:absolute;border:6px solid transparent;top:-38px;right:0;transform:translateX(50%)}table{width:100%;border-collapse:collapse;margin:1.75rem 0;color:#778087}table td,table th{vertical-align:top;border:1px solid #ccc;line-height:15px;padding:10px}table thead th{font-size:10px}table tbody td:first-child{font-weight:700;color:#333}.form{width:30rem}.form-group{margin-bottom:1.75rem;overflow:auto}.form-group label{border-bottom:2px solid #ccc;color:#333;width:10rem;display:inline-block;height:38px;line-height:38px;padding:0;float:left;position:relative}.form-group.form-success label{color:#4caf50!important;border-color:#4caf50!important}.form-group.form-warning label{color:#ff9800!important;border-color:#ff9800!important}.form-group.form-error label{color:#f44336!important;border-color:#f44336!important}.form-control{outline:none;border:none;border-bottom:2px solid #ccc;padding:.5rem 0;width:20rem;height:38px;background-color:transparent}.form-control:focus{border-color:#555}.form-group.form-textarea label:after{position:absolute;content:"";width:2px;background-color:#fff;right:-2px;top:0;bottom:0}textarea.form-control{height:auto;resize:none;padding:1rem 0;border-bottom:2px solid #ccc;border-left:2px solid #ccc;padding:.5rem}select.form-control{border-radius:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none}.help-block{color:#999;margin-top:.5rem}.form-actions{margin-bottom:1.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline:none;padding:.65rem 2rem;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;z-index:1}.btn:active{box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}.btn.btn-ghost{border-color:#757575;color:#757575;background-color:transparent}.btn.btn-ghost:focus,.btn.btn-ghost:hover{border-color:#424242;color:#424242;z-index:2}.btn.btn-ghost:hover{background-color:transparent}.btn-block{width:100%;display:flex}.btn-default{color:#fff;background-color:#e0e0e0;border:1px solid #e0e0e0;color:#333}.btn-default:focus:not(.btn-ghost),.btn-default:hover{background-color:#dcdcdc;border-color:#dcdcdc}.btn-success{color:#fff;background-color:#4caf50;border:1px solid #4caf50}.btn-success:focus:not(.btn-ghost),.btn-success:hover{background-color:#43a047;border-color:#43a047}.btn-success.btn-ghost{border-color:#4caf50;color:#4caf50}.btn-success.btn-ghost:focus,.btn-success.btn-ghost:hover{border-color:#388e3c;color:#388e3c;z-index:2}.btn-error{color:#fff;background-color:#f44336;border:1px solid #f44336}.btn-error:focus:not(.btn-ghost),.btn-error:hover{background-color:#e53935;border-color:#e53935}.btn-error.btn-ghost{border-color:#f44336;color:#f44336}.btn-error.btn-ghost:focus,.btn-error.btn-ghost:hover{border-color:#d32f2f;color:#d32f2f;z-index:2}.btn-warning{color:#fff;background-color:#ff9800;border:1px solid #ff9800}.btn-warning:focus:not(.btn-ghost),.btn-warning:hover{background-color:#fb8c00;border-color:#fb8c00}.btn-warning.btn-ghost{border-color:#ff9800;color:#ff9800}.btn-warning.btn-ghost:focus,.btn-warning.btn-ghost:hover{border-color:#f57c00;color:#f57c00;z-index:2}.btn-info{color:#fff;background-color:#00bcd4;border:1px solid #00bcd4}.btn-info:focus:not(.btn-ghost),.btn-info:hover{background-color:#00acc1;border-color:#00acc1}.btn-info.btn-ghost{border-color:#00bcd4;color:#00bcd4}.btn-info.btn-ghost:focus,.btn-info.btn-ghost:hover{border-color:#0097a7;color:#0097a7;z-index:2}.btn-primary{color:#fff;background-color:#2196f3;border:1px solid #2196f3}.btn-primary:focus:not(.btn-ghost),.btn-primary:hover{background-color:#1e88e5;border-color:#1e88e5}.btn-primary.btn-ghost{border-color:#2196f3;color:#2196f3}.btn-primary.btn-ghost:focus,.btn-primary.btn-ghost:hover{border-color:#1976d2;color:#1976d2;z-index:2}.btn-group{overflow:auto}.btn-group .btn{float:left}.btn-group .btn-ghost:not(:first-child){margin-left:-1px}.card{border:1px solid #ccc}.card .card-header{color:#333;text-align:center;background-color:#ddd;padding:.5rem 0}.alert{color:#ccc;padding:1rem;border:1px solid #ccc;margin-bottom:1.75rem}.alert-success{color:#4caf50;border-color:#4caf50}.alert-error{color:#f44336;border-color:#f44336}.alert-info{color:#00bcd4;border-color:#00bcd4}.alert-warning{color:#ff9800;border-color:#ff9800}.media:not(:last-child){margin-bottom:1.25rem}.media-left{padding-right:1rem}.media-left,.media-right{display:table-cell;vertical-align:top}.media-right{padding-left:1rem}.media-body{display:table-cell;vertical-align:top}.media-heading{font-size:1.16667rem;font-weight:700}.media-content{margin-top:.3rem}.avatarholder,.placeholder{background-color:#f0f0f0;text-align:center;color:#b9b9b9;font-size:1rem;border:1px solid #f0f0f0}.avatarholder{width:48px;height:48px;line-height:46px;font-size:2rem;background-size:cover;background-position:50%;background-repeat:no-repeat}.avatarholder.rounded{border-radius:33px}.loading{display:inline-block;content:" ";height:20px;width:20px;margin:0 .5rem;animation:a .6s infinite linear;border:2px solid #e91e63;border-right-color:transparent;border-radius:50%}.btn .loading{margin-bottom:0;width:14px;height:14px}.btn div.loading{float:left}.alert .loading{margin-bottom:-5px}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.menu{width:100%}.menu .menu-item{display:block;color:#616161;border-color:#616161}.menu .menu-item.active,.menu .menu-item:hover{color:#000;border-color:#000;background-color:transparent}@media screen and (max-width:768px){.form-group label{display:block;border-bottom:none;width:100%}.form-group.form-textarea label:after{display:none}.form-control{width:100%}textarea.form-control{border-left:none;padding:.5rem 0}pre::-webkit-scrollbar{height:3px}}@media screen and (max-width:480px){.form{width:100%}}code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}::-moz-selection{background-color:#ffe079;color:#000}::selection{background-color:#ffe079;color:#000}b::-moz-selection,h1::-moz-selection,h2::-moz-selection,h3::-moz-selection,h4::-moz-selection,h5::-moz-selection,h6::-moz-selection,img::-moz-selection{background-color:#ffc533}b::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,img::selection{background-color:#ffc533}.hack h1+*{margin-top:20px}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:transparent;font-weight:400}code[class*=language-],pre[class*=language-]{color:#999}.hack h1,.hack h2,.hack h3{margin-bottom:2rem;margin-top:4rem}.hack li{margin-bottom:1rem}.container{max-width:590px}.icon-github{color:inherit;text-decoration:none;border:0} \ No newline at end of file diff --git a/static/js/main.min.js b/static/js/main.min.js index 80ce831..ecf2a4d 100644 --- a/static/js/main.min.js +++ b/static/js/main.min.js @@ -1,103 +1,98 @@ var _self = - typeof window !== 'undefined' + 'undefined' != typeof window ? window - : typeof WorkerGlobalScope !== 'undefined' && - self instanceof WorkerGlobalScope - ? self - : {}, - Prism = (function () { - var o = /\blang(?:uage)?-([\w-]+)\b/i, + : 'undefined' != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope + ? self + : {}, + Prism = (function (u) { + var c = /\blang(?:uage)?-([\w-]+)\b/i, t = 0, - O = (_self.Prism = { - manual: _self.Prism && _self.Prism.manual, - disableWorkerMessageHandler: - _self.Prism && _self.Prism.disableWorkerMessageHandler, + E = { + manual: u.Prism && u.Prism.manual, + disableWorkerMessageHandler: u.Prism && u.Prism.disableWorkerMessageHandler, util: { encode: function (e) { - return e instanceof s - ? new s(e.type, O.util.encode(e.content), e.alias) - : O.util.type(e) === 'Array' - ? e.map(O.util.encode) - : e + return e instanceof N + ? new N(e.type, E.util.encode(e.content), e.alias) + : Array.isArray(e) + ? e.map(E.util.encode) + : e .replace(/&/g, '&') .replace(/ e.length) return - if (!(v instanceof l)) { - if (m && y != t.length - 1) { - if (((c.lastIndex = k), !(S = c.exec(e)))) break + if (!(F instanceof N)) { + if (p && b != t.length - 1) { + if (((c.lastIndex = y), !(P = c.exec(e)))) break for ( - var P = S.index + (p ? S[1].length : 0), - w = S.index + S[0].length, - F = y, - x = k, - A = t.length; - F < A && (x < w || (!t[F].type && !t[F - 1].greedy)); - ++F - ) { (x += t[F].length) <= P && (++y, (k = x)) } - if (t[y] instanceof l) continue - ;(j = F - y), (v = e.slice(k, x)), (S.index -= k) + var v = P.index + (d ? P[1].length : 0), + k = P.index + P[0].length, + w = b, + A = y, + x = t.length; + w < x && (A < k || (!t[w].type && !t[w - 1].greedy)); + ++w + ) + (A += t[w].length) <= v && (++b, (y = A)) + if (t[b] instanceof N) continue + ;(S = w - b), (F = e.slice(y, A)), (P.index -= y) } else { c.lastIndex = 0 - var S = c.exec(v), - j = 1 + var P = c.exec(F), + S = 1 } - if (S) { - p && (h = S[1] ? S[1].length : 0) - w = (P = S.index + h) + (S = S[0].slice(h)).length - var _ = v.slice(0, P), - C = v.slice(w), - E = [y, j] - _ && (++y, (k += _.length), E.push(_)) - var N = new l(o, d ? O.tokenize(S, d) : S, f, S, m) + if (P) { + d && (m = P[1] ? P[1].length : 0) + k = (v = P.index + m) + (P = P[0].slice(m)).length + var $ = F.slice(0, v), + j = F.slice(k), + _ = [b, S] + $ && (++b, (y += $.length), _.push($)) + var C = new N(l, g ? E.tokenize(P, g) : P, f, P, p) if ( - (E.push(N), - C && E.push(C), - Array.prototype.splice.apply(t, E), - j != 1 && O.matchGrammar(e, t, a, y, k, !0, o), - i) - ) { break } - } else if (i) break + (_.push(C), + j && _.push(j), + Array.prototype.splice.apply(t, _), + 1 != S && E.matchGrammar(e, t, a, b, y, !0, l), + s) + ) + break + } else if (s) break } } } } - } }, - tokenize: function (e, t, a) { - var n = [e], - r = t.rest - if (r) { - for (var i in r) t[i] = r[i] + tokenize: function (e, t) { + var a = [e], + n = t.rest + if (n) { + for (var r in n) t[r] = n[r] delete t.rest } - return O.matchGrammar(e, n, t, 0, 0, !1), n + return E.matchGrammar(e, a, t, 0, 0, !1), a }, hooks: { all: {}, add: function (e, t) { - var a = O.hooks.all + var a = E.hooks.all ;(a[e] = a[e] || []), a[e].push(t) }, run: function (e, t) { - var a = O.hooks.all[e] - if (a && a.length) for (var n, r = 0; (n = a[r++]);) n(t) + var a = E.hooks.all[e] + if (a && a.length) for (var n, r = 0; (n = a[r++]); ) n(t) } - } - }), - s = (O.Token = function (e, t, a, n, r) { - ;(this.type = e), + }, + Token: N + } + function N (e, t, a, n, r) { + ;(this.type = e), (this.content = t), (this.alias = a), (this.length = 0 | (n || '').length), (this.greedy = !!r) - }) + } if ( - ((s.stringify = function (t, a, e) { - if (typeof t === 'string') return t - if (O.util.type(t) === 'Array') { + ((u.Prism = E), + (N.stringify = function (t, a, e) { + if ('string' == typeof t) return t + if (Array.isArray(t)) return t .map(function (e) { - return s.stringify(e, a, t) + return N.stringify(e, a, t) }) .join('') - } var n = { type: t.type, - content: s.stringify(t.content, a, e), + content: N.stringify(t.content, a, e), tag: 'span', classes: ['token', t.type], attributes: {}, @@ -284,15 +256,13 @@ var _self = parent: e } if (t.alias) { - var r = O.util.type(t.alias) === 'Array' ? t.alias : [t.alias] + var r = Array.isArray(t.alias) ? t.alias : [t.alias] Array.prototype.push.apply(n.classes, r) } - O.hooks.run('wrap', n) - var i = Object.keys(n.attributes) + E.hooks.run('wrap', n) + var s = Object.keys(n.attributes) .map(function (e) { - return ( - e + '="' + (n.attributes[e] || '').replace(/"/g, '"') + '"' - ) + return e + '="' + (n.attributes[e] || '').replace(/"/g, '"') + '"' }) .join(' ') return ( @@ -301,7 +271,7 @@ var _self = ' class="' + n.classes.join(' ') + '"' + - (i ? ' ' + i : '') + + (s ? ' ' + s : '') + '>' + n.content + '' ) }), - !_self.document) - ) { + !u.document) + ) return ( - _self.addEventListener && - (O.disableWorkerMessageHandler || - _self.addEventListener( + u.addEventListener && + (E.disableWorkerMessageHandler || + u.addEventListener( 'message', function (e) { var t = JSON.parse(e.data), a = t.language, n = t.code, r = t.immediateClose - _self.postMessage(O.highlight(n, O.languages[a], a)), - r && _self.close() + u.postMessage(E.highlight(n, E.languages[a], a)), r && u.close() }, !1 )), - _self.Prism + E ) - } - var e = - document.currentScript || - [].slice.call(document.getElementsByTagName('script')).pop() + var e = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop() return ( e && - ((O.filename = e.src), - O.manual || + ((E.filename = e.src), + E.manual || e.hasAttribute('data-manual') || - (document.readyState !== 'loading' + ('loading' !== document.readyState ? window.requestAnimationFrame - ? window.requestAnimationFrame(O.highlightAll) - : window.setTimeout(O.highlightAll, 16) - : document.addEventListener('DOMContentLoaded', O.highlightAll))), - _self.Prism + ? window.requestAnimationFrame(E.highlightAll) + : window.setTimeout(E.highlightAll, 16) + : document.addEventListener('DOMContentLoaded', E.highlightAll))), + E ) - })() -typeof module !== 'undefined' && module.exports && (module.exports = Prism), -typeof global !== 'undefined' && (global.Prism = Prism), -(Prism.languages.markup = { - comment: //, - prolog: /<\?[\s\S]+?\?>/, - doctype: //i, - cdata: //i, - tag: { - pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, - greedy: !0, - inside: { - tag: { - pattern: /^<\/?[^\s>\/]+/i, - inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } - }, - 'attr-value': { - pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i, - inside: { - punctuation: [/^=/, { pattern: /(^|[^\\])["']/, lookbehind: !0 }] - } - }, - punctuation: /\/?>/, - 'attr-name': { - pattern: /[^\s>\/]+/, - inside: { namespace: /^[^\s>\/:]+:/ } + })(_self) +'undefined' != typeof module && module.exports && (module.exports = Prism), + 'undefined' != typeof global && (global.Prism = Prism), + (Prism.languages.markup = { + comment: //, + prolog: /<\?[\s\S]+?\?>/, + doctype: //i, + cdata: //i, + tag: { + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i, + greedy: !0, + inside: { + tag: { + pattern: /^<\/?[^\s>\/]+/i, + inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } + }, + 'attr-value': { + pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i, + inside: { punctuation: [/^=/, { pattern: /^(\s*)["']|["']$/, lookbehind: !0 }] } + }, + punctuation: /\/?>/, + 'attr-name': { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } } - } - }, - entity: /&#?[\da-z]{1,8};/i -}), -(Prism.languages.markup.tag.inside['attr-value'].inside.entity = - Prism.languages.markup.entity), -Prism.hooks.add('wrap', function (e) { - e.type === 'entity' && - (e.attributes.title = e.content.replace(/&/, '&')) -}), -(Prism.languages.xml = Prism.languages.markup), -(Prism.languages.html = Prism.languages.markup), -(Prism.languages.mathml = Prism.languages.markup), -(Prism.languages.svg = Prism.languages.markup), -(Prism.languages.css = { - comment: /\/\*[\s\S]*?\*\//, - atrule: { - pattern: /@[\w-]+?.*?(?:;|(?=\s*\{))/i, - inside: { rule: /@[\w-]+/ } - }, - url: /url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i, - selector: /[^{}\s][^{};]*?(?=\s*\{)/, - string: { - pattern: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: !0 - }, - property: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, - important: /\B!important\b/i, - function: /[-a-z0-9]+(?=\()/i, - punctuation: /[(){};:]/ -}), -(Prism.languages.css.atrule.inside.rest = Prism.languages.css), -Prism.languages.markup && - (Prism.languages.insertBefore('markup', 'tag', { - style: { - pattern: /()[\s\S]*?(?=<\/style>)/i, + }, + entity: /&#?[\da-z]{1,8};/i + }), + (Prism.languages.markup.tag.inside['attr-value'].inside.entity = Prism.languages.markup.entity), + Prism.hooks.add('wrap', function (e) { + 'entity' === e.type && (e.attributes.title = e.content.replace(/&/, '&')) + }), + Object.defineProperty(Prism.languages.markup.tag, 'addInlined', { + value: function (e, t) { + var a = {} + ;(a['language-' + t] = { + pattern: /(^$)/i, lookbehind: !0, - inside: Prism.languages.css, - alias: 'language-css', - greedy: !0 - } + inside: Prism.languages[t] + }), + (a.cdata = /^$/i) + var n = { 'included-cdata': { pattern: //i, inside: a } } + n['language-' + t] = { pattern: /[\s\S]+/, inside: Prism.languages[t] } + var r = {} + ;(r[e] = { + pattern: RegExp( + /(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace( + /__/g, + e + ), + 'i' + ), + lookbehind: !0, + greedy: !0, + inside: n + }), + Prism.languages.insertBefore('markup', 'cdata', r) + } + }), + (Prism.languages.xml = Prism.languages.extend('markup', {})), + (Prism.languages.html = Prism.languages.markup), + (Prism.languages.mathml = Prism.languages.markup), + (Prism.languages.svg = Prism.languages.markup), + (function (e) { + var t = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ + ;(e.languages.css = { + comment: /\/\*[\s\S]*?\*\//, + atrule: { pattern: /@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i, inside: { rule: /@[\w-]+/ } }, + url: RegExp('url\\((?:' + t.source + '|.*?)\\)', 'i'), + selector: RegExp('[^{}\\s](?:[^{};"\']|' + t.source + ')*?(?=\\s*\\{)'), + string: { pattern: t, greedy: !0 }, + property: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, + important: /!important\b/i, + function: /[-a-z0-9]+(?=\()/i, + punctuation: /[(){};:,]/ }), - Prism.languages.insertBefore( - 'inside', - 'attr-value', - { - 'style-attr': { - pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, - inside: { - 'attr-name': { - pattern: /^\s*style/i, - inside: Prism.languages.markup.tag.inside + (e.languages.css.atrule.inside.rest = e.languages.css) + var a = e.languages.markup + a && + (a.tag.addInlined('style', 'css'), + e.languages.insertBefore( + 'inside', + 'attr-value', + { + 'style-attr': { + pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, + inside: { + 'attr-name': { pattern: /^\s*style/i, inside: a.tag.inside }, + punctuation: /^\s*=\s*['"]|['"]\s*$/, + 'attr-value': { pattern: /.+/i, inside: e.languages.css } }, - punctuation: /^\s*=\s*['"]|['"]\s*$/, - 'attr-value': { pattern: /.+/i, inside: Prism.languages.css } - }, - alias: 'language-css' - } + alias: 'language-css' + } + }, + a.tag + )) + })(Prism), + (Prism.languages.clike = { + comment: [ + { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0 }, + { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 } + ], + string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, + 'class-name': { + pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, + lookbehind: !0, + inside: { punctuation: /[.\\]/ } + }, + keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, + boolean: /\b(?:true|false)\b/, + function: /\w+(?=\()/, + number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, + operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, + punctuation: /[{}[\];(),.:]/ + }), + (Prism.languages.javascript = Prism.languages.extend('clike', { + 'class-name': [ + Prism.languages.clike['class-name'], + { + pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, + lookbehind: !0 + } + ], + keyword: [ + { pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: !0 }, + { + pattern: /(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, + lookbehind: !0 + } + ], + number: /\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, + function: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, + operator: /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ + })), + (Prism.languages.javascript[ + 'class-name' + ][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/), + Prism.languages.insertBefore('javascript', 'keyword', { + regex: { + pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/, + lookbehind: !0, + greedy: !0 + }, + 'function-variable': { + pattern: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, + alias: 'function' + }, + parameter: [ + { + pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, + lookbehind: !0, + inside: Prism.languages.javascript }, - Prism.languages.markup.tag - )), -(Prism.languages.clike = { - comment: [ - { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0 }, - { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 } - ], - string: { - pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: !0 - }, - 'class-name': { - pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, - lookbehind: !0, - inside: { punctuation: /[.\\]/ } - }, - keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, - boolean: /\b(?:true|false)\b/, - function: /[a-z0-9_]+(?=\()/i, - number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, - operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, - punctuation: /[{}[\];(),.:]/ -}), -(Prism.languages.javascript = Prism.languages.extend('clike', { - keyword: /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/, - number: /\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, - function: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i, - operator: /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ -})), -Prism.languages.insertBefore('javascript', 'keyword', { - regex: { - pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/, - lookbehind: !0, - greedy: !0 - }, - 'function-variable': { - pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i, - alias: 'function' - }, - constant: /\b[A-Z][A-Z\d_]*\b/ -}), -Prism.languages.insertBefore('javascript', 'string', { - 'template-string': { - pattern: /`(?:\\[\s\S]|[^\\`])*`/, - greedy: !0, - inside: { - interpolation: { - pattern: /\$\{[^}]+\}/, - inside: { - 'interpolation-punctuation': { - pattern: /^\$\{|\}$/, - alias: 'punctuation' - }, - rest: Prism.languages.javascript - } + { + pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, + inside: Prism.languages.javascript }, - string: /[\s\S]+/ - } - } -}), -Prism.languages.markup && - Prism.languages.insertBefore('markup', 'tag', { - script: { - pattern: /()[\s\S]*?(?=<\/script>)/i, + { + pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, lookbehind: !0, - inside: Prism.languages.javascript, - alias: 'language-javascript', - greedy: !0 + inside: Prism.languages.javascript + }, + { + pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, + lookbehind: !0, + inside: Prism.languages.javascript } - }), -(Prism.languages.js = Prism.languages.javascript), -typeof self !== 'undefined' && + ], + constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ + }), + Prism.languages.insertBefore('javascript', 'string', { + 'template-string': { + pattern: /`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/, + greedy: !0, + inside: { + interpolation: { + pattern: /\${[^}]+}/, + inside: { + 'interpolation-punctuation': { pattern: /^\${|}$/, alias: 'punctuation' }, + rest: Prism.languages.javascript + } + }, + string: /[\s\S]+/ + } + } + }), + Prism.languages.markup && Prism.languages.markup.tag.addInlined('script', 'javascript'), + (Prism.languages.js = Prism.languages.javascript), + 'undefined' != typeof self && self.Prism && self.document && document.querySelector && - ((self.Prism.fileHighlight = function () { + ((self.Prism.fileHighlight = function (e) { + e = e || document var o = { js: 'javascript', py: 'python', @@ -517,65 +513,69 @@ typeof self !== 'undefined' && h: 'c', tex: 'latex' } - Array.prototype.slice - .call(document.querySelectorAll('pre[data-src]')) - .forEach(function (t) { + Array.prototype.slice.call(e.querySelectorAll('pre[data-src]')).forEach(function (e) { + if (!e.hasAttribute('data-src-loaded')) { for ( - var e, - a = t.getAttribute('data-src'), - n = t, - r = /\blang(?:uage)?-(?!\*)([\w-]+)\b/i; + var t, a = e.getAttribute('data-src'), n = e, r = /\blang(?:uage)?-([\w-]+)\b/i; n && !r.test(n.className); - ) { n = n.parentNode } - if ((n && (e = (t.className.match(r) || [, ''])[1]), !e)) { - var i = (a.match(/\.(\w+)$/) || [, ''])[1] - e = o[i] || i + ) + n = n.parentNode + if ((n && (t = (e.className.match(r) || [, ''])[1]), !t)) { + var s = (a.match(/\.(\w+)$/) || [, ''])[1] + t = o[s] || s } - var s = document.createElement('code') - ;(s.className = 'language-' + e), - (t.textContent = ''), - (s.textContent = 'Loading…'), - t.appendChild(s) + var i = document.createElement('code') + ;(i.className = 'language-' + t), + (e.textContent = ''), + (i.textContent = 'Loading…'), + e.appendChild(i) var l = new XMLHttpRequest() l.open('GET', a, !0), - (l.onreadystatechange = function () { - l.readyState == 4 && + (l.onreadystatechange = function () { + 4 == l.readyState && (l.status < 400 && l.responseText - ? ((s.textContent = l.responseText), - Prism.highlightElement(s)) - : l.status >= 400 - ? (s.textContent = - '✖ Error ' + - l.status + - ' while fetching file: ' + - l.statusText) - : (s.textContent = - '✖ Error: File does not exist or is empty')) - }), - t.hasAttribute('data-download-link') && - Prism.plugins.toolbar && - Prism.plugins.toolbar.registerButton('download-file', function () { - var e = document.createElement('a') - return ( - (e.textContent = - t.getAttribute('data-download-link-label') || 'Download'), - e.setAttribute('download', ''), - (e.href = a), - e - ) - }), - l.send(null) - }) + ? ((i.textContent = l.responseText), + Prism.highlightElement(i), + e.setAttribute('data-src-loaded', '')) + : 400 <= l.status + ? (i.textContent = + '✖ Error ' + l.status + ' while fetching file: ' + l.statusText) + : (i.textContent = '✖ Error: File does not exist or is empty')) + }), + l.send(null) + } + }), + Prism.plugins.toolbar && + Prism.plugins.toolbar.registerButton('download-file', function (e) { + var t = e.element.parentNode + if ( + t && + /pre/i.test(t.nodeName) && + t.hasAttribute('data-src') && + t.hasAttribute('data-download-link') + ) { + var a = t.getAttribute('data-src'), + n = document.createElement('a') + return ( + (n.textContent = t.getAttribute('data-download-link-label') || 'Download'), + n.setAttribute('download', ''), + (n.href = a), + n + ) + } + }) }), - document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight)), -(Prism.languages.json = { - property: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i, - string: { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: !0 }, - number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, - punctuation: /[{}[\]);,]/, - operator: /:/g, - boolean: /\b(?:true|false)\b/i, - null: /\bnull\b/i -}), -(Prism.languages.jsonp = Prism.languages.json) + document.addEventListener('DOMContentLoaded', function () { + self.Prism.fileHighlight() + })), + (Prism.languages.json = { + comment: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, + property: { pattern: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, greedy: !0 }, + string: { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: !0 }, + number: /-?\d+\.?\d*(e[+-]?\d+)?/i, + punctuation: /[{}[\],]/, + operator: /:/, + boolean: /\b(?:true|false)\b/, + null: { pattern: /\bnull\b/, alias: 'keyword' } + })