diff --git a/lib/filter/post.js b/lib/filter/post.js index 296d016..3b7e607 100644 --- a/lib/filter/post.js +++ b/lib/filter/post.js @@ -157,6 +157,14 @@ module.exports = function (data) { $el.find('a.headerlink').remove().end().append(``); }); + // append `link` for hash link + $('a').each(function () { + const $anchor = $(this), + href = $anchor.attr('href') + + if (href && href.startsWith('#')) $anchor.attr('href', link + href) + }); + return $.html(); } }; diff --git a/lib/generator/index.js b/lib/generator/index.js index 15dea9b..9654fcb 100644 --- a/lib/generator/index.js +++ b/lib/generator/index.js @@ -17,25 +17,21 @@ module.exports = function (hexo) { hexo.extend.generator.register('inside', function (locals) { const sLocals = { - tags: locals.tags.sort('name').map(data => { - data.posts = data.posts.filter(published).sort('-date'); - return data; - }).filter(data => data.posts.length), - - categories: locals.categories.sort('name').map(data => { - data.posts = data.posts.filter(published).sort('-date'); - return data; - }).filter(data => data.posts.length), - + tags: getCollection(locals.tags), + categories: getCollection(locals.categories), pages: locals.pages.filter(filterBuiltInRoutes).toArray(), - posts: locals.posts.filter(published).filter(filterBuiltInRoutes).sort('-date').toArray() }; return flatten(generators.map(fn => fn.call(this, sLocals))); }); - // Filter built-in routes to improve compatibility + /** + * Filter built-in routes to improve compatibility + * + * @param {*} post + * @returns {boolean} + */ function filterBuiltInRoutes(post) { if (builtInRoutes.includes(post.path.split('/')[0])) { hexo.log.warn(post.path + ' won\'t be rendered.'); @@ -44,4 +40,17 @@ module.exports = function (hexo) { return true; } + + /** + * Sort posts of tag and category + * + * @param {any[]} collection + * @returns {any[]} + */ + function getCollection(collection) { + return collection.sort('name').map(data => ({ + posts: data.posts.filter(published).sort('-date'), + name: data.name + })).filter(data => data.posts.length) + } }; diff --git a/lib/theme-processor/localized-script.js b/lib/theme-processor/localized-script.js index 2763a5a..7b9db7d 100644 --- a/lib/theme-processor/localized-script.js +++ b/lib/theme-processor/localized-script.js @@ -1,5 +1,5 @@ const { localeId } = require('../utils'); -const Pattern = require('hexo-util').Pattern; +const { Pattern } = require('hexo-util'); const { locales: localeScripts } = require('../../source/_resources.json'); module.exports = function (hexo) { diff --git a/lib/utils.js b/lib/utils.js index 15de5ea..6f51f8e 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -173,7 +173,7 @@ exports.parseToc = function (content, depth) { /^]*>(.*)]*>(.*)(.*)/g); + headings = content.match(/<(h[12345]).*?id="([^"]*)".*?>(.*?)/g); if (!headings) return []; diff --git a/package.json b/package.json index 49d06ab..d0815d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hexo-theme-inside", - "version": "2.4.0-beta.2", + "version": "2.4.0", "description": "❤️ SPA, flat and clean theme for Hexo.", "scripts": { "test": "jasmine --config=test/jasmine.json" diff --git a/source/_resources.json b/source/_resources.json index b065edd..17051e6 100644 --- a/source/_resources.json +++ b/source/_resources.json @@ -1 +1 @@ -{"root":"is-a","styles":["styles.9477318680c7e6b720a2.css"],"scripts":["runtime.caef73fae70e33459c5a.js","polyfills.28555e618578fe61f50a.js"],"locales":{"en":"main.3c8fe2175e9d028e033b.js","ja":"main.45d1e4209486560b00ce.ja.js","zh-Hans":"main.5f57ed8aacba80770b83.zh-Hans.js","zh-Hant":"main.dec5dcd89e85221e092e.zh-Hant.js"}} +{"root":"is-a","styles":["styles.e987407a0a9d77c7ba00.css"],"scripts":["runtime.caef73fae70e33459c5a.js","polyfills.28555e618578fe61f50a.js"],"locales":{"en":"main.3c8fe2175e9d028e033b.js","ja":"main.45d1e4209486560b00ce.ja.js","zh-Hans":"main.5f57ed8aacba80770b83.zh-Hans.js","zh-Hant":"main.dec5dcd89e85221e092e.zh-Hant.js"}} diff --git a/source/styles.9477318680c7e6b720a2.css b/source/styles.e987407a0a9d77c7ba00.css similarity index 82% rename from source/styles.9477318680c7e6b720a2.css rename to source/styles.e987407a0a9d77c7ba00.css index 8dd3804..b18db26 100644 --- a/source/styles.9477318680c7e6b720a2.css +++ b/source/styles.e987407a0a9d77c7ba00.css @@ -1,5 +1,5 @@ -body,html{height:100%}@media print{body,html{height:auto}}html{font-size:14px}@media screen and (max-width:359px){html{font-size:12px}}body{margin:0;font-family:sans-serif;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}@media print{body{background:none!important;color:#000!important}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.5}h1{font-size:1.78571rem}h2{font-size:1.42857rem}h3{font-size:1.28571rem}h4{font-size:1.14286rem}h5,h6{font-size:1rem}a{color:inherit;text-decoration:none;cursor:pointer}canvas,iframe,video{display:block;margin:auto;max-width:100%}img{max-width:100%}blockquote{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse;font-size:inherit}td,th{padding:0}code,pre{font-size:85%;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}code{padding:.2em .4em;border-radius:3px}pre{padding:.75rem 1rem;line-height:1.6;border:1px solid;border-color:inherit}pre pre{border:0}pre code{background:none}pre code{margin:0;padding:0;color:inherit}:focus{outline:none}::-webkit-scrollbar{width:8px;height:6px}@media (max-width:676px){::-webkit-scrollbar{width:0;height:0;background:none}}::-webkit-scrollbar-thumb{border-radius:3px}input{border:0;background:none;color:inherit;font-family:inherit;line-height:1.4}input::-webkit-input-placeholder{color:inherit;opacity:.5}@font-face{font-weight:400;font-style:normal;font-family:Icon;src:url(data:font/woff;base64,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) format("woff")}.bf:before{color:inherit;text-transform:none;font-style:normal;font-family:Icon}.icon-exit:before{content:"\E928"}.icon-external:before{content:"\E929"}.icon-check:before{content:"\E92A"}.icon-circle:before{content:"\E92B"}.icon-link:before{content:"\E906"}.icon-at:before{content:"\E927"}.icon-image:before{content:"\E905"}.icon-loader:before{content:"\E902"}.icon-author:before{content:"\E900"}.icon-cate:before{content:"\E901"}.icon-hash:before{content:"\E903"}.icon-dot:before{content:"\E904"}.icon-next:before{content:"\E907"}.icon-previous:before{content:"\E908"}.icon-down:before{content:"\E909"}.icon-up:before{content:"\E90A"}.icon-search:before{content:"\E90B"}.icon-calendar:before{content:"\E90C"}.icon-eye:before{content:"\E90D"}.icon-clock:before{content:"\E90E"}.icon-sidebar:before{content:"\E926"}.icon-toc:before{content:"\E925"}.icon-wechat:before{content:"\E91C"}.icon-paypal:before{content:"\E919"}.icon-bitcoin:before{content:"\E91B"}.icon-soundcloud:before{content:"\E90F"}.icon-pinterest:before{content:"\E91A"}.icon-youtube:before{content:"\E916"}.icon-tumblr:before{content:"\E914"}.icon-linkedin:before{content:"\E915"}.icon-myspace:before{content:"\E917"}.icon-disqus:before{content:"\E918"}.icon-hangouts:before{content:"\E910"}.icon-email:before{content:"\E911"}.icon-facebook:before{content:"\E912"}.icon-dribbble:before{content:"\E913"}.icon-telegram:before{content:"\E91D"}.icon-qq:before{content:"\E91E"}.icon-instagram:before{content:"\E91F"}.icon-weibo:before{content:"\E920"}.icon-googleplus:before{content:"\E921"}.icon-feed:before{content:"\E922"}.icon-twitter:before{content:"\E923"}.icon-github:before{content:"\E924"}.bg{position:relative}.bh{position:fixed;top:0;left:0;z-index:1;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%;height:100%}.bh img{position:absolute;transition:transform .3s cubic-bezier(.2,0,.2,1);-ms-transform-origin:0 0;transform-origin:0 0}.bh:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;z-index:-1;transition:opacity .3s;opacity:0}.bi{cursor:zoom-out}.bi:after{opacity:1}.bd{word-wrap:break-word;line-height:1.8}.bd h2,.bd h3,.bd h4,.bd h5,.bd h6{margin:2rem 0 1rem;font-weight:700}.bd h2 a,.bd h3 a,.bd h4 a,.bd h5 a,.bd h6 a{visibility:hidden;border:0}.bd h2 a:active,.bd h2 a:focus,.bd h2 a:hover,.bd h3 a:active,.bd h3 a:focus,.bd h3 a:hover,.bd h4 a:active,.bd h4 a:focus,.bd h4 a:hover,.bd h5 a:active,.bd h5 a:focus,.bd h5 a:hover,.bd h6 a:active,.bd h6 a:focus,.bd h6 a:hover{color:inherit}.bd h2 a:active:after,.bd h2 a:focus:after,.bd h2 a:hover:after,.bd h3 a:active:after,.bd h3 a:focus:after,.bd h3 a:hover:after,.bd h4 a:active:after,.bd h4 a:focus:after,.bd h4 a:hover:after,.bd h5 a:active:after,.bd h5 a:focus:after,.bd h5 a:hover:after,.bd h6 a:active:after,.bd h6 a:focus:after,.bd h6 a:hover:after{opacity:1;transition:opacity .15s}.bd h2 a:after,.bd h3 a:after,.bd h4 a:after,.bd h5 a:after,.bd h6 a:after{padding-left:.2em;content:"\E906";vertical-align:-16%;font-style:normal;font-family:Icon;line-height:1;opacity:.63}.bd h2:active a,.bd h2:focus a,.bd h2:hover a,.bd h3:active a,.bd h3:focus a,.bd h3:hover a,.bd h4:active a,.bd h4:focus a,.bd h4:hover a,.bd h5:active a,.bd h5:focus a,.bd h5:hover a,.bd h6:active a,.bd h6:focus a,.bd h6:hover a{visibility:visible}.bd>iframe,.bd>video{margin:2em auto}.bd img{vertical-align:text-bottom}.bd hr{margin:2.5em auto;width:4px;height:4px;border:0;border-radius:3px;background-color:currentColor;box-shadow:1em 0 0 0 currentColor,-1em 0 0 0 currentColor}.bd blockquote{position:relative;margin:2em 0;padding-left:24px}.bd blockquote:before{position:absolute;left:0;top:0;width:4px;bottom:0;background-color:currentColor;content:"";opacity:.1}.bd blockquote footer cite{word-break:break-all}.bd blockquote footer cite:before{padding:0 .3em;content:"\2014"}@media print{.bd blockquote{margin:2em 1em;font-style:italic;color:#555}}.bd ol,.bd ul{padding-left:2em}.bd ol>li{list-style-type:decimal}.bd ol>li>ol>li{list-style-type:lower-alpha}.bd ol>li>ol>li>ol>li{list-style-type:lower-roman}.bd a{border-bottom:1px dotted;transition:color .15s,border-color .15s,opacity .15s}.bd a:active,.bd a:focus,.bd a:hover{border-bottom-style:solid}.bd>pre{overflow-x:auto}.bd>pre code{color:inherit;background-color:inherit}@media print{.bd{line-height:1.5}.bd a{border-bottom:0}.bd a[href^=http]:after,.bd a[href^=https] .bd a[href^="//"]:after{content:" ("attr(href)")"}}.be:first-letter{float:left;margin:.3rem .4rem 0 0;font-size:2.9rem;line-height:1}@media print{.be:first-letter{font-size:2.6rem}}.article-img{display:block;margin:auto;cursor:zoom-in}.article-img+figcaption{display:block;margin-top:.75em;text-align:center;font-size:.85em;opacity:.63}.article-bounded{margin:1.5em 0;border-color:inherit}.article-bounded>div{overflow-x:auto}@media print{.article-bounded>div{box-shadow:none!important;overflow-x:visible}}@media (max-width:676px){.article-bounded{overflow-x:auto;margin:1.5em -1.5rem}.article-bounded>div{display:table;overflow-x:inherit;padding:0 1.5rem;min-width:100%;box-shadow:none!important}}.article-table{border-color:inherit}.article-table table{margin:auto;min-width:100%;border-color:inherit}.article-table td,.article-table th{padding:.5em 1em;border:1px solid;border-color:inherit}.article-table td:first-child,.article-table th:first-child{border-left-width:0}@media (max-width:676px){.article-table td:first-child,.article-table th:first-child{border-left-width:1px}}.article-table th{text-align:inherit;white-space:nowrap;font-weight:700}.article-table td{white-space:pre}.article-table th[align=center]{text-align:center}.article-table th[align=right]{text-align:right}@media print{.article-table{text-align:center}.article-table table{display:inline-table;min-width:auto;border:1px solid;text-align:left}.article-table td,.article-table th{white-space:normal;border:1px solid;padding:.5em}.article-table tr:nth-child(2n){background:none!important}}.highlight{position:relative;margin:1em 0}.highlight>div{overflow-x:auto}.highlight code{background:none}.highlight pre{margin:0;border:0}@media print{.highlight pre{padding-left:0;padding-right:0;white-space:pre-wrap}}.highlight .gutter{text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlight .gutter pre{padding:.75rem .25rem .75rem .75rem}@media print{.highlight .gutter{display:none}}.highlight figcaption{padding:.5rem 1rem;font-size:85%}.highlight figcaption a{float:right;border:0}@media print{.highlight figcaption{padding-left:0;padding-right:0}}.highlight .emphasis{font-style:italic}.highlight .strong{font-weight:700}@media print{.highlight{border:0!important}}.gist .gist-meta{background:none!important}.gist .gist-file{border-color:#eee!important;border-radius:3px!important}.gist .gist-data{padding:.4em 0!important;border-color:#eee!important;border-radius:3px 3px 0 0!important} -.bj{position:relative;display:block;overflow-x:hidden;height:100%}.bl{position:relative;margin-left:20rem;height:100%;-ms-transform-origin:0 42%;transform-origin:0 42%}@media (max-width:975px){.bl{margin:0}}@media print{.bl{margin:0}}.bk{height:100%}.bp{overflow-y:auto;-webkit-overflow-scrolling:touch;height:100%}.bo{position:relative;display:block;margin:2rem auto;max-width:660px}@media (max-width:676px){.bo{margin:0;max-width:none}}@media print{.bo{margin:0 auto;max-width:680px}}@media (max-width:676px){.bm:before{position:absolute;top:1.6rem;bottom:1.6rem;left:-1.6rem;z-index:-1;width:100%;border-radius:.85rem;background-color:hsla(0,0%,100%,.2);content:""}.bm .bp{overflow-y:hidden;border-radius:.85rem;transition:border-radius .4s}}.bn{position:absolute;top:0;right:0;left:0;height:100%} +body,html{height:100%}@media print{body,html{height:auto}}html{font-size:14px}@media screen and (max-width:359px){html{font-size:12px}}body{margin:0;font-family:sans-serif;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}@media print{body{background:none!important;color:#000!important}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.5}h1{font-size:1.78571rem}h2{font-size:1.42857rem}h3{font-size:1.28571rem}h4{font-size:1.14286rem}h5,h6{font-size:1rem}a{color:inherit;text-decoration:none;cursor:pointer}canvas,iframe,video{display:block;margin:auto;max-width:100%}img{max-width:100%}blockquote{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse;font-size:inherit}td,th{padding:0}code,pre{font-size:85%;-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial}code{padding:.2em .4em;border-radius:3px}pre{padding:.75rem 1rem;line-height:1.6;border:1px solid;border-color:inherit}pre pre{border:0}pre code{background:none}pre code{margin:0;padding:0;color:inherit}:focus{outline:none}::-webkit-scrollbar{width:8px;height:6px}@media (max-width:676px){::-webkit-scrollbar{width:0;height:0;background:none}}::-webkit-scrollbar-thumb{border-radius:3px}input{border:0;background:none;color:inherit;font-family:inherit;line-height:1.4}input::-webkit-input-placeholder{color:inherit;opacity:.5}@font-face{font-weight:400;font-style:normal;font-family:Icon;src:url(data:font/woff;base64,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) format("woff")}.bf:before{color:inherit;text-transform:none;font-style:normal;font-family:Icon}.icon-exit:before{content:"\E928"}.icon-external:before{content:"\E929"}.icon-check:before{content:"\E92A"}.icon-circle:before{content:"\E92B"}.icon-link:before{content:"\E906"}.icon-at:before{content:"\E927"}.icon-image:before{content:"\E905"}.icon-loader:before{content:"\E902"}.icon-author:before{content:"\E900"}.icon-cate:before{content:"\E901"}.icon-hash:before{content:"\E903"}.icon-dot:before{content:"\E904"}.icon-next:before{content:"\E907"}.icon-previous:before{content:"\E908"}.icon-down:before{content:"\E909"}.icon-up:before{content:"\E90A"}.icon-search:before{content:"\E90B"}.icon-calendar:before{content:"\E90C"}.icon-eye:before{content:"\E90D"}.icon-clock:before{content:"\E90E"}.icon-sidebar:before{content:"\E926"}.icon-toc:before{content:"\E925"}.icon-wechat:before{content:"\E91C"}.icon-paypal:before{content:"\E919"}.icon-bitcoin:before{content:"\E91B"}.icon-soundcloud:before{content:"\E90F"}.icon-pinterest:before{content:"\E91A"}.icon-youtube:before{content:"\E916"}.icon-tumblr:before{content:"\E914"}.icon-linkedin:before{content:"\E915"}.icon-myspace:before{content:"\E917"}.icon-disqus:before{content:"\E918"}.icon-hangouts:before{content:"\E910"}.icon-email:before{content:"\E911"}.icon-facebook:before{content:"\E912"}.icon-dribbble:before{content:"\E913"}.icon-telegram:before{content:"\E91D"}.icon-qq:before{content:"\E91E"}.icon-instagram:before{content:"\E91F"}.icon-weibo:before{content:"\E920"}.icon-googleplus:before{content:"\E921"}.icon-feed:before{content:"\E922"}.icon-twitter:before{content:"\E923"}.icon-github:before{content:"\E924"}.bg{position:relative}.bh{position:fixed;top:0;left:0;z-index:1;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;width:100%;height:100%}.bh img{position:absolute;transition:transform .3s cubic-bezier(.2,0,.2,1);-ms-transform-origin:0 0;transform-origin:0 0}.bh:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;z-index:-1;transition:opacity .3s;opacity:0}.bi{cursor:zoom-out}.bi:after{opacity:1}.bd{word-wrap:break-word;line-height:1.8}.bd h2,.bd h3,.bd h4,.bd h5,.bd h6{margin:2rem 0 1rem;font-weight:700}.bd h2 a:last-child,.bd h3 a:last-child,.bd h4 a:last-child,.bd h5 a:last-child,.bd h6 a:last-child{visibility:hidden;border:0}.bd h2 a:last-child:active,.bd h2 a:last-child:focus,.bd h2 a:last-child:hover,.bd h3 a:last-child:active,.bd h3 a:last-child:focus,.bd h3 a:last-child:hover,.bd h4 a:last-child:active,.bd h4 a:last-child:focus,.bd h4 a:last-child:hover,.bd h5 a:last-child:active,.bd h5 a:last-child:focus,.bd h5 a:last-child:hover,.bd h6 a:last-child:active,.bd h6 a:last-child:focus,.bd h6 a:last-child:hover{color:inherit}.bd h2 a:last-child:active:after,.bd h2 a:last-child:focus:after,.bd h2 a:last-child:hover:after,.bd h3 a:last-child:active:after,.bd h3 a:last-child:focus:after,.bd h3 a:last-child:hover:after,.bd h4 a:last-child:active:after,.bd h4 a:last-child:focus:after,.bd h4 a:last-child:hover:after,.bd h5 a:last-child:active:after,.bd h5 a:last-child:focus:after,.bd h5 a:last-child:hover:after,.bd h6 a:last-child:active:after,.bd h6 a:last-child:focus:after,.bd h6 a:last-child:hover:after{opacity:1;transition:opacity .15s}.bd h2 a:last-child:after,.bd h3 a:last-child:after,.bd h4 a:last-child:after,.bd h5 a:last-child:after,.bd h6 a:last-child:after{padding-left:.2em;content:"\E906";vertical-align:-16%;font-style:normal;font-family:Icon;line-height:1;opacity:.63}.bd h2:active a,.bd h2:focus a,.bd h2:hover a,.bd h3:active a,.bd h3:focus a,.bd h3:hover a,.bd h4:active a,.bd h4:focus a,.bd h4:hover a,.bd h5:active a,.bd h5:focus a,.bd h5:hover a,.bd h6:active a,.bd h6:focus a,.bd h6:hover a{visibility:visible}.bd>iframe,.bd>video{margin:2em auto}.bd img{vertical-align:text-bottom}.bd hr{margin:2.5em auto;width:4px;height:4px;border:0;border-radius:3px;background-color:currentColor;box-shadow:1em 0 0 0 currentColor,-1em 0 0 0 currentColor}.bd blockquote{position:relative;margin:2em 0;padding-left:24px}.bd blockquote:before{position:absolute;left:0;top:0;width:4px;bottom:0;background-color:currentColor;content:"";opacity:.1}.bd blockquote footer cite{word-break:break-all}.bd blockquote footer cite:before{padding:0 .3em;content:"\2014"}@media print{.bd blockquote{margin:2em 1em;font-style:italic;color:#555}}.bd ol,.bd ul{padding-left:2em}.bd ol>li{list-style-type:decimal}.bd ol>li>ol>li{list-style-type:lower-alpha}.bd ol>li>ol>li>ol>li{list-style-type:lower-roman}.bd a{border-bottom:1px dotted;transition:color .15s,border-color .15s,opacity .15s}.bd a:active,.bd a:focus,.bd a:hover{border-bottom-style:solid}.bd>pre{overflow-x:auto}.bd>pre code{color:inherit;background-color:inherit}@media print{.bd{line-height:1.5}.bd a{border-bottom:0}.bd a[href^=http]:after,.bd a[href^=https] .bd a[href^="//"]:after{content:" ("attr(href)")"}}.be:first-letter{float:left;margin:.3rem .4rem 0 0;font-size:2.9rem;line-height:1}@media print{.be:first-letter{font-size:2.6rem}}.article-img{display:block;margin:auto;cursor:zoom-in}.article-img+figcaption{display:block;margin-top:.75em;text-align:center;font-size:.85em;opacity:.63}.article-bounded{margin:1.5em 0;border-color:inherit}.article-bounded>div{overflow-x:auto}@media print{.article-bounded>div{box-shadow:none!important;overflow-x:visible}}@media (max-width:676px){.article-bounded{overflow-x:auto;margin:1.5em -1.5rem}.article-bounded>div{display:table;overflow-x:inherit;padding:0 1.5rem;min-width:100%;box-shadow:none!important}}.article-table{border-color:inherit}.article-table table{margin:auto;min-width:100%;border-color:inherit}.article-table td,.article-table th{padding:.5em 1em;border:1px solid;border-color:inherit}.article-table td:first-child,.article-table th:first-child{border-left-width:0}@media (max-width:676px){.article-table td:first-child,.article-table th:first-child{border-left-width:1px}}.article-table th{text-align:inherit;white-space:nowrap;font-weight:700}.article-table td{white-space:pre}.article-table th[align=center]{text-align:center}.article-table th[align=right]{text-align:right}@media print{.article-table{text-align:center}.article-table table{display:inline-table;min-width:auto;border:1px solid;text-align:left}.article-table td,.article-table th{white-space:normal;border:1px solid;padding:.5em}.article-table tr:nth-child(2n){background:none!important}}.highlight{position:relative;margin:1em 0}.highlight>div{overflow-x:auto}.highlight code{background:none}.highlight pre{margin:0;border:0}@media print{.highlight pre{padding-left:0;padding-right:0;white-space:pre-wrap}}.highlight .gutter{text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlight .gutter pre{padding:.75rem .25rem .75rem .75rem}@media print{.highlight .gutter{display:none}}.highlight figcaption{padding:.5rem 1rem;font-size:85%}.highlight figcaption a{float:right;border:0}@media print{.highlight figcaption{padding-left:0;padding-right:0}}.highlight .emphasis{font-style:italic}.highlight .strong{font-weight:700}@media print{.highlight{border:0!important}}.gist .gist-meta{background:none!important}.gist .gist-file{border-color:#eee!important;border-radius:3px!important}.gist .gist-data{padding:.4em 0!important;border-color:#eee!important;border-radius:3px 3px 0 0!important} +.bj{position:relative;display:block;overflow-x:hidden;height:100%}.bl{position:relative;margin-left:280px;height:100%;-ms-transform-origin:0 42%;transform-origin:0 42%}@media (max-width:975px){.bl{margin:0}}@media print{.bl{margin:0}}.bk{height:100%}.bp{overflow-y:auto;-webkit-overflow-scrolling:touch;height:100%}.bo{position:relative;display:block;margin:2rem auto;max-width:660px}@media (max-width:676px){.bo{margin:0;max-width:none}}@media print{.bo{margin:0 auto;max-width:680px}}@media (max-width:676px){.bm:before{position:absolute;top:1.6rem;bottom:1.6rem;left:-1.6rem;z-index:-1;width:100%;border-radius:.85rem;background-color:hsla(0,0%,100%,.2);content:""}.bm .bp{overflow-y:hidden;border-radius:.85rem;transition:border-radius .4s}}.bn{position:absolute;top:0;right:0;left:0;height:100%} .bq{position:relative;display:block;margin-left:1.5rem;padding:.5rem 0;line-height:2rem;transition:color .15s}.bq:before{position:absolute;top:1.5rem;left:-1rem;content:"-";opacity:.63;-ms-transform:translateY(-50%);transform:translateY(-50%)}.bs{float:left;padding-right:.5rem;white-space:nowrap;letter-spacing:1px;font-size:.85rem;opacity:.63}.br{display:table-cell;font-size:1.15rem} .bt{padding:2px;width:8rem;height:8rem;border:1px solid;border-radius:50%;vertical-align:bottom}@media (max-width:676px){.bt{border-color:hsla(0,0%,100%,.618)!important}} .bu{display:block}.bv{border-radius:6px;padding:2.15rem}@media (max-width:676px){.bv{border-radius:0;padding:1.5rem}} @@ -10,9 +10,9 @@ body,html{height:100%}@media print{body,html{height:auto}}html{font-size:14px}@m .da{display:block;overflow:hidden;margin-bottom:1.75rem;border-radius:6px}@media (max-width:676px){.da{margin:1rem}}.dg{margin:0;font-weight:400;-webkit-tap-highlight-color:transparent}.dg a{display:block;padding:1.5rem 1.5rem 0;transition:color .15s}.df{display:block}.db{padding:0 1.5rem;opacity:.8}.dc{margin:1em 1.5rem 0;padding-bottom:1.5rem;opacity:.63}.dd{display:inline-block;margin-right:1rem}.de{margin-right:.4rem} .dh{position:relative;display:block;margin:4rem 0 1.5rem;text-align:center}@media print{.dh{display:none}}.dm{margin:0;font-size:1.1rem;line-height:2}.dj{display:inline-block;padding-top:1rem}.dl{position:absolute;right:0;bottom:3.6rem;left:0;margin:auto;max-width:24rem;border-color:inherit}.dk{overflow:hidden;border:1px solid;border-color:inherit;border-radius:6px;box-shadow:3px 4px 11px rgba(42,43,51,.1);-webkit-animation:.2s both;animation:.2s both;-webkit-animation-name:di;animation-name:di}.dk div{padding:1rem 1.5rem;text-align:left;line-height:1.5}@media (max-width:676px){.dk div{padding:1rem}}.dk a{border-radius:3px;transition:background-color .15s,color .15s}.do{display:inline-block;box-sizing:border-box;border:1px solid;border-color:inherit;border-radius:2.6rem;white-space:nowrap;font-size:.85rem;line-height:2.6rem}.dn{position:relative;display:inline-block;padding:0 1rem;border-color:inherit;font-size:1.1rem;transition:color .15s}.dn:after{position:absolute;top:50%;right:0;height:1.4rem;border-left:1px solid;border-color:inherit;content:"";-ms-transform:translateY(-50%);transform:translateY(-50%)}.dn:first-child{padding-left:1.25rem}.dn:last-child{padding-right:1.25rem}.dn:last-child:after{content:none}.dn:before{vertical-align:middle;font-size:1.4rem}@-webkit-keyframes di{0%{transform:translate3d(0,1rem,0);opacity:0}to{transform:none;opacity:1}}@keyframes di{0%{transform:translate3d(0,1rem,0);opacity:0}to{transform:none;opacity:1}} .cp{display:block}.cq{display:block;width:100%}.cr{position:relative;display:block;text-align:center}.cr:before{position:absolute;top:50%;left:50%;margin:-.7em 0 0 -.7em;color:inherit;content:"\E902";font-style:normal;font-size:1.4rem;font-family:Icon;opacity:.63;-webkit-animation:1.75s linear infinite;animation:1.75s linear infinite;-webkit-animation-name:ct;animation-name:ct}.cs:before{content:"\E905";-webkit-animation:none;animation:none}@-webkit-keyframes ct{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes ct{0%{transform:rotate(0)}to{transform:rotate(1turn)}} -.dp{position:fixed;top:0;bottom:0;left:0;border-right:1px solid}@media (max-width:975px){.dp{opacity:0;z-index:0}}@media (max-width:676px){.dp{border:0;color:#fff}}@media print{.dp{display:none}}.dz{position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-right:-1rem;padding-right:1rem;height:100%;width:20rem}@media (max-width:676px){.dz{padding-right:1.6rem}}.dz::-webkit-scrollbar{width:0;height:0}.ea{padding:1px 0}.dq{margin:1rem 1rem .5rem;border-radius:6px;text-align:center}@media (max-width:676px){.dq{border:0;background:none!important}}.dr{display:inline-block;margin-top:2.4rem}.dt{display:block;margin:1.5rem 0;white-space:nowrap;font-size:1.714285rem;transition:color .15s}@media (max-width:676px){.dt{color:#fff!important}}.ds{padding:0 2rem 2rem;line-height:1.5;opacity:.63}.ee{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;margin:0 1rem;padding:0 1rem;border-radius:6px;text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width:676px){.ee{background:none!important}}.ef{position:relative;padding:1rem 0 1.25rem;min-width:24%;border-radius:6px}.ef:after{position:absolute;right:0;bottom:0;left:0;margin:auto;width:62%;height:.3rem;content:"";transition:transform .4s;-ms-transform:scaleY(0);transform:scaleY(0);-ms-transform-origin:bottom center;transform-origin:bottom center;border-radius:3px 3px 0 0}.ef span{display:block;margin:0 .5rem}.ef span:first-child{margin-bottom:.5rem;font-size:1.4rem}.ef span:last-child{font-size:.95rem;opacity:.63}@media (max-width:676px){.ef:after{top:.5rem;right:-.5em;bottom:.5rem;left:-.5em;width:auto;height:auto;border-radius:6px;background-color:hsla(0,0%,100%,.1)!important}}.ef:active:after,.ef:focus:after,.ef:hover:after,.eg:after{-ms-transform:scaleX(1);transform:scaleX(1)}@media (max-width:676px){.ef:active,.ef:focus,.ef:hover,.eg{color:#fff}}.eb{margin:2rem 0 4rem;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ec{position:relative;display:block;padding-right:2rem;text-align:right;text-transform:capitalize;line-height:3rem;border-color:inherit;transition:all .15s}.ec:after{position:absolute;top:50%;right:0;width:7px;height:7px;border-radius:50%;content:"";-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}@media (max-width:676px){.ec{padding-left:3.6rem;text-align:left}.ec:before{position:absolute;top:0;right:0;width:100%;height:100%;background:linear-gradient(90deg,hsla(0,0%,100%,.1),rgba(0,0,0,0))!important;content:"";transition:transform .4s;-ms-transform:scaleX(0);transform:scaleX(0);-ms-transform-origin:0 50%;transform-origin:0 50%}.ec:after{content:none}}.ec:active,.ec:focus,.ec:hover,.ed{font-size:1.168rem}.ec:active:after,.ec:focus:after,.ec:hover:after,.ed:after{background-image:none}@media (max-width:676px){.ec:active,.ec:focus,.ec:hover,.ed{font-size:inherit;color:#fff!important}.ec:active:before,.ec:focus:before,.ec:hover:before,.ed:before{-ms-transform:scaleX(1);transform:scaleX(1)}}.du{padding:1rem;text-align:center;line-height:1.4em}.du>p{margin:.25rem 0;font-size:.85rem}.du>p a{border-color:inherit}@media (max-width:676px){.du>p a:active,.du>p a:focus,.du>p a:hover{color:#fff;border-color:#fff}}.dw+.dw:before{padding:0 .8rem;content:"|"}.dv{position:absolute;right:1rem;bottom:0;left:0}.dx{margin:0 1rem 1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dy{display:inline-block;font-size:0;transition:color .15s}.dy:before{margin:0 .4rem;font-size:1.428rem;line-height:1.5}@media (max-width:676px){.dy:active,.dy:focus,.dy:hover{color:#fff!important}} +.dp{position:fixed;top:0;bottom:0;left:0;border-right:1px solid}@media (max-width:975px){.dp{opacity:0;z-index:0}}@media (max-width:676px){.dp{border:0;color:#fff}}@media print{.dp{display:none}}.dz{position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-right:-1rem;padding-right:1rem;height:100%;width:280px}@media (max-width:676px){.dz{padding-right:1.6rem}}.dz::-webkit-scrollbar{width:0;height:0}.ea{padding:1px 0}.dq{margin:1rem 1rem .5rem;border-radius:6px;text-align:center}@media (max-width:676px){.dq{border:0;background:none!important}}.dr{display:inline-block;margin-top:2.4rem}.dt{display:block;margin:1.5rem 0;white-space:nowrap;font-size:1.714285rem;transition:color .15s}@media (max-width:676px){.dt{color:#fff!important}}.ds{padding:0 2rem 2rem;line-height:1.5;opacity:.63}.ee{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;margin:0 1rem;padding:0 1rem;border-radius:6px;text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width:676px){.ee{background:none!important}}.ef{position:relative;padding:1rem 0 1.25rem;min-width:24%;border-radius:6px}.ef:after{position:absolute;right:0;bottom:0;left:0;margin:auto;width:62%;height:.3rem;content:"";transition:transform .4s;-ms-transform:scaleY(0);transform:scaleY(0);-ms-transform-origin:bottom center;transform-origin:bottom center;border-radius:3px 3px 0 0}.ef span{display:block;margin:0 .5rem}.ef span:first-child{margin-bottom:.5rem;font-size:1.4rem}.ef span:last-child{font-size:.95rem;opacity:.63}@media (max-width:676px){.ef:after{top:.5rem;bottom:.5rem;width:auto;height:auto;border-radius:6px;background-color:hsla(0,0%,100%,.1)!important}}.ef:active:after,.ef:focus:after,.ef:hover:after,.eg:after{-ms-transform:scaleX(1);transform:scaleX(1)}@media (max-width:676px){.ef:active,.ef:focus,.ef:hover,.eg{color:#fff}}.eb{margin:2rem 0 4rem;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ec{position:relative;display:block;padding-right:2rem;text-align:right;text-transform:capitalize;line-height:3rem;border-color:inherit;transition:all .15s}.ec:after{position:absolute;top:50%;right:0;width:7px;height:7px;border-radius:50%;content:"";-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}@media (max-width:676px){.ec{padding-left:3rem;text-align:left}.ec:before{position:absolute;top:0;right:0;width:100%;height:100%;background:linear-gradient(90deg,hsla(0,0%,100%,.1),rgba(0,0,0,0))!important;content:"";transition:transform .4s;-ms-transform:scaleX(0);transform:scaleX(0);-ms-transform-origin:0 50%;transform-origin:0 50%}.ec:after{content:none}}.ec:active,.ec:focus,.ec:hover,.ed{font-size:1.168rem}.ec:active:after,.ec:focus:after,.ec:hover:after,.ed:after{background-image:none}@media (max-width:676px){.ec:active,.ec:focus,.ec:hover,.ed{font-size:inherit;color:#fff!important}.ec:active:before,.ec:focus:before,.ec:hover:before,.ed:before{-ms-transform:scaleX(1);transform:scaleX(1)}}.du{padding:1rem;text-align:center;line-height:1.4em}.du>p{margin:.25rem 0;font-size:.85rem}.du>p a{border-color:inherit}@media (max-width:676px){.du>p a:active,.du>p a:focus,.du>p a:hover{color:#fff;border-color:#fff}}.dw+.dw:before{padding:0 .8rem;content:"|"}.dv{position:absolute;right:1rem;bottom:0;left:0}.dx{margin:0 1rem 1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dy{display:inline-block;font-size:0;transition:color .15s}.dy:before{margin:0 .4rem;font-size:1.428rem;line-height:1.5}@media (max-width:676px){.dy:active,.dy:focus,.dy:hover{color:#fff!important}} .eh{display:inline-block;margin:0 1rem 1rem 0}.ei{display:block;padding:0 1em;border-radius:3px;line-height:2.4;transition:background-color .15s}.ei:before{margin-right:.2em;content:"\E903";vertical-align:-.1em;font-size:.85em;font-family:Icon;line-height:inherit}.ei :active,.ei:focus,.ei:hover{color:#fff} -.ej{position:fixed;top:0;right:0;bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 0;width:18rem;transform:translate3d(104%,0,0)}@media print{.ej{display:none}}.eq{box-shadow:-2px 0 3px rgba(0,0,0,.1)}.ek{position:relative;margin:0;padding:0 0 0 1.5em}.el{padding:0}.el:before{position:absolute;top:.5em;bottom:.5em;left:1px;width:2px;content:"";transition:transform .4s;-ms-transform:scaleY(0);transform:scaleY(0);-ms-transform-origin:center top;transform-origin:center top}.el:active:before,.el:focus:before,.el:hover:before,.em:before{-ms-transform:scaleX(1);transform:scaleX(1)}.en{display:block;padding:.5em 1em;line-height:1.4}.en code{white-space:nowrap}.eo{float:left;margin-right:4px;font-size:.9rem}.ep{display:table-cell} +.ej{position:fixed;top:0;right:0;bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 0;width:252px;transform:translate3d(104%,0,0)}@media print{.ej{display:none}}.eq{box-shadow:-2px 0 3px rgba(0,0,0,.1)}.ek{position:relative;margin:0;padding:0 0 0 1.5em}.el{padding:0}.el:before{position:absolute;top:.5em;bottom:.5em;left:1px;width:2px;content:"";transition:transform .4s;-ms-transform:scaleY(0);transform:scaleY(0);-ms-transform-origin:center top;transform-origin:center top}.el:active:before,.el:focus:before,.el:hover:before,.em:before{-ms-transform:scaleX(1);transform:scaleX(1)}.en{display:block;padding:.5em 1em;line-height:1.4}.en code{white-space:nowrap}.eo{float:left;margin-right:4px;font-size:.9rem}.ep{display:table-cell} .er{display:block;text-align:center;opacity:.5}.es{margin:10rem 0 3rem;border:0;font-size:10rem;font-family:monospace}@media (max-width:676px){.es{font-size:6rem}}.et{font-size:1.25rem} .eu{display:block}.ex{border-radius:6px;padding:2.15rem}@media (max-width:676px){.ex{border-radius:0;padding:1.5rem}}.ey{position:relative;padding:2.15rem 0;border-color:inherit}@media (max-width:676px){.ey{padding:1.5rem 0}}.ey:first-of-type{margin-top:-2.15rem}@media (max-width:676px){.ey:first-of-type{margin-top:-1.5rem}}.ey:last-of-type{margin-bottom:-2.15rem;padding-bottom:6rem}@media (max-width:676px){.ey:last-of-type{margin-bottom:-1.5rem}}.ey:before{position:absolute;top:0;left:1.5rem;height:100%;border-left:1px solid;border-color:inherit;content:""}.ez{position:relative;margin:0;line-height:2.4em}.ev{position:relative;padding-left:3rem}.ev:hover .ew:after{opacity:1}.ew{position:absolute;top:1.5rem;left:1.5rem;padding:0 .6em;border-radius:2em;color:#fff;text-transform:uppercase;font-weight:600;line-height:2;transform:translate3d(-50%,-50%,0) scale3d(.75,.75,1)}.ew:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;content:"";opacity:.63;transition:opacity .4s} .fd{padding-bottom:.3rem}.fa{display:block;position:relative;overflow-x:auto;overflow-y:hidden;white-space:nowrap;border-radius:6px}@media (max-width:676px){.fa{border-radius:0}}.fa ::-webkit-scrollbar{width:0;height:0}.fb{position:relative;display:inline-block;padding:0 2rem;font-size:1.2rem;line-height:3.8;border-color:inherit}.fb:after{margin-left:.5rem;padding:2px 5px;border-radius:3px;border:1px solid;border-color:inherit;content:attr(count);font-size:.85rem}.fb:before{position:absolute;right:0;bottom:0;left:0;margin:auto;width:38%;height:.3rem;content:"";transition:transform .4s;-ms-transform:scaleY(0);transform:scaleY(0);-ms-transform-origin:bottom center;transform-origin:bottom center;border-radius:3px 3px 0 0}.fb:active:before,.fb:focus:before,.fb:hover:before,.fc:before{-ms-transform:scaleX(1);transform:scaleX(1)}