From b46c81053f7a4307945b82bee6944af7e6e13d1c Mon Sep 17 00:00:00 2001 From: Dillon Date: Mon, 27 Apr 2020 02:27:26 +0800 Subject: [PATCH] feat(twemoji): add support for twemoji (#264) --- README.md | 2 + README.zh-cn.md | 2 + assets/css/_partial/_icon.scss | 7 + assets/js/theme.min.js | 4 +- assets/js/theme.min.js.map | 2 +- assets/lib/VERSION | 1 + assets/lib/twemoji/twemoji.min.js | 2 + exampleSite/config.toml | 5 + exampleSite/content/about.en.md | 2 + exampleSite/content/about.fr.md | 2 + exampleSite/content/about.zh-cn.md | 2 + exampleSite/content/posts/emoji-support.en.md | 1493 ++++++++--------- exampleSite/content/posts/emoji-support.fr.md | 1493 ++++++++--------- .../content/posts/emoji-support.zh-cn.md | 1493 ++++++++--------- .../posts/theme-documentation-basics.en.md | 4 + .../posts/theme-documentation-basics.fr.md | 4 + .../posts/theme-documentation-basics.zh-cn.md | 6 +- .../posts/theme-documentation-content.en.md | 2 + .../posts/theme-documentation-content.fr.md | 2 + .../theme-documentation-content.zh-cn.md | 2 + layouts/partials/assets.html | 7 + ...s_19001642409beba3b4bbc3ec1bde302a.content | 2 +- ...s_788c4a23da05f3aa3e03b28055a2e5f9.content | 2 +- ...s_84a735b886b24531b6e80c5fb2060510.content | 2 +- ...s_d40178ffcb058d725849178b0a7a43cc.content | 2 +- src/js/theme.js | 9 +- 26 files changed, 2297 insertions(+), 2257 deletions(-) create mode 100644 assets/lib/twemoji/twemoji.min.js diff --git a/README.md b/README.md index 17f761f..0074c5e 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ I hope you will LoveIt ❤️! ### Extended Features * **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/) +* **Twemoji** supported * Automatically **highlighting** code * **Copy code** to clipboard with one click * **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) @@ -151,6 +152,7 @@ Thanks to the authors of following resources included in the theme: * [Lunr.js](https://lunrjs.com/) * [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript) * [lazysizes](https://github.com/aFarkas/lazysizes) +* [Twemoji](https://github.com/twitter/twemoji) * [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) * [clipboard.js](https://github.com/zenorocha/clipboard.js) * [Sharer.js](https://github.com/ellisonleao/sharer.js) diff --git a/README.zh-cn.md b/README.zh-cn.md index dbdd484..9f189eb 100644 --- a/README.zh-cn.md +++ b/README.zh-cn.md @@ -89,6 +89,7 @@ ### 扩展功能 * 支持基于 [Lunr.js](https://lunrjs.com/) 或 [algolia](https://www.algolia.com/) 的**搜索** +* 支持 **Twemoji** * 支持**代码高亮** * 一键**复制代码**到剪贴板 * 支持基于 [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) 的**图片画廊** @@ -146,6 +147,7 @@ LoveIt 主题中用到了以下项目,感谢它们的作者: * [Lunr.js](https://lunrjs.com/) * [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript) * [lazysizes](https://github.com/aFarkas/lazysizes) +* [Twemoji](https://github.com/twitter/twemoji) * [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) * [clipboard.js](https://github.com/zenorocha/clipboard.js) * [Sharer.js](https://github.com/ellisonleao/sharer.js) diff --git a/assets/css/_partial/_icon.scss b/assets/css/_partial/_icon.scss index c260504..f42d2e6 100644 --- a/assets/css/_partial/_icon.scss +++ b/assets/css/_partial/_icon.scss @@ -8,3 +8,10 @@ svg.icon { fill: currentColor; } } + +img.emoji { + height: 1em; + width: 1em; + margin: 0 .05em 0 .1em; + vertical-align: -.1em; +} diff --git a/assets/js/theme.min.js b/assets/js/theme.min.js index 31bb7a9..9e66a53 100644 --- a/assets/js/theme.min.js +++ b/assets/js/theme.min.js @@ -1,4 +1,4 @@ -"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c$1"),g=g.replace(new RegExp("(".concat(a,")"),"gi"),"$1")}),{uri:e.uri,title:f,date:e.date,context:g}})};a._index?e(f()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("uri"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("description",{boost:10}),this.field("content",{boost:5}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.uri]=b,a.add(b)})}),a._indexData=d,e(f())}).catch(function(a){console.error(a),e([])})}else"algolia"===b.type&&(h.style.display="inline",i.style.display="none",a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:12,attributesToHighlight:["title","content"]}).then(function(a){var b=a.hits;e(b.map(function(a){var b=a.uri,c=a.date,d=a._highlightResult,e=d.title,f=d.content;return{uri:b,title:e.value,date:c,context:f.value}}))}).catch(function(a){console.error(a),e([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"
".concat(b,"").concat(c,"
").concat(d,"
")},empty:function empty(a){var c=a.query;return"
".concat(b.noResultsFound,": \"").concat(c,"\"
")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"")}}});e.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=e:a._searchDesktop=e};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var k=document.createElement("script");k.id="lunr-segmentit",k.type="text/javascript",k.src=b.lunrSegmentitURL,k.async=!0,k.readyState?k.onreadystatechange=function(){("loaded"==k.readyState||"complete"==k.readyState)&&(k.onreadystatechange=null,j())}:k.onload=function(){j()},document.body.appendChild(k)}else j()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin",""),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin",""),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin",""),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin",""))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px");var f=b.getElementsByTagName("a"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTopo?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;rp||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;bd?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initSmoothScroll(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initIcon(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit(); +"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c$1"),g=g.replace(new RegExp("(".concat(a,")"),"gi"),"$1")}),{uri:e.uri,title:f,date:e.date,context:g}})};a._index?e(f()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("uri"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("description",{boost:10}),this.field("content",{boost:5}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.uri]=b,a.add(b)})}),a._indexData=d,e(f())}).catch(function(a){console.error(a),e([])})}else"algolia"===b.type&&(h.style.display="inline",i.style.display="none",a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:12,attributesToHighlight:["title","content"]}).then(function(a){var b=a.hits;e(b.map(function(a){var b=a.uri,c=a.date,d=a._highlightResult,e=d.title,f=d.content;return{uri:b,title:e.value,date:c,context:f.value}}))}).catch(function(a){console.error(a),e([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return"
".concat(b,"").concat(c,"
").concat(d,"
")},empty:function empty(a){var c=a.query;return"
".concat(b.noResultsFound,": \"").concat(c,"\"
")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:"",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"")}}});e.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=e:a._searchDesktop=e};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var k=document.createElement("script");k.id="lunr-segmentit",k.type="text/javascript",k.src=b.lunrSegmentitURL,k.async=!0,k.readyState?k.onreadystatechange=function(){("loaded"==k.readyState||"complete"==k.readyState)&&(k.onreadystatechange=null,j())}:k.onload=function(){j()},document.body.appendChild(k)}else j()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin",""),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin",""),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin",""),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin",""))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px");var f=b.getElementsByTagName("a"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==this.config.headerMode.desktop,k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTopo?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;rp||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;bd?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>d?e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):e<-d&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):c.style.display="none";var f,g=_createForOfIteratorHelper(a.scrollEventSet);try{for(g.s();!(f=g.n()).done;){var h=f.value;h()}}catch(a){g.e(a)}finally{g.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initSmoothScroll(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initToc(),this.initComment(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.onScroll(),this.onResize(),this.onClickMask()}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit(); //# sourceMappingURL=theme.min.js.map \ No newline at end of file diff --git a/assets/js/theme.min.js.map b/assets/js/theme.min.js.map index b351c21..e6fe499 100644 --- a/assets/js/theme.min.js.map +++ b/assets/js/theme.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) handler(elements[i]);\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n\n animateCSS(element, animation, reserved, callback) {\n if (!Array.isArray(animation)) animation = [animation];\n element.classList.add('animated', ...animation);\n const handler = () => {\n element.classList.remove('animated', ...animation);\n element.removeEventListener('animationend', handler);\n if (typeof callback === 'function') callback();\n };\n if (!reserved) element.addEventListener('animationend', handler, false);\n }\n}\n\nclass Theme {\n constructor() {\n this.config = window.config;\n this.data = this.config.data;\n this.isDark = document.body.classList.contains('dark');\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n this.switchThemeEventSet = new Set();\n this.clickMaskEventSet = new Set();\n }\n\n initIcon() {\n this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n fetch($icon.getAttribute('data-svg-src'))\n .then(response => response.text())\n .then(svg => {\n const $temp = document.createElement('div');\n $temp.insertAdjacentHTML('afterbegin', svg);\n const $svg = $temp.firstChild;\n $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n $svg.classList.add('icon');\n $icon.parentElement.replaceChild($svg, $icon);\n })\n .catch(console.error.bind(console));\n });\n }\n\n initMenuMobile() {\n const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const $menuMobile = document.getElementById('menu-mobile');\n $menuToggleMobile.addEventListener('click', () => {\n document.body.classList.toggle('blur');\n $menuToggleMobile.classList.toggle('active');\n $menuMobile.classList.toggle('active');\n }, false);\n this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n $menuToggleMobile.classList.remove('active');\n $menuMobile.classList.remove('active');\n });\n this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n $themeSwitch.addEventListener('click', () => {\n document.body.classList.toggle('dark');\n this.isDark = !this.isDark;\n window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n for (let event of this.switchThemeEventSet) event();\n }, false);\n });\n }\n\n initSearch() {\n const searchConfig = this.config.search;\n const isMobile = this.util.isMobile();\n if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n const classSuffix = isMobile ? 'mobile' : 'desktop';\n const $header = document.getElementById(`header-${classSuffix}`);\n const $searchInput = document.getElementById(`search-input-${classSuffix}`);\n const $searchToggle = document.getElementById(`search-toggle-${classSuffix}`);\n const $searchLoading = document.getElementById(`search-loading-${classSuffix}`);\n const $searchClear = document.getElementById(`search-clear-${classSuffix}`);\n if (isMobile) {\n this._searchMobileOnce = true;\n $searchInput.addEventListener('focus', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n }, false);\n document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n $header.classList.remove('open');\n document.body.classList.remove('blur');\n document.getElementById('menu-toggle-mobile').classList.remove('active');\n document.getElementById('menu-mobile').classList.remove('active');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n } else {\n this._searchDesktopOnce = true;\n $searchToggle.addEventListener('click', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n $searchInput.focus();\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n }, false);\n this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n }\n $searchInput.addEventListener('input', () => {\n if ($searchInput.value === '') $searchClear.style.display = 'none';\n else $searchClear.style.display = 'inline';\n }, false);\n\n const CONTEXT_LENGTH = 200;\n const initAutosearch = () => {\n const autosearch = autocomplete(`#search-input-${classSuffix}`, {\n hint: false,\n autoselect: true,\n dropdownMenuContainer: `#search-dropdown-${classSuffix}`,\n clearOnSelected: true,\n cssClasses: { noPrefix: true },\n // debug: true,\n }, {\n name: 'search',\n source: (query, callback) => {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n const finish = (results) => {\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'inline';\n callback(results);\n };\n if (searchConfig.type === 'lunr') {\n const search = () => {\n if (lunr.queryHandler) query = lunr.queryHandler(query);\n return this._index.search(query).slice(0, 12).map(({ ref, matchData: { metadata } }) => {\n const matchData = this._indexData[ref];\n let { title, content: context } = matchData;\n let position = 0;\n Object.values(metadata).forEach(({ description, content }) => {\n if (description) {\n context = matchData.description;\n position = -1;\n } else if (content) {\n const matchPosition = content.position[0][0];\n if (matchPosition < position || position === 0) position = matchPosition;\n }\n });\n position -= CONTEXT_LENGTH / 5;\n if (position > 0) {\n position += context.substr(position, 25).lastIndexOf(' ') + 1;\n context = '...' + context.substr(position, CONTEXT_LENGTH);\n } else {\n context = context.substr(0, CONTEXT_LENGTH);\n }\n Object.keys(metadata).forEach(key => {\n title = title.replace(new RegExp(`(${key})`, 'gi'), '$1');\n context = context.replace(new RegExp(`(${key})`, 'gi'), '$1');\n });\n return {\n 'uri': matchData.uri,\n 'title' : title,\n 'date' : matchData.date,\n 'context' : context,\n };\n });\n }\n if (!this._index) {\n fetch(searchConfig.lunrIndexURL)\n .then(response => response.json())\n .then(data => {\n const indexData = {};\n this._index = lunr(function () {\n if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n this.ref('uri');\n this.field('title', { boost: 50 });\n this.field('tags', { boost: 20 });\n this.field('description', { boost: 10 });\n this.field('content', { boost: 5 });\n this.metadataWhitelist = ['position'];\n data.forEach((record) => {\n indexData[record.uri] = record;\n this.add(record);\n });\n });\n this._indexData = indexData;\n finish(search());\n }).catch(err => {\n console.error(err);\n finish([]);\n });\n } else finish(search());\n } else if (searchConfig.type === 'algolia') {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n this._algoliaIndex\n .search(query, { offset: 0, length: 12, attributesToHighlight: ['title', 'content'] })\n .then(({ hits }) => {\n finish(hits.map(({ uri, date, _highlightResult: { title, content } }) => ({\n uri: uri,\n title: title.value,\n date: date,\n context: content.value,\n })));\n })\n .catch(err => {\n console.error(err);\n finish([]);\n });\n }\n },\n templates: {\n suggestion: ({ title, date, context }) => `
${title}${date}
${context}
`,\n empty: ({ query }) => `
${searchConfig.noResultsFound}: \"${query}\"
`,\n footer: ({}) => {\n const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n searchType: 'algolia',\n icon: '',\n href: 'https://www.algolia.com/',\n } : {\n searchType: 'Lunr.js',\n icon: '',\n href: 'https://lunrjs.com/',\n };\n return ``;},\n },\n });\n autosearch.on('autocomplete:selected', (event, suggestion, dataset, context) => {\n window.location.assign(suggestion.uri);\n });\n if (isMobile) this._searchMobile = autosearch;\n else this._searchDesktop = autosearch;\n };\n if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n const script = document.createElement('script');\n script.id = 'lunr-segmentit';\n script.type = 'text/javascript';\n script.src = searchConfig.lunrSegmentitURL;\n script.async = true;\n if (script.readyState) {\n script.onreadystatechange = () => {\n if (script.readyState == 'loaded' || script.readyState == 'complete'){\n script.onreadystatechange = null;\n initAutosearch();\n }\n };\n } else {\n script.onload = () => {\n initAutosearch();\n };\n }\n document.body.appendChild(script);\n } else initAutosearch();\n }\n\n initDetails() {\n this.util.forEach(document.getElementsByClassName('details'), $details => {\n const $summary = $details.getElementsByClassName('details-summary')[0];\n $summary.addEventListener('click', () => {\n $details.classList.toggle('open');\n }, false);\n });\n }\n\n initLightGallery() {\n if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n const $chroma = document.createElement('div');\n $chroma.className = $preChroma.className;\n const $table = document.createElement('table');\n $chroma.appendChild($table);\n const $tbody = document.createElement('tbody');\n $table.appendChild($tbody);\n const $tr = document.createElement('tr');\n $tbody.appendChild($tr);\n const $td = document.createElement('td');\n $tr.appendChild($td);\n $preChroma.parentElement.replaceChild($chroma, $preChroma);\n $td.appendChild($preChroma);\n });\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n if ($codeElements.length) {\n const $code = $codeElements[$codeElements.length - 1];\n const $header = document.createElement('div');\n $header.className = 'code-header ' + $code.className.toLowerCase();\n const $title = document.createElement('span');\n $title.classList.add('code-title');\n $title.insertAdjacentHTML('afterbegin', '');\n $title.addEventListener('click', () => {\n $chroma.classList.toggle('open');\n }, false);\n $header.appendChild($title);\n const $ellipses = document.createElement('span');\n $ellipses.insertAdjacentHTML('afterbegin', '');\n $ellipses.classList.add('ellipses');\n $ellipses.addEventListener('click', () => {\n $chroma.classList.add('open');\n }, false);\n $header.appendChild($ellipses);\n const $copy = document.createElement('span');\n $copy.insertAdjacentHTML('afterbegin', '');\n $copy.classList.add('copy');\n const code = $code.innerText;\n if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n if (this.config.code.copyTitle) {\n $copy.setAttribute('data-clipboard-text', code);\n $copy.title = this.config.code.copyTitle;\n const clipboard = new ClipboardJS($copy);\n clipboard.on('success', e => {\n this.util.animateCSS($code, 'flash');\n });\n $header.appendChild($copy);\n }\n $chroma.insertBefore($header, $chroma.firstChild);\n }\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.content table'), $table => {\n const $wrapper = document.createElement('div');\n $wrapper.className = 'table-wrapper';\n $table.parentElement.replaceChild($wrapper, $table);\n $wrapper.appendChild($table);\n });\n }\n\n initHeaderLink() {\n for (let num = 1; num <= 6; num++) {\n this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n $header.classList.add('headerLink');\n $header.insertAdjacentHTML('afterbegin', ``);\n });\n }\n }\n\n initToc() {\n const $tocCore = document.getElementById('TableOfContents');\n if ($tocCore === null) return;\n if (this.util.isTocStatic()) {\n const $tocContentStatic = document.getElementById('toc-content-static');\n if ($tocCore.parentElement !== $tocContentStatic) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentStatic.appendChild($tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const $tocContentAuto = document.getElementById('toc-content-auto');\n if ($tocCore.parentElement !== $tocContentAuto) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentAuto.appendChild($tocCore);\n }\n const $toc = document.getElementById('toc-auto');\n const $page = document.getElementsByClassName('page')[0];\n const rect = $page.getBoundingClientRect();\n $toc.style.left = `${rect.left + rect.width + 20}px`;\n $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n const $tocLinkElements = $tocCore.getElementsByTagName('a');\n const $tocLiElements = $tocCore.getElementsByTagName('li');\n const $headerLinkElements = document.getElementsByClassName('headerLink');\n const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = $toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('post-footer').offsetTop;\n const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${maxTocTop}px`;\n } else {\n $toc.style.position = 'fixed';\n $toc.style.top = `${TOP_SPACING}px`;\n }\n\n this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = $headerLinkElements.length - 1;\n for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n if ((i == 0 && thisTop > INDEX_SPACING)\n || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n $tocLinkElements[activeTocIndex].classList.add('active');\n let $parent = $tocLinkElements[activeTocIndex].parentElement;\n while ($parent !== $tocCore) {\n $parent.classList.add('has-active');\n $parent = $parent.parentElement.parentElement;\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMath() {\n if (this.config.math) renderMathInElement(document.body, this.config.math);\n }\n\n initMermaid() {\n const $mermaidElements = document.getElementsByClassName('mermaid');\n if ($mermaidElements.length) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach($mermaidElements, $mermaid => {\n mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n }, $mermaid);\n });\n }\n }\n\n initEcharts() {\n this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(this.data[$echarts.id]));\n this._echartsArr.push(chart);\n });\n });\n this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n this._echartsOnSwitchTheme();\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n\n initMapbox() {\n if (this.config.mapbox) {\n mapboxgl.accessToken = this.config.mapbox.accessToken;\n mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n this._mapboxArr = this._mapboxArr || [];\n this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n const mapbox = new mapboxgl.Map({\n container: $mapbox,\n center: [lng, lat],\n zoom: zoom,\n minZoom: .2,\n style: this.isDark ? darkStyle : lightStyle,\n attributionControl: false,\n });\n if (marked) {\n new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n }\n if (navigation) {\n mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n if (geolocate) {\n mapbox.addControl(new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserLocation: true,\n trackUserLocation: true,\n }), 'bottom-right');\n }\n if (scale) {\n mapbox.addControl(new mapboxgl.ScaleControl());\n }\n if (fullscreen) {\n mapbox.addControl(new mapboxgl.FullscreenControl());\n }\n mapbox.addControl(new MapboxLanguage());\n this._mapboxArr.push(mapbox);\n });\n this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n this.util.forEach(this._mapboxArr, mapbox => {\n const $mapbox = mapbox.getContainer();\n const { lightStyle, darkStyle } = this.data[$mapbox.id];\n mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n mapbox.addControl(new MapboxLanguage());\n });\n });\n this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n }\n }\n\n initTypeit() {\n if (this.config.typeit) {\n this.config.typeit.forEach(group => {\n const typeone = (i) => {\n const id = group[i];\n if (i === group.length - 1) {\n new TypeIt(`#${id}`, {\n strings: this.data[id],\n }).go();\n return;\n }\n let instance = new TypeIt(`#${id}`, {\n strings: this.data[id],\n afterComplete: () => {\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n };\n typeone(0);\n });\n }\n }\n\n initComment() {\n if (this.config.comment && this.config.comment.gitalk) {\n this.config.comment.gitalk.body = decodeURI(window.location.href);\n const gitalk = new Gitalk(this.config.comment.gitalk.body);\n gitalk.render('gitalk');\n }\n if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n }\n\n initSmoothScroll() {\n if ((!this.util.isMobile() && this.config.headerMode.desktop === 'normal')\n || (this.util.isMobile() && this.config.headerMode.mobile === 'normal')) {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true});\n } else {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true, header: '#header-desktop'});\n }\n }\n\n onScroll() {\n const $headers = [];\n if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n if (document.getElementById('comments')) {\n const $viewComments = document.getElementById('view-comments');\n $viewComments.href = `#comments`;\n $viewComments.style.display = 'block';\n }\n const $fixedButtons = document.getElementById('fixed-buttons');\n const MIN_SCROLL = 20;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n this.util.forEach($headers, $header => {\n if (scroll > MIN_SCROLL) {\n $header.classList.remove('fadeInDown');\n this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n } else if (scroll < - MIN_SCROLL) {\n $header.classList.remove('fadeOutUp');\n this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n }\n });\n if (this.newScrollTop > MIN_SCROLL) {\n if (scroll > MIN_SCROLL) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n } else if (scroll < - MIN_SCROLL) {\n $fixedButtons.style.display = 'block';\n $fixedButtons.classList.remove('fadeOut');\n this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n }\n } else {\n $fixedButtons.style.display = 'none';\n }\n for (let event of this.scrollEventSet) event();\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initToc();\n this.initSmoothScroll();\n this.initMermaid();\n this.initSearch();\n }, 100);\n }\n }, false);\n }\n\n onClickMask() {\n document.getElementById('mask').addEventListener('click', () => {\n for (let event of this.clickMaskEventSet) event();\n document.body.classList.remove('blur');\n }, false);\n }\n\n init() {\n this.initIcon();\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initSearch();\n this.initDetails();\n this.initLightGallery();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initToc();\n this.initComment();\n this.initSmoothScroll();\n this.initMath();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initMapbox();\n\n this.onScroll();\n this.onResize();\n this.onClickMask();\n }\n}\n\nconst themeInit = () => {\n const theme = new Theme();\n theme.init();\n};\n\nif (document.readyState !== 'loading') {\n themeInit();\n} else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"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","file":"theme.min.js","sourcesContent":["class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) handler(elements[i]);\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n\n animateCSS(element, animation, reserved, callback) {\n if (!Array.isArray(animation)) animation = [animation];\n element.classList.add('animated', ...animation);\n const handler = () => {\n element.classList.remove('animated', ...animation);\n element.removeEventListener('animationend', handler);\n if (typeof callback === 'function') callback();\n };\n if (!reserved) element.addEventListener('animationend', handler, false);\n }\n}\n\nclass Theme {\n constructor() {\n this.config = window.config;\n this.data = this.config.data;\n this.isDark = document.body.classList.contains('dark');\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n this.switchThemeEventSet = new Set();\n this.clickMaskEventSet = new Set();\n }\n\n initSVGIcon() {\n this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n fetch($icon.getAttribute('data-svg-src'))\n .then(response => response.text())\n .then(svg => {\n const $temp = document.createElement('div');\n $temp.insertAdjacentHTML('afterbegin', svg);\n const $svg = $temp.firstChild;\n $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n $svg.classList.add('icon');\n $icon.parentElement.replaceChild($svg, $icon);\n })\n .catch(console.error.bind(console));\n });\n }\n\n initTwemoji() {\n if (this.config.twemoji) twemoji.parse(document.body);\n }\n\n initMenuMobile() {\n const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const $menuMobile = document.getElementById('menu-mobile');\n $menuToggleMobile.addEventListener('click', () => {\n document.body.classList.toggle('blur');\n $menuToggleMobile.classList.toggle('active');\n $menuMobile.classList.toggle('active');\n }, false);\n this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n $menuToggleMobile.classList.remove('active');\n $menuMobile.classList.remove('active');\n });\n this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n $themeSwitch.addEventListener('click', () => {\n document.body.classList.toggle('dark');\n this.isDark = !this.isDark;\n window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n for (let event of this.switchThemeEventSet) event();\n }, false);\n });\n }\n\n initSearch() {\n const searchConfig = this.config.search;\n const isMobile = this.util.isMobile();\n if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n const classSuffix = isMobile ? 'mobile' : 'desktop';\n const $header = document.getElementById(`header-${classSuffix}`);\n const $searchInput = document.getElementById(`search-input-${classSuffix}`);\n const $searchToggle = document.getElementById(`search-toggle-${classSuffix}`);\n const $searchLoading = document.getElementById(`search-loading-${classSuffix}`);\n const $searchClear = document.getElementById(`search-clear-${classSuffix}`);\n if (isMobile) {\n this._searchMobileOnce = true;\n $searchInput.addEventListener('focus', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n }, false);\n document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n $header.classList.remove('open');\n document.body.classList.remove('blur');\n document.getElementById('menu-toggle-mobile').classList.remove('active');\n document.getElementById('menu-mobile').classList.remove('active');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n } else {\n this._searchDesktopOnce = true;\n $searchToggle.addEventListener('click', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n $searchInput.focus();\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n }, false);\n this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n }\n $searchInput.addEventListener('input', () => {\n if ($searchInput.value === '') $searchClear.style.display = 'none';\n else $searchClear.style.display = 'inline';\n }, false);\n\n const CONTEXT_LENGTH = 200;\n const initAutosearch = () => {\n const autosearch = autocomplete(`#search-input-${classSuffix}`, {\n hint: false,\n autoselect: true,\n dropdownMenuContainer: `#search-dropdown-${classSuffix}`,\n clearOnSelected: true,\n cssClasses: { noPrefix: true },\n // debug: true,\n }, {\n name: 'search',\n source: (query, callback) => {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n const finish = (results) => {\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'inline';\n callback(results);\n };\n if (searchConfig.type === 'lunr') {\n const search = () => {\n if (lunr.queryHandler) query = lunr.queryHandler(query);\n return this._index.search(query).slice(0, 12).map(({ ref, matchData: { metadata } }) => {\n const matchData = this._indexData[ref];\n let { title, content: context } = matchData;\n let position = 0;\n Object.values(metadata).forEach(({ description, content }) => {\n if (description) {\n context = matchData.description;\n position = -1;\n } else if (content) {\n const matchPosition = content.position[0][0];\n if (matchPosition < position || position === 0) position = matchPosition;\n }\n });\n position -= CONTEXT_LENGTH / 5;\n if (position > 0) {\n position += context.substr(position, 25).lastIndexOf(' ') + 1;\n context = '...' + context.substr(position, CONTEXT_LENGTH);\n } else {\n context = context.substr(0, CONTEXT_LENGTH);\n }\n Object.keys(metadata).forEach(key => {\n title = title.replace(new RegExp(`(${key})`, 'gi'), '$1');\n context = context.replace(new RegExp(`(${key})`, 'gi'), '$1');\n });\n return {\n 'uri': matchData.uri,\n 'title' : title,\n 'date' : matchData.date,\n 'context' : context,\n };\n });\n }\n if (!this._index) {\n fetch(searchConfig.lunrIndexURL)\n .then(response => response.json())\n .then(data => {\n const indexData = {};\n this._index = lunr(function () {\n if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n this.ref('uri');\n this.field('title', { boost: 50 });\n this.field('tags', { boost: 20 });\n this.field('description', { boost: 10 });\n this.field('content', { boost: 5 });\n this.metadataWhitelist = ['position'];\n data.forEach((record) => {\n indexData[record.uri] = record;\n this.add(record);\n });\n });\n this._indexData = indexData;\n finish(search());\n }).catch(err => {\n console.error(err);\n finish([]);\n });\n } else finish(search());\n } else if (searchConfig.type === 'algolia') {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n this._algoliaIndex\n .search(query, { offset: 0, length: 12, attributesToHighlight: ['title', 'content'] })\n .then(({ hits }) => {\n finish(hits.map(({ uri, date, _highlightResult: { title, content } }) => ({\n uri: uri,\n title: title.value,\n date: date,\n context: content.value,\n })));\n })\n .catch(err => {\n console.error(err);\n finish([]);\n });\n }\n },\n templates: {\n suggestion: ({ title, date, context }) => `
${title}${date}
${context}
`,\n empty: ({ query }) => `
${searchConfig.noResultsFound}: \"${query}\"
`,\n footer: ({}) => {\n const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n searchType: 'algolia',\n icon: '',\n href: 'https://www.algolia.com/',\n } : {\n searchType: 'Lunr.js',\n icon: '',\n href: 'https://lunrjs.com/',\n };\n return ``;},\n },\n });\n autosearch.on('autocomplete:selected', (event, suggestion, dataset, context) => {\n window.location.assign(suggestion.uri);\n });\n if (isMobile) this._searchMobile = autosearch;\n else this._searchDesktop = autosearch;\n };\n if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n const script = document.createElement('script');\n script.id = 'lunr-segmentit';\n script.type = 'text/javascript';\n script.src = searchConfig.lunrSegmentitURL;\n script.async = true;\n if (script.readyState) {\n script.onreadystatechange = () => {\n if (script.readyState == 'loaded' || script.readyState == 'complete'){\n script.onreadystatechange = null;\n initAutosearch();\n }\n };\n } else {\n script.onload = () => {\n initAutosearch();\n };\n }\n document.body.appendChild(script);\n } else initAutosearch();\n }\n\n initDetails() {\n this.util.forEach(document.getElementsByClassName('details'), $details => {\n const $summary = $details.getElementsByClassName('details-summary')[0];\n $summary.addEventListener('click', () => {\n $details.classList.toggle('open');\n }, false);\n });\n }\n\n initLightGallery() {\n if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n const $chroma = document.createElement('div');\n $chroma.className = $preChroma.className;\n const $table = document.createElement('table');\n $chroma.appendChild($table);\n const $tbody = document.createElement('tbody');\n $table.appendChild($tbody);\n const $tr = document.createElement('tr');\n $tbody.appendChild($tr);\n const $td = document.createElement('td');\n $tr.appendChild($td);\n $preChroma.parentElement.replaceChild($chroma, $preChroma);\n $td.appendChild($preChroma);\n });\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n if ($codeElements.length) {\n const $code = $codeElements[$codeElements.length - 1];\n const $header = document.createElement('div');\n $header.className = 'code-header ' + $code.className.toLowerCase();\n const $title = document.createElement('span');\n $title.classList.add('code-title');\n $title.insertAdjacentHTML('afterbegin', '');\n $title.addEventListener('click', () => {\n $chroma.classList.toggle('open');\n }, false);\n $header.appendChild($title);\n const $ellipses = document.createElement('span');\n $ellipses.insertAdjacentHTML('afterbegin', '');\n $ellipses.classList.add('ellipses');\n $ellipses.addEventListener('click', () => {\n $chroma.classList.add('open');\n }, false);\n $header.appendChild($ellipses);\n const $copy = document.createElement('span');\n $copy.insertAdjacentHTML('afterbegin', '');\n $copy.classList.add('copy');\n const code = $code.innerText;\n if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n if (this.config.code.copyTitle) {\n $copy.setAttribute('data-clipboard-text', code);\n $copy.title = this.config.code.copyTitle;\n const clipboard = new ClipboardJS($copy);\n clipboard.on('success', e => {\n this.util.animateCSS($code, 'flash');\n });\n $header.appendChild($copy);\n }\n $chroma.insertBefore($header, $chroma.firstChild);\n }\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.content table'), $table => {\n const $wrapper = document.createElement('div');\n $wrapper.className = 'table-wrapper';\n $table.parentElement.replaceChild($wrapper, $table);\n $wrapper.appendChild($table);\n });\n }\n\n initHeaderLink() {\n for (let num = 1; num <= 6; num++) {\n this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n $header.classList.add('headerLink');\n $header.insertAdjacentHTML('afterbegin', ``);\n });\n }\n }\n\n initToc() {\n const $tocCore = document.getElementById('TableOfContents');\n if ($tocCore === null) return;\n if (this.util.isTocStatic()) {\n const $tocContentStatic = document.getElementById('toc-content-static');\n if ($tocCore.parentElement !== $tocContentStatic) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentStatic.appendChild($tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const $tocContentAuto = document.getElementById('toc-content-auto');\n if ($tocCore.parentElement !== $tocContentAuto) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentAuto.appendChild($tocCore);\n }\n const $toc = document.getElementById('toc-auto');\n const $page = document.getElementsByClassName('page')[0];\n const rect = $page.getBoundingClientRect();\n $toc.style.left = `${rect.left + rect.width + 20}px`;\n $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n const $tocLinkElements = $tocCore.getElementsByTagName('a');\n const $tocLiElements = $tocCore.getElementsByTagName('li');\n const $headerLinkElements = document.getElementsByClassName('headerLink');\n const headerIsFixed = this.config.headerMode.desktop !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = $toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('post-footer').offsetTop;\n const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${maxTocTop}px`;\n } else {\n $toc.style.position = 'fixed';\n $toc.style.top = `${TOP_SPACING}px`;\n }\n\n this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = $headerLinkElements.length - 1;\n for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n if ((i == 0 && thisTop > INDEX_SPACING)\n || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n $tocLinkElements[activeTocIndex].classList.add('active');\n let $parent = $tocLinkElements[activeTocIndex].parentElement;\n while ($parent !== $tocCore) {\n $parent.classList.add('has-active');\n $parent = $parent.parentElement.parentElement;\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMath() {\n if (this.config.math) renderMathInElement(document.body, this.config.math);\n }\n\n initMermaid() {\n const $mermaidElements = document.getElementsByClassName('mermaid');\n if ($mermaidElements.length) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach($mermaidElements, $mermaid => {\n mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n }, $mermaid);\n });\n }\n }\n\n initEcharts() {\n this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(this.data[$echarts.id]));\n this._echartsArr.push(chart);\n });\n });\n this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n this._echartsOnSwitchTheme();\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n\n initMapbox() {\n if (this.config.mapbox) {\n mapboxgl.accessToken = this.config.mapbox.accessToken;\n mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n this._mapboxArr = this._mapboxArr || [];\n this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n const mapbox = new mapboxgl.Map({\n container: $mapbox,\n center: [lng, lat],\n zoom: zoom,\n minZoom: .2,\n style: this.isDark ? darkStyle : lightStyle,\n attributionControl: false,\n });\n if (marked) {\n new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n }\n if (navigation) {\n mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n if (geolocate) {\n mapbox.addControl(new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserLocation: true,\n trackUserLocation: true,\n }), 'bottom-right');\n }\n if (scale) {\n mapbox.addControl(new mapboxgl.ScaleControl());\n }\n if (fullscreen) {\n mapbox.addControl(new mapboxgl.FullscreenControl());\n }\n mapbox.addControl(new MapboxLanguage());\n this._mapboxArr.push(mapbox);\n });\n this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n this.util.forEach(this._mapboxArr, mapbox => {\n const $mapbox = mapbox.getContainer();\n const { lightStyle, darkStyle } = this.data[$mapbox.id];\n mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n mapbox.addControl(new MapboxLanguage());\n });\n });\n this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n }\n }\n\n initTypeit() {\n if (this.config.typeit) {\n this.config.typeit.forEach(group => {\n const typeone = (i) => {\n const id = group[i];\n if (i === group.length - 1) {\n new TypeIt(`#${id}`, {\n strings: this.data[id],\n }).go();\n return;\n }\n let instance = new TypeIt(`#${id}`, {\n strings: this.data[id],\n afterComplete: () => {\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n };\n typeone(0);\n });\n }\n }\n\n initComment() {\n if (this.config.comment && this.config.comment.gitalk) {\n this.config.comment.gitalk.body = decodeURI(window.location.href);\n const gitalk = new Gitalk(this.config.comment.gitalk.body);\n gitalk.render('gitalk');\n }\n if (this.config.comment && this.config.comment.valine) new Valine(this.config.comment.valine);\n }\n\n initSmoothScroll() {\n if ((!this.util.isMobile() && this.config.headerMode.desktop === 'normal')\n || (this.util.isMobile() && this.config.headerMode.mobile === 'normal')) {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true});\n } else {\n new SmoothScroll('[href^=\"#\"]', {speed: 300, speedAsDuration: true, header: '#header-desktop'});\n }\n }\n\n onScroll() {\n const $headers = [];\n if (this.config.headerMode.desktop === 'auto') $headers.push(document.getElementById('header-desktop'));\n if (this.config.headerMode.mobile === 'auto') $headers.push(document.getElementById('header-mobile'));\n if (document.getElementById('comments')) {\n const $viewComments = document.getElementById('view-comments');\n $viewComments.href = `#comments`;\n $viewComments.style.display = 'block';\n }\n const $fixedButtons = document.getElementById('fixed-buttons');\n const MIN_SCROLL = 20;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n this.util.forEach($headers, $header => {\n if (scroll > MIN_SCROLL) {\n $header.classList.remove('fadeInDown');\n this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n } else if (scroll < - MIN_SCROLL) {\n $header.classList.remove('fadeOutUp');\n this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n }\n });\n if (this.newScrollTop > MIN_SCROLL) {\n if (scroll > MIN_SCROLL) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n } else if (scroll < - MIN_SCROLL) {\n $fixedButtons.style.display = 'block';\n $fixedButtons.classList.remove('fadeOut');\n this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n }\n } else {\n $fixedButtons.style.display = 'none';\n }\n for (let event of this.scrollEventSet) event();\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initToc();\n this.initSmoothScroll();\n this.initMermaid();\n this.initSearch();\n }, 100);\n }\n }, false);\n }\n\n onClickMask() {\n document.getElementById('mask').addEventListener('click', () => {\n for (let event of this.clickMaskEventSet) event();\n document.body.classList.remove('blur');\n }, false);\n }\n\n init() {\n this.initSVGIcon();\n this.initTwemoji();\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initSearch();\n this.initDetails();\n this.initLightGallery();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initToc();\n this.initComment();\n this.initSmoothScroll();\n this.initMath();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initMapbox();\n\n this.onScroll();\n this.onResize();\n this.onClickMask();\n }\n}\n\nconst themeInit = () => {\n const theme = new Theme();\n theme.init();\n};\n\nif (document.readyState !== 'loading') {\n themeInit();\n} else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]} \ No newline at end of file diff --git a/assets/lib/VERSION b/assets/lib/VERSION index cead273..d9d2248 100644 --- a/assets/lib/VERSION +++ b/assets/lib/VERSION @@ -7,6 +7,7 @@ autocomplete.js@0.37.1 https://github.com/algolia/autocomplete.js lunr.js@2.3.8 https://lunrjs.com/ algoliasearch@4.2.0 https://github.com/algolia/algoliasearch-client-javascript lazysizes@5.2.0 https://github.com/aFarkas/lazysizes +twemoji@12.1.5 https://github.com/twitter/twemoji lightgallery.js@1.1.3 lg-thumbnail@1.1.0 lg-zoom@1.1.0 https://github.com/sachinchoolur/lightgallery.js clipboard.js@2.0.6 https://github.com/zenorocha/clipboard.js sharer.js@0.4.0 https://github.com/ellisonleao/sharer.js diff --git a/assets/lib/twemoji/twemoji.min.js b/assets/lib/twemoji/twemoji.min.js new file mode 100644 index 0000000..9e564b9 --- /dev/null +++ b/assets/lib/twemoji/twemoji.min.js @@ -0,0 +1,2 @@ +/*! Copyright Twitter Inc. and other contributors. Licensed under MIT */ +var twemoji=function(){"use strict";var twemoji={base:"https://twemoji.maxcdn.com/v/12.1.5/",ext:".png",size:"72x72",className:"emoji",convert:{fromCodePoint:fromCodePoint,toCodePoint:toCodePoint},onerror:function onerror(){if(this.parentNode){this.parentNode.replaceChild(createText(this.alt,false),this)}},parse:parse,replace:replace,test:test},escaper={"&":"&","<":"<",">":">","'":"'",'"':"""},re=/(?:\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5\udeeb\udeec\udef4-\udefa\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd71\udd73-\udd76\udd7a-\udda2\udda5-\uddaa\uddae-\uddb4\uddb7\uddba\uddbc-\uddca\uddd0\uddde-\uddff\ude70-\ude73\ude78-\ude7a\ude80-\ude82\ude90-\ude95]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,UFE0Fg=/\uFE0F/g,U200D=String.fromCharCode(8205),rescaper=/[&<>'"]/g,shouldntBeParsed=/^(?:iframe|noframes|noscript|script|select|style|textarea)$/,fromCharCode=String.fromCharCode;return twemoji;function createText(text,clean){return document.createTextNode(clean?text.replace(UFE0Fg,""):text)}function escapeHTML(s){return s.replace(rescaper,replacer)}function defaultImageSrcGenerator(icon,options){return"".concat(options.base,options.size,"/",icon,options.ext)}function grabAllTextNodes(node,allText){var childNodes=node.childNodes,length=childNodes.length,subnode,nodeType;while(length--){subnode=childNodes[length];nodeType=subnode.nodeType;if(nodeType===3){allText.push(subnode)}else if(nodeType===1&&!("ownerSVGElement"in subnode)&&!shouldntBeParsed.test(subnode.nodeName.toLowerCase())){grabAllTextNodes(subnode,allText)}}return allText}function grabTheRightIcon(rawText){return toCodePoint(rawText.indexOf(U200D)<0?rawText.replace(UFE0Fg,""):rawText)}function parseNode(node,options){var allText=grabAllTextNodes(node,[]),length=allText.length,attrib,attrname,modified,fragment,subnode,text,match,i,index,img,rawText,iconId,src;while(length--){modified=false;fragment=document.createDocumentFragment();subnode=allText[length];text=subnode.nodeValue;i=0;while(match=re.exec(text)){index=match.index;if(index!==i){fragment.appendChild(createText(text.slice(i,index),true))}rawText=match[0];iconId=grabTheRightIcon(rawText);i=index+rawText.length;src=options.callback(iconId,options);if(iconId&&src){img=new Image;img.onerror=options.onerror;img.setAttribute("draggable","false");attrib=options.attributes(rawText,iconId);for(attrname in attrib){if(attrib.hasOwnProperty(attrname)&&attrname.indexOf("on")!==0&&!img.hasAttribute(attrname)){img.setAttribute(attrname,attrib[attrname])}}img.className=options.className;img.alt=rawText;img.src=src;modified=true;fragment.appendChild(img)}if(!img)fragment.appendChild(createText(rawText,false));img=null}if(modified){if(i")}return ret})}function replacer(m){return escaper[m]}function returnNull(){return null}function toSizeSquaredAsset(value){return typeof value==="number"?value+"x"+value:value}function fromCodePoint(codepoint){var code=typeof codepoint==="string"?parseInt(codepoint,16):codepoint;if(code<65536){return fromCharCode(code)}code-=65536;return fromCharCode(55296+(code>>10),56320+(code&1023))}function parse(what,how){if(!how||typeof how==="function"){how={callback:how}}return(typeof what==="string"?parseString:parseNode)(what,{callback:how.callback||defaultImageSrcGenerator,attributes:typeof how.attributes==="function"?how.attributes:returnNull,base:typeof how.base==="string"?how.base:twemoji.base,ext:how.ext||twemoji.ext,size:how.folder||toSizeSquaredAsset(how.size||twemoji.size),className:how.className||twemoji.className,onerror:how.onerror||twemoji.onerror})}function replace(text,callback){return String(text).replace(re,callback)}function test(text){re.lastIndex=0;var result=re.test(text);re.lastIndex=0;return result}function toCodePoint(unicodeSurrogates,sep){var r=[],c=0,p=0,i=0;while(i:grinning: | `grinning` | :smiley: | `smiley` | -| :smile: | `smile` | :grin: | `grin` | -| :laughing: | `laughing`
`satisfied` | :sweat_smile: | `sweat_smile` | -| :rofl: | `rofl` | :joy: | `joy` | -| :slightly_smiling_face: | `slightly_smiling_face` | :upside_down_face: | `upside_down_face` | -| :wink: | `wink` | :blush: | `blush` | -| :innocent: | `innocent` | | | +| :grinning: | `grinning` | :smiley: | `smiley` | +| :smile: | `smile` | :grin: | `grin` | +| :laughing: | `laughing`
`satisfied` | :sweat_smile: | `sweat_smile` | +| :rofl: | `rofl` | :joy: | `joy` | +| :slightly_smiling_face: | `slightly_smiling_face` | :upside_down_face: | `upside_down_face` | +| :wink: | `wink` | :blush: | `blush` | +| :innocent: | `innocent` | | | #### Face Affection | icon | code | icon | code | | :-: | - | :-: | - | -| :heart_eyes: | `heart_eyes` | :kissing_heart: | `kissing_heart` | -| :kissing: | `kissing` | :relaxed: | `relaxed` | -| :kissing_closed_eyes: | `kissing_closed_eyes` | :kissing_smiling_eyes: | `kissing_smiling_eyes` | +| :heart_eyes: | `heart_eyes` | :kissing_heart: | `kissing_heart` | +| :kissing: | `kissing` | :relaxed: | `relaxed` | +| :kissing_closed_eyes: | `kissing_closed_eyes` | :kissing_smiling_eyes: | `kissing_smiling_eyes` | #### Face Tongue | icon | code | icon | code | | :-: | - | :-: | - | -| :yum: | `yum` | :stuck_out_tongue: | `stuck_out_tongue` | -| :stuck_out_tongue_winking_eye: | `stuck_out_tongue_winking_eye` | :stuck_out_tongue_closed_eyes: | `stuck_out_tongue_closed_eyes` | -| :money_mouth_face: | `money_mouth_face` | | | +| :yum: | `yum` | :stuck_out_tongue: | `stuck_out_tongue` | +| :stuck_out_tongue_winking_eye: | `stuck_out_tongue_winking_eye` | :stuck_out_tongue_closed_eyes: | `stuck_out_tongue_closed_eyes` | +| :money_mouth_face: | `money_mouth_face` | | | #### Face Hand | icon | code | icon | code | | :-: | - | :-: | - | -| :hugs: | `hugs` | :thinking: | `thinking` | +| :hugs: | `hugs` | :thinking: | `thinking` | #### Face Neutral Skeptical | icon | code | icon | code | | :-: | - | :-: | - | -| :zipper_mouth_face: | `zipper_mouth_face` | :neutral_face: | `neutral_face` | -| :expressionless: | `expressionless` | :no_mouth: | `no_mouth` | -| :smirk: | `smirk` | :unamused: | `unamused` | -| :roll_eyes: | `roll_eyes` | :grimacing: | `grimacing` | -| :lying_face: | `lying_face` | | | +| :zipper_mouth_face: | `zipper_mouth_face` | :neutral_face: | `neutral_face` | +| :expressionless: | `expressionless` | :no_mouth: | `no_mouth` | +| :smirk: | `smirk` | :unamused: | `unamused` | +| :roll_eyes: | `roll_eyes` | :grimacing: | `grimacing` | +| :lying_face: | `lying_face` | | | #### Face Sleepy | icon | code | icon | code | | :-: | - | :-: | - | -| :relieved: | `relieved` | :pensive: | `pensive` | -| :sleepy: | `sleepy` | :drooling_face: | `drooling_face` | -| :sleeping: | `sleeping` | | | +| :relieved: | `relieved` | :pensive: | `pensive` | +| :sleepy: | `sleepy` | :drooling_face: | `drooling_face` | +| :sleeping: | `sleeping` | | | #### Face Unwell | icon | code | icon | code | | :-: | - | :-: | - | -| :mask: | `mask` | :face_with_thermometer: | `face_with_thermometer` | -| :face_with_head_bandage: | `face_with_head_bandage` | :nauseated_face: | `nauseated_face` | -| :sneezing_face: | `sneezing_face` | :dizzy_face: | `dizzy_face` | +| :mask: | `mask` | :face_with_thermometer: | `face_with_thermometer` | +| :face_with_head_bandage: | `face_with_head_bandage` | :nauseated_face: | `nauseated_face` | +| :sneezing_face: | `sneezing_face` | :dizzy_face: | `dizzy_face` | #### Face Hat | icon | code | icon | code | | :-: | - | :-: | - | -| :cowboy_hat_face: | `cowboy_hat_face` | | | +| :cowboy_hat_face: | `cowboy_hat_face` | | | #### Face Glasses | icon | code | icon | code | | :-: | - | :-: | - | -| :sunglasses: | `sunglasses` | :nerd_face: | `nerd_face` | +| :sunglasses: | `sunglasses` | :nerd_face: | `nerd_face` | #### Face Concerned | icon | code | icon | code | | :-: | - | :-: | - | -| :confused: | `confused` | :worried: | `worried` | -| :slightly_frowning_face: | `slightly_frowning_face` | :frowning_face: | `frowning_face` | -| :open_mouth: | `open_mouth` | :hushed: | `hushed` | -| :astonished: | `astonished` | :flushed: | `flushed` | -| :frowning: | `frowning` | :anguished: | `anguished` | -| :fearful: | `fearful` | :cold_sweat: | `cold_sweat` | -| :disappointed_relieved: | `disappointed_relieved` | :cry: | `cry` | -| :sob: | `sob` | :scream: | `scream` | -| :confounded: | `confounded` | :persevere: | `persevere` | -| :disappointed: | `disappointed` | :sweat: | `sweat` | -| :weary: | `weary` | :tired_face: | `tired_face` | +| :confused: | `confused` | :worried: | `worried` | +| :slightly_frowning_face: | `slightly_frowning_face` | :frowning_face: | `frowning_face` | +| :open_mouth: | `open_mouth` | :hushed: | `hushed` | +| :astonished: | `astonished` | :flushed: | `flushed` | +| :frowning: | `frowning` | :anguished: | `anguished` | +| :fearful: | `fearful` | :cold_sweat: | `cold_sweat` | +| :disappointed_relieved: | `disappointed_relieved` | :cry: | `cry` | +| :sob: | `sob` | :scream: | `scream` | +| :confounded: | `confounded` | :persevere: | `persevere` | +| :disappointed: | `disappointed` | :sweat: | `sweat` | +| :weary: | `weary` | :tired_face: | `tired_face` | #### Face Negative | icon | code | icon | code | | :-: | - | :-: | - | -| :triumph: | `triumph` | :pout: | `pout`
`rage` | -| :angry: | `angry` | :smiling_imp: | `smiling_imp` | -| :imp: | `imp` | :skull: | `skull` | -| :skull_and_crossbones: | `skull_and_crossbones` | | | +| :triumph: | `triumph` | :pout: | `pout`
`rage` | +| :angry: | `angry` | :smiling_imp: | `smiling_imp` | +| :imp: | `imp` | :skull: | `skull` | +| :skull_and_crossbones: | `skull_and_crossbones` | | | #### Face Costume | icon | code | icon | code | | :-: | - | :-: | - | -| :hankey: | `hankey`
`poop`
`shit` | :clown_face: | `clown_face` | -| :japanese_ogre: | `japanese_ogre` | :japanese_goblin: | `japanese_goblin` | -| :ghost: | `ghost` | :alien: | `alien` | -| :space_invader: | `space_invader` | :robot: | `robot` | +| :hankey: | `hankey`
`poop`
`shit` | :clown_face: | `clown_face` | +| :japanese_ogre: | `japanese_ogre` | :japanese_goblin: | `japanese_goblin` | +| :ghost: | `ghost` | :alien: | `alien` | +| :space_invader: | `space_invader` | :robot: | `robot` | #### Cat Face | icon | code | icon | code | | :-: | - | :-: | - | -| :smiley_cat: | `smiley_cat` | :smile_cat: | `smile_cat` | -| :joy_cat: | `joy_cat` | :heart_eyes_cat: | `heart_eyes_cat` | -| :smirk_cat: | `smirk_cat` | :kissing_cat: | `kissing_cat` | -| :scream_cat: | `scream_cat` | :crying_cat_face: | `crying_cat_face` | -| :pouting_cat: | `pouting_cat` | | | +| :smiley_cat: | `smiley_cat` | :smile_cat: | `smile_cat` | +| :joy_cat: | `joy_cat` | :heart_eyes_cat: | `heart_eyes_cat` | +| :smirk_cat: | `smirk_cat` | :kissing_cat: | `kissing_cat` | +| :scream_cat: | `scream_cat` | :crying_cat_face: | `crying_cat_face` | +| :pouting_cat: | `pouting_cat` | | | #### Monkey Face | icon | code | icon | code | | :-: | - | :-: | - | -| :see_no_evil: | `see_no_evil` | :hear_no_evil: | `hear_no_evil` | -| :speak_no_evil: | `speak_no_evil` | | | +| :see_no_evil: | `see_no_evil` | :hear_no_evil: | `hear_no_evil` | +| :speak_no_evil: | `speak_no_evil` | | | #### Emotion | icon | code | icon | code | | :-: | - | :-: | - | -| :kiss: | `kiss` | :love_letter: | `love_letter` | -| :cupid: | `cupid` | :gift_heart: | `gift_heart` | -| :sparkling_heart: | `sparkling_heart` | :heartpulse: | `heartpulse` | -| :heartbeat: | `heartbeat` | :revolving_hearts: | `revolving_hearts` | -| :two_hearts: | `two_hearts` | :heart_decoration: | `heart_decoration` | -| :heavy_heart_exclamation: | `heavy_heart_exclamation` | :broken_heart: | `broken_heart` | -| :heart: | `heart` | :yellow_heart: | `yellow_heart` | -| :green_heart: | `green_heart` | :blue_heart: | `blue_heart` | -| :purple_heart: | `purple_heart` | :black_heart: | `black_heart` | -| :100: | `100` | :anger: | `anger` | -| :boom: | `boom`
`collision` | :dizzy: | `dizzy` | -| :sweat_drops: | `sweat_drops` | :dash: | `dash` | -| :hole: | `hole` | :bomb: | `bomb` | -| :speech_balloon: | `speech_balloon` | :eye_speech_bubble: | `eye_speech_bubble` | -| :right_anger_bubble: | `right_anger_bubble` | :thought_balloon: | `thought_balloon` | -| :zzz: | `zzz` | | | +| :kiss: | `kiss` | :love_letter: | `love_letter` | +| :cupid: | `cupid` | :gift_heart: | `gift_heart` | +| :sparkling_heart: | `sparkling_heart` | :heartpulse: | `heartpulse` | +| :heartbeat: | `heartbeat` | :revolving_hearts: | `revolving_hearts` | +| :two_hearts: | `two_hearts` | :heart_decoration: | `heart_decoration` | +| :heavy_heart_exclamation: | `heavy_heart_exclamation` | :broken_heart: | `broken_heart` | +| :heart: | `heart` | :yellow_heart: | `yellow_heart` | +| :green_heart: | `green_heart` | :blue_heart: | `blue_heart` | +| :purple_heart: | `purple_heart` | :black_heart: | `black_heart` | +| :100: | `100` | :anger: | `anger` | +| :boom: | `boom`
`collision` | :dizzy: | `dizzy` | +| :sweat_drops: | `sweat_drops` | :dash: | `dash` | +| :hole: | `hole` | :bomb: | `bomb` | +| :speech_balloon: | `speech_balloon` | :eye_speech_bubble: | `eye_speech_bubble` | +| :right_anger_bubble: | `right_anger_bubble` | :thought_balloon: | `thought_balloon` | +| :zzz: | `zzz` | | | ### People & Body @@ -193,184 +194,184 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :wave: | `wave` | :raised_back_of_hand: | `raised_back_of_hand` | -| :raised_hand_with_fingers_splayed: | `raised_hand_with_fingers_splayed` | :hand: | `hand`
`raised_hand` | -| :vulcan_salute: | `vulcan_salute` | | | +| :wave: | `wave` | :raised_back_of_hand: | `raised_back_of_hand` | +| :raised_hand_with_fingers_splayed: | `raised_hand_with_fingers_splayed` | :hand: | `hand`
`raised_hand` | +| :vulcan_salute: | `vulcan_salute` | | | #### Hand Fingers Partial | icon | code | icon | code | | :-: | - | :-: | - | -| :ok_hand: | `ok_hand` | :v: | `v` | -| :crossed_fingers: | `crossed_fingers` | :metal: | `metal` | -| :call_me_hand: | `call_me_hand` | | | +| :ok_hand: | `ok_hand` | :v: | `v` | +| :crossed_fingers: | `crossed_fingers` | :metal: | `metal` | +| :call_me_hand: | `call_me_hand` | | | #### Hand Single Finger | icon | code | icon | code | | :-: | - | :-: | - | -| :point_left: | `point_left` | :point_right: | `point_right` | -| :point_up_2: | `point_up_2` | :fu: | `fu`
`middle_finger` | -| :point_down: | `point_down` | :point_up: | `point_up` | +| :point_left: | `point_left` | :point_right: | `point_right` | +| :point_up_2: | `point_up_2` | :fu: | `fu`
`middle_finger` | +| :point_down: | `point_down` | :point_up: | `point_up` | #### Hand Fingers Closed | icon | code | icon | code | | :-: | - | :-: | - | -| :+1: | `:+1:`
`thumbsup` | :-1: | `:-1:`
`thumbsdown` | -| :fist: | `fist`
`fist_raised` | :facepunch: | `facepunch`
`fist_oncoming`
`punch` | -| :fist_left: | `fist_left` | :fist_right: | `fist_right` | +| :+1: | `+1`
`thumbsup` | :-1: | `-1`
`thumbsdown` | +| :fist: | `fist`
`fist_raised` | :facepunch: | `facepunch`
`fist_oncoming`
`punch` | +| :fist_left: | `fist_left` | :fist_right: | `fist_right` | #### Hands | icon | code | icon | code | | :-: | - | :-: | - | -| :clap: | `clap` | :raised_hands: | `raised_hands` | -| :open_hands: | `open_hands` | :handshake: | `handshake` | -| :pray: | `pray` | | | +| :clap: | `clap` | :raised_hands: | `raised_hands` | +| :open_hands: | `open_hands` | :handshake: | `handshake` | +| :pray: | `pray` | | | #### Hand Prop | icon | code | icon | code | | :-: | - | :-: | - | -| :writing_hand: | `writing_hand` | :nail_care: | `nail_care` | -| :selfie: | `selfie` | | | +| :writing_hand: | `writing_hand` | :nail_care: | `nail_care` | +| :selfie: | `selfie` | | | #### Body Parts | icon | code | icon | code | | :-: | - | :-: | - | -| :muscle: | `muscle` | :ear: | `ear` | -| :nose: | `nose` | :eyes: | `eyes` | -| :eye: | `eye` | :tongue: | `tongue` | -| :lips: | `lips` | | | +| :muscle: | `muscle` | :ear: | `ear` | +| :nose: | `nose` | :eyes: | `eyes` | +| :eye: | `eye` | :tongue: | `tongue` | +| :lips: | `lips` | | | #### Person | icon | code | icon | code | | :-: | - | :-: | - | -| :baby: | `baby` | :boy: | `boy` | -| :girl: | `girl` | :blonde_man: | `blonde_man`
`person_with_blond_hair` | -| :man: | `man` | :woman: | `woman` | -| :blonde_woman: | `blonde_woman` | :older_man: | `older_man` | -| :older_woman: | `older_woman` | | | +| :baby: | `baby` | :boy: | `boy` | +| :girl: | `girl` | :blonde_man: | `blonde_man`
`person_with_blond_hair` | +| :man: | `man` | :woman: | `woman` | +| :blonde_woman: | `blonde_woman` | :older_man: | `older_man` | +| :older_woman: | `older_woman` | | | #### Person Gesture | icon | code | icon | code | | :-: | - | :-: | - | -| :frowning_woman: | `frowning_woman`
`person_frowning` | :frowning_man: | `frowning_man` | -| :person_with_pouting_face: | `person_with_pouting_face`
`pouting_woman` | :pouting_man: | `pouting_man` | -| :ng_woman: | `ng_woman`
`no_good`
`no_good_woman` | :ng_man: | `ng_man`
`no_good_man` | -| :ok_woman: | `ok_woman` | :ok_man: | `ok_man` | -| :information_desk_person: | `information_desk_person`
`sassy_woman`
`tipping_hand_woman` | :sassy_man: | `sassy_man`
`tipping_hand_man` | -| :raising_hand: | `raising_hand`
`raising_hand_woman` | :raising_hand_man: | `raising_hand_man` | -| :bow: | `bow`
`bowing_man` | :bowing_woman: | `bowing_woman` | -| :man_facepalming: | `man_facepalming` | :woman_facepalming: | `woman_facepalming` | -| :man_shrugging: | `man_shrugging` | :woman_shrugging: | `woman_shrugging` | +| :frowning_woman: | `frowning_woman`
`person_frowning` | :frowning_man: | `frowning_man` | +| :person_with_pouting_face: | `person_with_pouting_face`
`pouting_woman` | :pouting_man: | `pouting_man` | +| :ng_woman: | `ng_woman`
`no_good`
`no_good_woman` | :ng_man: | `ng_man`
`no_good_man` | +| :ok_woman: | `ok_woman` | :ok_man: | `ok_man` | +| :information_desk_person: | `information_desk_person`
`sassy_woman`
`tipping_hand_woman` | :sassy_man: | `sassy_man`
`tipping_hand_man` | +| :raising_hand: | `raising_hand`
`raising_hand_woman` | :raising_hand_man: | `raising_hand_man` | +| :bow: | `bow`
`bowing_man` | :bowing_woman: | `bowing_woman` | +| :man_facepalming: | `man_facepalming` | :woman_facepalming: | `woman_facepalming` | +| :man_shrugging: | `man_shrugging` | :woman_shrugging: | `woman_shrugging` | #### Person Role | icon | code | icon | code | | :-: | - | :-: | - | -| :man_health_worker: | `man_health_worker` | :woman_health_worker: | `woman_health_worker` | -| :man_student: | `man_student` | :woman_student: | `woman_student` | -| :man_teacher: | `man_teacher` | :woman_teacher: | `woman_teacher` | -| :man_judge: | `man_judge` | :woman_judge: | `woman_judge` | -| :man_farmer: | `man_farmer` | :woman_farmer: | `woman_farmer` | -| :man_cook: | `man_cook` | :woman_cook: | `woman_cook` | -| :man_mechanic: | `man_mechanic` | :woman_mechanic: | `woman_mechanic` | -| :man_factory_worker: | `man_factory_worker` | :woman_factory_worker: | `woman_factory_worker` | -| :man_office_worker: | `man_office_worker` | :woman_office_worker: | `woman_office_worker` | -| :man_scientist: | `man_scientist` | :woman_scientist: | `woman_scientist` | -| :man_technologist: | `man_technologist` | :woman_technologist: | `woman_technologist` | -| :man_singer: | `man_singer` | :woman_singer: | `woman_singer` | -| :man_artist: | `man_artist` | :woman_artist: | `woman_artist` | -| :man_pilot: | `man_pilot` | :woman_pilot: | `woman_pilot` | -| :man_astronaut: | `man_astronaut` | :woman_astronaut: | `woman_astronaut` | -| :man_firefighter: | `man_firefighter` | :woman_firefighter: | `woman_firefighter` | -| :cop: | `cop`
`policeman` | :policewoman: | `policewoman` | -| :detective: | `detective`
`male_detective` | :female_detective: | `female_detective` | -| :guardsman: | `guardsman` | :guardswoman: | `guardswoman` | -| :construction_worker: | `construction_worker`
`construction_worker_man` | :construction_worker_woman: | `construction_worker_woman` | -| :prince: | `prince` | :princess: | `princess` | -| :man_with_turban: | `man_with_turban` | :woman_with_turban: | `woman_with_turban` | -| :man_with_gua_pi_mao: | `man_with_gua_pi_mao` | :man_in_tuxedo: | `man_in_tuxedo` | -| :bride_with_veil: | `bride_with_veil` | :pregnant_woman: | `pregnant_woman` | +| :man_health_worker: | `man_health_worker` | :woman_health_worker: | `woman_health_worker` | +| :man_student: | `man_student` | :woman_student: | `woman_student` | +| :man_teacher: | `man_teacher` | :woman_teacher: | `woman_teacher` | +| :man_judge: | `man_judge` | :woman_judge: | `woman_judge` | +| :man_farmer: | `man_farmer` | :woman_farmer: | `woman_farmer` | +| :man_cook: | `man_cook` | :woman_cook: | `woman_cook` | +| :man_mechanic: | `man_mechanic` | :woman_mechanic: | `woman_mechanic` | +| :man_factory_worker: | `man_factory_worker` | :woman_factory_worker: | `woman_factory_worker` | +| :man_office_worker: | `man_office_worker` | :woman_office_worker: | `woman_office_worker` | +| :man_scientist: | `man_scientist` | :woman_scientist: | `woman_scientist` | +| :man_technologist: | `man_technologist` | :woman_technologist: | `woman_technologist` | +| :man_singer: | `man_singer` | :woman_singer: | `woman_singer` | +| :man_artist: | `man_artist` | :woman_artist: | `woman_artist` | +| :man_pilot: | `man_pilot` | :woman_pilot: | `woman_pilot` | +| :man_astronaut: | `man_astronaut` | :woman_astronaut: | `woman_astronaut` | +| :man_firefighter: | `man_firefighter` | :woman_firefighter: | `woman_firefighter` | +| :cop: | `cop`
`policeman` | :policewoman: | `policewoman` | +| :detective: | `detective`
`male_detective` | :female_detective: | `female_detective` | +| :guardsman: | `guardsman` | :guardswoman: | `guardswoman` | +| :construction_worker: | `construction_worker`
`construction_worker_man` | :construction_worker_woman: | `construction_worker_woman` | +| :prince: | `prince` | :princess: | `princess` | +| :man_with_turban: | `man_with_turban` | :woman_with_turban: | `woman_with_turban` | +| :man_with_gua_pi_mao: | `man_with_gua_pi_mao` | :man_in_tuxedo: | `man_in_tuxedo` | +| :bride_with_veil: | `bride_with_veil` | :pregnant_woman: | `pregnant_woman` | #### Person Fantasy | icon | code | icon | code | | :-: | - | :-: | - | -| :angel: | `angel` | :santa: | `santa` | -| :mrs_claus: | `mrs_claus` | | | +| :angel: | `angel` | :santa: | `santa` | +| :mrs_claus: | `mrs_claus` | | | #### Person Activity | icon | code | icon | code | | :-: | - | :-: | - | -| :massage: | `massage`
`massage_woman` | :massage_man: | `massage_man` | -| :haircut: | `haircut`
`haircut_woman` | :haircut_man: | `haircut_man` | -| :walking: | `walking`
`walking_man` | :walking_woman: | `walking_woman` | -| :runner: | `runner`
`running`
`running_man` | :running_woman: | `running_woman` | -| :dancer: | `dancer` | :man_dancing: | `man_dancing` | -| :business_suit_levitating: | `business_suit_levitating` | :dancers: | `dancers`
`dancing_women` | -| :dancing_men: | `dancing_men` | | | +| :massage: | `massage`
`massage_woman` | :massage_man: | `massage_man` | +| :haircut: | `haircut`
`haircut_woman` | :haircut_man: | `haircut_man` | +| :walking: | `walking`
`walking_man` | :walking_woman: | `walking_woman` | +| :runner: | `runner`
`running`
`running_man` | :running_woman: | `running_woman` | +| :dancer: | `dancer` | :man_dancing: | `man_dancing` | +| :business_suit_levitating: | `business_suit_levitating` | :dancers: | `dancers`
`dancing_women` | +| :dancing_men: | `dancing_men` | | | #### Person Sport | icon | code | icon | code | | :-: | - | :-: | - | -| :person_fencing: | `person_fencing` | :horse_racing: | `horse_racing` | -| :skier: | `skier` | :snowboarder: | `snowboarder` | -| :golfing_man: | `golfing_man` | :golfing_woman: | `golfing_woman` | -| :surfer: | `surfer`
`surfing_man` | :surfing_woman: | `surfing_woman` | -| :rowboat: | `rowboat`
`rowing_man` | :rowing_woman: | `rowing_woman` | -| :swimmer: | `swimmer`
`swimming_man` | :swimming_woman: | `swimming_woman` | -| :basketball_man: | `basketball_man` | :basketball_woman: | `basketball_woman` | -| :weight_lifting_man: | `weight_lifting_man` | :weight_lifting_woman: | `weight_lifting_woman` | -| :bicyclist: | `bicyclist`
`biking_man` | :biking_woman: | `biking_woman` | -| :mountain_bicyclist: | `mountain_bicyclist`
`mountain_biking_man` | :mountain_biking_woman: | `mountain_biking_woman` | -| :man_cartwheeling: | `man_cartwheeling` | :woman_cartwheeling: | `woman_cartwheeling` | -| :men_wrestling: | `men_wrestling` | :women_wrestling: | `women_wrestling` | -| :man_playing_water_polo: | `man_playing_water_polo` | :woman_playing_water_polo: | `woman_playing_water_polo` | -| :man_playing_handball: | `man_playing_handball` | :woman_playing_handball: | `woman_playing_handball` | -| :man_juggling: | `man_juggling` | :woman_juggling: | `woman_juggling` | +| :person_fencing: | `person_fencing` | :horse_racing: | `horse_racing` | +| :skier: | `skier` | :snowboarder: | `snowboarder` | +| :golfing_man: | `golfing_man` | :golfing_woman: | `golfing_woman` | +| :surfer: | `surfer`
`surfing_man` | :surfing_woman: | `surfing_woman` | +| :rowboat: | `rowboat`
`rowing_man` | :rowing_woman: | `rowing_woman` | +| :swimmer: | `swimmer`
`swimming_man` | :swimming_woman: | `swimming_woman` | +| :basketball_man: | `basketball_man` | :basketball_woman: | `basketball_woman` | +| :weight_lifting_man: | `weight_lifting_man` | :weight_lifting_woman: | `weight_lifting_woman` | +| :bicyclist: | `bicyclist`
`biking_man` | :biking_woman: | `biking_woman` | +| :mountain_bicyclist: | `mountain_bicyclist`
`mountain_biking_man` | :mountain_biking_woman: | `mountain_biking_woman` | +| :man_cartwheeling: | `man_cartwheeling` | :woman_cartwheeling: | `woman_cartwheeling` | +| :men_wrestling: | `men_wrestling` | :women_wrestling: | `women_wrestling` | +| :man_playing_water_polo: | `man_playing_water_polo` | :woman_playing_water_polo: | `woman_playing_water_polo` | +| :man_playing_handball: | `man_playing_handball` | :woman_playing_handball: | `woman_playing_handball` | +| :man_juggling: | `man_juggling` | :woman_juggling: | `woman_juggling` | #### Person Resting | icon | code | icon | code | | :-: | - | :-: | - | -| :bath: | `bath` | :sleeping_bed: | `sleeping_bed` | +| :bath: | `bath` | :sleeping_bed: | `sleeping_bed` | #### Family | icon | code | icon | code | | :-: | - | :-: | - | -| :two_women_holding_hands: | `two_women_holding_hands` | :couple: | `couple` | -| :two_men_holding_hands: | `two_men_holding_hands` | :couplekiss_man_woman: | `couplekiss_man_woman` | -| :couplekiss_man_man: | `couplekiss_man_man` | :couplekiss_woman_woman: | `couplekiss_woman_woman` | -| :couple_with_heart: | `couple_with_heart`
`couple_with_heart_woman_man` | :couple_with_heart_man_man: | `couple_with_heart_man_man` | -| :couple_with_heart_woman_woman: | `couple_with_heart_woman_woman` | :family: | `family`
`family_man_woman_boy` | -| :family_man_woman_girl: | `family_man_woman_girl` | :family_man_woman_girl_boy: | `family_man_woman_girl_boy` | -| :family_man_woman_boy_boy: | `family_man_woman_boy_boy` | :family_man_woman_girl_girl: | `family_man_woman_girl_girl` | -| :family_man_man_boy: | `family_man_man_boy` | :family_man_man_girl: | `family_man_man_girl` | -| :family_man_man_girl_boy: | `family_man_man_girl_boy` | :family_man_man_boy_boy: | `family_man_man_boy_boy` | -| :family_man_man_girl_girl: | `family_man_man_girl_girl` | :family_woman_woman_boy: | `family_woman_woman_boy` | -| :family_woman_woman_girl: | `family_woman_woman_girl` | :family_woman_woman_girl_boy: | `family_woman_woman_girl_boy` | -| :family_woman_woman_boy_boy: | `family_woman_woman_boy_boy` | :family_woman_woman_girl_girl: | `family_woman_woman_girl_girl` | -| :family_man_boy: | `family_man_boy` | :family_man_boy_boy: | `family_man_boy_boy` | -| :family_man_girl: | `family_man_girl` | :family_man_girl_boy: | `family_man_girl_boy` | -| :family_man_girl_girl: | `family_man_girl_girl` | :family_woman_boy: | `family_woman_boy` | -| :family_woman_boy_boy: | `family_woman_boy_boy` | :family_woman_girl: | `family_woman_girl` | -| :family_woman_girl_boy: | `family_woman_girl_boy` | :family_woman_girl_girl: | `family_woman_girl_girl` | +| :two_women_holding_hands: | `two_women_holding_hands` | :couple: | `couple` | +| :two_men_holding_hands: | `two_men_holding_hands` | :couplekiss_man_woman: | `couplekiss_man_woman` | +| :couplekiss_man_man: | `couplekiss_man_man` | :couplekiss_woman_woman: | `couplekiss_woman_woman` | +| :couple_with_heart: | `couple_with_heart`
`couple_with_heart_woman_man` | :couple_with_heart_man_man: | `couple_with_heart_man_man` | +| :couple_with_heart_woman_woman: | `couple_with_heart_woman_woman` | :family: | `family`
`family_man_woman_boy` | +| :family_man_woman_girl: | `family_man_woman_girl` | :family_man_woman_girl_boy: | `family_man_woman_girl_boy` | +| :family_man_woman_boy_boy: | `family_man_woman_boy_boy` | :family_man_woman_girl_girl: | `family_man_woman_girl_girl` | +| :family_man_man_boy: | `family_man_man_boy` | :family_man_man_girl: | `family_man_man_girl` | +| :family_man_man_girl_boy: | `family_man_man_girl_boy` | :family_man_man_boy_boy: | `family_man_man_boy_boy` | +| :family_man_man_girl_girl: | `family_man_man_girl_girl` | :family_woman_woman_boy: | `family_woman_woman_boy` | +| :family_woman_woman_girl: | `family_woman_woman_girl` | :family_woman_woman_girl_boy: | `family_woman_woman_girl_boy` | +| :family_woman_woman_boy_boy: | `family_woman_woman_boy_boy` | :family_woman_woman_girl_girl: | `family_woman_woman_girl_girl` | +| :family_man_boy: | `family_man_boy` | :family_man_boy_boy: | `family_man_boy_boy` | +| :family_man_girl: | `family_man_girl` | :family_man_girl_boy: | `family_man_girl_boy` | +| :family_man_girl_girl: | `family_man_girl_girl` | :family_woman_boy: | `family_woman_boy` | +| :family_woman_boy_boy: | `family_woman_boy_boy` | :family_woman_girl: | `family_woman_girl` | +| :family_woman_girl_boy: | `family_woman_girl_boy` | :family_woman_girl_girl: | `family_woman_girl_girl` | #### Person Symbol | icon | code | icon | code | | :-: | - | :-: | - | -| :speaking_head: | `speaking_head` | :bust_in_silhouette: | `bust_in_silhouette` | -| :busts_in_silhouette: | `busts_in_silhouette` | :footprints: | `footprints` | +| :speaking_head: | `speaking_head` | :bust_in_silhouette: | `bust_in_silhouette` | +| :busts_in_silhouette: | `busts_in_silhouette` | :footprints: | `footprints` | ### Animals & Nature @@ -378,95 +379,95 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :monkey_face: | `monkey_face` | :monkey: | `monkey` | -| :gorilla: | `gorilla` | :dog: | `dog` | -| :dog2: | `dog2` | :poodle: | `poodle` | -| :wolf: | `wolf` | :fox_face: | `fox_face` | -| :cat: | `cat` | :cat2: | `cat2` | -| :lion: | `lion` | :tiger: | `tiger` | -| :tiger2: | `tiger2` | :leopard: | `leopard` | -| :horse: | `horse` | :racehorse: | `racehorse` | -| :unicorn: | `unicorn` | :deer: | `deer` | -| :cow: | `cow` | :ox: | `ox` | -| :water_buffalo: | `water_buffalo` | :cow2: | `cow2` | -| :pig: | `pig` | :pig2: | `pig2` | -| :boar: | `boar` | :pig_nose: | `pig_nose` | -| :ram: | `ram` | :sheep: | `sheep` | -| :goat: | `goat` | :dromedary_camel: | `dromedary_camel` | -| :camel: | `camel` | :elephant: | `elephant` | -| :rhinoceros: | `rhinoceros` | :mouse: | `mouse` | -| :mouse2: | `mouse2` | :rat: | `rat` | -| :hamster: | `hamster` | :rabbit: | `rabbit` | -| :rabbit2: | `rabbit2` | :chipmunk: | `chipmunk` | -| :bat: | `bat` | :bear: | `bear` | -| :koala: | `koala` | :panda_face: | `panda_face` | -| :feet: | `feet`
`paw_prints` | | | +| :monkey_face: | `monkey_face` | :monkey: | `monkey` | +| :gorilla: | `gorilla` | :dog: | `dog` | +| :dog2: | `dog2` | :poodle: | `poodle` | +| :wolf: | `wolf` | :fox_face: | `fox_face` | +| :cat: | `cat` | :cat2: | `cat2` | +| :lion: | `lion` | :tiger: | `tiger` | +| :tiger2: | `tiger2` | :leopard: | `leopard` | +| :horse: | `horse` | :racehorse: | `racehorse` | +| :unicorn: | `unicorn` | :deer: | `deer` | +| :cow: | `cow` | :ox: | `ox` | +| :water_buffalo: | `water_buffalo` | :cow2: | `cow2` | +| :pig: | `pig` | :pig2: | `pig2` | +| :boar: | `boar` | :pig_nose: | `pig_nose` | +| :ram: | `ram` | :sheep: | `sheep` | +| :goat: | `goat` | :dromedary_camel: | `dromedary_camel` | +| :camel: | `camel` | :elephant: | `elephant` | +| :rhinoceros: | `rhinoceros` | :mouse: | `mouse` | +| :mouse2: | `mouse2` | :rat: | `rat` | +| :hamster: | `hamster` | :rabbit: | `rabbit` | +| :rabbit2: | `rabbit2` | :chipmunk: | `chipmunk` | +| :bat: | `bat` | :bear: | `bear` | +| :koala: | `koala` | :panda_face: | `panda_face` | +| :feet: | `feet`
`paw_prints` | | | #### Animal Bird | icon | code | icon | code | | :-: | - | :-: | - | -| :turkey: | `turkey` | :chicken: | `chicken` | -| :rooster: | `rooster` | :hatching_chick: | `hatching_chick` | -| :baby_chick: | `baby_chick` | :hatched_chick: | `hatched_chick` | -| :bird: | `bird` | :penguin: | `penguin` | -| :dove: | `dove` | :eagle: | `eagle` | -| :duck: | `duck` | :owl: | `owl` | +| :turkey: | `turkey` | :chicken: | `chicken` | +| :rooster: | `rooster` | :hatching_chick: | `hatching_chick` | +| :baby_chick: | `baby_chick` | :hatched_chick: | `hatched_chick` | +| :bird: | `bird` | :penguin: | `penguin` | +| :dove: | `dove` | :eagle: | `eagle` | +| :duck: | `duck` | :owl: | `owl` | #### Animal Amphibian | icon | code | icon | code | | :-: | - | :-: | - | -| :frog: | `frog` | +| :frog: | `frog` | #### Animal Reptile | icon | code | icon | code | | :-: | - | :-: | - | -| :crocodile: | `crocodile` | :turtle: | `turtle` | -| :lizard: | `lizard` | :snake: | `snake` | -| :dragon_face: | `dragon_face` | :dragon: | `dragon` | +| :crocodile: | `crocodile` | :turtle: | `turtle` | +| :lizard: | `lizard` | :snake: | `snake` | +| :dragon_face: | `dragon_face` | :dragon: | `dragon` | #### Animal Marine | icon | code | icon | code | | :-: | - | :-: | - | -| :whale: | `whale` | :whale2: | `whale2` | -| :dolphin: | `dolphin`
`flipper` | :fish: | `fish` | -| :tropical_fish: | `tropical_fish` | :blowfish: | `blowfish` | -| :shark: | `shark` | :octopus: | `octopus` | -| :shell: | `shell` | | | +| :whale: | `whale` | :whale2: | `whale2` | +| :dolphin: | `dolphin`
`flipper` | :fish: | `fish` | +| :tropical_fish: | `tropical_fish` | :blowfish: | `blowfish` | +| :shark: | `shark` | :octopus: | `octopus` | +| :shell: | `shell` | | | #### Animal Bug | icon | code | icon | code | | :-: | - | :-: | - | -| :snail: | `snail` | :butterfly: | `butterfly` | -| :bug: | `bug` | :ant: | `ant` | -| :bee: | `bee`
`honeybee` | :beetle: | `beetle` | -| :spider: | `spider` | :spider_web: | `spider_web` | -| :scorpion: | `scorpion` | | | +| :snail: | `snail` | :butterfly: | `butterfly` | +| :bug: | `bug` | :ant: | `ant` | +| :bee: | `bee`
`honeybee` | :beetle: | `beetle` | +| :spider: | `spider` | :spider_web: | `spider_web` | +| :scorpion: | `scorpion` | | | #### Plant Flower | icon | code | icon | code | | :-: | - | :-: | - | -| :bouquet: | `bouquet` | :cherry_blossom: | `cherry_blossom` | -| :white_flower: | `white_flower` | :rosette: | `rosette` | -| :rose: | `rose` | :wilted_flower: | `wilted_flower` | -| :hibiscus: | `hibiscus` | :sunflower: | `sunflower` | -| :blossom: | `blossom` | :tulip: | `tulip` | +| :bouquet: | `bouquet` | :cherry_blossom: | `cherry_blossom` | +| :white_flower: | `white_flower` | :rosette: | `rosette` | +| :rose: | `rose` | :wilted_flower: | `wilted_flower` | +| :hibiscus: | `hibiscus` | :sunflower: | `sunflower` | +| :blossom: | `blossom` | :tulip: | `tulip` | #### Plant Other | icon | code | icon | code | | :-: | - | :-: | - | -| :seedling: | `seedling` | :evergreen_tree: | `evergreen_tree` | -| :deciduous_tree: | `deciduous_tree` | :palm_tree: | `palm_tree` | -| :cactus: | `cactus` | :ear_of_rice: | `ear_of_rice` | -| :herb: | `herb` | :shamrock: | `shamrock` | -| :four_leaf_clover: | `four_leaf_clover` | :maple_leaf: | `maple_leaf` | -| :fallen_leaf: | `fallen_leaf` | :leaves: | `leaves` | +| :seedling: | `seedling` | :evergreen_tree: | `evergreen_tree` | +| :deciduous_tree: | `deciduous_tree` | :palm_tree: | `palm_tree` | +| :cactus: | `cactus` | :ear_of_rice: | `ear_of_rice` | +| :herb: | `herb` | :shamrock: | `shamrock` | +| :four_leaf_clover: | `four_leaf_clover` | :maple_leaf: | `maple_leaf` | +| :fallen_leaf: | `fallen_leaf` | :leaves: | `leaves` | ### Food & Drink @@ -474,90 +475,90 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :grapes: | `grapes` | :melon: | `melon` | -| :watermelon: | `watermelon` | :mandarin: | `mandarin`
`orange`
`tangerine` | -| :lemon: | `lemon` | :banana: | `banana` | -| :pineapple: | `pineapple` | :apple: | `apple` | -| :green_apple: | `green_apple` | :pear: | `pear` | -| :peach: | `peach` | :cherries: | `cherries` | -| :strawberry: | `strawberry` | :kiwi_fruit: | `kiwi_fruit` | -| :tomato: | `tomato` | | | +| :grapes: | `grapes` | :melon: | `melon` | +| :watermelon: | `watermelon` | :mandarin: | `mandarin`
`orange`
`tangerine` | +| :lemon: | `lemon` | :banana: | `banana` | +| :pineapple: | `pineapple` | :apple: | `apple` | +| :green_apple: | `green_apple` | :pear: | `pear` | +| :peach: | `peach` | :cherries: | `cherries` | +| :strawberry: | `strawberry` | :kiwi_fruit: | `kiwi_fruit` | +| :tomato: | `tomato` | | | #### Food Vegetable | icon | code | icon | code | | :-: | - | :-: | - | -| :avocado: | `avocado` | :eggplant: | `eggplant` | -| :potato: | `potato` | :carrot: | `carrot` | -| :corn: | `corn` | :hot_pepper: | `hot_pepper` | -| :cucumber: | `cucumber` | :mushroom: | `mushroom` | -| :peanuts: | `peanuts` | :chestnut: | `chestnut` | +| :avocado: | `avocado` | :eggplant: | `eggplant` | +| :potato: | `potato` | :carrot: | `carrot` | +| :corn: | `corn` | :hot_pepper: | `hot_pepper` | +| :cucumber: | `cucumber` | :mushroom: | `mushroom` | +| :peanuts: | `peanuts` | :chestnut: | `chestnut` | #### Food Prepared | icon | code | icon | code | | :-: | - | :-: | - | -| :bread: | `bread` | :croissant: | `croissant` | -| :baguette_bread: | `baguette_bread` | :pancakes: | `pancakes` | -| :cheese: | `cheese` | :meat_on_bone: | `meat_on_bone` | -| :poultry_leg: | `poultry_leg` | :bacon: | `bacon` | -| :hamburger: | `hamburger` | :fries: | `fries` | -| :pizza: | `pizza` | :hotdog: | `hotdog` | -| :taco: | `taco` | :burrito: | `burrito` | -| :stuffed_flatbread: | `stuffed_flatbread` | :egg: | `egg` | -| :fried_egg: | `fried_egg` | :shallow_pan_of_food: | `shallow_pan_of_food` | -| :stew: | `stew` | :green_salad: | `green_salad` | -| :popcorn: | `popcorn` | | | +| :bread: | `bread` | :croissant: | `croissant` | +| :baguette_bread: | `baguette_bread` | :pancakes: | `pancakes` | +| :cheese: | `cheese` | :meat_on_bone: | `meat_on_bone` | +| :poultry_leg: | `poultry_leg` | :bacon: | `bacon` | +| :hamburger: | `hamburger` | :fries: | `fries` | +| :pizza: | `pizza` | :hotdog: | `hotdog` | +| :taco: | `taco` | :burrito: | `burrito` | +| :stuffed_flatbread: | `stuffed_flatbread` | :egg: | `egg` | +| :fried_egg: | `fried_egg` | :shallow_pan_of_food: | `shallow_pan_of_food` | +| :stew: | `stew` | :green_salad: | `green_salad` | +| :popcorn: | `popcorn` | | | #### Food Asian | icon | code | icon | code | | :-: | - | :-: | - | -| :bento: | `bento` | :rice_cracker: | `rice_cracker` | -| :rice_ball: | `rice_ball` | :rice: | `rice` | -| :curry: | `curry` | :ramen: | `ramen` | -| :spaghetti: | `spaghetti` | :sweet_potato: | `sweet_potato` | -| :oden: | `oden` | :sushi: | `sushi` | -| :fried_shrimp: | `fried_shrimp` | :fish_cake: | `fish_cake` | -| :dango: | `dango` | | | +| :bento: | `bento` | :rice_cracker: | `rice_cracker` | +| :rice_ball: | `rice_ball` | :rice: | `rice` | +| :curry: | `curry` | :ramen: | `ramen` | +| :spaghetti: | `spaghetti` | :sweet_potato: | `sweet_potato` | +| :oden: | `oden` | :sushi: | `sushi` | +| :fried_shrimp: | `fried_shrimp` | :fish_cake: | `fish_cake` | +| :dango: | `dango` | | | #### Food Marine | icon | code | icon | code | | :-: | - | :-: | - | -| :crab: | `crab` | :shrimp: | `shrimp` | -| :squid: | `squid` | | | +| :crab: | `crab` | :shrimp: | `shrimp` | +| :squid: | `squid` | | | #### Food Sweet | icon | code | icon | code | | :-: | - | :-: | - | -| :icecream: | `icecream` | :shaved_ice: | `shaved_ice` | -| :ice_cream: | `ice_cream` | :doughnut: | `doughnut` | -| :cookie: | `cookie` | :birthday: | `birthday` | -| :cake: | `cake` | :chocolate_bar: | `chocolate_bar` | -| :candy: | `candy` | :lollipop: | `lollipop` | -| :custard: | `custard` | :honey_pot: | `honey_pot` | +| :icecream: | `icecream` | :shaved_ice: | `shaved_ice` | +| :ice_cream: | `ice_cream` | :doughnut: | `doughnut` | +| :cookie: | `cookie` | :birthday: | `birthday` | +| :cake: | `cake` | :chocolate_bar: | `chocolate_bar` | +| :candy: | `candy` | :lollipop: | `lollipop` | +| :custard: | `custard` | :honey_pot: | `honey_pot` | #### Drink | icon | code | icon | code | | :-: | - | :-: | - | -| :baby_bottle: | `baby_bottle` | :milk_glass: | `milk_glass` | -| :coffee: | `coffee` | :tea: | `tea` | -| :sake: | `sake` | :champagne: | `champagne` | -| :wine_glass: | `wine_glass` | :cocktail: | `cocktail` | -| :tropical_drink: | `tropical_drink` | :beer: | `beer` | -| :beers: | `beers` | :clinking_glasses: | `clinking_glasses` | -| :tumbler_glass: | `tumbler_glass` | | | +| :baby_bottle: | `baby_bottle` | :milk_glass: | `milk_glass` | +| :coffee: | `coffee` | :tea: | `tea` | +| :sake: | `sake` | :champagne: | `champagne` | +| :wine_glass: | `wine_glass` | :cocktail: | `cocktail` | +| :tropical_drink: | `tropical_drink` | :beer: | `beer` | +| :beers: | `beers` | :clinking_glasses: | `clinking_glasses` | +| :tumbler_glass: | `tumbler_glass` | | | #### Dishware | icon | code | icon | code | | :-: | - | :-: | - | -| :plate_with_cutlery: | `plate_with_cutlery` | :fork_and_knife: | `fork_and_knife` | -| :spoon: | `spoon` | :hocho: | `hocho`
`knife` | -| :amphora: | `amphora` | | | +| :plate_with_cutlery: | `plate_with_cutlery` | :fork_and_knife: | `fork_and_knife` | +| :spoon: | `spoon` | :hocho: | `hocho`
`knife` | +| :amphora: | `amphora` | | | ### Travel & Places @@ -565,159 +566,159 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :earth_africa: | `earth_africa` | :earth_americas: | `earth_americas` | -| :earth_asia: | `earth_asia` | :globe_with_meridians: | `globe_with_meridians` | -| :world_map: | `world_map` | :japan: | `japan` | +| :earth_africa: | `earth_africa` | :earth_americas: | `earth_americas` | +| :earth_asia: | `earth_asia` | :globe_with_meridians: | `globe_with_meridians` | +| :world_map: | `world_map` | :japan: | `japan` | #### Place Geographic | icon | code | icon | code | | :-: | - | :-: | - | -| :mountain_snow: | `mountain_snow` | :mountain: | `mountain` | -| :volcano: | `volcano` | :mount_fuji: | `mount_fuji` | -| :camping: | `camping` | :beach_umbrella: | `beach_umbrella` | -| :desert: | `desert` | :desert_island: | `desert_island` | -| :national_park: | `national_park` | | | +| :mountain_snow: | `mountain_snow` | :mountain: | `mountain` | +| :volcano: | `volcano` | :mount_fuji: | `mount_fuji` | +| :camping: | `camping` | :beach_umbrella: | `beach_umbrella` | +| :desert: | `desert` | :desert_island: | `desert_island` | +| :national_park: | `national_park` | | | #### Place Building | icon | code | icon | code | | :-: | - | :-: | - | -| :stadium: | `stadium` | :classical_building: | `classical_building` | -| :building_construction: | `building_construction` | :houses: | `houses` | -| :derelict_house: | `derelict_house` | :house: | `house` | -| :house_with_garden: | `house_with_garden` | :office: | `office` | -| :post_office: | `post_office` | :european_post_office: | `european_post_office` | -| :hospital: | `hospital` | :bank: | `bank` | -| :hotel: | `hotel` | :love_hotel: | `love_hotel` | -| :convenience_store: | `convenience_store` | :school: | `school` | -| :department_store: | `department_store` | :factory: | `factory` | -| :japanese_castle: | `japanese_castle` | :european_castle: | `european_castle` | -| :wedding: | `wedding` | :tokyo_tower: | `tokyo_tower` | -| :statue_of_liberty: | `statue_of_liberty` | | | +| :stadium: | `stadium` | :classical_building: | `classical_building` | +| :building_construction: | `building_construction` | :houses: | `houses` | +| :derelict_house: | `derelict_house` | :house: | `house` | +| :house_with_garden: | `house_with_garden` | :office: | `office` | +| :post_office: | `post_office` | :european_post_office: | `european_post_office` | +| :hospital: | `hospital` | :bank: | `bank` | +| :hotel: | `hotel` | :love_hotel: | `love_hotel` | +| :convenience_store: | `convenience_store` | :school: | `school` | +| :department_store: | `department_store` | :factory: | `factory` | +| :japanese_castle: | `japanese_castle` | :european_castle: | `european_castle` | +| :wedding: | `wedding` | :tokyo_tower: | `tokyo_tower` | +| :statue_of_liberty: | `statue_of_liberty` | | | #### Place Religious | icon | code | icon | code | | :-: | - | :-: | - | -| :church: | `church` | :mosque: | `mosque` | -| :synagogue: | `synagogue` | :shinto_shrine: | `shinto_shrine` | -| :kaaba: | `kaaba` | | | +| :church: | `church` | :mosque: | `mosque` | +| :synagogue: | `synagogue` | :shinto_shrine: | `shinto_shrine` | +| :kaaba: | `kaaba` | | | #### Place Other | icon | code | icon | code | | :-: | - | :-: | - | -| :fountain: | `fountain` | :tent: | `tent` | -| :foggy: | `foggy` | :night_with_stars: | `night_with_stars` | -| :cityscape: | `cityscape` | :sunrise_over_mountains: | `sunrise_over_mountains` | -| :sunrise: | `sunrise` | :city_sunset: | `city_sunset` | -| :city_sunrise: | `city_sunrise` | :bridge_at_night: | `bridge_at_night` | -| :hotsprings: | `hotsprings` | :carousel_horse: | `carousel_horse` | -| :ferris_wheel: | `ferris_wheel` | :roller_coaster: | `roller_coaster` | -| :barber: | `barber` | :circus_tent: | `circus_tent` | +| :fountain: | `fountain` | :tent: | `tent` | +| :foggy: | `foggy` | :night_with_stars: | `night_with_stars` | +| :cityscape: | `cityscape` | :sunrise_over_mountains: | `sunrise_over_mountains` | +| :sunrise: | `sunrise` | :city_sunset: | `city_sunset` | +| :city_sunrise: | `city_sunrise` | :bridge_at_night: | `bridge_at_night` | +| :hotsprings: | `hotsprings` | :carousel_horse: | `carousel_horse` | +| :ferris_wheel: | `ferris_wheel` | :roller_coaster: | `roller_coaster` | +| :barber: | `barber` | :circus_tent: | `circus_tent` | #### Transport Ground | icon | code | icon | code | | :-: | - | :-: | - | -| :steam_locomotive: | `steam_locomotive` | :railway_car: | `railway_car` | -| :bullettrain_side: | `bullettrain_side` | :bullettrain_front: | `bullettrain_front` | -| :train2: | `train2` | :metro: | `metro` | -| :light_rail: | `light_rail` | :station: | `station` | -| :tram: | `tram` | :monorail: | `monorail` | -| :mountain_railway: | `mountain_railway` | :train: | `train` | -| :bus: | `bus` | :oncoming_bus: | `oncoming_bus` | -| :trolleybus: | `trolleybus` | :minibus: | `minibus` | -| :ambulance: | `ambulance` | :fire_engine: | `fire_engine` | -| :police_car: | `police_car` | :oncoming_police_car: | `oncoming_police_car` | -| :taxi: | `taxi` | :oncoming_taxi: | `oncoming_taxi` | -| :car: | `car`
`red_car` | :oncoming_automobile: | `oncoming_automobile` | -| :blue_car: | `blue_car` | :truck: | `truck` | -| :articulated_lorry: | `articulated_lorry` | :tractor: | `tractor` | -| :racing_car: | `racing_car` | :motorcycle: | `motorcycle` | -| :motor_scooter: | `motor_scooter` | :bike: | `bike` | -| :kick_scooter: | `kick_scooter` | :busstop: | `busstop` | -| :motorway: | `motorway` | :railway_track: | `railway_track` | -| :oil_drum: | `oil_drum` | :fuelpump: | `fuelpump` | -| :rotating_light: | `rotating_light` | :traffic_light: | `traffic_light` | -| :vertical_traffic_light: | `vertical_traffic_light` | :stop_sign: | `stop_sign` | -| :construction: | `construction` | | | +| :steam_locomotive: | `steam_locomotive` | :railway_car: | `railway_car` | +| :bullettrain_side: | `bullettrain_side` | :bullettrain_front: | `bullettrain_front` | +| :train2: | `train2` | :metro: | `metro` | +| :light_rail: | `light_rail` | :station: | `station` | +| :tram: | `tram` | :monorail: | `monorail` | +| :mountain_railway: | `mountain_railway` | :train: | `train` | +| :bus: | `bus` | :oncoming_bus: | `oncoming_bus` | +| :trolleybus: | `trolleybus` | :minibus: | `minibus` | +| :ambulance: | `ambulance` | :fire_engine: | `fire_engine` | +| :police_car: | `police_car` | :oncoming_police_car: | `oncoming_police_car` | +| :taxi: | `taxi` | :oncoming_taxi: | `oncoming_taxi` | +| :car: | `car`
`red_car` | :oncoming_automobile: | `oncoming_automobile` | +| :blue_car: | `blue_car` | :truck: | `truck` | +| :articulated_lorry: | `articulated_lorry` | :tractor: | `tractor` | +| :racing_car: | `racing_car` | :motorcycle: | `motorcycle` | +| :motor_scooter: | `motor_scooter` | :bike: | `bike` | +| :kick_scooter: | `kick_scooter` | :busstop: | `busstop` | +| :motorway: | `motorway` | :railway_track: | `railway_track` | +| :oil_drum: | `oil_drum` | :fuelpump: | `fuelpump` | +| :rotating_light: | `rotating_light` | :traffic_light: | `traffic_light` | +| :vertical_traffic_light: | `vertical_traffic_light` | :stop_sign: | `stop_sign` | +| :construction: | `construction` | | | #### Transport Water | icon | code | icon | code | | :-: | - | :-: | - | -| :anchor: | `anchor` | :boat: | `boat`
`sailboat` | -| :canoe: | `canoe` | :speedboat: | `speedboat` | -| :passenger_ship: | `passenger_ship` | :ferry: | `ferry` | -| :motor_boat: | `motor_boat` | :ship: | `ship` | +| :anchor: | `anchor` | :boat: | `boat`
`sailboat` | +| :canoe: | `canoe` | :speedboat: | `speedboat` | +| :passenger_ship: | `passenger_ship` | :ferry: | `ferry` | +| :motor_boat: | `motor_boat` | :ship: | `ship` | #### Transport Air | icon | code | icon | code | | :-: | - | :-: | - | -| :airplane: | `airplane` | :small_airplane: | `small_airplane` | -| :flight_departure: | `flight_departure` | :flight_arrival: | `flight_arrival` | -| :seat: | `seat` | :helicopter: | `helicopter` | -| :suspension_railway: | `suspension_railway` | :mountain_cableway: | `mountain_cableway` | -| :aerial_tramway: | `aerial_tramway` | :artificial_satellite: | `artificial_satellite` | -| :rocket: | `rocket` | | | +| :airplane: | `airplane` | :small_airplane: | `small_airplane` | +| :flight_departure: | `flight_departure` | :flight_arrival: | `flight_arrival` | +| :seat: | `seat` | :helicopter: | `helicopter` | +| :suspension_railway: | `suspension_railway` | :mountain_cableway: | `mountain_cableway` | +| :aerial_tramway: | `aerial_tramway` | :artificial_satellite: | `artificial_satellite` | +| :rocket: | `rocket` | | | #### Hotel | icon | code | icon | code | | :-: | - | :-: | - | -| :bellhop_bell: | `bellhop_bell` | +| :bellhop_bell: | `bellhop_bell` | #### Time | icon | code | icon | code | | :-: | - | :-: | - | -| :hourglass: | `hourglass` | :hourglass_flowing_sand: | `hourglass_flowing_sand` | -| :watch: | `watch` | :alarm_clock: | `alarm_clock` | -| :stopwatch: | `stopwatch` | :timer_clock: | `timer_clock` | -| :mantelpiece_clock: | `mantelpiece_clock` | :clock12: | `clock12` | -| :clock1230: | `clock1230` | :clock1: | `clock1` | -| :clock130: | `clock130` | :clock2: | `clock2` | -| :clock230: | `clock230` | :clock3: | `clock3` | -| :clock330: | `clock330` | :clock4: | `clock4` | -| :clock430: | `clock430` | :clock5: | `clock5` | -| :clock530: | `clock530` | :clock6: | `clock6` | -| :clock630: | `clock630` | :clock7: | `clock7` | -| :clock730: | `clock730` | :clock8: | `clock8` | -| :clock830: | `clock830` | :clock9: | `clock9` | -| :clock930: | `clock930` | :clock10: | `clock10` | -| :clock1030: | `clock1030` | :clock11: | `clock11` | -| :clock1130: | `clock1130` | | | +| :hourglass: | `hourglass` | :hourglass_flowing_sand: | `hourglass_flowing_sand` | +| :watch: | `watch` | :alarm_clock: | `alarm_clock` | +| :stopwatch: | `stopwatch` | :timer_clock: | `timer_clock` | +| :mantelpiece_clock: | `mantelpiece_clock` | :clock12: | `clock12` | +| :clock1230: | `clock1230` | :clock1: | `clock1` | +| :clock130: | `clock130` | :clock2: | `clock2` | +| :clock230: | `clock230` | :clock3: | `clock3` | +| :clock330: | `clock330` | :clock4: | `clock4` | +| :clock430: | `clock430` | :clock5: | `clock5` | +| :clock530: | `clock530` | :clock6: | `clock6` | +| :clock630: | `clock630` | :clock7: | `clock7` | +| :clock730: | `clock730` | :clock8: | `clock8` | +| :clock830: | `clock830` | :clock9: | `clock9` | +| :clock930: | `clock930` | :clock10: | `clock10` | +| :clock1030: | `clock1030` | :clock11: | `clock11` | +| :clock1130: | `clock1130` | | | #### Sky & Weather | icon | code | icon | code | | :-: | - | :-: | - | -| :new_moon: | `new_moon` | :waxing_crescent_moon: | `waxing_crescent_moon` | -| :first_quarter_moon: | `first_quarter_moon` | :moon: | `moon`
`waxing_gibbous_moon` | -| :full_moon: | `full_moon` | :waning_gibbous_moon: | `waning_gibbous_moon` | -| :last_quarter_moon: | `last_quarter_moon` | :waning_crescent_moon: | `waning_crescent_moon` | -| :crescent_moon: | `crescent_moon` | :new_moon_with_face: | `new_moon_with_face` | -| :first_quarter_moon_with_face: | `first_quarter_moon_with_face` | :last_quarter_moon_with_face: | `last_quarter_moon_with_face` | -| :thermometer: | `thermometer` | :sunny: | `sunny` | -| :full_moon_with_face: | `full_moon_with_face` | :sun_with_face: | `sun_with_face` | -| :star: | `star` | :star2: | `star2` | -| :stars: | `stars` | :milky_way: | `milky_way` | -| :cloud: | `cloud` | :partly_sunny: | `partly_sunny` | -| :cloud_with_lightning_and_rain: | `cloud_with_lightning_and_rain` | :sun_behind_small_cloud: | `sun_behind_small_cloud` | -| :sun_behind_large_cloud: | `sun_behind_large_cloud` | :sun_behind_rain_cloud: | `sun_behind_rain_cloud` | -| :cloud_with_rain: | `cloud_with_rain` | :cloud_with_snow: | `cloud_with_snow` | -| :cloud_with_lightning: | `cloud_with_lightning` | :tornado: | `tornado` | -| :fog: | `fog` | :wind_face: | `wind_face` | -| :cyclone: | `cyclone` | :rainbow: | `rainbow` | -| :closed_umbrella: | `closed_umbrella` | :open_umbrella: | `open_umbrella` | -| :umbrella: | `umbrella` | :parasol_on_ground: | `parasol_on_ground` | -| :zap: | `zap` | :snowflake: | `snowflake` | -| :snowman_with_snow: | `snowman_with_snow` | :snowman: | `snowman` | -| :comet: | `comet` | :fire: | `fire` | -| :droplet: | `droplet` | :ocean: | `ocean` | +| :new_moon: | `new_moon` | :waxing_crescent_moon: | `waxing_crescent_moon` | +| :first_quarter_moon: | `first_quarter_moon` | :moon: | `moon`
`waxing_gibbous_moon` | +| :full_moon: | `full_moon` | :waning_gibbous_moon: | `waning_gibbous_moon` | +| :last_quarter_moon: | `last_quarter_moon` | :waning_crescent_moon: | `waning_crescent_moon` | +| :crescent_moon: | `crescent_moon` | :new_moon_with_face: | `new_moon_with_face` | +| :first_quarter_moon_with_face: | `first_quarter_moon_with_face` | :last_quarter_moon_with_face: | `last_quarter_moon_with_face` | +| :thermometer: | `thermometer` | :sunny: | `sunny` | +| :full_moon_with_face: | `full_moon_with_face` | :sun_with_face: | `sun_with_face` | +| :star: | `star` | :star2: | `star2` | +| :stars: | `stars` | :milky_way: | `milky_way` | +| :cloud: | `cloud` | :partly_sunny: | `partly_sunny` | +| :cloud_with_lightning_and_rain: | `cloud_with_lightning_and_rain` | :sun_behind_small_cloud: | `sun_behind_small_cloud` | +| :sun_behind_large_cloud: | `sun_behind_large_cloud` | :sun_behind_rain_cloud: | `sun_behind_rain_cloud` | +| :cloud_with_rain: | `cloud_with_rain` | :cloud_with_snow: | `cloud_with_snow` | +| :cloud_with_lightning: | `cloud_with_lightning` | :tornado: | `tornado` | +| :fog: | `fog` | :wind_face: | `wind_face` | +| :cyclone: | `cyclone` | :rainbow: | `rainbow` | +| :closed_umbrella: | `closed_umbrella` | :open_umbrella: | `open_umbrella` | +| :umbrella: | `umbrella` | :parasol_on_ground: | `parasol_on_ground` | +| :zap: | `zap` | :snowflake: | `snowflake` | +| :snowman_with_snow: | `snowman_with_snow` | :snowman: | `snowman` | +| :comet: | `comet` | :fire: | `fire` | +| :droplet: | `droplet` | :ocean: | `ocean` | ### Activities @@ -725,59 +726,59 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :jack_o_lantern: | `jack_o_lantern` | :christmas_tree: | `christmas_tree` | -| :fireworks: | `fireworks` | :sparkler: | `sparkler` | -| :sparkles: | `sparkles` | :balloon: | `balloon` | -| :tada: | `tada` | :confetti_ball: | `confetti_ball` | -| :tanabata_tree: | `tanabata_tree` | :bamboo: | `bamboo` | -| :dolls: | `dolls` | :flags: | `flags` | -| :wind_chime: | `wind_chime` | :rice_scene: | `rice_scene` | -| :ribbon: | `ribbon` | :gift: | `gift` | -| :reminder_ribbon: | `reminder_ribbon` | :tickets: | `tickets` | -| :ticket: | `ticket` | | | +| :jack_o_lantern: | `jack_o_lantern` | :christmas_tree: | `christmas_tree` | +| :fireworks: | `fireworks` | :sparkler: | `sparkler` | +| :sparkles: | `sparkles` | :balloon: | `balloon` | +| :tada: | `tada` | :confetti_ball: | `confetti_ball` | +| :tanabata_tree: | `tanabata_tree` | :bamboo: | `bamboo` | +| :dolls: | `dolls` | :flags: | `flags` | +| :wind_chime: | `wind_chime` | :rice_scene: | `rice_scene` | +| :ribbon: | `ribbon` | :gift: | `gift` | +| :reminder_ribbon: | `reminder_ribbon` | :tickets: | `tickets` | +| :ticket: | `ticket` | | | #### Award Medal | icon | code | icon | code | | :-: | - | :-: | - | -| :medal_military: | `medal_military` | :trophy: | `trophy` | -| :medal_sports: | `medal_sports` | :1st_place_medal: | `1st_place_medal` | -| :2nd_place_medal: | `2nd_place_medal` | :3rd_place_medal: | `3rd_place_medal` | +| :medal_military: | `medal_military` | :trophy: | `trophy` | +| :medal_sports: | `medal_sports` | :1st_place_medal: | `1st_place_medal` | +| :2nd_place_medal: | `2nd_place_medal` | :3rd_place_medal: | `3rd_place_medal` | #### Sport | icon | code | icon | code | | :-: | - | :-: | - | -| :soccer: | `soccer` | :baseball: | `baseball` | -| :basketball: | `basketball` | :volleyball: | `volleyball` | -| :football: | `football` | :rugby_football: | `rugby_football` | -| :tennis: | `tennis` | :bowling: | `bowling` | -| :cricket: | `cricket` | :field_hockey: | `field_hockey` | -| :ice_hockey: | `ice_hockey` | :ping_pong: | `ping_pong` | -| :badminton: | `badminton` | :boxing_glove: | `boxing_glove` | -| :martial_arts_uniform: | `martial_arts_uniform` | :goal_net: | `goal_net` | -| :golf: | `golf` | :ice_skate: | `ice_skate` | -| :fishing_pole_and_fish: | `fishing_pole_and_fish` | :running_shirt_with_sash: | `running_shirt_with_sash` | -| :ski: | `ski` | | | +| :soccer: | `soccer` | :baseball: | `baseball` | +| :basketball: | `basketball` | :volleyball: | `volleyball` | +| :football: | `football` | :rugby_football: | `rugby_football` | +| :tennis: | `tennis` | :bowling: | `bowling` | +| :cricket: | `cricket` | :field_hockey: | `field_hockey` | +| :ice_hockey: | `ice_hockey` | :ping_pong: | `ping_pong` | +| :badminton: | `badminton` | :boxing_glove: | `boxing_glove` | +| :martial_arts_uniform: | `martial_arts_uniform` | :goal_net: | `goal_net` | +| :golf: | `golf` | :ice_skate: | `ice_skate` | +| :fishing_pole_and_fish: | `fishing_pole_and_fish` | :running_shirt_with_sash: | `running_shirt_with_sash` | +| :ski: | `ski` | | | #### Game | icon | code | icon | code | | :-: | - | :-: | - | -| :dart: | `dart` | :8ball: | `8ball` | -| :crystal_ball: | `crystal_ball` | :video_game: | `video_game` | -| :joystick: | `joystick` | :slot_machine: | `slot_machine` | -| :game_die: | `game_die` | :spades: | `spades` | -| :hearts: | `hearts` | :diamonds: | `diamonds` | -| :clubs: | `clubs` | :black_joker: | `black_joker` | -| :mahjong: | `mahjong` | :flower_playing_cards: | `flower_playing_cards` | +| :dart: | `dart` | :8ball: | `8ball` | +| :crystal_ball: | `crystal_ball` | :video_game: | `video_game` | +| :joystick: | `joystick` | :slot_machine: | `slot_machine` | +| :game_die: | `game_die` | :spades: | `spades` | +| :hearts: | `hearts` | :diamonds: | `diamonds` | +| :clubs: | `clubs` | :black_joker: | `black_joker` | +| :mahjong: | `mahjong` | :flower_playing_cards: | `flower_playing_cards` | #### Arts & Crafts | icon | code | icon | code | | :-: | - | :-: | - | -| :performing_arts: | `performing_arts` | :framed_picture: | `framed_picture` | -| :art: | `art` | | | +| :performing_arts: | `performing_arts` | :framed_picture: | `framed_picture` | +| :art: | `art` | | | ### Objects @@ -785,191 +786,191 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :eyeglasses: | `eyeglasses` | :dark_sunglasses: | `dark_sunglasses` | -| :necktie: | `necktie` | :shirt: | `shirt`
`tshirt` | -| :jeans: | `jeans` | :dress: | `dress` | -| :kimono: | `kimono` | :bikini: | `bikini` | -| :womans_clothes: | `womans_clothes` | :purse: | `purse` | -| :handbag: | `handbag` | :pouch: | `pouch` | -| :shopping: | `shopping` | :school_satchel: | `school_satchel` | -| :mans_shoe: | `mans_shoe`
`shoe` | :athletic_shoe: | `athletic_shoe` | -| :high_heel: | `high_heel` | :sandal: | `sandal` | -| :boot: | `boot` | :crown: | `crown` | -| :womans_hat: | `womans_hat` | :tophat: | `tophat` | -| :mortar_board: | `mortar_board` | :rescue_worker_helmet: | `rescue_worker_helmet` | -| :prayer_beads: | `prayer_beads` | :lipstick: | `lipstick` | -| :ring: | `ring` | :gem: | `gem` | +| :eyeglasses: | `eyeglasses` | :dark_sunglasses: | `dark_sunglasses` | +| :necktie: | `necktie` | :shirt: | `shirt`
`tshirt` | +| :jeans: | `jeans` | :dress: | `dress` | +| :kimono: | `kimono` | :bikini: | `bikini` | +| :womans_clothes: | `womans_clothes` | :purse: | `purse` | +| :handbag: | `handbag` | :pouch: | `pouch` | +| :shopping: | `shopping` | :school_satchel: | `school_satchel` | +| :mans_shoe: | `mans_shoe`
`shoe` | :athletic_shoe: | `athletic_shoe` | +| :high_heel: | `high_heel` | :sandal: | `sandal` | +| :boot: | `boot` | :crown: | `crown` | +| :womans_hat: | `womans_hat` | :tophat: | `tophat` | +| :mortar_board: | `mortar_board` | :rescue_worker_helmet: | `rescue_worker_helmet` | +| :prayer_beads: | `prayer_beads` | :lipstick: | `lipstick` | +| :ring: | `ring` | :gem: | `gem` | #### Sound | icon | code | icon | code | | :-: | - | :-: | - | -| :mute: | `mute` | :speaker: | `speaker` | -| :sound: | `sound` | :loud_sound: | `loud_sound` | -| :loudspeaker: | `loudspeaker` | :mega: | `mega` | -| :postal_horn: | `postal_horn` | :bell: | `bell` | -| :no_bell: | `no_bell` | | | +| :mute: | `mute` | :speaker: | `speaker` | +| :sound: | `sound` | :loud_sound: | `loud_sound` | +| :loudspeaker: | `loudspeaker` | :mega: | `mega` | +| :postal_horn: | `postal_horn` | :bell: | `bell` | +| :no_bell: | `no_bell` | | | #### Music | icon | code | icon | code | | :-: | - | :-: | - | -| :musical_score: | `musical_score` | :musical_note: | `musical_note` | -| :notes: | `notes` | :studio_microphone: | `studio_microphone` | -| :level_slider: | `level_slider` | :control_knobs: | `control_knobs` | -| :microphone: | `microphone` | :headphones: | `headphones` | -| :radio: | `radio` | | | +| :musical_score: | `musical_score` | :musical_note: | `musical_note` | +| :notes: | `notes` | :studio_microphone: | `studio_microphone` | +| :level_slider: | `level_slider` | :control_knobs: | `control_knobs` | +| :microphone: | `microphone` | :headphones: | `headphones` | +| :radio: | `radio` | | | #### Musical Instrument | icon | code | icon | code | | :-: | - | :-: | - | -| :saxophone: | `saxophone` | :guitar: | `guitar` | -| :musical_keyboard: | `musical_keyboard` | :trumpet: | `trumpet` | -| :violin: | `violin` | :drum: | `drum` | +| :saxophone: | `saxophone` | :guitar: | `guitar` | +| :musical_keyboard: | `musical_keyboard` | :trumpet: | `trumpet` | +| :violin: | `violin` | :drum: | `drum` | #### Phone | icon | code | icon | code | | :-: | - | :-: | - | -| :iphone: | `iphone` | :calling: | `calling` | -| :phone: | `phone`
`telephone` | :telephone_receiver: | `telephone_receiver` | -| :pager: | `pager` | :fax: | `fax` | +| :iphone: | `iphone` | :calling: | `calling` | +| :phone: | `phone`
`telephone` | :telephone_receiver: | `telephone_receiver` | +| :pager: | `pager` | :fax: | `fax` | #### Computer | icon | code | icon | code | | :-: | - | :-: | - | -| :battery: | `battery` | :electric_plug: | `electric_plug` | -| :computer: | `computer` | :desktop_computer: | `desktop_computer` | -| :printer: | `printer` | :keyboard: | `keyboard` | -| :computer_mouse: | `computer_mouse` | :trackball: | `trackball` | -| :minidisc: | `minidisc` | :floppy_disk: | `floppy_disk` | -| :cd: | `cd` | :dvd: | `dvd` | +| :battery: | `battery` | :electric_plug: | `electric_plug` | +| :computer: | `computer` | :desktop_computer: | `desktop_computer` | +| :printer: | `printer` | :keyboard: | `keyboard` | +| :computer_mouse: | `computer_mouse` | :trackball: | `trackball` | +| :minidisc: | `minidisc` | :floppy_disk: | `floppy_disk` | +| :cd: | `cd` | :dvd: | `dvd` | #### Light & Video | icon | code | icon | code | | :-: | - | :-: | - | -| :movie_camera: | `movie_camera` | :film_strip: | `film_strip` | -| :film_projector: | `film_projector` | :clapper: | `clapper` | -| :tv: | `tv` | :camera: | `camera` | -| :camera_flash: | `camera_flash` | :video_camera: | `video_camera` | -| :vhs: | `vhs` | :mag: | `mag` | -| :mag_right: | `mag_right` | :candle: | `candle` | -| :bulb: | `bulb` | :flashlight: | `flashlight` | -| :izakaya_lantern: | `izakaya_lantern`
`lantern` | | | +| :movie_camera: | `movie_camera` | :film_strip: | `film_strip` | +| :film_projector: | `film_projector` | :clapper: | `clapper` | +| :tv: | `tv` | :camera: | `camera` | +| :camera_flash: | `camera_flash` | :video_camera: | `video_camera` | +| :vhs: | `vhs` | :mag: | `mag` | +| :mag_right: | `mag_right` | :candle: | `candle` | +| :bulb: | `bulb` | :flashlight: | `flashlight` | +| :izakaya_lantern: | `izakaya_lantern`
`lantern` | | | #### Book Paper | icon | code | icon | code | | :-: | - | :-: | - | -| :notebook_with_decorative_cover: | `notebook_with_decorative_cover` | :closed_book: | `closed_book` | -| :book: | `book`
`open_book` | :green_book: | `green_book` | -| :blue_book: | `blue_book` | :orange_book: | `orange_book` | -| :books: | `books` | :notebook: | `notebook` | -| :ledger: | `ledger` | :page_with_curl: | `page_with_curl` | -| :scroll: | `scroll` | :page_facing_up: | `page_facing_up` | -| :newspaper: | `newspaper` | :newspaper_roll: | `newspaper_roll` | -| :bookmark_tabs: | `bookmark_tabs` | :bookmark: | `bookmark` | -| :label: | `label` | | | +| :notebook_with_decorative_cover: | `notebook_with_decorative_cover` | :closed_book: | `closed_book` | +| :book: | `book`
`open_book` | :green_book: | `green_book` | +| :blue_book: | `blue_book` | :orange_book: | `orange_book` | +| :books: | `books` | :notebook: | `notebook` | +| :ledger: | `ledger` | :page_with_curl: | `page_with_curl` | +| :scroll: | `scroll` | :page_facing_up: | `page_facing_up` | +| :newspaper: | `newspaper` | :newspaper_roll: | `newspaper_roll` | +| :bookmark_tabs: | `bookmark_tabs` | :bookmark: | `bookmark` | +| :label: | `label` | | | #### Money | icon | code | icon | code | | :-: | - | :-: | - | -| :moneybag: | `moneybag` | :yen: | `yen` | -| :dollar: | `dollar` | :euro: | `euro` | -| :pound: | `pound` | :money_with_wings: | `money_with_wings` | -| :credit_card: | `credit_card` | :chart: | `chart` | +| :moneybag: | `moneybag` | :yen: | `yen` | +| :dollar: | `dollar` | :euro: | `euro` | +| :pound: | `pound` | :money_with_wings: | `money_with_wings` | +| :credit_card: | `credit_card` | :chart: | `chart` | #### Mail | icon | code | icon | code | | :-: | - | :-: | - | -| :email: | `email`
`envelope` | :e-mail: | `:e-mail:` | -| :incoming_envelope: | `incoming_envelope` | :envelope_with_arrow: | `envelope_with_arrow` | -| :outbox_tray: | `outbox_tray` | :inbox_tray: | `inbox_tray` | -| :package: | `package` | :mailbox: | `mailbox` | -| :mailbox_closed: | `mailbox_closed` | :mailbox_with_mail: | `mailbox_with_mail` | -| :mailbox_with_no_mail: | `mailbox_with_no_mail` | :postbox: | `postbox` | -| :ballot_box: | `ballot_box` | | | +| :email: | `email`
`envelope` | :e-mail: | `:e-mail:` | +| :incoming_envelope: | `incoming_envelope` | :envelope_with_arrow: | `envelope_with_arrow` | +| :outbox_tray: | `outbox_tray` | :inbox_tray: | `inbox_tray` | +| :package: | `package` | :mailbox: | `mailbox` | +| :mailbox_closed: | `mailbox_closed` | :mailbox_with_mail: | `mailbox_with_mail` | +| :mailbox_with_no_mail: | `mailbox_with_no_mail` | :postbox: | `postbox` | +| :ballot_box: | `ballot_box` | | | #### Writing | icon | code | icon | code | | :-: | - | :-: | - | -| :pencil2: | `pencil2` | :black_nib: | `black_nib` | -| :fountain_pen: | `fountain_pen` | :pen: | `pen` | -| :paintbrush: | `paintbrush` | :crayon: | `crayon` | -| :memo: | `memo`
`pencil` | | | +| :pencil2: | `pencil2` | :black_nib: | `black_nib` | +| :fountain_pen: | `fountain_pen` | :pen: | `pen` | +| :paintbrush: | `paintbrush` | :crayon: | `crayon` | +| :memo: | `memo`
`pencil` | | | #### Office | icon | code | icon | code | | :-: | - | :-: | - | -| :briefcase: | `briefcase` | :file_folder: | `file_folder` | -| :open_file_folder: | `open_file_folder` | :card_index_dividers: | `card_index_dividers` | -| :date: | `date` | :calendar: | `calendar` | -| :spiral_notepad: | `spiral_notepad` | :spiral_calendar: | `spiral_calendar` | -| :card_index: | `card_index` | :chart_with_upwards_trend: | `chart_with_upwards_trend` | -| :chart_with_downwards_trend: | `chart_with_downwards_trend` | :bar_chart: | `bar_chart` | -| :clipboard: | `clipboard` | :pushpin: | `pushpin` | -| :round_pushpin: | `round_pushpin` | :paperclip: | `paperclip` | -| :paperclips: | `paperclips` | :straight_ruler: | `straight_ruler` | -| :triangular_ruler: | `triangular_ruler` | :scissors: | `scissors` | -| :card_file_box: | `card_file_box` | :file_cabinet: | `file_cabinet` | -| :wastebasket: | `wastebasket` | | | +| :briefcase: | `briefcase` | :file_folder: | `file_folder` | +| :open_file_folder: | `open_file_folder` | :card_index_dividers: | `card_index_dividers` | +| :date: | `date` | :calendar: | `calendar` | +| :spiral_notepad: | `spiral_notepad` | :spiral_calendar: | `spiral_calendar` | +| :card_index: | `card_index` | :chart_with_upwards_trend: | `chart_with_upwards_trend` | +| :chart_with_downwards_trend: | `chart_with_downwards_trend` | :bar_chart: | `bar_chart` | +| :clipboard: | `clipboard` | :pushpin: | `pushpin` | +| :round_pushpin: | `round_pushpin` | :paperclip: | `paperclip` | +| :paperclips: | `paperclips` | :straight_ruler: | `straight_ruler` | +| :triangular_ruler: | `triangular_ruler` | :scissors: | `scissors` | +| :card_file_box: | `card_file_box` | :file_cabinet: | `file_cabinet` | +| :wastebasket: | `wastebasket` | | | #### Lock | icon | code | icon | code | | :-: | - | :-: | - | -| :lock: | `lock` | :unlock: | `unlock` | -| :lock_with_ink_pen: | `lock_with_ink_pen` | :closed_lock_with_key: | `closed_lock_with_key` | -| :key: | `key` | :old_key: | `old_key` | +| :lock: | `lock` | :unlock: | `unlock` | +| :lock_with_ink_pen: | `lock_with_ink_pen` | :closed_lock_with_key: | `closed_lock_with_key` | +| :key: | `key` | :old_key: | `old_key` | #### Tool | icon | code | icon | code | | :-: | - | :-: | - | -| :hammer: | `hammer` | :pick: | `pick` | -| :hammer_and_pick: | `hammer_and_pick` | :hammer_and_wrench: | `hammer_and_wrench` | -| :dagger: | `dagger` | :crossed_swords: | `crossed_swords` | -| :gun: | `gun` | :bow_and_arrow: | `bow_and_arrow` | -| :shield: | `shield` | :wrench: | `wrench` | -| :nut_and_bolt: | `nut_and_bolt` | :gear: | `gear` | -| :clamp: | `clamp` | :balance_scale: | `balance_scale` | -| :link: | `link` | :chains: | `chains` | +| :hammer: | `hammer` | :pick: | `pick` | +| :hammer_and_pick: | `hammer_and_pick` | :hammer_and_wrench: | `hammer_and_wrench` | +| :dagger: | `dagger` | :crossed_swords: | `crossed_swords` | +| :gun: | `gun` | :bow_and_arrow: | `bow_and_arrow` | +| :shield: | `shield` | :wrench: | `wrench` | +| :nut_and_bolt: | `nut_and_bolt` | :gear: | `gear` | +| :clamp: | `clamp` | :balance_scale: | `balance_scale` | +| :link: | `link` | :chains: | `chains` | #### Science | icon | code | icon | code | | :-: | - | :-: | - | -| :alembic: | `alembic` | :microscope: | `microscope` | -| :telescope: | `telescope` | :satellite: | `satellite` | +| :alembic: | `alembic` | :microscope: | `microscope` | +| :telescope: | `telescope` | :satellite: | `satellite` | #### Medical | icon | code | icon | code | | :-: | - | :-: | - | -| :syringe: | `syringe` | :pill: | `pill` | +| :syringe: | `syringe` | :pill: | `pill` | #### Household | icon | code | icon | code | | :-: | - | :-: | - | -| :door: | `door` | :bed: | `bed` | -| :couch_and_lamp: | `couch_and_lamp` | :toilet: | `toilet` | -| :shower: | `shower` | :bathtub: | `bathtub` | -| :shopping_cart: | `shopping_cart` | | | +| :door: | `door` | :bed: | `bed` | +| :couch_and_lamp: | `couch_and_lamp` | :toilet: | `toilet` | +| :shower: | `shower` | :bathtub: | `bathtub` | +| :shopping_cart: | `shopping_cart` | | | #### Other Object | icon | code | icon | code | | :-: | - | :-: | - | -| :smoking: | `smoking` | :coffin: | `coffin` | -| :funeral_urn: | `funeral_urn` | :moyai: | `moyai` | +| :smoking: | `smoking` | :coffin: | `coffin` | +| :funeral_urn: | `funeral_urn` | :moyai: | `moyai` | ### Symbols @@ -977,171 +978,171 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :atm: | `atm` | :put_litter_in_its_place: | `put_litter_in_its_place` | -| :potable_water: | `potable_water` | :wheelchair: | `wheelchair` | -| :mens: | `mens` | :womens: | `womens` | -| :restroom: | `restroom` | :baby_symbol: | `baby_symbol` | -| :wc: | `wc` | :passport_control: | `passport_control` | -| :customs: | `customs` | :baggage_claim: | `baggage_claim` | -| :left_luggage: | `left_luggage` | | | +| :atm: | `atm` | :put_litter_in_its_place: | `put_litter_in_its_place` | +| :potable_water: | `potable_water` | :wheelchair: | `wheelchair` | +| :mens: | `mens` | :womens: | `womens` | +| :restroom: | `restroom` | :baby_symbol: | `baby_symbol` | +| :wc: | `wc` | :passport_control: | `passport_control` | +| :customs: | `customs` | :baggage_claim: | `baggage_claim` | +| :left_luggage: | `left_luggage` | | | #### Warning | icon | code | icon | code | | :-: | - | :-: | - | -| :warning: | `warning` | :children_crossing: | `children_crossing` | -| :no_entry: | `no_entry` | :no_entry_sign: | `no_entry_sign` | -| :no_bicycles: | `no_bicycles` | :no_smoking: | `no_smoking` | -| :do_not_litter: | `do_not_litter` | :non-potable_water: | `:non-potable_water:` | -| :no_pedestrians: | `no_pedestrians` | :no_mobile_phones: | `no_mobile_phones` | -| :underage: | `underage` | :radioactive: | `radioactive` | -| :biohazard: | `biohazard` | | | +| :warning: | `warning` | :children_crossing: | `children_crossing` | +| :no_entry: | `no_entry` | :no_entry_sign: | `no_entry_sign` | +| :no_bicycles: | `no_bicycles` | :no_smoking: | `no_smoking` | +| :do_not_litter: | `do_not_litter` | :non-potable_water: | `:non-potable_water:` | +| :no_pedestrians: | `no_pedestrians` | :no_mobile_phones: | `no_mobile_phones` | +| :underage: | `underage` | :radioactive: | `radioactive` | +| :biohazard: | `biohazard` | | | #### Arrow | icon | code | icon | code | | :-: | - | :-: | - | -| :arrow_up: | `arrow_up` | :arrow_upper_right: | `arrow_upper_right` | -| :arrow_right: | `arrow_right` | :arrow_lower_right: | `arrow_lower_right` | -| :arrow_down: | `arrow_down` | :arrow_lower_left: | `arrow_lower_left` | -| :arrow_left: | `arrow_left` | :arrow_upper_left: | `arrow_upper_left` | -| :arrow_up_down: | `arrow_up_down` | :left_right_arrow: | `left_right_arrow` | -| :leftwards_arrow_with_hook: | `leftwards_arrow_with_hook` | :arrow_right_hook: | `arrow_right_hook` | -| :arrow_heading_up: | `arrow_heading_up` | :arrow_heading_down: | `arrow_heading_down` | -| :arrows_clockwise: | `arrows_clockwise` | :arrows_counterclockwise: | `arrows_counterclockwise` | -| :back: | `back` | :end: | `end` | -| :on: | `on` | :soon: | `soon` | -| :top: | `top` | | | +| :arrow_up: | `arrow_up` | :arrow_upper_right: | `arrow_upper_right` | +| :arrow_right: | `arrow_right` | :arrow_lower_right: | `arrow_lower_right` | +| :arrow_down: | `arrow_down` | :arrow_lower_left: | `arrow_lower_left` | +| :arrow_left: | `arrow_left` | :arrow_upper_left: | `arrow_upper_left` | +| :arrow_up_down: | `arrow_up_down` | :left_right_arrow: | `left_right_arrow` | +| :leftwards_arrow_with_hook: | `leftwards_arrow_with_hook` | :arrow_right_hook: | `arrow_right_hook` | +| :arrow_heading_up: | `arrow_heading_up` | :arrow_heading_down: | `arrow_heading_down` | +| :arrows_clockwise: | `arrows_clockwise` | :arrows_counterclockwise: | `arrows_counterclockwise` | +| :back: | `back` | :end: | `end` | +| :on: | `on` | :soon: | `soon` | +| :top: | `top` | | | #### Religion | icon | code | icon | code | | :-: | - | :-: | - | -| :place_of_worship: | `place_of_worship` | :atom_symbol: | `atom_symbol` | -| :om: | `om` | :star_of_david: | `star_of_david` | -| :wheel_of_dharma: | `wheel_of_dharma` | :yin_yang: | `yin_yang` | -| :latin_cross: | `latin_cross` | :orthodox_cross: | `orthodox_cross` | -| :star_and_crescent: | `star_and_crescent` | :peace_symbol: | `peace_symbol` | -| :menorah: | `menorah` | :six_pointed_star: | `six_pointed_star` | +| :place_of_worship: | `place_of_worship` | :atom_symbol: | `atom_symbol` | +| :om: | `om` | :star_of_david: | `star_of_david` | +| :wheel_of_dharma: | `wheel_of_dharma` | :yin_yang: | `yin_yang` | +| :latin_cross: | `latin_cross` | :orthodox_cross: | `orthodox_cross` | +| :star_and_crescent: | `star_and_crescent` | :peace_symbol: | `peace_symbol` | +| :menorah: | `menorah` | :six_pointed_star: | `six_pointed_star` | #### Zodiac | icon | code | icon | code | | :-: | - | :-: | - | -| :aries: | `aries` | :taurus: | `taurus` | -| :gemini: | `gemini` | :cancer: | `cancer` | -| :leo: | `leo` | :virgo: | `virgo` | -| :libra: | `libra` | :scorpius: | `scorpius` | -| :sagittarius: | `sagittarius` | :capricorn: | `capricorn` | -| :aquarius: | `aquarius` | :pisces: | `pisces` | -| :ophiuchus: | `ophiuchus` | | | +| :aries: | `aries` | :taurus: | `taurus` | +| :gemini: | `gemini` | :cancer: | `cancer` | +| :leo: | `leo` | :virgo: | `virgo` | +| :libra: | `libra` | :scorpius: | `scorpius` | +| :sagittarius: | `sagittarius` | :capricorn: | `capricorn` | +| :aquarius: | `aquarius` | :pisces: | `pisces` | +| :ophiuchus: | `ophiuchus` | | | #### Av Symbol | icon | code | icon | code | | :-: | - | :-: | - | -| :twisted_rightwards_arrows: | `twisted_rightwards_arrows` | :repeat: | `repeat` | -| :repeat_one: | `repeat_one` | :arrow_forward: | `arrow_forward` | -| :fast_forward: | `fast_forward` | :next_track_button: | `next_track_button` | -| :play_or_pause_button: | `play_or_pause_button` | :arrow_backward: | `arrow_backward` | -| :rewind: | `rewind` | :previous_track_button: | `previous_track_button` | -| :arrow_up_small: | `arrow_up_small` | :arrow_double_up: | `arrow_double_up` | -| :arrow_down_small: | `arrow_down_small` | :arrow_double_down: | `arrow_double_down` | -| :pause_button: | `pause_button` | :stop_button: | `stop_button` | -| :record_button: | `record_button` | :cinema: | `cinema` | -| :low_brightness: | `low_brightness` | :high_brightness: | `high_brightness` | -| :signal_strength: | `signal_strength` | :vibration_mode: | `vibration_mode` | -| :mobile_phone_off: | `mobile_phone_off` | | | +| :twisted_rightwards_arrows: | `twisted_rightwards_arrows` | :repeat: | `repeat` | +| :repeat_one: | `repeat_one` | :arrow_forward: | `arrow_forward` | +| :fast_forward: | `fast_forward` | :next_track_button: | `next_track_button` | +| :play_or_pause_button: | `play_or_pause_button` | :arrow_backward: | `arrow_backward` | +| :rewind: | `rewind` | :previous_track_button: | `previous_track_button` | +| :arrow_up_small: | `arrow_up_small` | :arrow_double_up: | `arrow_double_up` | +| :arrow_down_small: | `arrow_down_small` | :arrow_double_down: | `arrow_double_down` | +| :pause_button: | `pause_button` | :stop_button: | `stop_button` | +| :record_button: | `record_button` | :cinema: | `cinema` | +| :low_brightness: | `low_brightness` | :high_brightness: | `high_brightness` | +| :signal_strength: | `signal_strength` | :vibration_mode: | `vibration_mode` | +| :mobile_phone_off: | `mobile_phone_off` | | | #### Math | icon | code | icon | code | | :-: | - | :-: | - | -| :heavy_multiplication_x: | `heavy_multiplication_x` | :heavy_plus_sign: | `heavy_plus_sign` | -| :heavy_minus_sign: | `heavy_minus_sign` | :heavy_division_sign: | `heavy_division_sign` | +| :heavy_multiplication_x: | `heavy_multiplication_x` | :heavy_plus_sign: | `heavy_plus_sign` | +| :heavy_minus_sign: | `heavy_minus_sign` | :heavy_division_sign: | `heavy_division_sign` | #### Punctuation | icon | code | icon | code | | :-: | - | :-: | - | -| :bangbang: | `bangbang` | :interrobang: | `interrobang` | -| :question: | `question` | :grey_question: | `grey_question` | -| :grey_exclamation: | `grey_exclamation` | :exclamation: | `exclamation`
`heavy_exclamation_mark` | -| :wavy_dash: | `wavy_dash` | | | +| :bangbang: | `bangbang` | :interrobang: | `interrobang` | +| :question: | `question` | :grey_question: | `grey_question` | +| :grey_exclamation: | `grey_exclamation` | :exclamation: | `exclamation`
`heavy_exclamation_mark` | +| :wavy_dash: | `wavy_dash` | | | #### Currency | icon | code | icon | code | | :-: | - | :-: | - | -| :currency_exchange: | `currency_exchange` | :heavy_dollar_sign: | `heavy_dollar_sign` | +| :currency_exchange: | `currency_exchange` | :heavy_dollar_sign: | `heavy_dollar_sign` | #### Keycap | icon | code | icon | code | | :-: | - | :-: | - | -| :hash: | `hash` | :asterisk: | `asterisk` | -| :zero: | `zero` | :one: | `one` | -| :two: | `two` | :three: | `three` | -| :four: | `four` | :five: | `five` | -| :six: | `six` | :seven: | `seven` | -| :eight: | `eight` | :nine: | `nine` | -| :keycap_ten: | `keycap_ten` | | | +| :hash: | `hash` | :asterisk: | `asterisk` | +| :zero: | `zero` | :one: | `one` | +| :two: | `two` | :three: | `three` | +| :four: | `four` | :five: | `five` | +| :six: | `six` | :seven: | `seven` | +| :eight: | `eight` | :nine: | `nine` | +| :keycap_ten: | `keycap_ten` | | | #### Alphabet | icon | code | icon | code | | :-: | - | :-: | - | -| :capital_abcd: | `capital_abcd` | :abcd: | `abcd` | -| :1234: | `1234` | :symbols: | `symbols` | -| :abc: | `abc` | :a: | `a` | -| :ab: | `ab` | :b: | `b` | -| :cl: | `cl` | :cool: | `cool` | -| :free: | `free` | :information_source: | `information_source` | -| :id: | `id` | :m: | `m` | -| :new: | `new` | :ng: | `ng` | -| :o2: | `o2` | :ok: | `ok` | -| :parking: | `parking` | :sos: | `sos` | -| :up: | `up` | :vs: | `vs` | -| :koko: | `koko` | :sa: | `sa` | -| :u6708: | `u6708` | :u6709: | `u6709` | -| :u6307: | `u6307` | :ideograph_advantage: | `ideograph_advantage` | -| :u5272: | `u5272` | :u7121: | `u7121` | -| :u7981: | `u7981` | :accept: | `accept` | -| :u7533: | `u7533` | :u5408: | `u5408` | -| :u7a7a: | `u7a7a` | :congratulations: | `congratulations` | -| :secret: | `secret` | :u55b6: | `u55b6` | -| :u6e80: | `u6e80` | | | +| :capital_abcd: | `capital_abcd` | :abcd: | `abcd` | +| :1234: | `1234` | :symbols: | `symbols` | +| :abc: | `abc` | :a: | `a` | +| :ab: | `ab` | :b: | `b` | +| :cl: | `cl` | :cool: | `cool` | +| :free: | `free` | :information_source: | `information_source` | +| :id: | `id` | :m: | `m` | +| :new: | `new` | :ng: | `ng` | +| :o2: | `o2` | :ok: | `ok` | +| :parking: | `parking` | :sos: | `sos` | +| :up: | `up` | :vs: | `vs` | +| :koko: | `koko` | :sa: | `sa` | +| :u6708: | `u6708` | :u6709: | `u6709` | +| :u6307: | `u6307` | :ideograph_advantage: | `ideograph_advantage` | +| :u5272: | `u5272` | :u7121: | `u7121` | +| :u7981: | `u7981` | :accept: | `accept` | +| :u7533: | `u7533` | :u5408: | `u5408` | +| :u7a7a: | `u7a7a` | :congratulations: | `congratulations` | +| :secret: | `secret` | :u55b6: | `u55b6` | +| :u6e80: | `u6e80` | | | #### Geometric | icon | code | icon | code | | :-: | - | :-: | - | -| :red_circle: | `red_circle` | :large_blue_circle: | `large_blue_circle` | -| :black_circle: | `black_circle` | :white_circle: | `white_circle` | -| :black_large_square: | `black_large_square` | :white_large_square: | `white_large_square` | -| :black_medium_square: | `black_medium_square` | :white_medium_square: | `white_medium_square` | -| :black_medium_small_square: | `black_medium_small_square` | :white_medium_small_square: | `white_medium_small_square` | -| :black_small_square: | `black_small_square` | :white_small_square: | `white_small_square` | -| :large_orange_diamond: | `large_orange_diamond` | :large_blue_diamond: | `large_blue_diamond` | -| :small_orange_diamond: | `small_orange_diamond` | :small_blue_diamond: | `small_blue_diamond` | -| :small_red_triangle: | `small_red_triangle` | :small_red_triangle_down: | `small_red_triangle_down` | -| :diamond_shape_with_a_dot_inside: | `diamond_shape_with_a_dot_inside` | :radio_button: | `radio_button` | -| :white_square_button: | `white_square_button` | :black_square_button: | `black_square_button` | +| :red_circle: | `red_circle` | :large_blue_circle: | `large_blue_circle` | +| :black_circle: | `black_circle` | :white_circle: | `white_circle` | +| :black_large_square: | `black_large_square` | :white_large_square: | `white_large_square` | +| :black_medium_square: | `black_medium_square` | :white_medium_square: | `white_medium_square` | +| :black_medium_small_square: | `black_medium_small_square` | :white_medium_small_square: | `white_medium_small_square` | +| :black_small_square: | `black_small_square` | :white_small_square: | `white_small_square` | +| :large_orange_diamond: | `large_orange_diamond` | :large_blue_diamond: | `large_blue_diamond` | +| :small_orange_diamond: | `small_orange_diamond` | :small_blue_diamond: | `small_blue_diamond` | +| :small_red_triangle: | `small_red_triangle` | :small_red_triangle_down: | `small_red_triangle_down` | +| :diamond_shape_with_a_dot_inside: | `diamond_shape_with_a_dot_inside` | :radio_button: | `radio_button` | +| :white_square_button: | `white_square_button` | :black_square_button: | `black_square_button` | #### Other Symbol | icon | code | icon | code | | :-: | - | :-: | - | -| :recycle: | `recycle` | :fleur_de_lis: | `fleur_de_lis` | -| :trident: | `trident` | :name_badge: | `name_badge` | -| :beginner: | `beginner` | :o: | `o` | -| :white_check_mark: | `white_check_mark` | :ballot_box_with_check: | `ballot_box_with_check` | -| :heavy_check_mark: | `heavy_check_mark` | :x: | `x` | -| :negative_squared_cross_mark: | `negative_squared_cross_mark` | :curly_loop: | `curly_loop` | -| :loop: | `loop` | :part_alternation_mark: | `part_alternation_mark` | -| :eight_spoked_asterisk: | `eight_spoked_asterisk` | :eight_pointed_black_star: | `eight_pointed_black_star` | -| :sparkle: | `sparkle` | :copyright: | `copyright` | -| :registered: | `registered` | :tm: | `tm` | +| :recycle: | `recycle` | :fleur_de_lis: | `fleur_de_lis` | +| :trident: | `trident` | :name_badge: | `name_badge` | +| :beginner: | `beginner` | :o: | `o` | +| :white_check_mark: | `white_check_mark` | :ballot_box_with_check: | `ballot_box_with_check` | +| :heavy_check_mark: | `heavy_check_mark` | :x: | `x` | +| :negative_squared_cross_mark: | `negative_squared_cross_mark` | :curly_loop: | `curly_loop` | +| :loop: | `loop` | :part_alternation_mark: | `part_alternation_mark` | +| :eight_spoked_asterisk: | `eight_spoked_asterisk` | :eight_pointed_black_star: | `eight_pointed_black_star` | +| :sparkle: | `sparkle` | :copyright: | `copyright` | +| :registered: | `registered` | :tm: | `tm` | ### Flags @@ -1149,141 +1150,135 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :checkered_flag: | `checkered_flag` | :triangular_flag_on_post: | `triangular_flag_on_post` | -| :crossed_flags: | `crossed_flags` | :black_flag: | `black_flag` | -| :white_flag: | `white_flag` | :rainbow_flag: | `rainbow_flag` | +| :checkered_flag: | `checkered_flag` | :triangular_flag_on_post: | `triangular_flag_on_post` | +| :crossed_flags: | `crossed_flags` | :black_flag: | `black_flag` | +| :white_flag: | `white_flag` | :rainbow_flag: | `rainbow_flag` | #### Country and Region Flags | icon | code | icon | code | | :-: | - | :-: | - | -| :andorra: | `andorra` | :united_arab_emirates: | `united_arab_emirates` | -| :afghanistan: | `afghanistan` | :antigua_barbuda: | `antigua_barbuda` | -| :anguilla: | `anguilla` | :albania: | `albania` | -| :armenia: | `armenia` | :angola: | `angola` | -| :antarctica: | `antarctica` | :argentina: | `argentina` | -| :american_samoa: | `american_samoa` | :austria: | `austria` | -| :australia: | `australia` | :aruba: | `aruba` | -| :aland_islands: | `aland_islands` | :azerbaijan: | `azerbaijan` | -| :bosnia_herzegovina: | `bosnia_herzegovina` | :barbados: | `barbados` | -| :bangladesh: | `bangladesh` | :belgium: | `belgium` | -| :burkina_faso: | `burkina_faso` | :bulgaria: | `bulgaria` | -| :bahrain: | `bahrain` | :burundi: | `burundi` | -| :benin: | `benin` | :st_barthelemy: | `st_barthelemy` | -| :bermuda: | `bermuda` | :brunei: | `brunei` | -| :bolivia: | `bolivia` | :caribbean_netherlands: | `caribbean_netherlands` | -| :brazil: | `brazil` | :bahamas: | `bahamas` | -| :bhutan: | `bhutan` | :botswana: | `botswana` | -| :belarus: | `belarus` | :belize: | `belize` | -| :canada: | `canada` | :cocos_islands: | `cocos_islands` | -| :congo_kinshasa: | `congo_kinshasa` | :central_african_republic: | `central_african_republic` | -| :congo_brazzaville: | `congo_brazzaville` | :switzerland: | `switzerland` | -| :cote_divoire: | `cote_divoire` | :cook_islands: | `cook_islands` | -| :chile: | `chile` | :cameroon: | `cameroon` | -| :cn: | `cn` | :colombia: | `colombia` | -| :costa_rica: | `costa_rica` | :cuba: | `cuba` | -| :cape_verde: | `cape_verde` | :curacao: | `curacao` | -| :christmas_island: | `christmas_island` | :cyprus: | `cyprus` | -| :czech_republic: | `czech_republic` | :de: | `de` | -| :djibouti: | `djibouti` | :denmark: | `denmark` | -| :dominica: | `dominica` | :dominican_republic: | `dominican_republic` | -| :algeria: | `algeria` | :ecuador: | `ecuador` | -| :estonia: | `estonia` | :egypt: | `egypt` | -| :western_sahara: | `western_sahara` | :eritrea: | `eritrea` | -| :es: | `es` | :ethiopia: | `ethiopia` | -| :eu: | `eu`
`european_union` | :finland: | `finland` | -| :fiji: | `fiji` | :falkland_islands: | `falkland_islands` | -| :micronesia: | `micronesia` | :faroe_islands: | `faroe_islands` | -| :fr: | `fr` | :gabon: | `gabon` | -| :gb: | `gb`
`uk` | :grenada: | `grenada` | -| :georgia: | `georgia` | :french_guiana: | `french_guiana` | -| :guernsey: | `guernsey` | :ghana: | `ghana` | -| :gibraltar: | `gibraltar` | :greenland: | `greenland` | -| :gambia: | `gambia` | :guinea: | `guinea` | -| :guadeloupe: | `guadeloupe` | :equatorial_guinea: | `equatorial_guinea` | -| :greece: | `greece` | :south_georgia_south_sandwich_islands: | `south_georgia_south_sandwich_islands` | -| :guatemala: | `guatemala` | :guam: | `guam` | -| :guinea_bissau: | `guinea_bissau` | :guyana: | `guyana` | -| :hong_kong: | `hong_kong` | :honduras: | `honduras` | -| :croatia: | `croatia` | :haiti: | `haiti` | -| :hungary: | `hungary` | :canary_islands: | `canary_islands` | -| :indonesia: | `indonesia` | :ireland: | `ireland` | -| :israel: | `israel` | :isle_of_man: | `isle_of_man` | -| :india: | `india` | :british_indian_ocean_territory: | `british_indian_ocean_territory` | -| :iraq: | `iraq` | :iran: | `iran` | -| :iceland: | `iceland` | :it: | `it` | -| :jersey: | `jersey` | :jamaica: | `jamaica` | -| :jordan: | `jordan` | :jp: | `jp` | -| :kenya: | `kenya` | :kyrgyzstan: | `kyrgyzstan` | -| :cambodia: | `cambodia` | :kiribati: | `kiribati` | -| :comoros: | `comoros` | :st_kitts_nevis: | `st_kitts_nevis` | -| :north_korea: | `north_korea` | :kr: | `kr` | -| :kuwait: | `kuwait` | :cayman_islands: | `cayman_islands` | -| :kazakhstan: | `kazakhstan` | :laos: | `laos` | -| :lebanon: | `lebanon` | :st_lucia: | `st_lucia` | -| :liechtenstein: | `liechtenstein` | :sri_lanka: | `sri_lanka` | -| :liberia: | `liberia` | :lesotho: | `lesotho` | -| :lithuania: | `lithuania` | :luxembourg: | `luxembourg` | -| :latvia: | `latvia` | :libya: | `libya` | -| :morocco: | `morocco` | :monaco: | `monaco` | -| :moldova: | `moldova` | :montenegro: | `montenegro` | -| :madagascar: | `madagascar` | :marshall_islands: | `marshall_islands` | -| :macedonia: | `macedonia` | :mali: | `mali` | -| :myanmar: | `myanmar` | :mongolia: | `mongolia` | -| :macau: | `macau` | :northern_mariana_islands: | `northern_mariana_islands` | -| :martinique: | `martinique` | :mauritania: | `mauritania` | -| :montserrat: | `montserrat` | :malta: | `malta` | -| :mauritius: | `mauritius` | :maldives: | `maldives` | -| :malawi: | `malawi` | :mexico: | `mexico` | -| :malaysia: | `malaysia` | :mozambique: | `mozambique` | -| :namibia: | `namibia` | :new_caledonia: | `new_caledonia` | -| :niger: | `niger` | :norfolk_island: | `norfolk_island` | -| :nigeria: | `nigeria` | :nicaragua: | `nicaragua` | -| :netherlands: | `netherlands` | :norway: | `norway` | -| :nepal: | `nepal` | :nauru: | `nauru` | -| :niue: | `niue` | :new_zealand: | `new_zealand` | -| :oman: | `oman` | :panama: | `panama` | -| :peru: | `peru` | :french_polynesia: | `french_polynesia` | -| :papua_new_guinea: | `papua_new_guinea` | :philippines: | `philippines` | -| :pakistan: | `pakistan` | :poland: | `poland` | -| :st_pierre_miquelon: | `st_pierre_miquelon` | :pitcairn_islands: | `pitcairn_islands` | -| :puerto_rico: | `puerto_rico` | :palestinian_territories: | `palestinian_territories` | -| :portugal: | `portugal` | :palau: | `palau` | -| :paraguay: | `paraguay` | :qatar: | `qatar` | -| :reunion: | `reunion` | :romania: | `romania` | -| :serbia: | `serbia` | :ru: | `ru` | -| :rwanda: | `rwanda` | :saudi_arabia: | `saudi_arabia` | -| :solomon_islands: | `solomon_islands` | :seychelles: | `seychelles` | -| :sudan: | `sudan` | :sweden: | `sweden` | -| :singapore: | `singapore` | :st_helena: | `st_helena` | -| :slovenia: | `slovenia` | :slovakia: | `slovakia` | -| :sierra_leone: | `sierra_leone` | :san_marino: | `san_marino` | -| :senegal: | `senegal` | :somalia: | `somalia` | -| :suriname: | `suriname` | :south_sudan: | `south_sudan` | -| :sao_tome_principe: | `sao_tome_principe` | :el_salvador: | `el_salvador` | -| :sint_maarten: | `sint_maarten` | :syria: | `syria` | -| :swaziland: | `swaziland` | :turks_caicos_islands: | `turks_caicos_islands` | -| :chad: | `chad` | :french_southern_territories: | `french_southern_territories` | -| :togo: | `togo` | :thailand: | `thailand` | -| :tajikistan: | `tajikistan` | :tokelau: | `tokelau` | -| :timor_leste: | `timor_leste` | :turkmenistan: | `turkmenistan` | -| :tunisia: | `tunisia` | :tonga: | `tonga` | -| :tr: | `tr` | :trinidad_tobago: | `trinidad_tobago` | -| :tuvalu: | `tuvalu` | :taiwan: | `taiwan` | -| :tanzania: | `tanzania` | :ukraine: | `ukraine` | -| :uganda: | `uganda` | :us: | `us` | -| :uruguay: | `uruguay` | :uzbekistan: | `uzbekistan` | -| :vatican_city: | `vatican_city` | :st_vincent_grenadines: | `st_vincent_grenadines` | -| :venezuela: | `venezuela` | :british_virgin_islands: | `british_virgin_islands` | -| :us_virgin_islands: | `us_virgin_islands` | :vietnam: | `vietnam` | -| :vanuatu: | `vanuatu` | :wallis_futuna: | `wallis_futuna` | -| :samoa: | `samoa` | :kosovo: | `kosovo` | -| :yemen: | `yemen` | :mayotte: | `mayotte` | -| :south_africa: | `south_africa` | :zambia: | `zambia` | -| :zimbabwe: | `zimbabwe` | | | - - +| :andorra: | `andorra` | :united_arab_emirates: | `united_arab_emirates` | +| :afghanistan: | `afghanistan` | :antigua_barbuda: | `antigua_barbuda` | +| :anguilla: | `anguilla` | :albania: | `albania` | +| :armenia: | `armenia` | :angola: | `angola` | +| :antarctica: | `antarctica` | :argentina: | `argentina` | +| :american_samoa: | `american_samoa` | :austria: | `austria` | +| :australia: | `australia` | :aruba: | `aruba` | +| :aland_islands: | `aland_islands` | :azerbaijan: | `azerbaijan` | +| :bosnia_herzegovina: | `bosnia_herzegovina` | :barbados: | `barbados` | +| :bangladesh: | `bangladesh` | :belgium: | `belgium` | +| :burkina_faso: | `burkina_faso` | :bulgaria: | `bulgaria` | +| :bahrain: | `bahrain` | :burundi: | `burundi` | +| :benin: | `benin` | :st_barthelemy: | `st_barthelemy` | +| :bermuda: | `bermuda` | :brunei: | `brunei` | +| :bolivia: | `bolivia` | :caribbean_netherlands: | `caribbean_netherlands` | +| :brazil: | `brazil` | :bahamas: | `bahamas` | +| :bhutan: | `bhutan` | :botswana: | `botswana` | +| :belarus: | `belarus` | :belize: | `belize` | +| :canada: | `canada` | :cocos_islands: | `cocos_islands` | +| :congo_kinshasa: | `congo_kinshasa` | :central_african_republic: | `central_african_republic` | +| :congo_brazzaville: | `congo_brazzaville` | :switzerland: | `switzerland` | +| :cote_divoire: | `cote_divoire` | :cook_islands: | `cook_islands` | +| :chile: | `chile` | :cameroon: | `cameroon` | +| :cn: | `cn` | :colombia: | `colombia` | +| :costa_rica: | `costa_rica` | :cuba: | `cuba` | +| :cape_verde: | `cape_verde` | :curacao: | `curacao` | +| :christmas_island: | `christmas_island` | :cyprus: | `cyprus` | +| :czech_republic: | `czech_republic` | :de: | `de` | +| :djibouti: | `djibouti` | :denmark: | `denmark` | +| :dominica: | `dominica` | :dominican_republic: | `dominican_republic` | +| :algeria: | `algeria` | :ecuador: | `ecuador` | +| :estonia: | `estonia` | :egypt: | `egypt` | +| :western_sahara: | `western_sahara` | :eritrea: | `eritrea` | +| :es: | `es` | :ethiopia: | `ethiopia` | +| :eu: | `eu`
`european_union` | :finland: | `finland` | +| :fiji: | `fiji` | :falkland_islands: | `falkland_islands` | +| :micronesia: | `micronesia` | :faroe_islands: | `faroe_islands` | +| :fr: | `fr` | :gabon: | `gabon` | +| :gb: | `gb`
`uk` | :grenada: | `grenada` | +| :georgia: | `georgia` | :french_guiana: | `french_guiana` | +| :guernsey: | `guernsey` | :ghana: | `ghana` | +| :gibraltar: | `gibraltar` | :greenland: | `greenland` | +| :gambia: | `gambia` | :guinea: | `guinea` | +| :guadeloupe: | `guadeloupe` | :equatorial_guinea: | `equatorial_guinea` | +| :greece: | `greece` | :south_georgia_south_sandwich_islands: | `south_georgia_south_sandwich_islands` | +| :guatemala: | `guatemala` | :guam: | `guam` | +| :guinea_bissau: | `guinea_bissau` | :guyana: | `guyana` | +| :hong_kong: | `hong_kong` | :honduras: | `honduras` | +| :croatia: | `croatia` | :haiti: | `haiti` | +| :hungary: | `hungary` | :canary_islands: | `canary_islands` | +| :indonesia: | `indonesia` | :ireland: | `ireland` | +| :israel: | `israel` | :isle_of_man: | `isle_of_man` | +| :india: | `india` | :british_indian_ocean_territory: | `british_indian_ocean_territory` | +| :iraq: | `iraq` | :iran: | `iran` | +| :iceland: | `iceland` | :it: | `it` | +| :jersey: | `jersey` | :jamaica: | `jamaica` | +| :jordan: | `jordan` | :jp: | `jp` | +| :kenya: | `kenya` | :kyrgyzstan: | `kyrgyzstan` | +| :cambodia: | `cambodia` | :kiribati: | `kiribati` | +| :comoros: | `comoros` | :st_kitts_nevis: | `st_kitts_nevis` | +| :north_korea: | `north_korea` | :kr: | `kr` | +| :kuwait: | `kuwait` | :cayman_islands: | `cayman_islands` | +| :kazakhstan: | `kazakhstan` | :laos: | `laos` | +| :lebanon: | `lebanon` | :st_lucia: | `st_lucia` | +| :liechtenstein: | `liechtenstein` | :sri_lanka: | `sri_lanka` | +| :liberia: | `liberia` | :lesotho: | `lesotho` | +| :lithuania: | `lithuania` | :luxembourg: | `luxembourg` | +| :latvia: | `latvia` | :libya: | `libya` | +| :morocco: | `morocco` | :monaco: | `monaco` | +| :moldova: | `moldova` | :montenegro: | `montenegro` | +| :madagascar: | `madagascar` | :marshall_islands: | `marshall_islands` | +| :macedonia: | `macedonia` | :mali: | `mali` | +| :myanmar: | `myanmar` | :mongolia: | `mongolia` | +| :macau: | `macau` | :northern_mariana_islands: | `northern_mariana_islands` | +| :martinique: | `martinique` | :mauritania: | `mauritania` | +| :montserrat: | `montserrat` | :malta: | `malta` | +| :mauritius: | `mauritius` | :maldives: | `maldives` | +| :malawi: | `malawi` | :mexico: | `mexico` | +| :malaysia: | `malaysia` | :mozambique: | `mozambique` | +| :namibia: | `namibia` | :new_caledonia: | `new_caledonia` | +| :niger: | `niger` | :norfolk_island: | `norfolk_island` | +| :nigeria: | `nigeria` | :nicaragua: | `nicaragua` | +| :netherlands: | `netherlands` | :norway: | `norway` | +| :nepal: | `nepal` | :nauru: | `nauru` | +| :niue: | `niue` | :new_zealand: | `new_zealand` | +| :oman: | `oman` | :panama: | `panama` | +| :peru: | `peru` | :french_polynesia: | `french_polynesia` | +| :papua_new_guinea: | `papua_new_guinea` | :philippines: | `philippines` | +| :pakistan: | `pakistan` | :poland: | `poland` | +| :st_pierre_miquelon: | `st_pierre_miquelon` | :pitcairn_islands: | `pitcairn_islands` | +| :puerto_rico: | `puerto_rico` | :palestinian_territories: | `palestinian_territories` | +| :portugal: | `portugal` | :palau: | `palau` | +| :paraguay: | `paraguay` | :qatar: | `qatar` | +| :reunion: | `reunion` | :romania: | `romania` | +| :serbia: | `serbia` | :ru: | `ru` | +| :rwanda: | `rwanda` | :saudi_arabia: | `saudi_arabia` | +| :solomon_islands: | `solomon_islands` | :seychelles: | `seychelles` | +| :sudan: | `sudan` | :sweden: | `sweden` | +| :singapore: | `singapore` | :st_helena: | `st_helena` | +| :slovenia: | `slovenia` | :slovakia: | `slovakia` | +| :sierra_leone: | `sierra_leone` | :san_marino: | `san_marino` | +| :senegal: | `senegal` | :somalia: | `somalia` | +| :suriname: | `suriname` | :south_sudan: | `south_sudan` | +| :sao_tome_principe: | `sao_tome_principe` | :el_salvador: | `el_salvador` | +| :sint_maarten: | `sint_maarten` | :syria: | `syria` | +| :swaziland: | `swaziland` | :turks_caicos_islands: | `turks_caicos_islands` | +| :chad: | `chad` | :french_southern_territories: | `french_southern_territories` | +| :togo: | `togo` | :thailand: | `thailand` | +| :tajikistan: | `tajikistan` | :tokelau: | `tokelau` | +| :timor_leste: | `timor_leste` | :turkmenistan: | `turkmenistan` | +| :tunisia: | `tunisia` | :tonga: | `tonga` | +| :tr: | `tr` | :trinidad_tobago: | `trinidad_tobago` | +| :tuvalu: | `tuvalu` | :taiwan: | `taiwan` | +| :tanzania: | `tanzania` | :ukraine: | `ukraine` | +| :uganda: | `uganda` | :us: | `us` | +| :uruguay: | `uruguay` | :uzbekistan: | `uzbekistan` | +| :vatican_city: | `vatican_city` | :st_vincent_grenadines: | `st_vincent_grenadines` | +| :venezuela: | `venezuela` | :british_virgin_islands: | `british_virgin_islands` | +| :us_virgin_islands: | `us_virgin_islands` | :vietnam: | `vietnam` | +| :vanuatu: | `vanuatu` | :wallis_futuna: | `wallis_futuna` | +| :samoa: | `samoa` | :kosovo: | `kosovo` | +| :yemen: | `yemen` | :mayotte: | `mayotte` | +| :south_africa: | `south_africa` | :zambia: | `zambia` | +| :zimbabwe: | `zimbabwe` | | | diff --git a/exampleSite/content/posts/emoji-support.fr.md b/exampleSite/content/posts/emoji-support.fr.md index 2ac59d9..bb8a8c9 100644 --- a/exampleSite/content/posts/emoji-support.fr.md +++ b/exampleSite/content/posts/emoji-support.fr.md @@ -12,6 +12,7 @@ tags: ["emoji"] categories: ["Markdown"] featuredImage: "/images/emoji-support/featured-image.jpg" +twemoji: true lightgallery: true --- @@ -52,145 +53,145 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :grinning: | `grinning` | :smiley: | `smiley` | -| :smile: | `smile` | :grin: | `grin` | -| :laughing: | `laughing`
`satisfied` | :sweat_smile: | `sweat_smile` | -| :rofl: | `rofl` | :joy: | `joy` | -| :slightly_smiling_face: | `slightly_smiling_face` | :upside_down_face: | `upside_down_face` | -| :wink: | `wink` | :blush: | `blush` | -| :innocent: | `innocent` | | | +| :grinning: | `grinning` | :smiley: | `smiley` | +| :smile: | `smile` | :grin: | `grin` | +| :laughing: | `laughing`
`satisfied` | :sweat_smile: | `sweat_smile` | +| :rofl: | `rofl` | :joy: | `joy` | +| :slightly_smiling_face: | `slightly_smiling_face` | :upside_down_face: | `upside_down_face` | +| :wink: | `wink` | :blush: | `blush` | +| :innocent: | `innocent` | | | #### Face Affection | icon | code | icon | code | | :-: | - | :-: | - | -| :heart_eyes: | `heart_eyes` | :kissing_heart: | `kissing_heart` | -| :kissing: | `kissing` | :relaxed: | `relaxed` | -| :kissing_closed_eyes: | `kissing_closed_eyes` | :kissing_smiling_eyes: | `kissing_smiling_eyes` | +| :heart_eyes: | `heart_eyes` | :kissing_heart: | `kissing_heart` | +| :kissing: | `kissing` | :relaxed: | `relaxed` | +| :kissing_closed_eyes: | `kissing_closed_eyes` | :kissing_smiling_eyes: | `kissing_smiling_eyes` | #### Face Tongue | icon | code | icon | code | | :-: | - | :-: | - | -| :yum: | `yum` | :stuck_out_tongue: | `stuck_out_tongue` | -| :stuck_out_tongue_winking_eye: | `stuck_out_tongue_winking_eye` | :stuck_out_tongue_closed_eyes: | `stuck_out_tongue_closed_eyes` | -| :money_mouth_face: | `money_mouth_face` | | | +| :yum: | `yum` | :stuck_out_tongue: | `stuck_out_tongue` | +| :stuck_out_tongue_winking_eye: | `stuck_out_tongue_winking_eye` | :stuck_out_tongue_closed_eyes: | `stuck_out_tongue_closed_eyes` | +| :money_mouth_face: | `money_mouth_face` | | | #### Face Hand | icon | code | icon | code | | :-: | - | :-: | - | -| :hugs: | `hugs` | :thinking: | `thinking` | +| :hugs: | `hugs` | :thinking: | `thinking` | #### Face Neutral Skeptical | icon | code | icon | code | | :-: | - | :-: | - | -| :zipper_mouth_face: | `zipper_mouth_face` | :neutral_face: | `neutral_face` | -| :expressionless: | `expressionless` | :no_mouth: | `no_mouth` | -| :smirk: | `smirk` | :unamused: | `unamused` | -| :roll_eyes: | `roll_eyes` | :grimacing: | `grimacing` | -| :lying_face: | `lying_face` | | | +| :zipper_mouth_face: | `zipper_mouth_face` | :neutral_face: | `neutral_face` | +| :expressionless: | `expressionless` | :no_mouth: | `no_mouth` | +| :smirk: | `smirk` | :unamused: | `unamused` | +| :roll_eyes: | `roll_eyes` | :grimacing: | `grimacing` | +| :lying_face: | `lying_face` | | | #### Face Sleepy | icon | code | icon | code | | :-: | - | :-: | - | -| :relieved: | `relieved` | :pensive: | `pensive` | -| :sleepy: | `sleepy` | :drooling_face: | `drooling_face` | -| :sleeping: | `sleeping` | | | +| :relieved: | `relieved` | :pensive: | `pensive` | +| :sleepy: | `sleepy` | :drooling_face: | `drooling_face` | +| :sleeping: | `sleeping` | | | #### Face Unwell | icon | code | icon | code | | :-: | - | :-: | - | -| :mask: | `mask` | :face_with_thermometer: | `face_with_thermometer` | -| :face_with_head_bandage: | `face_with_head_bandage` | :nauseated_face: | `nauseated_face` | -| :sneezing_face: | `sneezing_face` | :dizzy_face: | `dizzy_face` | +| :mask: | `mask` | :face_with_thermometer: | `face_with_thermometer` | +| :face_with_head_bandage: | `face_with_head_bandage` | :nauseated_face: | `nauseated_face` | +| :sneezing_face: | `sneezing_face` | :dizzy_face: | `dizzy_face` | #### Face Hat | icon | code | icon | code | | :-: | - | :-: | - | -| :cowboy_hat_face: | `cowboy_hat_face` | | | +| :cowboy_hat_face: | `cowboy_hat_face` | | | #### Face Glasses | icon | code | icon | code | | :-: | - | :-: | - | -| :sunglasses: | `sunglasses` | :nerd_face: | `nerd_face` | +| :sunglasses: | `sunglasses` | :nerd_face: | `nerd_face` | #### Face Concerned | icon | code | icon | code | | :-: | - | :-: | - | -| :confused: | `confused` | :worried: | `worried` | -| :slightly_frowning_face: | `slightly_frowning_face` | :frowning_face: | `frowning_face` | -| :open_mouth: | `open_mouth` | :hushed: | `hushed` | -| :astonished: | `astonished` | :flushed: | `flushed` | -| :frowning: | `frowning` | :anguished: | `anguished` | -| :fearful: | `fearful` | :cold_sweat: | `cold_sweat` | -| :disappointed_relieved: | `disappointed_relieved` | :cry: | `cry` | -| :sob: | `sob` | :scream: | `scream` | -| :confounded: | `confounded` | :persevere: | `persevere` | -| :disappointed: | `disappointed` | :sweat: | `sweat` | -| :weary: | `weary` | :tired_face: | `tired_face` | +| :confused: | `confused` | :worried: | `worried` | +| :slightly_frowning_face: | `slightly_frowning_face` | :frowning_face: | `frowning_face` | +| :open_mouth: | `open_mouth` | :hushed: | `hushed` | +| :astonished: | `astonished` | :flushed: | `flushed` | +| :frowning: | `frowning` | :anguished: | `anguished` | +| :fearful: | `fearful` | :cold_sweat: | `cold_sweat` | +| :disappointed_relieved: | `disappointed_relieved` | :cry: | `cry` | +| :sob: | `sob` | :scream: | `scream` | +| :confounded: | `confounded` | :persevere: | `persevere` | +| :disappointed: | `disappointed` | :sweat: | `sweat` | +| :weary: | `weary` | :tired_face: | `tired_face` | #### Face Negative | icon | code | icon | code | | :-: | - | :-: | - | -| :triumph: | `triumph` | :pout: | `pout`
`rage` | -| :angry: | `angry` | :smiling_imp: | `smiling_imp` | -| :imp: | `imp` | :skull: | `skull` | -| :skull_and_crossbones: | `skull_and_crossbones` | | | +| :triumph: | `triumph` | :pout: | `pout`
`rage` | +| :angry: | `angry` | :smiling_imp: | `smiling_imp` | +| :imp: | `imp` | :skull: | `skull` | +| :skull_and_crossbones: | `skull_and_crossbones` | | | #### Face Costume | icon | code | icon | code | | :-: | - | :-: | - | -| :hankey: | `hankey`
`poop`
`shit` | :clown_face: | `clown_face` | -| :japanese_ogre: | `japanese_ogre` | :japanese_goblin: | `japanese_goblin` | -| :ghost: | `ghost` | :alien: | `alien` | -| :space_invader: | `space_invader` | :robot: | `robot` | +| :hankey: | `hankey`
`poop`
`shit` | :clown_face: | `clown_face` | +| :japanese_ogre: | `japanese_ogre` | :japanese_goblin: | `japanese_goblin` | +| :ghost: | `ghost` | :alien: | `alien` | +| :space_invader: | `space_invader` | :robot: | `robot` | #### Cat Face | icon | code | icon | code | | :-: | - | :-: | - | -| :smiley_cat: | `smiley_cat` | :smile_cat: | `smile_cat` | -| :joy_cat: | `joy_cat` | :heart_eyes_cat: | `heart_eyes_cat` | -| :smirk_cat: | `smirk_cat` | :kissing_cat: | `kissing_cat` | -| :scream_cat: | `scream_cat` | :crying_cat_face: | `crying_cat_face` | -| :pouting_cat: | `pouting_cat` | | | +| :smiley_cat: | `smiley_cat` | :smile_cat: | `smile_cat` | +| :joy_cat: | `joy_cat` | :heart_eyes_cat: | `heart_eyes_cat` | +| :smirk_cat: | `smirk_cat` | :kissing_cat: | `kissing_cat` | +| :scream_cat: | `scream_cat` | :crying_cat_face: | `crying_cat_face` | +| :pouting_cat: | `pouting_cat` | | | #### Monkey Face | icon | code | icon | code | | :-: | - | :-: | - | -| :see_no_evil: | `see_no_evil` | :hear_no_evil: | `hear_no_evil` | -| :speak_no_evil: | `speak_no_evil` | | | +| :see_no_evil: | `see_no_evil` | :hear_no_evil: | `hear_no_evil` | +| :speak_no_evil: | `speak_no_evil` | | | #### Emotion | icon | code | icon | code | | :-: | - | :-: | - | -| :kiss: | `kiss` | :love_letter: | `love_letter` | -| :cupid: | `cupid` | :gift_heart: | `gift_heart` | -| :sparkling_heart: | `sparkling_heart` | :heartpulse: | `heartpulse` | -| :heartbeat: | `heartbeat` | :revolving_hearts: | `revolving_hearts` | -| :two_hearts: | `two_hearts` | :heart_decoration: | `heart_decoration` | -| :heavy_heart_exclamation: | `heavy_heart_exclamation` | :broken_heart: | `broken_heart` | -| :heart: | `heart` | :yellow_heart: | `yellow_heart` | -| :green_heart: | `green_heart` | :blue_heart: | `blue_heart` | -| :purple_heart: | `purple_heart` | :black_heart: | `black_heart` | -| :100: | `100` | :anger: | `anger` | -| :boom: | `boom`
`collision` | :dizzy: | `dizzy` | -| :sweat_drops: | `sweat_drops` | :dash: | `dash` | -| :hole: | `hole` | :bomb: | `bomb` | -| :speech_balloon: | `speech_balloon` | :eye_speech_bubble: | `eye_speech_bubble` | -| :right_anger_bubble: | `right_anger_bubble` | :thought_balloon: | `thought_balloon` | -| :zzz: | `zzz` | | | +| :kiss: | `kiss` | :love_letter: | `love_letter` | +| :cupid: | `cupid` | :gift_heart: | `gift_heart` | +| :sparkling_heart: | `sparkling_heart` | :heartpulse: | `heartpulse` | +| :heartbeat: | `heartbeat` | :revolving_hearts: | `revolving_hearts` | +| :two_hearts: | `two_hearts` | :heart_decoration: | `heart_decoration` | +| :heavy_heart_exclamation: | `heavy_heart_exclamation` | :broken_heart: | `broken_heart` | +| :heart: | `heart` | :yellow_heart: | `yellow_heart` | +| :green_heart: | `green_heart` | :blue_heart: | `blue_heart` | +| :purple_heart: | `purple_heart` | :black_heart: | `black_heart` | +| :100: | `100` | :anger: | `anger` | +| :boom: | `boom`
`collision` | :dizzy: | `dizzy` | +| :sweat_drops: | `sweat_drops` | :dash: | `dash` | +| :hole: | `hole` | :bomb: | `bomb` | +| :speech_balloon: | `speech_balloon` | :eye_speech_bubble: | `eye_speech_bubble` | +| :right_anger_bubble: | `right_anger_bubble` | :thought_balloon: | `thought_balloon` | +| :zzz: | `zzz` | | | ### People & Body @@ -198,184 +199,184 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :wave: | `wave` | :raised_back_of_hand: | `raised_back_of_hand` | -| :raised_hand_with_fingers_splayed: | `raised_hand_with_fingers_splayed` | :hand: | `hand`
`raised_hand` | -| :vulcan_salute: | `vulcan_salute` | | | +| :wave: | `wave` | :raised_back_of_hand: | `raised_back_of_hand` | +| :raised_hand_with_fingers_splayed: | `raised_hand_with_fingers_splayed` | :hand: | `hand`
`raised_hand` | +| :vulcan_salute: | `vulcan_salute` | | | #### Hand Fingers Partial | icon | code | icon | code | | :-: | - | :-: | - | -| :ok_hand: | `ok_hand` | :v: | `v` | -| :crossed_fingers: | `crossed_fingers` | :metal: | `metal` | -| :call_me_hand: | `call_me_hand` | | | +| :ok_hand: | `ok_hand` | :v: | `v` | +| :crossed_fingers: | `crossed_fingers` | :metal: | `metal` | +| :call_me_hand: | `call_me_hand` | | | #### Hand Single Finger | icon | code | icon | code | | :-: | - | :-: | - | -| :point_left: | `point_left` | :point_right: | `point_right` | -| :point_up_2: | `point_up_2` | :fu: | `fu`
`middle_finger` | -| :point_down: | `point_down` | :point_up: | `point_up` | +| :point_left: | `point_left` | :point_right: | `point_right` | +| :point_up_2: | `point_up_2` | :fu: | `fu`
`middle_finger` | +| :point_down: | `point_down` | :point_up: | `point_up` | #### Hand Fingers Closed | icon | code | icon | code | | :-: | - | :-: | - | -| :+1: | `:+1:`
`thumbsup` | :-1: | `:-1:`
`thumbsdown` | -| :fist: | `fist`
`fist_raised` | :facepunch: | `facepunch`
`fist_oncoming`
`punch` | -| :fist_left: | `fist_left` | :fist_right: | `fist_right` | +| :+1: | `+1`
`thumbsup` | :-1: | `-1`
`thumbsdown` | +| :fist: | `fist`
`fist_raised` | :facepunch: | `facepunch`
`fist_oncoming`
`punch` | +| :fist_left: | `fist_left` | :fist_right: | `fist_right` | #### Hands | icon | code | icon | code | | :-: | - | :-: | - | -| :clap: | `clap` | :raised_hands: | `raised_hands` | -| :open_hands: | `open_hands` | :handshake: | `handshake` | -| :pray: | `pray` | | | +| :clap: | `clap` | :raised_hands: | `raised_hands` | +| :open_hands: | `open_hands` | :handshake: | `handshake` | +| :pray: | `pray` | | | #### Hand Prop | icon | code | icon | code | | :-: | - | :-: | - | -| :writing_hand: | `writing_hand` | :nail_care: | `nail_care` | -| :selfie: | `selfie` | | | +| :writing_hand: | `writing_hand` | :nail_care: | `nail_care` | +| :selfie: | `selfie` | | | #### Body Parts | icon | code | icon | code | | :-: | - | :-: | - | -| :muscle: | `muscle` | :ear: | `ear` | -| :nose: | `nose` | :eyes: | `eyes` | -| :eye: | `eye` | :tongue: | `tongue` | -| :lips: | `lips` | | | +| :muscle: | `muscle` | :ear: | `ear` | +| :nose: | `nose` | :eyes: | `eyes` | +| :eye: | `eye` | :tongue: | `tongue` | +| :lips: | `lips` | | | #### Person | icon | code | icon | code | | :-: | - | :-: | - | -| :baby: | `baby` | :boy: | `boy` | -| :girl: | `girl` | :blonde_man: | `blonde_man`
`person_with_blond_hair` | -| :man: | `man` | :woman: | `woman` | -| :blonde_woman: | `blonde_woman` | :older_man: | `older_man` | -| :older_woman: | `older_woman` | | | +| :baby: | `baby` | :boy: | `boy` | +| :girl: | `girl` | :blonde_man: | `blonde_man`
`person_with_blond_hair` | +| :man: | `man` | :woman: | `woman` | +| :blonde_woman: | `blonde_woman` | :older_man: | `older_man` | +| :older_woman: | `older_woman` | | | #### Person Gesture | icon | code | icon | code | | :-: | - | :-: | - | -| :frowning_woman: | `frowning_woman`
`person_frowning` | :frowning_man: | `frowning_man` | -| :person_with_pouting_face: | `person_with_pouting_face`
`pouting_woman` | :pouting_man: | `pouting_man` | -| :ng_woman: | `ng_woman`
`no_good`
`no_good_woman` | :ng_man: | `ng_man`
`no_good_man` | -| :ok_woman: | `ok_woman` | :ok_man: | `ok_man` | -| :information_desk_person: | `information_desk_person`
`sassy_woman`
`tipping_hand_woman` | :sassy_man: | `sassy_man`
`tipping_hand_man` | -| :raising_hand: | `raising_hand`
`raising_hand_woman` | :raising_hand_man: | `raising_hand_man` | -| :bow: | `bow`
`bowing_man` | :bowing_woman: | `bowing_woman` | -| :man_facepalming: | `man_facepalming` | :woman_facepalming: | `woman_facepalming` | -| :man_shrugging: | `man_shrugging` | :woman_shrugging: | `woman_shrugging` | +| :frowning_woman: | `frowning_woman`
`person_frowning` | :frowning_man: | `frowning_man` | +| :person_with_pouting_face: | `person_with_pouting_face`
`pouting_woman` | :pouting_man: | `pouting_man` | +| :ng_woman: | `ng_woman`
`no_good`
`no_good_woman` | :ng_man: | `ng_man`
`no_good_man` | +| :ok_woman: | `ok_woman` | :ok_man: | `ok_man` | +| :information_desk_person: | `information_desk_person`
`sassy_woman`
`tipping_hand_woman` | :sassy_man: | `sassy_man`
`tipping_hand_man` | +| :raising_hand: | `raising_hand`
`raising_hand_woman` | :raising_hand_man: | `raising_hand_man` | +| :bow: | `bow`
`bowing_man` | :bowing_woman: | `bowing_woman` | +| :man_facepalming: | `man_facepalming` | :woman_facepalming: | `woman_facepalming` | +| :man_shrugging: | `man_shrugging` | :woman_shrugging: | `woman_shrugging` | #### Person Role | icon | code | icon | code | | :-: | - | :-: | - | -| :man_health_worker: | `man_health_worker` | :woman_health_worker: | `woman_health_worker` | -| :man_student: | `man_student` | :woman_student: | `woman_student` | -| :man_teacher: | `man_teacher` | :woman_teacher: | `woman_teacher` | -| :man_judge: | `man_judge` | :woman_judge: | `woman_judge` | -| :man_farmer: | `man_farmer` | :woman_farmer: | `woman_farmer` | -| :man_cook: | `man_cook` | :woman_cook: | `woman_cook` | -| :man_mechanic: | `man_mechanic` | :woman_mechanic: | `woman_mechanic` | -| :man_factory_worker: | `man_factory_worker` | :woman_factory_worker: | `woman_factory_worker` | -| :man_office_worker: | `man_office_worker` | :woman_office_worker: | `woman_office_worker` | -| :man_scientist: | `man_scientist` | :woman_scientist: | `woman_scientist` | -| :man_technologist: | `man_technologist` | :woman_technologist: | `woman_technologist` | -| :man_singer: | `man_singer` | :woman_singer: | `woman_singer` | -| :man_artist: | `man_artist` | :woman_artist: | `woman_artist` | -| :man_pilot: | `man_pilot` | :woman_pilot: | `woman_pilot` | -| :man_astronaut: | `man_astronaut` | :woman_astronaut: | `woman_astronaut` | -| :man_firefighter: | `man_firefighter` | :woman_firefighter: | `woman_firefighter` | -| :cop: | `cop`
`policeman` | :policewoman: | `policewoman` | -| :detective: | `detective`
`male_detective` | :female_detective: | `female_detective` | -| :guardsman: | `guardsman` | :guardswoman: | `guardswoman` | -| :construction_worker: | `construction_worker`
`construction_worker_man` | :construction_worker_woman: | `construction_worker_woman` | -| :prince: | `prince` | :princess: | `princess` | -| :man_with_turban: | `man_with_turban` | :woman_with_turban: | `woman_with_turban` | -| :man_with_gua_pi_mao: | `man_with_gua_pi_mao` | :man_in_tuxedo: | `man_in_tuxedo` | -| :bride_with_veil: | `bride_with_veil` | :pregnant_woman: | `pregnant_woman` | +| :man_health_worker: | `man_health_worker` | :woman_health_worker: | `woman_health_worker` | +| :man_student: | `man_student` | :woman_student: | `woman_student` | +| :man_teacher: | `man_teacher` | :woman_teacher: | `woman_teacher` | +| :man_judge: | `man_judge` | :woman_judge: | `woman_judge` | +| :man_farmer: | `man_farmer` | :woman_farmer: | `woman_farmer` | +| :man_cook: | `man_cook` | :woman_cook: | `woman_cook` | +| :man_mechanic: | `man_mechanic` | :woman_mechanic: | `woman_mechanic` | +| :man_factory_worker: | `man_factory_worker` | :woman_factory_worker: | `woman_factory_worker` | +| :man_office_worker: | `man_office_worker` | :woman_office_worker: | `woman_office_worker` | +| :man_scientist: | `man_scientist` | :woman_scientist: | `woman_scientist` | +| :man_technologist: | `man_technologist` | :woman_technologist: | `woman_technologist` | +| :man_singer: | `man_singer` | :woman_singer: | `woman_singer` | +| :man_artist: | `man_artist` | :woman_artist: | `woman_artist` | +| :man_pilot: | `man_pilot` | :woman_pilot: | `woman_pilot` | +| :man_astronaut: | `man_astronaut` | :woman_astronaut: | `woman_astronaut` | +| :man_firefighter: | `man_firefighter` | :woman_firefighter: | `woman_firefighter` | +| :cop: | `cop`
`policeman` | :policewoman: | `policewoman` | +| :detective: | `detective`
`male_detective` | :female_detective: | `female_detective` | +| :guardsman: | `guardsman` | :guardswoman: | `guardswoman` | +| :construction_worker: | `construction_worker`
`construction_worker_man` | :construction_worker_woman: | `construction_worker_woman` | +| :prince: | `prince` | :princess: | `princess` | +| :man_with_turban: | `man_with_turban` | :woman_with_turban: | `woman_with_turban` | +| :man_with_gua_pi_mao: | `man_with_gua_pi_mao` | :man_in_tuxedo: | `man_in_tuxedo` | +| :bride_with_veil: | `bride_with_veil` | :pregnant_woman: | `pregnant_woman` | #### Person Fantasy | icon | code | icon | code | | :-: | - | :-: | - | -| :angel: | `angel` | :santa: | `santa` | -| :mrs_claus: | `mrs_claus` | | | +| :angel: | `angel` | :santa: | `santa` | +| :mrs_claus: | `mrs_claus` | | | #### Person Activity | icon | code | icon | code | | :-: | - | :-: | - | -| :massage: | `massage`
`massage_woman` | :massage_man: | `massage_man` | -| :haircut: | `haircut`
`haircut_woman` | :haircut_man: | `haircut_man` | -| :walking: | `walking`
`walking_man` | :walking_woman: | `walking_woman` | -| :runner: | `runner`
`running`
`running_man` | :running_woman: | `running_woman` | -| :dancer: | `dancer` | :man_dancing: | `man_dancing` | -| :business_suit_levitating: | `business_suit_levitating` | :dancers: | `dancers`
`dancing_women` | -| :dancing_men: | `dancing_men` | | | +| :massage: | `massage`
`massage_woman` | :massage_man: | `massage_man` | +| :haircut: | `haircut`
`haircut_woman` | :haircut_man: | `haircut_man` | +| :walking: | `walking`
`walking_man` | :walking_woman: | `walking_woman` | +| :runner: | `runner`
`running`
`running_man` | :running_woman: | `running_woman` | +| :dancer: | `dancer` | :man_dancing: | `man_dancing` | +| :business_suit_levitating: | `business_suit_levitating` | :dancers: | `dancers`
`dancing_women` | +| :dancing_men: | `dancing_men` | | | #### Person Sport | icon | code | icon | code | | :-: | - | :-: | - | -| :person_fencing: | `person_fencing` | :horse_racing: | `horse_racing` | -| :skier: | `skier` | :snowboarder: | `snowboarder` | -| :golfing_man: | `golfing_man` | :golfing_woman: | `golfing_woman` | -| :surfer: | `surfer`
`surfing_man` | :surfing_woman: | `surfing_woman` | -| :rowboat: | `rowboat`
`rowing_man` | :rowing_woman: | `rowing_woman` | -| :swimmer: | `swimmer`
`swimming_man` | :swimming_woman: | `swimming_woman` | -| :basketball_man: | `basketball_man` | :basketball_woman: | `basketball_woman` | -| :weight_lifting_man: | `weight_lifting_man` | :weight_lifting_woman: | `weight_lifting_woman` | -| :bicyclist: | `bicyclist`
`biking_man` | :biking_woman: | `biking_woman` | -| :mountain_bicyclist: | `mountain_bicyclist`
`mountain_biking_man` | :mountain_biking_woman: | `mountain_biking_woman` | -| :man_cartwheeling: | `man_cartwheeling` | :woman_cartwheeling: | `woman_cartwheeling` | -| :men_wrestling: | `men_wrestling` | :women_wrestling: | `women_wrestling` | -| :man_playing_water_polo: | `man_playing_water_polo` | :woman_playing_water_polo: | `woman_playing_water_polo` | -| :man_playing_handball: | `man_playing_handball` | :woman_playing_handball: | `woman_playing_handball` | -| :man_juggling: | `man_juggling` | :woman_juggling: | `woman_juggling` | +| :person_fencing: | `person_fencing` | :horse_racing: | `horse_racing` | +| :skier: | `skier` | :snowboarder: | `snowboarder` | +| :golfing_man: | `golfing_man` | :golfing_woman: | `golfing_woman` | +| :surfer: | `surfer`
`surfing_man` | :surfing_woman: | `surfing_woman` | +| :rowboat: | `rowboat`
`rowing_man` | :rowing_woman: | `rowing_woman` | +| :swimmer: | `swimmer`
`swimming_man` | :swimming_woman: | `swimming_woman` | +| :basketball_man: | `basketball_man` | :basketball_woman: | `basketball_woman` | +| :weight_lifting_man: | `weight_lifting_man` | :weight_lifting_woman: | `weight_lifting_woman` | +| :bicyclist: | `bicyclist`
`biking_man` | :biking_woman: | `biking_woman` | +| :mountain_bicyclist: | `mountain_bicyclist`
`mountain_biking_man` | :mountain_biking_woman: | `mountain_biking_woman` | +| :man_cartwheeling: | `man_cartwheeling` | :woman_cartwheeling: | `woman_cartwheeling` | +| :men_wrestling: | `men_wrestling` | :women_wrestling: | `women_wrestling` | +| :man_playing_water_polo: | `man_playing_water_polo` | :woman_playing_water_polo: | `woman_playing_water_polo` | +| :man_playing_handball: | `man_playing_handball` | :woman_playing_handball: | `woman_playing_handball` | +| :man_juggling: | `man_juggling` | :woman_juggling: | `woman_juggling` | #### Person Resting | icon | code | icon | code | | :-: | - | :-: | - | -| :bath: | `bath` | :sleeping_bed: | `sleeping_bed` | +| :bath: | `bath` | :sleeping_bed: | `sleeping_bed` | #### Family | icon | code | icon | code | | :-: | - | :-: | - | -| :two_women_holding_hands: | `two_women_holding_hands` | :couple: | `couple` | -| :two_men_holding_hands: | `two_men_holding_hands` | :couplekiss_man_woman: | `couplekiss_man_woman` | -| :couplekiss_man_man: | `couplekiss_man_man` | :couplekiss_woman_woman: | `couplekiss_woman_woman` | -| :couple_with_heart: | `couple_with_heart`
`couple_with_heart_woman_man` | :couple_with_heart_man_man: | `couple_with_heart_man_man` | -| :couple_with_heart_woman_woman: | `couple_with_heart_woman_woman` | :family: | `family`
`family_man_woman_boy` | -| :family_man_woman_girl: | `family_man_woman_girl` | :family_man_woman_girl_boy: | `family_man_woman_girl_boy` | -| :family_man_woman_boy_boy: | `family_man_woman_boy_boy` | :family_man_woman_girl_girl: | `family_man_woman_girl_girl` | -| :family_man_man_boy: | `family_man_man_boy` | :family_man_man_girl: | `family_man_man_girl` | -| :family_man_man_girl_boy: | `family_man_man_girl_boy` | :family_man_man_boy_boy: | `family_man_man_boy_boy` | -| :family_man_man_girl_girl: | `family_man_man_girl_girl` | :family_woman_woman_boy: | `family_woman_woman_boy` | -| :family_woman_woman_girl: | `family_woman_woman_girl` | :family_woman_woman_girl_boy: | `family_woman_woman_girl_boy` | -| :family_woman_woman_boy_boy: | `family_woman_woman_boy_boy` | :family_woman_woman_girl_girl: | `family_woman_woman_girl_girl` | -| :family_man_boy: | `family_man_boy` | :family_man_boy_boy: | `family_man_boy_boy` | -| :family_man_girl: | `family_man_girl` | :family_man_girl_boy: | `family_man_girl_boy` | -| :family_man_girl_girl: | `family_man_girl_girl` | :family_woman_boy: | `family_woman_boy` | -| :family_woman_boy_boy: | `family_woman_boy_boy` | :family_woman_girl: | `family_woman_girl` | -| :family_woman_girl_boy: | `family_woman_girl_boy` | :family_woman_girl_girl: | `family_woman_girl_girl` | +| :two_women_holding_hands: | `two_women_holding_hands` | :couple: | `couple` | +| :two_men_holding_hands: | `two_men_holding_hands` | :couplekiss_man_woman: | `couplekiss_man_woman` | +| :couplekiss_man_man: | `couplekiss_man_man` | :couplekiss_woman_woman: | `couplekiss_woman_woman` | +| :couple_with_heart: | `couple_with_heart`
`couple_with_heart_woman_man` | :couple_with_heart_man_man: | `couple_with_heart_man_man` | +| :couple_with_heart_woman_woman: | `couple_with_heart_woman_woman` | :family: | `family`
`family_man_woman_boy` | +| :family_man_woman_girl: | `family_man_woman_girl` | :family_man_woman_girl_boy: | `family_man_woman_girl_boy` | +| :family_man_woman_boy_boy: | `family_man_woman_boy_boy` | :family_man_woman_girl_girl: | `family_man_woman_girl_girl` | +| :family_man_man_boy: | `family_man_man_boy` | :family_man_man_girl: | `family_man_man_girl` | +| :family_man_man_girl_boy: | `family_man_man_girl_boy` | :family_man_man_boy_boy: | `family_man_man_boy_boy` | +| :family_man_man_girl_girl: | `family_man_man_girl_girl` | :family_woman_woman_boy: | `family_woman_woman_boy` | +| :family_woman_woman_girl: | `family_woman_woman_girl` | :family_woman_woman_girl_boy: | `family_woman_woman_girl_boy` | +| :family_woman_woman_boy_boy: | `family_woman_woman_boy_boy` | :family_woman_woman_girl_girl: | `family_woman_woman_girl_girl` | +| :family_man_boy: | `family_man_boy` | :family_man_boy_boy: | `family_man_boy_boy` | +| :family_man_girl: | `family_man_girl` | :family_man_girl_boy: | `family_man_girl_boy` | +| :family_man_girl_girl: | `family_man_girl_girl` | :family_woman_boy: | `family_woman_boy` | +| :family_woman_boy_boy: | `family_woman_boy_boy` | :family_woman_girl: | `family_woman_girl` | +| :family_woman_girl_boy: | `family_woman_girl_boy` | :family_woman_girl_girl: | `family_woman_girl_girl` | #### Person Symbol | icon | code | icon | code | | :-: | - | :-: | - | -| :speaking_head: | `speaking_head` | :bust_in_silhouette: | `bust_in_silhouette` | -| :busts_in_silhouette: | `busts_in_silhouette` | :footprints: | `footprints` | +| :speaking_head: | `speaking_head` | :bust_in_silhouette: | `bust_in_silhouette` | +| :busts_in_silhouette: | `busts_in_silhouette` | :footprints: | `footprints` | ### Animals & Nature @@ -383,95 +384,95 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :monkey_face: | `monkey_face` | :monkey: | `monkey` | -| :gorilla: | `gorilla` | :dog: | `dog` | -| :dog2: | `dog2` | :poodle: | `poodle` | -| :wolf: | `wolf` | :fox_face: | `fox_face` | -| :cat: | `cat` | :cat2: | `cat2` | -| :lion: | `lion` | :tiger: | `tiger` | -| :tiger2: | `tiger2` | :leopard: | `leopard` | -| :horse: | `horse` | :racehorse: | `racehorse` | -| :unicorn: | `unicorn` | :deer: | `deer` | -| :cow: | `cow` | :ox: | `ox` | -| :water_buffalo: | `water_buffalo` | :cow2: | `cow2` | -| :pig: | `pig` | :pig2: | `pig2` | -| :boar: | `boar` | :pig_nose: | `pig_nose` | -| :ram: | `ram` | :sheep: | `sheep` | -| :goat: | `goat` | :dromedary_camel: | `dromedary_camel` | -| :camel: | `camel` | :elephant: | `elephant` | -| :rhinoceros: | `rhinoceros` | :mouse: | `mouse` | -| :mouse2: | `mouse2` | :rat: | `rat` | -| :hamster: | `hamster` | :rabbit: | `rabbit` | -| :rabbit2: | `rabbit2` | :chipmunk: | `chipmunk` | -| :bat: | `bat` | :bear: | `bear` | -| :koala: | `koala` | :panda_face: | `panda_face` | -| :feet: | `feet`
`paw_prints` | | | +| :monkey_face: | `monkey_face` | :monkey: | `monkey` | +| :gorilla: | `gorilla` | :dog: | `dog` | +| :dog2: | `dog2` | :poodle: | `poodle` | +| :wolf: | `wolf` | :fox_face: | `fox_face` | +| :cat: | `cat` | :cat2: | `cat2` | +| :lion: | `lion` | :tiger: | `tiger` | +| :tiger2: | `tiger2` | :leopard: | `leopard` | +| :horse: | `horse` | :racehorse: | `racehorse` | +| :unicorn: | `unicorn` | :deer: | `deer` | +| :cow: | `cow` | :ox: | `ox` | +| :water_buffalo: | `water_buffalo` | :cow2: | `cow2` | +| :pig: | `pig` | :pig2: | `pig2` | +| :boar: | `boar` | :pig_nose: | `pig_nose` | +| :ram: | `ram` | :sheep: | `sheep` | +| :goat: | `goat` | :dromedary_camel: | `dromedary_camel` | +| :camel: | `camel` | :elephant: | `elephant` | +| :rhinoceros: | `rhinoceros` | :mouse: | `mouse` | +| :mouse2: | `mouse2` | :rat: | `rat` | +| :hamster: | `hamster` | :rabbit: | `rabbit` | +| :rabbit2: | `rabbit2` | :chipmunk: | `chipmunk` | +| :bat: | `bat` | :bear: | `bear` | +| :koala: | `koala` | :panda_face: | `panda_face` | +| :feet: | `feet`
`paw_prints` | | | #### Animal Bird | icon | code | icon | code | | :-: | - | :-: | - | -| :turkey: | `turkey` | :chicken: | `chicken` | -| :rooster: | `rooster` | :hatching_chick: | `hatching_chick` | -| :baby_chick: | `baby_chick` | :hatched_chick: | `hatched_chick` | -| :bird: | `bird` | :penguin: | `penguin` | -| :dove: | `dove` | :eagle: | `eagle` | -| :duck: | `duck` | :owl: | `owl` | +| :turkey: | `turkey` | :chicken: | `chicken` | +| :rooster: | `rooster` | :hatching_chick: | `hatching_chick` | +| :baby_chick: | `baby_chick` | :hatched_chick: | `hatched_chick` | +| :bird: | `bird` | :penguin: | `penguin` | +| :dove: | `dove` | :eagle: | `eagle` | +| :duck: | `duck` | :owl: | `owl` | #### Animal Amphibian | icon | code | icon | code | | :-: | - | :-: | - | -| :frog: | `frog` | +| :frog: | `frog` | #### Animal Reptile | icon | code | icon | code | | :-: | - | :-: | - | -| :crocodile: | `crocodile` | :turtle: | `turtle` | -| :lizard: | `lizard` | :snake: | `snake` | -| :dragon_face: | `dragon_face` | :dragon: | `dragon` | +| :crocodile: | `crocodile` | :turtle: | `turtle` | +| :lizard: | `lizard` | :snake: | `snake` | +| :dragon_face: | `dragon_face` | :dragon: | `dragon` | #### Animal Marine | icon | code | icon | code | | :-: | - | :-: | - | -| :whale: | `whale` | :whale2: | `whale2` | -| :dolphin: | `dolphin`
`flipper` | :fish: | `fish` | -| :tropical_fish: | `tropical_fish` | :blowfish: | `blowfish` | -| :shark: | `shark` | :octopus: | `octopus` | -| :shell: | `shell` | | | +| :whale: | `whale` | :whale2: | `whale2` | +| :dolphin: | `dolphin`
`flipper` | :fish: | `fish` | +| :tropical_fish: | `tropical_fish` | :blowfish: | `blowfish` | +| :shark: | `shark` | :octopus: | `octopus` | +| :shell: | `shell` | | | #### Animal Bug | icon | code | icon | code | | :-: | - | :-: | - | -| :snail: | `snail` | :butterfly: | `butterfly` | -| :bug: | `bug` | :ant: | `ant` | -| :bee: | `bee`
`honeybee` | :beetle: | `beetle` | -| :spider: | `spider` | :spider_web: | `spider_web` | -| :scorpion: | `scorpion` | | | +| :snail: | `snail` | :butterfly: | `butterfly` | +| :bug: | `bug` | :ant: | `ant` | +| :bee: | `bee`
`honeybee` | :beetle: | `beetle` | +| :spider: | `spider` | :spider_web: | `spider_web` | +| :scorpion: | `scorpion` | | | #### Plant Flower | icon | code | icon | code | | :-: | - | :-: | - | -| :bouquet: | `bouquet` | :cherry_blossom: | `cherry_blossom` | -| :white_flower: | `white_flower` | :rosette: | `rosette` | -| :rose: | `rose` | :wilted_flower: | `wilted_flower` | -| :hibiscus: | `hibiscus` | :sunflower: | `sunflower` | -| :blossom: | `blossom` | :tulip: | `tulip` | +| :bouquet: | `bouquet` | :cherry_blossom: | `cherry_blossom` | +| :white_flower: | `white_flower` | :rosette: | `rosette` | +| :rose: | `rose` | :wilted_flower: | `wilted_flower` | +| :hibiscus: | `hibiscus` | :sunflower: | `sunflower` | +| :blossom: | `blossom` | :tulip: | `tulip` | #### Plant Other | icon | code | icon | code | | :-: | - | :-: | - | -| :seedling: | `seedling` | :evergreen_tree: | `evergreen_tree` | -| :deciduous_tree: | `deciduous_tree` | :palm_tree: | `palm_tree` | -| :cactus: | `cactus` | :ear_of_rice: | `ear_of_rice` | -| :herb: | `herb` | :shamrock: | `shamrock` | -| :four_leaf_clover: | `four_leaf_clover` | :maple_leaf: | `maple_leaf` | -| :fallen_leaf: | `fallen_leaf` | :leaves: | `leaves` | +| :seedling: | `seedling` | :evergreen_tree: | `evergreen_tree` | +| :deciduous_tree: | `deciduous_tree` | :palm_tree: | `palm_tree` | +| :cactus: | `cactus` | :ear_of_rice: | `ear_of_rice` | +| :herb: | `herb` | :shamrock: | `shamrock` | +| :four_leaf_clover: | `four_leaf_clover` | :maple_leaf: | `maple_leaf` | +| :fallen_leaf: | `fallen_leaf` | :leaves: | `leaves` | ### Food & Drink @@ -479,90 +480,90 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :grapes: | `grapes` | :melon: | `melon` | -| :watermelon: | `watermelon` | :mandarin: | `mandarin`
`orange`
`tangerine` | -| :lemon: | `lemon` | :banana: | `banana` | -| :pineapple: | `pineapple` | :apple: | `apple` | -| :green_apple: | `green_apple` | :pear: | `pear` | -| :peach: | `peach` | :cherries: | `cherries` | -| :strawberry: | `strawberry` | :kiwi_fruit: | `kiwi_fruit` | -| :tomato: | `tomato` | | | +| :grapes: | `grapes` | :melon: | `melon` | +| :watermelon: | `watermelon` | :mandarin: | `mandarin`
`orange`
`tangerine` | +| :lemon: | `lemon` | :banana: | `banana` | +| :pineapple: | `pineapple` | :apple: | `apple` | +| :green_apple: | `green_apple` | :pear: | `pear` | +| :peach: | `peach` | :cherries: | `cherries` | +| :strawberry: | `strawberry` | :kiwi_fruit: | `kiwi_fruit` | +| :tomato: | `tomato` | | | #### Food Vegetable | icon | code | icon | code | | :-: | - | :-: | - | -| :avocado: | `avocado` | :eggplant: | `eggplant` | -| :potato: | `potato` | :carrot: | `carrot` | -| :corn: | `corn` | :hot_pepper: | `hot_pepper` | -| :cucumber: | `cucumber` | :mushroom: | `mushroom` | -| :peanuts: | `peanuts` | :chestnut: | `chestnut` | +| :avocado: | `avocado` | :eggplant: | `eggplant` | +| :potato: | `potato` | :carrot: | `carrot` | +| :corn: | `corn` | :hot_pepper: | `hot_pepper` | +| :cucumber: | `cucumber` | :mushroom: | `mushroom` | +| :peanuts: | `peanuts` | :chestnut: | `chestnut` | #### Food Prepared | icon | code | icon | code | | :-: | - | :-: | - | -| :bread: | `bread` | :croissant: | `croissant` | -| :baguette_bread: | `baguette_bread` | :pancakes: | `pancakes` | -| :cheese: | `cheese` | :meat_on_bone: | `meat_on_bone` | -| :poultry_leg: | `poultry_leg` | :bacon: | `bacon` | -| :hamburger: | `hamburger` | :fries: | `fries` | -| :pizza: | `pizza` | :hotdog: | `hotdog` | -| :taco: | `taco` | :burrito: | `burrito` | -| :stuffed_flatbread: | `stuffed_flatbread` | :egg: | `egg` | -| :fried_egg: | `fried_egg` | :shallow_pan_of_food: | `shallow_pan_of_food` | -| :stew: | `stew` | :green_salad: | `green_salad` | -| :popcorn: | `popcorn` | | | +| :bread: | `bread` | :croissant: | `croissant` | +| :baguette_bread: | `baguette_bread` | :pancakes: | `pancakes` | +| :cheese: | `cheese` | :meat_on_bone: | `meat_on_bone` | +| :poultry_leg: | `poultry_leg` | :bacon: | `bacon` | +| :hamburger: | `hamburger` | :fries: | `fries` | +| :pizza: | `pizza` | :hotdog: | `hotdog` | +| :taco: | `taco` | :burrito: | `burrito` | +| :stuffed_flatbread: | `stuffed_flatbread` | :egg: | `egg` | +| :fried_egg: | `fried_egg` | :shallow_pan_of_food: | `shallow_pan_of_food` | +| :stew: | `stew` | :green_salad: | `green_salad` | +| :popcorn: | `popcorn` | | | #### Food Asian | icon | code | icon | code | | :-: | - | :-: | - | -| :bento: | `bento` | :rice_cracker: | `rice_cracker` | -| :rice_ball: | `rice_ball` | :rice: | `rice` | -| :curry: | `curry` | :ramen: | `ramen` | -| :spaghetti: | `spaghetti` | :sweet_potato: | `sweet_potato` | -| :oden: | `oden` | :sushi: | `sushi` | -| :fried_shrimp: | `fried_shrimp` | :fish_cake: | `fish_cake` | -| :dango: | `dango` | | | +| :bento: | `bento` | :rice_cracker: | `rice_cracker` | +| :rice_ball: | `rice_ball` | :rice: | `rice` | +| :curry: | `curry` | :ramen: | `ramen` | +| :spaghetti: | `spaghetti` | :sweet_potato: | `sweet_potato` | +| :oden: | `oden` | :sushi: | `sushi` | +| :fried_shrimp: | `fried_shrimp` | :fish_cake: | `fish_cake` | +| :dango: | `dango` | | | #### Food Marine | icon | code | icon | code | | :-: | - | :-: | - | -| :crab: | `crab` | :shrimp: | `shrimp` | -| :squid: | `squid` | | | +| :crab: | `crab` | :shrimp: | `shrimp` | +| :squid: | `squid` | | | #### Food Sweet | icon | code | icon | code | | :-: | - | :-: | - | -| :icecream: | `icecream` | :shaved_ice: | `shaved_ice` | -| :ice_cream: | `ice_cream` | :doughnut: | `doughnut` | -| :cookie: | `cookie` | :birthday: | `birthday` | -| :cake: | `cake` | :chocolate_bar: | `chocolate_bar` | -| :candy: | `candy` | :lollipop: | `lollipop` | -| :custard: | `custard` | :honey_pot: | `honey_pot` | +| :icecream: | `icecream` | :shaved_ice: | `shaved_ice` | +| :ice_cream: | `ice_cream` | :doughnut: | `doughnut` | +| :cookie: | `cookie` | :birthday: | `birthday` | +| :cake: | `cake` | :chocolate_bar: | `chocolate_bar` | +| :candy: | `candy` | :lollipop: | `lollipop` | +| :custard: | `custard` | :honey_pot: | `honey_pot` | #### Drink | icon | code | icon | code | | :-: | - | :-: | - | -| :baby_bottle: | `baby_bottle` | :milk_glass: | `milk_glass` | -| :coffee: | `coffee` | :tea: | `tea` | -| :sake: | `sake` | :champagne: | `champagne` | -| :wine_glass: | `wine_glass` | :cocktail: | `cocktail` | -| :tropical_drink: | `tropical_drink` | :beer: | `beer` | -| :beers: | `beers` | :clinking_glasses: | `clinking_glasses` | -| :tumbler_glass: | `tumbler_glass` | | | +| :baby_bottle: | `baby_bottle` | :milk_glass: | `milk_glass` | +| :coffee: | `coffee` | :tea: | `tea` | +| :sake: | `sake` | :champagne: | `champagne` | +| :wine_glass: | `wine_glass` | :cocktail: | `cocktail` | +| :tropical_drink: | `tropical_drink` | :beer: | `beer` | +| :beers: | `beers` | :clinking_glasses: | `clinking_glasses` | +| :tumbler_glass: | `tumbler_glass` | | | #### Dishware | icon | code | icon | code | | :-: | - | :-: | - | -| :plate_with_cutlery: | `plate_with_cutlery` | :fork_and_knife: | `fork_and_knife` | -| :spoon: | `spoon` | :hocho: | `hocho`
`knife` | -| :amphora: | `amphora` | | | +| :plate_with_cutlery: | `plate_with_cutlery` | :fork_and_knife: | `fork_and_knife` | +| :spoon: | `spoon` | :hocho: | `hocho`
`knife` | +| :amphora: | `amphora` | | | ### Travel & Places @@ -570,159 +571,159 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :earth_africa: | `earth_africa` | :earth_americas: | `earth_americas` | -| :earth_asia: | `earth_asia` | :globe_with_meridians: | `globe_with_meridians` | -| :world_map: | `world_map` | :japan: | `japan` | +| :earth_africa: | `earth_africa` | :earth_americas: | `earth_americas` | +| :earth_asia: | `earth_asia` | :globe_with_meridians: | `globe_with_meridians` | +| :world_map: | `world_map` | :japan: | `japan` | #### Place Geographic | icon | code | icon | code | | :-: | - | :-: | - | -| :mountain_snow: | `mountain_snow` | :mountain: | `mountain` | -| :volcano: | `volcano` | :mount_fuji: | `mount_fuji` | -| :camping: | `camping` | :beach_umbrella: | `beach_umbrella` | -| :desert: | `desert` | :desert_island: | `desert_island` | -| :national_park: | `national_park` | | | +| :mountain_snow: | `mountain_snow` | :mountain: | `mountain` | +| :volcano: | `volcano` | :mount_fuji: | `mount_fuji` | +| :camping: | `camping` | :beach_umbrella: | `beach_umbrella` | +| :desert: | `desert` | :desert_island: | `desert_island` | +| :national_park: | `national_park` | | | #### Place Building | icon | code | icon | code | | :-: | - | :-: | - | -| :stadium: | `stadium` | :classical_building: | `classical_building` | -| :building_construction: | `building_construction` | :houses: | `houses` | -| :derelict_house: | `derelict_house` | :house: | `house` | -| :house_with_garden: | `house_with_garden` | :office: | `office` | -| :post_office: | `post_office` | :european_post_office: | `european_post_office` | -| :hospital: | `hospital` | :bank: | `bank` | -| :hotel: | `hotel` | :love_hotel: | `love_hotel` | -| :convenience_store: | `convenience_store` | :school: | `school` | -| :department_store: | `department_store` | :factory: | `factory` | -| :japanese_castle: | `japanese_castle` | :european_castle: | `european_castle` | -| :wedding: | `wedding` | :tokyo_tower: | `tokyo_tower` | -| :statue_of_liberty: | `statue_of_liberty` | | | +| :stadium: | `stadium` | :classical_building: | `classical_building` | +| :building_construction: | `building_construction` | :houses: | `houses` | +| :derelict_house: | `derelict_house` | :house: | `house` | +| :house_with_garden: | `house_with_garden` | :office: | `office` | +| :post_office: | `post_office` | :european_post_office: | `european_post_office` | +| :hospital: | `hospital` | :bank: | `bank` | +| :hotel: | `hotel` | :love_hotel: | `love_hotel` | +| :convenience_store: | `convenience_store` | :school: | `school` | +| :department_store: | `department_store` | :factory: | `factory` | +| :japanese_castle: | `japanese_castle` | :european_castle: | `european_castle` | +| :wedding: | `wedding` | :tokyo_tower: | `tokyo_tower` | +| :statue_of_liberty: | `statue_of_liberty` | | | #### Place Religious | icon | code | icon | code | | :-: | - | :-: | - | -| :church: | `church` | :mosque: | `mosque` | -| :synagogue: | `synagogue` | :shinto_shrine: | `shinto_shrine` | -| :kaaba: | `kaaba` | | | +| :church: | `church` | :mosque: | `mosque` | +| :synagogue: | `synagogue` | :shinto_shrine: | `shinto_shrine` | +| :kaaba: | `kaaba` | | | #### Place Other | icon | code | icon | code | | :-: | - | :-: | - | -| :fountain: | `fountain` | :tent: | `tent` | -| :foggy: | `foggy` | :night_with_stars: | `night_with_stars` | -| :cityscape: | `cityscape` | :sunrise_over_mountains: | `sunrise_over_mountains` | -| :sunrise: | `sunrise` | :city_sunset: | `city_sunset` | -| :city_sunrise: | `city_sunrise` | :bridge_at_night: | `bridge_at_night` | -| :hotsprings: | `hotsprings` | :carousel_horse: | `carousel_horse` | -| :ferris_wheel: | `ferris_wheel` | :roller_coaster: | `roller_coaster` | -| :barber: | `barber` | :circus_tent: | `circus_tent` | +| :fountain: | `fountain` | :tent: | `tent` | +| :foggy: | `foggy` | :night_with_stars: | `night_with_stars` | +| :cityscape: | `cityscape` | :sunrise_over_mountains: | `sunrise_over_mountains` | +| :sunrise: | `sunrise` | :city_sunset: | `city_sunset` | +| :city_sunrise: | `city_sunrise` | :bridge_at_night: | `bridge_at_night` | +| :hotsprings: | `hotsprings` | :carousel_horse: | `carousel_horse` | +| :ferris_wheel: | `ferris_wheel` | :roller_coaster: | `roller_coaster` | +| :barber: | `barber` | :circus_tent: | `circus_tent` | #### Transport Ground | icon | code | icon | code | | :-: | - | :-: | - | -| :steam_locomotive: | `steam_locomotive` | :railway_car: | `railway_car` | -| :bullettrain_side: | `bullettrain_side` | :bullettrain_front: | `bullettrain_front` | -| :train2: | `train2` | :metro: | `metro` | -| :light_rail: | `light_rail` | :station: | `station` | -| :tram: | `tram` | :monorail: | `monorail` | -| :mountain_railway: | `mountain_railway` | :train: | `train` | -| :bus: | `bus` | :oncoming_bus: | `oncoming_bus` | -| :trolleybus: | `trolleybus` | :minibus: | `minibus` | -| :ambulance: | `ambulance` | :fire_engine: | `fire_engine` | -| :police_car: | `police_car` | :oncoming_police_car: | `oncoming_police_car` | -| :taxi: | `taxi` | :oncoming_taxi: | `oncoming_taxi` | -| :car: | `car`
`red_car` | :oncoming_automobile: | `oncoming_automobile` | -| :blue_car: | `blue_car` | :truck: | `truck` | -| :articulated_lorry: | `articulated_lorry` | :tractor: | `tractor` | -| :racing_car: | `racing_car` | :motorcycle: | `motorcycle` | -| :motor_scooter: | `motor_scooter` | :bike: | `bike` | -| :kick_scooter: | `kick_scooter` | :busstop: | `busstop` | -| :motorway: | `motorway` | :railway_track: | `railway_track` | -| :oil_drum: | `oil_drum` | :fuelpump: | `fuelpump` | -| :rotating_light: | `rotating_light` | :traffic_light: | `traffic_light` | -| :vertical_traffic_light: | `vertical_traffic_light` | :stop_sign: | `stop_sign` | -| :construction: | `construction` | | | +| :steam_locomotive: | `steam_locomotive` | :railway_car: | `railway_car` | +| :bullettrain_side: | `bullettrain_side` | :bullettrain_front: | `bullettrain_front` | +| :train2: | `train2` | :metro: | `metro` | +| :light_rail: | `light_rail` | :station: | `station` | +| :tram: | `tram` | :monorail: | `monorail` | +| :mountain_railway: | `mountain_railway` | :train: | `train` | +| :bus: | `bus` | :oncoming_bus: | `oncoming_bus` | +| :trolleybus: | `trolleybus` | :minibus: | `minibus` | +| :ambulance: | `ambulance` | :fire_engine: | `fire_engine` | +| :police_car: | `police_car` | :oncoming_police_car: | `oncoming_police_car` | +| :taxi: | `taxi` | :oncoming_taxi: | `oncoming_taxi` | +| :car: | `car`
`red_car` | :oncoming_automobile: | `oncoming_automobile` | +| :blue_car: | `blue_car` | :truck: | `truck` | +| :articulated_lorry: | `articulated_lorry` | :tractor: | `tractor` | +| :racing_car: | `racing_car` | :motorcycle: | `motorcycle` | +| :motor_scooter: | `motor_scooter` | :bike: | `bike` | +| :kick_scooter: | `kick_scooter` | :busstop: | `busstop` | +| :motorway: | `motorway` | :railway_track: | `railway_track` | +| :oil_drum: | `oil_drum` | :fuelpump: | `fuelpump` | +| :rotating_light: | `rotating_light` | :traffic_light: | `traffic_light` | +| :vertical_traffic_light: | `vertical_traffic_light` | :stop_sign: | `stop_sign` | +| :construction: | `construction` | | | #### Transport Water | icon | code | icon | code | | :-: | - | :-: | - | -| :anchor: | `anchor` | :boat: | `boat`
`sailboat` | -| :canoe: | `canoe` | :speedboat: | `speedboat` | -| :passenger_ship: | `passenger_ship` | :ferry: | `ferry` | -| :motor_boat: | `motor_boat` | :ship: | `ship` | +| :anchor: | `anchor` | :boat: | `boat`
`sailboat` | +| :canoe: | `canoe` | :speedboat: | `speedboat` | +| :passenger_ship: | `passenger_ship` | :ferry: | `ferry` | +| :motor_boat: | `motor_boat` | :ship: | `ship` | #### Transport Air | icon | code | icon | code | | :-: | - | :-: | - | -| :airplane: | `airplane` | :small_airplane: | `small_airplane` | -| :flight_departure: | `flight_departure` | :flight_arrival: | `flight_arrival` | -| :seat: | `seat` | :helicopter: | `helicopter` | -| :suspension_railway: | `suspension_railway` | :mountain_cableway: | `mountain_cableway` | -| :aerial_tramway: | `aerial_tramway` | :artificial_satellite: | `artificial_satellite` | -| :rocket: | `rocket` | | | +| :airplane: | `airplane` | :small_airplane: | `small_airplane` | +| :flight_departure: | `flight_departure` | :flight_arrival: | `flight_arrival` | +| :seat: | `seat` | :helicopter: | `helicopter` | +| :suspension_railway: | `suspension_railway` | :mountain_cableway: | `mountain_cableway` | +| :aerial_tramway: | `aerial_tramway` | :artificial_satellite: | `artificial_satellite` | +| :rocket: | `rocket` | | | #### Hotel | icon | code | icon | code | | :-: | - | :-: | - | -| :bellhop_bell: | `bellhop_bell` | +| :bellhop_bell: | `bellhop_bell` | #### Time | icon | code | icon | code | | :-: | - | :-: | - | -| :hourglass: | `hourglass` | :hourglass_flowing_sand: | `hourglass_flowing_sand` | -| :watch: | `watch` | :alarm_clock: | `alarm_clock` | -| :stopwatch: | `stopwatch` | :timer_clock: | `timer_clock` | -| :mantelpiece_clock: | `mantelpiece_clock` | :clock12: | `clock12` | -| :clock1230: | `clock1230` | :clock1: | `clock1` | -| :clock130: | `clock130` | :clock2: | `clock2` | -| :clock230: | `clock230` | :clock3: | `clock3` | -| :clock330: | `clock330` | :clock4: | `clock4` | -| :clock430: | `clock430` | :clock5: | `clock5` | -| :clock530: | `clock530` | :clock6: | `clock6` | -| :clock630: | `clock630` | :clock7: | `clock7` | -| :clock730: | `clock730` | :clock8: | `clock8` | -| :clock830: | `clock830` | :clock9: | `clock9` | -| :clock930: | `clock930` | :clock10: | `clock10` | -| :clock1030: | `clock1030` | :clock11: | `clock11` | -| :clock1130: | `clock1130` | | | +| :hourglass: | `hourglass` | :hourglass_flowing_sand: | `hourglass_flowing_sand` | +| :watch: | `watch` | :alarm_clock: | `alarm_clock` | +| :stopwatch: | `stopwatch` | :timer_clock: | `timer_clock` | +| :mantelpiece_clock: | `mantelpiece_clock` | :clock12: | `clock12` | +| :clock1230: | `clock1230` | :clock1: | `clock1` | +| :clock130: | `clock130` | :clock2: | `clock2` | +| :clock230: | `clock230` | :clock3: | `clock3` | +| :clock330: | `clock330` | :clock4: | `clock4` | +| :clock430: | `clock430` | :clock5: | `clock5` | +| :clock530: | `clock530` | :clock6: | `clock6` | +| :clock630: | `clock630` | :clock7: | `clock7` | +| :clock730: | `clock730` | :clock8: | `clock8` | +| :clock830: | `clock830` | :clock9: | `clock9` | +| :clock930: | `clock930` | :clock10: | `clock10` | +| :clock1030: | `clock1030` | :clock11: | `clock11` | +| :clock1130: | `clock1130` | | | #### Sky & Weather | icon | code | icon | code | | :-: | - | :-: | - | -| :new_moon: | `new_moon` | :waxing_crescent_moon: | `waxing_crescent_moon` | -| :first_quarter_moon: | `first_quarter_moon` | :moon: | `moon`
`waxing_gibbous_moon` | -| :full_moon: | `full_moon` | :waning_gibbous_moon: | `waning_gibbous_moon` | -| :last_quarter_moon: | `last_quarter_moon` | :waning_crescent_moon: | `waning_crescent_moon` | -| :crescent_moon: | `crescent_moon` | :new_moon_with_face: | `new_moon_with_face` | -| :first_quarter_moon_with_face: | `first_quarter_moon_with_face` | :last_quarter_moon_with_face: | `last_quarter_moon_with_face` | -| :thermometer: | `thermometer` | :sunny: | `sunny` | -| :full_moon_with_face: | `full_moon_with_face` | :sun_with_face: | `sun_with_face` | -| :star: | `star` | :star2: | `star2` | -| :stars: | `stars` | :milky_way: | `milky_way` | -| :cloud: | `cloud` | :partly_sunny: | `partly_sunny` | -| :cloud_with_lightning_and_rain: | `cloud_with_lightning_and_rain` | :sun_behind_small_cloud: | `sun_behind_small_cloud` | -| :sun_behind_large_cloud: | `sun_behind_large_cloud` | :sun_behind_rain_cloud: | `sun_behind_rain_cloud` | -| :cloud_with_rain: | `cloud_with_rain` | :cloud_with_snow: | `cloud_with_snow` | -| :cloud_with_lightning: | `cloud_with_lightning` | :tornado: | `tornado` | -| :fog: | `fog` | :wind_face: | `wind_face` | -| :cyclone: | `cyclone` | :rainbow: | `rainbow` | -| :closed_umbrella: | `closed_umbrella` | :open_umbrella: | `open_umbrella` | -| :umbrella: | `umbrella` | :parasol_on_ground: | `parasol_on_ground` | -| :zap: | `zap` | :snowflake: | `snowflake` | -| :snowman_with_snow: | `snowman_with_snow` | :snowman: | `snowman` | -| :comet: | `comet` | :fire: | `fire` | -| :droplet: | `droplet` | :ocean: | `ocean` | +| :new_moon: | `new_moon` | :waxing_crescent_moon: | `waxing_crescent_moon` | +| :first_quarter_moon: | `first_quarter_moon` | :moon: | `moon`
`waxing_gibbous_moon` | +| :full_moon: | `full_moon` | :waning_gibbous_moon: | `waning_gibbous_moon` | +| :last_quarter_moon: | `last_quarter_moon` | :waning_crescent_moon: | `waning_crescent_moon` | +| :crescent_moon: | `crescent_moon` | :new_moon_with_face: | `new_moon_with_face` | +| :first_quarter_moon_with_face: | `first_quarter_moon_with_face` | :last_quarter_moon_with_face: | `last_quarter_moon_with_face` | +| :thermometer: | `thermometer` | :sunny: | `sunny` | +| :full_moon_with_face: | `full_moon_with_face` | :sun_with_face: | `sun_with_face` | +| :star: | `star` | :star2: | `star2` | +| :stars: | `stars` | :milky_way: | `milky_way` | +| :cloud: | `cloud` | :partly_sunny: | `partly_sunny` | +| :cloud_with_lightning_and_rain: | `cloud_with_lightning_and_rain` | :sun_behind_small_cloud: | `sun_behind_small_cloud` | +| :sun_behind_large_cloud: | `sun_behind_large_cloud` | :sun_behind_rain_cloud: | `sun_behind_rain_cloud` | +| :cloud_with_rain: | `cloud_with_rain` | :cloud_with_snow: | `cloud_with_snow` | +| :cloud_with_lightning: | `cloud_with_lightning` | :tornado: | `tornado` | +| :fog: | `fog` | :wind_face: | `wind_face` | +| :cyclone: | `cyclone` | :rainbow: | `rainbow` | +| :closed_umbrella: | `closed_umbrella` | :open_umbrella: | `open_umbrella` | +| :umbrella: | `umbrella` | :parasol_on_ground: | `parasol_on_ground` | +| :zap: | `zap` | :snowflake: | `snowflake` | +| :snowman_with_snow: | `snowman_with_snow` | :snowman: | `snowman` | +| :comet: | `comet` | :fire: | `fire` | +| :droplet: | `droplet` | :ocean: | `ocean` | ### Activities @@ -730,59 +731,59 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :jack_o_lantern: | `jack_o_lantern` | :christmas_tree: | `christmas_tree` | -| :fireworks: | `fireworks` | :sparkler: | `sparkler` | -| :sparkles: | `sparkles` | :balloon: | `balloon` | -| :tada: | `tada` | :confetti_ball: | `confetti_ball` | -| :tanabata_tree: | `tanabata_tree` | :bamboo: | `bamboo` | -| :dolls: | `dolls` | :flags: | `flags` | -| :wind_chime: | `wind_chime` | :rice_scene: | `rice_scene` | -| :ribbon: | `ribbon` | :gift: | `gift` | -| :reminder_ribbon: | `reminder_ribbon` | :tickets: | `tickets` | -| :ticket: | `ticket` | | | +| :jack_o_lantern: | `jack_o_lantern` | :christmas_tree: | `christmas_tree` | +| :fireworks: | `fireworks` | :sparkler: | `sparkler` | +| :sparkles: | `sparkles` | :balloon: | `balloon` | +| :tada: | `tada` | :confetti_ball: | `confetti_ball` | +| :tanabata_tree: | `tanabata_tree` | :bamboo: | `bamboo` | +| :dolls: | `dolls` | :flags: | `flags` | +| :wind_chime: | `wind_chime` | :rice_scene: | `rice_scene` | +| :ribbon: | `ribbon` | :gift: | `gift` | +| :reminder_ribbon: | `reminder_ribbon` | :tickets: | `tickets` | +| :ticket: | `ticket` | | | #### Award Medal | icon | code | icon | code | | :-: | - | :-: | - | -| :medal_military: | `medal_military` | :trophy: | `trophy` | -| :medal_sports: | `medal_sports` | :1st_place_medal: | `1st_place_medal` | -| :2nd_place_medal: | `2nd_place_medal` | :3rd_place_medal: | `3rd_place_medal` | +| :medal_military: | `medal_military` | :trophy: | `trophy` | +| :medal_sports: | `medal_sports` | :1st_place_medal: | `1st_place_medal` | +| :2nd_place_medal: | `2nd_place_medal` | :3rd_place_medal: | `3rd_place_medal` | #### Sport | icon | code | icon | code | | :-: | - | :-: | - | -| :soccer: | `soccer` | :baseball: | `baseball` | -| :basketball: | `basketball` | :volleyball: | `volleyball` | -| :football: | `football` | :rugby_football: | `rugby_football` | -| :tennis: | `tennis` | :bowling: | `bowling` | -| :cricket: | `cricket` | :field_hockey: | `field_hockey` | -| :ice_hockey: | `ice_hockey` | :ping_pong: | `ping_pong` | -| :badminton: | `badminton` | :boxing_glove: | `boxing_glove` | -| :martial_arts_uniform: | `martial_arts_uniform` | :goal_net: | `goal_net` | -| :golf: | `golf` | :ice_skate: | `ice_skate` | -| :fishing_pole_and_fish: | `fishing_pole_and_fish` | :running_shirt_with_sash: | `running_shirt_with_sash` | -| :ski: | `ski` | | | +| :soccer: | `soccer` | :baseball: | `baseball` | +| :basketball: | `basketball` | :volleyball: | `volleyball` | +| :football: | `football` | :rugby_football: | `rugby_football` | +| :tennis: | `tennis` | :bowling: | `bowling` | +| :cricket: | `cricket` | :field_hockey: | `field_hockey` | +| :ice_hockey: | `ice_hockey` | :ping_pong: | `ping_pong` | +| :badminton: | `badminton` | :boxing_glove: | `boxing_glove` | +| :martial_arts_uniform: | `martial_arts_uniform` | :goal_net: | `goal_net` | +| :golf: | `golf` | :ice_skate: | `ice_skate` | +| :fishing_pole_and_fish: | `fishing_pole_and_fish` | :running_shirt_with_sash: | `running_shirt_with_sash` | +| :ski: | `ski` | | | #### Game | icon | code | icon | code | | :-: | - | :-: | - | -| :dart: | `dart` | :8ball: | `8ball` | -| :crystal_ball: | `crystal_ball` | :video_game: | `video_game` | -| :joystick: | `joystick` | :slot_machine: | `slot_machine` | -| :game_die: | `game_die` | :spades: | `spades` | -| :hearts: | `hearts` | :diamonds: | `diamonds` | -| :clubs: | `clubs` | :black_joker: | `black_joker` | -| :mahjong: | `mahjong` | :flower_playing_cards: | `flower_playing_cards` | +| :dart: | `dart` | :8ball: | `8ball` | +| :crystal_ball: | `crystal_ball` | :video_game: | `video_game` | +| :joystick: | `joystick` | :slot_machine: | `slot_machine` | +| :game_die: | `game_die` | :spades: | `spades` | +| :hearts: | `hearts` | :diamonds: | `diamonds` | +| :clubs: | `clubs` | :black_joker: | `black_joker` | +| :mahjong: | `mahjong` | :flower_playing_cards: | `flower_playing_cards` | #### Arts & Crafts | icon | code | icon | code | | :-: | - | :-: | - | -| :performing_arts: | `performing_arts` | :framed_picture: | `framed_picture` | -| :art: | `art` | | | +| :performing_arts: | `performing_arts` | :framed_picture: | `framed_picture` | +| :art: | `art` | | | ### Objects @@ -790,191 +791,191 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :eyeglasses: | `eyeglasses` | :dark_sunglasses: | `dark_sunglasses` | -| :necktie: | `necktie` | :shirt: | `shirt`
`tshirt` | -| :jeans: | `jeans` | :dress: | `dress` | -| :kimono: | `kimono` | :bikini: | `bikini` | -| :womans_clothes: | `womans_clothes` | :purse: | `purse` | -| :handbag: | `handbag` | :pouch: | `pouch` | -| :shopping: | `shopping` | :school_satchel: | `school_satchel` | -| :mans_shoe: | `mans_shoe`
`shoe` | :athletic_shoe: | `athletic_shoe` | -| :high_heel: | `high_heel` | :sandal: | `sandal` | -| :boot: | `boot` | :crown: | `crown` | -| :womans_hat: | `womans_hat` | :tophat: | `tophat` | -| :mortar_board: | `mortar_board` | :rescue_worker_helmet: | `rescue_worker_helmet` | -| :prayer_beads: | `prayer_beads` | :lipstick: | `lipstick` | -| :ring: | `ring` | :gem: | `gem` | +| :eyeglasses: | `eyeglasses` | :dark_sunglasses: | `dark_sunglasses` | +| :necktie: | `necktie` | :shirt: | `shirt`
`tshirt` | +| :jeans: | `jeans` | :dress: | `dress` | +| :kimono: | `kimono` | :bikini: | `bikini` | +| :womans_clothes: | `womans_clothes` | :purse: | `purse` | +| :handbag: | `handbag` | :pouch: | `pouch` | +| :shopping: | `shopping` | :school_satchel: | `school_satchel` | +| :mans_shoe: | `mans_shoe`
`shoe` | :athletic_shoe: | `athletic_shoe` | +| :high_heel: | `high_heel` | :sandal: | `sandal` | +| :boot: | `boot` | :crown: | `crown` | +| :womans_hat: | `womans_hat` | :tophat: | `tophat` | +| :mortar_board: | `mortar_board` | :rescue_worker_helmet: | `rescue_worker_helmet` | +| :prayer_beads: | `prayer_beads` | :lipstick: | `lipstick` | +| :ring: | `ring` | :gem: | `gem` | #### Sound | icon | code | icon | code | | :-: | - | :-: | - | -| :mute: | `mute` | :speaker: | `speaker` | -| :sound: | `sound` | :loud_sound: | `loud_sound` | -| :loudspeaker: | `loudspeaker` | :mega: | `mega` | -| :postal_horn: | `postal_horn` | :bell: | `bell` | -| :no_bell: | `no_bell` | | | +| :mute: | `mute` | :speaker: | `speaker` | +| :sound: | `sound` | :loud_sound: | `loud_sound` | +| :loudspeaker: | `loudspeaker` | :mega: | `mega` | +| :postal_horn: | `postal_horn` | :bell: | `bell` | +| :no_bell: | `no_bell` | | | #### Music | icon | code | icon | code | | :-: | - | :-: | - | -| :musical_score: | `musical_score` | :musical_note: | `musical_note` | -| :notes: | `notes` | :studio_microphone: | `studio_microphone` | -| :level_slider: | `level_slider` | :control_knobs: | `control_knobs` | -| :microphone: | `microphone` | :headphones: | `headphones` | -| :radio: | `radio` | | | +| :musical_score: | `musical_score` | :musical_note: | `musical_note` | +| :notes: | `notes` | :studio_microphone: | `studio_microphone` | +| :level_slider: | `level_slider` | :control_knobs: | `control_knobs` | +| :microphone: | `microphone` | :headphones: | `headphones` | +| :radio: | `radio` | | | #### Musical Instrument | icon | code | icon | code | | :-: | - | :-: | - | -| :saxophone: | `saxophone` | :guitar: | `guitar` | -| :musical_keyboard: | `musical_keyboard` | :trumpet: | `trumpet` | -| :violin: | `violin` | :drum: | `drum` | +| :saxophone: | `saxophone` | :guitar: | `guitar` | +| :musical_keyboard: | `musical_keyboard` | :trumpet: | `trumpet` | +| :violin: | `violin` | :drum: | `drum` | #### Phone | icon | code | icon | code | | :-: | - | :-: | - | -| :iphone: | `iphone` | :calling: | `calling` | -| :phone: | `phone`
`telephone` | :telephone_receiver: | `telephone_receiver` | -| :pager: | `pager` | :fax: | `fax` | +| :iphone: | `iphone` | :calling: | `calling` | +| :phone: | `phone`
`telephone` | :telephone_receiver: | `telephone_receiver` | +| :pager: | `pager` | :fax: | `fax` | #### Computer | icon | code | icon | code | | :-: | - | :-: | - | -| :battery: | `battery` | :electric_plug: | `electric_plug` | -| :computer: | `computer` | :desktop_computer: | `desktop_computer` | -| :printer: | `printer` | :keyboard: | `keyboard` | -| :computer_mouse: | `computer_mouse` | :trackball: | `trackball` | -| :minidisc: | `minidisc` | :floppy_disk: | `floppy_disk` | -| :cd: | `cd` | :dvd: | `dvd` | +| :battery: | `battery` | :electric_plug: | `electric_plug` | +| :computer: | `computer` | :desktop_computer: | `desktop_computer` | +| :printer: | `printer` | :keyboard: | `keyboard` | +| :computer_mouse: | `computer_mouse` | :trackball: | `trackball` | +| :minidisc: | `minidisc` | :floppy_disk: | `floppy_disk` | +| :cd: | `cd` | :dvd: | `dvd` | #### Light & Video | icon | code | icon | code | | :-: | - | :-: | - | -| :movie_camera: | `movie_camera` | :film_strip: | `film_strip` | -| :film_projector: | `film_projector` | :clapper: | `clapper` | -| :tv: | `tv` | :camera: | `camera` | -| :camera_flash: | `camera_flash` | :video_camera: | `video_camera` | -| :vhs: | `vhs` | :mag: | `mag` | -| :mag_right: | `mag_right` | :candle: | `candle` | -| :bulb: | `bulb` | :flashlight: | `flashlight` | -| :izakaya_lantern: | `izakaya_lantern`
`lantern` | | | +| :movie_camera: | `movie_camera` | :film_strip: | `film_strip` | +| :film_projector: | `film_projector` | :clapper: | `clapper` | +| :tv: | `tv` | :camera: | `camera` | +| :camera_flash: | `camera_flash` | :video_camera: | `video_camera` | +| :vhs: | `vhs` | :mag: | `mag` | +| :mag_right: | `mag_right` | :candle: | `candle` | +| :bulb: | `bulb` | :flashlight: | `flashlight` | +| :izakaya_lantern: | `izakaya_lantern`
`lantern` | | | #### Book Paper | icon | code | icon | code | | :-: | - | :-: | - | -| :notebook_with_decorative_cover: | `notebook_with_decorative_cover` | :closed_book: | `closed_book` | -| :book: | `book`
`open_book` | :green_book: | `green_book` | -| :blue_book: | `blue_book` | :orange_book: | `orange_book` | -| :books: | `books` | :notebook: | `notebook` | -| :ledger: | `ledger` | :page_with_curl: | `page_with_curl` | -| :scroll: | `scroll` | :page_facing_up: | `page_facing_up` | -| :newspaper: | `newspaper` | :newspaper_roll: | `newspaper_roll` | -| :bookmark_tabs: | `bookmark_tabs` | :bookmark: | `bookmark` | -| :label: | `label` | | | +| :notebook_with_decorative_cover: | `notebook_with_decorative_cover` | :closed_book: | `closed_book` | +| :book: | `book`
`open_book` | :green_book: | `green_book` | +| :blue_book: | `blue_book` | :orange_book: | `orange_book` | +| :books: | `books` | :notebook: | `notebook` | +| :ledger: | `ledger` | :page_with_curl: | `page_with_curl` | +| :scroll: | `scroll` | :page_facing_up: | `page_facing_up` | +| :newspaper: | `newspaper` | :newspaper_roll: | `newspaper_roll` | +| :bookmark_tabs: | `bookmark_tabs` | :bookmark: | `bookmark` | +| :label: | `label` | | | #### Money | icon | code | icon | code | | :-: | - | :-: | - | -| :moneybag: | `moneybag` | :yen: | `yen` | -| :dollar: | `dollar` | :euro: | `euro` | -| :pound: | `pound` | :money_with_wings: | `money_with_wings` | -| :credit_card: | `credit_card` | :chart: | `chart` | +| :moneybag: | `moneybag` | :yen: | `yen` | +| :dollar: | `dollar` | :euro: | `euro` | +| :pound: | `pound` | :money_with_wings: | `money_with_wings` | +| :credit_card: | `credit_card` | :chart: | `chart` | #### Mail | icon | code | icon | code | | :-: | - | :-: | - | -| :email: | `email`
`envelope` | :e-mail: | `:e-mail:` | -| :incoming_envelope: | `incoming_envelope` | :envelope_with_arrow: | `envelope_with_arrow` | -| :outbox_tray: | `outbox_tray` | :inbox_tray: | `inbox_tray` | -| :package: | `package` | :mailbox: | `mailbox` | -| :mailbox_closed: | `mailbox_closed` | :mailbox_with_mail: | `mailbox_with_mail` | -| :mailbox_with_no_mail: | `mailbox_with_no_mail` | :postbox: | `postbox` | -| :ballot_box: | `ballot_box` | | | +| :email: | `email`
`envelope` | :e-mail: | `:e-mail:` | +| :incoming_envelope: | `incoming_envelope` | :envelope_with_arrow: | `envelope_with_arrow` | +| :outbox_tray: | `outbox_tray` | :inbox_tray: | `inbox_tray` | +| :package: | `package` | :mailbox: | `mailbox` | +| :mailbox_closed: | `mailbox_closed` | :mailbox_with_mail: | `mailbox_with_mail` | +| :mailbox_with_no_mail: | `mailbox_with_no_mail` | :postbox: | `postbox` | +| :ballot_box: | `ballot_box` | | | #### Writing | icon | code | icon | code | | :-: | - | :-: | - | -| :pencil2: | `pencil2` | :black_nib: | `black_nib` | -| :fountain_pen: | `fountain_pen` | :pen: | `pen` | -| :paintbrush: | `paintbrush` | :crayon: | `crayon` | -| :memo: | `memo`
`pencil` | | | +| :pencil2: | `pencil2` | :black_nib: | `black_nib` | +| :fountain_pen: | `fountain_pen` | :pen: | `pen` | +| :paintbrush: | `paintbrush` | :crayon: | `crayon` | +| :memo: | `memo`
`pencil` | | | #### Office | icon | code | icon | code | | :-: | - | :-: | - | -| :briefcase: | `briefcase` | :file_folder: | `file_folder` | -| :open_file_folder: | `open_file_folder` | :card_index_dividers: | `card_index_dividers` | -| :date: | `date` | :calendar: | `calendar` | -| :spiral_notepad: | `spiral_notepad` | :spiral_calendar: | `spiral_calendar` | -| :card_index: | `card_index` | :chart_with_upwards_trend: | `chart_with_upwards_trend` | -| :chart_with_downwards_trend: | `chart_with_downwards_trend` | :bar_chart: | `bar_chart` | -| :clipboard: | `clipboard` | :pushpin: | `pushpin` | -| :round_pushpin: | `round_pushpin` | :paperclip: | `paperclip` | -| :paperclips: | `paperclips` | :straight_ruler: | `straight_ruler` | -| :triangular_ruler: | `triangular_ruler` | :scissors: | `scissors` | -| :card_file_box: | `card_file_box` | :file_cabinet: | `file_cabinet` | -| :wastebasket: | `wastebasket` | | | +| :briefcase: | `briefcase` | :file_folder: | `file_folder` | +| :open_file_folder: | `open_file_folder` | :card_index_dividers: | `card_index_dividers` | +| :date: | `date` | :calendar: | `calendar` | +| :spiral_notepad: | `spiral_notepad` | :spiral_calendar: | `spiral_calendar` | +| :card_index: | `card_index` | :chart_with_upwards_trend: | `chart_with_upwards_trend` | +| :chart_with_downwards_trend: | `chart_with_downwards_trend` | :bar_chart: | `bar_chart` | +| :clipboard: | `clipboard` | :pushpin: | `pushpin` | +| :round_pushpin: | `round_pushpin` | :paperclip: | `paperclip` | +| :paperclips: | `paperclips` | :straight_ruler: | `straight_ruler` | +| :triangular_ruler: | `triangular_ruler` | :scissors: | `scissors` | +| :card_file_box: | `card_file_box` | :file_cabinet: | `file_cabinet` | +| :wastebasket: | `wastebasket` | | | #### Lock | icon | code | icon | code | | :-: | - | :-: | - | -| :lock: | `lock` | :unlock: | `unlock` | -| :lock_with_ink_pen: | `lock_with_ink_pen` | :closed_lock_with_key: | `closed_lock_with_key` | -| :key: | `key` | :old_key: | `old_key` | +| :lock: | `lock` | :unlock: | `unlock` | +| :lock_with_ink_pen: | `lock_with_ink_pen` | :closed_lock_with_key: | `closed_lock_with_key` | +| :key: | `key` | :old_key: | `old_key` | #### Tool | icon | code | icon | code | | :-: | - | :-: | - | -| :hammer: | `hammer` | :pick: | `pick` | -| :hammer_and_pick: | `hammer_and_pick` | :hammer_and_wrench: | `hammer_and_wrench` | -| :dagger: | `dagger` | :crossed_swords: | `crossed_swords` | -| :gun: | `gun` | :bow_and_arrow: | `bow_and_arrow` | -| :shield: | `shield` | :wrench: | `wrench` | -| :nut_and_bolt: | `nut_and_bolt` | :gear: | `gear` | -| :clamp: | `clamp` | :balance_scale: | `balance_scale` | -| :link: | `link` | :chains: | `chains` | +| :hammer: | `hammer` | :pick: | `pick` | +| :hammer_and_pick: | `hammer_and_pick` | :hammer_and_wrench: | `hammer_and_wrench` | +| :dagger: | `dagger` | :crossed_swords: | `crossed_swords` | +| :gun: | `gun` | :bow_and_arrow: | `bow_and_arrow` | +| :shield: | `shield` | :wrench: | `wrench` | +| :nut_and_bolt: | `nut_and_bolt` | :gear: | `gear` | +| :clamp: | `clamp` | :balance_scale: | `balance_scale` | +| :link: | `link` | :chains: | `chains` | #### Science | icon | code | icon | code | | :-: | - | :-: | - | -| :alembic: | `alembic` | :microscope: | `microscope` | -| :telescope: | `telescope` | :satellite: | `satellite` | +| :alembic: | `alembic` | :microscope: | `microscope` | +| :telescope: | `telescope` | :satellite: | `satellite` | #### Medical | icon | code | icon | code | | :-: | - | :-: | - | -| :syringe: | `syringe` | :pill: | `pill` | +| :syringe: | `syringe` | :pill: | `pill` | #### Household | icon | code | icon | code | | :-: | - | :-: | - | -| :door: | `door` | :bed: | `bed` | -| :couch_and_lamp: | `couch_and_lamp` | :toilet: | `toilet` | -| :shower: | `shower` | :bathtub: | `bathtub` | -| :shopping_cart: | `shopping_cart` | | | +| :door: | `door` | :bed: | `bed` | +| :couch_and_lamp: | `couch_and_lamp` | :toilet: | `toilet` | +| :shower: | `shower` | :bathtub: | `bathtub` | +| :shopping_cart: | `shopping_cart` | | | #### Other Object | icon | code | icon | code | | :-: | - | :-: | - | -| :smoking: | `smoking` | :coffin: | `coffin` | -| :funeral_urn: | `funeral_urn` | :moyai: | `moyai` | +| :smoking: | `smoking` | :coffin: | `coffin` | +| :funeral_urn: | `funeral_urn` | :moyai: | `moyai` | ### Symbols @@ -982,171 +983,171 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :atm: | `atm` | :put_litter_in_its_place: | `put_litter_in_its_place` | -| :potable_water: | `potable_water` | :wheelchair: | `wheelchair` | -| :mens: | `mens` | :womens: | `womens` | -| :restroom: | `restroom` | :baby_symbol: | `baby_symbol` | -| :wc: | `wc` | :passport_control: | `passport_control` | -| :customs: | `customs` | :baggage_claim: | `baggage_claim` | -| :left_luggage: | `left_luggage` | | | +| :atm: | `atm` | :put_litter_in_its_place: | `put_litter_in_its_place` | +| :potable_water: | `potable_water` | :wheelchair: | `wheelchair` | +| :mens: | `mens` | :womens: | `womens` | +| :restroom: | `restroom` | :baby_symbol: | `baby_symbol` | +| :wc: | `wc` | :passport_control: | `passport_control` | +| :customs: | `customs` | :baggage_claim: | `baggage_claim` | +| :left_luggage: | `left_luggage` | | | #### Warning | icon | code | icon | code | | :-: | - | :-: | - | -| :warning: | `warning` | :children_crossing: | `children_crossing` | -| :no_entry: | `no_entry` | :no_entry_sign: | `no_entry_sign` | -| :no_bicycles: | `no_bicycles` | :no_smoking: | `no_smoking` | -| :do_not_litter: | `do_not_litter` | :non-potable_water: | `:non-potable_water:` | -| :no_pedestrians: | `no_pedestrians` | :no_mobile_phones: | `no_mobile_phones` | -| :underage: | `underage` | :radioactive: | `radioactive` | -| :biohazard: | `biohazard` | | | +| :warning: | `warning` | :children_crossing: | `children_crossing` | +| :no_entry: | `no_entry` | :no_entry_sign: | `no_entry_sign` | +| :no_bicycles: | `no_bicycles` | :no_smoking: | `no_smoking` | +| :do_not_litter: | `do_not_litter` | :non-potable_water: | `:non-potable_water:` | +| :no_pedestrians: | `no_pedestrians` | :no_mobile_phones: | `no_mobile_phones` | +| :underage: | `underage` | :radioactive: | `radioactive` | +| :biohazard: | `biohazard` | | | #### Arrow | icon | code | icon | code | | :-: | - | :-: | - | -| :arrow_up: | `arrow_up` | :arrow_upper_right: | `arrow_upper_right` | -| :arrow_right: | `arrow_right` | :arrow_lower_right: | `arrow_lower_right` | -| :arrow_down: | `arrow_down` | :arrow_lower_left: | `arrow_lower_left` | -| :arrow_left: | `arrow_left` | :arrow_upper_left: | `arrow_upper_left` | -| :arrow_up_down: | `arrow_up_down` | :left_right_arrow: | `left_right_arrow` | -| :leftwards_arrow_with_hook: | `leftwards_arrow_with_hook` | :arrow_right_hook: | `arrow_right_hook` | -| :arrow_heading_up: | `arrow_heading_up` | :arrow_heading_down: | `arrow_heading_down` | -| :arrows_clockwise: | `arrows_clockwise` | :arrows_counterclockwise: | `arrows_counterclockwise` | -| :back: | `back` | :end: | `end` | -| :on: | `on` | :soon: | `soon` | -| :top: | `top` | | | +| :arrow_up: | `arrow_up` | :arrow_upper_right: | `arrow_upper_right` | +| :arrow_right: | `arrow_right` | :arrow_lower_right: | `arrow_lower_right` | +| :arrow_down: | `arrow_down` | :arrow_lower_left: | `arrow_lower_left` | +| :arrow_left: | `arrow_left` | :arrow_upper_left: | `arrow_upper_left` | +| :arrow_up_down: | `arrow_up_down` | :left_right_arrow: | `left_right_arrow` | +| :leftwards_arrow_with_hook: | `leftwards_arrow_with_hook` | :arrow_right_hook: | `arrow_right_hook` | +| :arrow_heading_up: | `arrow_heading_up` | :arrow_heading_down: | `arrow_heading_down` | +| :arrows_clockwise: | `arrows_clockwise` | :arrows_counterclockwise: | `arrows_counterclockwise` | +| :back: | `back` | :end: | `end` | +| :on: | `on` | :soon: | `soon` | +| :top: | `top` | | | #### Religion | icon | code | icon | code | | :-: | - | :-: | - | -| :place_of_worship: | `place_of_worship` | :atom_symbol: | `atom_symbol` | -| :om: | `om` | :star_of_david: | `star_of_david` | -| :wheel_of_dharma: | `wheel_of_dharma` | :yin_yang: | `yin_yang` | -| :latin_cross: | `latin_cross` | :orthodox_cross: | `orthodox_cross` | -| :star_and_crescent: | `star_and_crescent` | :peace_symbol: | `peace_symbol` | -| :menorah: | `menorah` | :six_pointed_star: | `six_pointed_star` | +| :place_of_worship: | `place_of_worship` | :atom_symbol: | `atom_symbol` | +| :om: | `om` | :star_of_david: | `star_of_david` | +| :wheel_of_dharma: | `wheel_of_dharma` | :yin_yang: | `yin_yang` | +| :latin_cross: | `latin_cross` | :orthodox_cross: | `orthodox_cross` | +| :star_and_crescent: | `star_and_crescent` | :peace_symbol: | `peace_symbol` | +| :menorah: | `menorah` | :six_pointed_star: | `six_pointed_star` | #### Zodiac | icon | code | icon | code | | :-: | - | :-: | - | -| :aries: | `aries` | :taurus: | `taurus` | -| :gemini: | `gemini` | :cancer: | `cancer` | -| :leo: | `leo` | :virgo: | `virgo` | -| :libra: | `libra` | :scorpius: | `scorpius` | -| :sagittarius: | `sagittarius` | :capricorn: | `capricorn` | -| :aquarius: | `aquarius` | :pisces: | `pisces` | -| :ophiuchus: | `ophiuchus` | | | +| :aries: | `aries` | :taurus: | `taurus` | +| :gemini: | `gemini` | :cancer: | `cancer` | +| :leo: | `leo` | :virgo: | `virgo` | +| :libra: | `libra` | :scorpius: | `scorpius` | +| :sagittarius: | `sagittarius` | :capricorn: | `capricorn` | +| :aquarius: | `aquarius` | :pisces: | `pisces` | +| :ophiuchus: | `ophiuchus` | | | #### Av Symbol | icon | code | icon | code | | :-: | - | :-: | - | -| :twisted_rightwards_arrows: | `twisted_rightwards_arrows` | :repeat: | `repeat` | -| :repeat_one: | `repeat_one` | :arrow_forward: | `arrow_forward` | -| :fast_forward: | `fast_forward` | :next_track_button: | `next_track_button` | -| :play_or_pause_button: | `play_or_pause_button` | :arrow_backward: | `arrow_backward` | -| :rewind: | `rewind` | :previous_track_button: | `previous_track_button` | -| :arrow_up_small: | `arrow_up_small` | :arrow_double_up: | `arrow_double_up` | -| :arrow_down_small: | `arrow_down_small` | :arrow_double_down: | `arrow_double_down` | -| :pause_button: | `pause_button` | :stop_button: | `stop_button` | -| :record_button: | `record_button` | :cinema: | `cinema` | -| :low_brightness: | `low_brightness` | :high_brightness: | `high_brightness` | -| :signal_strength: | `signal_strength` | :vibration_mode: | `vibration_mode` | -| :mobile_phone_off: | `mobile_phone_off` | | | +| :twisted_rightwards_arrows: | `twisted_rightwards_arrows` | :repeat: | `repeat` | +| :repeat_one: | `repeat_one` | :arrow_forward: | `arrow_forward` | +| :fast_forward: | `fast_forward` | :next_track_button: | `next_track_button` | +| :play_or_pause_button: | `play_or_pause_button` | :arrow_backward: | `arrow_backward` | +| :rewind: | `rewind` | :previous_track_button: | `previous_track_button` | +| :arrow_up_small: | `arrow_up_small` | :arrow_double_up: | `arrow_double_up` | +| :arrow_down_small: | `arrow_down_small` | :arrow_double_down: | `arrow_double_down` | +| :pause_button: | `pause_button` | :stop_button: | `stop_button` | +| :record_button: | `record_button` | :cinema: | `cinema` | +| :low_brightness: | `low_brightness` | :high_brightness: | `high_brightness` | +| :signal_strength: | `signal_strength` | :vibration_mode: | `vibration_mode` | +| :mobile_phone_off: | `mobile_phone_off` | | | #### Math | icon | code | icon | code | | :-: | - | :-: | - | -| :heavy_multiplication_x: | `heavy_multiplication_x` | :heavy_plus_sign: | `heavy_plus_sign` | -| :heavy_minus_sign: | `heavy_minus_sign` | :heavy_division_sign: | `heavy_division_sign` | +| :heavy_multiplication_x: | `heavy_multiplication_x` | :heavy_plus_sign: | `heavy_plus_sign` | +| :heavy_minus_sign: | `heavy_minus_sign` | :heavy_division_sign: | `heavy_division_sign` | #### Punctuation | icon | code | icon | code | | :-: | - | :-: | - | -| :bangbang: | `bangbang` | :interrobang: | `interrobang` | -| :question: | `question` | :grey_question: | `grey_question` | -| :grey_exclamation: | `grey_exclamation` | :exclamation: | `exclamation`
`heavy_exclamation_mark` | -| :wavy_dash: | `wavy_dash` | | | +| :bangbang: | `bangbang` | :interrobang: | `interrobang` | +| :question: | `question` | :grey_question: | `grey_question` | +| :grey_exclamation: | `grey_exclamation` | :exclamation: | `exclamation`
`heavy_exclamation_mark` | +| :wavy_dash: | `wavy_dash` | | | #### Currency | icon | code | icon | code | | :-: | - | :-: | - | -| :currency_exchange: | `currency_exchange` | :heavy_dollar_sign: | `heavy_dollar_sign` | +| :currency_exchange: | `currency_exchange` | :heavy_dollar_sign: | `heavy_dollar_sign` | #### Keycap | icon | code | icon | code | | :-: | - | :-: | - | -| :hash: | `hash` | :asterisk: | `asterisk` | -| :zero: | `zero` | :one: | `one` | -| :two: | `two` | :three: | `three` | -| :four: | `four` | :five: | `five` | -| :six: | `six` | :seven: | `seven` | -| :eight: | `eight` | :nine: | `nine` | -| :keycap_ten: | `keycap_ten` | | | +| :hash: | `hash` | :asterisk: | `asterisk` | +| :zero: | `zero` | :one: | `one` | +| :two: | `two` | :three: | `three` | +| :four: | `four` | :five: | `five` | +| :six: | `six` | :seven: | `seven` | +| :eight: | `eight` | :nine: | `nine` | +| :keycap_ten: | `keycap_ten` | | | #### Alphabet | icon | code | icon | code | | :-: | - | :-: | - | -| :capital_abcd: | `capital_abcd` | :abcd: | `abcd` | -| :1234: | `1234` | :symbols: | `symbols` | -| :abc: | `abc` | :a: | `a` | -| :ab: | `ab` | :b: | `b` | -| :cl: | `cl` | :cool: | `cool` | -| :free: | `free` | :information_source: | `information_source` | -| :id: | `id` | :m: | `m` | -| :new: | `new` | :ng: | `ng` | -| :o2: | `o2` | :ok: | `ok` | -| :parking: | `parking` | :sos: | `sos` | -| :up: | `up` | :vs: | `vs` | -| :koko: | `koko` | :sa: | `sa` | -| :u6708: | `u6708` | :u6709: | `u6709` | -| :u6307: | `u6307` | :ideograph_advantage: | `ideograph_advantage` | -| :u5272: | `u5272` | :u7121: | `u7121` | -| :u7981: | `u7981` | :accept: | `accept` | -| :u7533: | `u7533` | :u5408: | `u5408` | -| :u7a7a: | `u7a7a` | :congratulations: | `congratulations` | -| :secret: | `secret` | :u55b6: | `u55b6` | -| :u6e80: | `u6e80` | | | +| :capital_abcd: | `capital_abcd` | :abcd: | `abcd` | +| :1234: | `1234` | :symbols: | `symbols` | +| :abc: | `abc` | :a: | `a` | +| :ab: | `ab` | :b: | `b` | +| :cl: | `cl` | :cool: | `cool` | +| :free: | `free` | :information_source: | `information_source` | +| :id: | `id` | :m: | `m` | +| :new: | `new` | :ng: | `ng` | +| :o2: | `o2` | :ok: | `ok` | +| :parking: | `parking` | :sos: | `sos` | +| :up: | `up` | :vs: | `vs` | +| :koko: | `koko` | :sa: | `sa` | +| :u6708: | `u6708` | :u6709: | `u6709` | +| :u6307: | `u6307` | :ideograph_advantage: | `ideograph_advantage` | +| :u5272: | `u5272` | :u7121: | `u7121` | +| :u7981: | `u7981` | :accept: | `accept` | +| :u7533: | `u7533` | :u5408: | `u5408` | +| :u7a7a: | `u7a7a` | :congratulations: | `congratulations` | +| :secret: | `secret` | :u55b6: | `u55b6` | +| :u6e80: | `u6e80` | | | #### Geometric | icon | code | icon | code | | :-: | - | :-: | - | -| :red_circle: | `red_circle` | :large_blue_circle: | `large_blue_circle` | -| :black_circle: | `black_circle` | :white_circle: | `white_circle` | -| :black_large_square: | `black_large_square` | :white_large_square: | `white_large_square` | -| :black_medium_square: | `black_medium_square` | :white_medium_square: | `white_medium_square` | -| :black_medium_small_square: | `black_medium_small_square` | :white_medium_small_square: | `white_medium_small_square` | -| :black_small_square: | `black_small_square` | :white_small_square: | `white_small_square` | -| :large_orange_diamond: | `large_orange_diamond` | :large_blue_diamond: | `large_blue_diamond` | -| :small_orange_diamond: | `small_orange_diamond` | :small_blue_diamond: | `small_blue_diamond` | -| :small_red_triangle: | `small_red_triangle` | :small_red_triangle_down: | `small_red_triangle_down` | -| :diamond_shape_with_a_dot_inside: | `diamond_shape_with_a_dot_inside` | :radio_button: | `radio_button` | -| :white_square_button: | `white_square_button` | :black_square_button: | `black_square_button` | +| :red_circle: | `red_circle` | :large_blue_circle: | `large_blue_circle` | +| :black_circle: | `black_circle` | :white_circle: | `white_circle` | +| :black_large_square: | `black_large_square` | :white_large_square: | `white_large_square` | +| :black_medium_square: | `black_medium_square` | :white_medium_square: | `white_medium_square` | +| :black_medium_small_square: | `black_medium_small_square` | :white_medium_small_square: | `white_medium_small_square` | +| :black_small_square: | `black_small_square` | :white_small_square: | `white_small_square` | +| :large_orange_diamond: | `large_orange_diamond` | :large_blue_diamond: | `large_blue_diamond` | +| :small_orange_diamond: | `small_orange_diamond` | :small_blue_diamond: | `small_blue_diamond` | +| :small_red_triangle: | `small_red_triangle` | :small_red_triangle_down: | `small_red_triangle_down` | +| :diamond_shape_with_a_dot_inside: | `diamond_shape_with_a_dot_inside` | :radio_button: | `radio_button` | +| :white_square_button: | `white_square_button` | :black_square_button: | `black_square_button` | #### Other Symbol | icon | code | icon | code | | :-: | - | :-: | - | -| :recycle: | `recycle` | :fleur_de_lis: | `fleur_de_lis` | -| :trident: | `trident` | :name_badge: | `name_badge` | -| :beginner: | `beginner` | :o: | `o` | -| :white_check_mark: | `white_check_mark` | :ballot_box_with_check: | `ballot_box_with_check` | -| :heavy_check_mark: | `heavy_check_mark` | :x: | `x` | -| :negative_squared_cross_mark: | `negative_squared_cross_mark` | :curly_loop: | `curly_loop` | -| :loop: | `loop` | :part_alternation_mark: | `part_alternation_mark` | -| :eight_spoked_asterisk: | `eight_spoked_asterisk` | :eight_pointed_black_star: | `eight_pointed_black_star` | -| :sparkle: | `sparkle` | :copyright: | `copyright` | -| :registered: | `registered` | :tm: | `tm` | +| :recycle: | `recycle` | :fleur_de_lis: | `fleur_de_lis` | +| :trident: | `trident` | :name_badge: | `name_badge` | +| :beginner: | `beginner` | :o: | `o` | +| :white_check_mark: | `white_check_mark` | :ballot_box_with_check: | `ballot_box_with_check` | +| :heavy_check_mark: | `heavy_check_mark` | :x: | `x` | +| :negative_squared_cross_mark: | `negative_squared_cross_mark` | :curly_loop: | `curly_loop` | +| :loop: | `loop` | :part_alternation_mark: | `part_alternation_mark` | +| :eight_spoked_asterisk: | `eight_spoked_asterisk` | :eight_pointed_black_star: | `eight_pointed_black_star` | +| :sparkle: | `sparkle` | :copyright: | `copyright` | +| :registered: | `registered` | :tm: | `tm` | ### Flags @@ -1154,141 +1155,135 @@ The following cheat sheet is a useful reference for emoji shorthand codes. | icon | code | icon | code | | :-: | - | :-: | - | -| :checkered_flag: | `checkered_flag` | :triangular_flag_on_post: | `triangular_flag_on_post` | -| :crossed_flags: | `crossed_flags` | :black_flag: | `black_flag` | -| :white_flag: | `white_flag` | :rainbow_flag: | `rainbow_flag` | +| :checkered_flag: | `checkered_flag` | :triangular_flag_on_post: | `triangular_flag_on_post` | +| :crossed_flags: | `crossed_flags` | :black_flag: | `black_flag` | +| :white_flag: | `white_flag` | :rainbow_flag: | `rainbow_flag` | #### Country and Region Flags | icon | code | icon | code | | :-: | - | :-: | - | -| :andorra: | `andorra` | :united_arab_emirates: | `united_arab_emirates` | -| :afghanistan: | `afghanistan` | :antigua_barbuda: | `antigua_barbuda` | -| :anguilla: | `anguilla` | :albania: | `albania` | -| :armenia: | `armenia` | :angola: | `angola` | -| :antarctica: | `antarctica` | :argentina: | `argentina` | -| :american_samoa: | `american_samoa` | :austria: | `austria` | -| :australia: | `australia` | :aruba: | `aruba` | -| :aland_islands: | `aland_islands` | :azerbaijan: | `azerbaijan` | -| :bosnia_herzegovina: | `bosnia_herzegovina` | :barbados: | `barbados` | -| :bangladesh: | `bangladesh` | :belgium: | `belgium` | -| :burkina_faso: | `burkina_faso` | :bulgaria: | `bulgaria` | -| :bahrain: | `bahrain` | :burundi: | `burundi` | -| :benin: | `benin` | :st_barthelemy: | `st_barthelemy` | -| :bermuda: | `bermuda` | :brunei: | `brunei` | -| :bolivia: | `bolivia` | :caribbean_netherlands: | `caribbean_netherlands` | -| :brazil: | `brazil` | :bahamas: | `bahamas` | -| :bhutan: | `bhutan` | :botswana: | `botswana` | -| :belarus: | `belarus` | :belize: | `belize` | -| :canada: | `canada` | :cocos_islands: | `cocos_islands` | -| :congo_kinshasa: | `congo_kinshasa` | :central_african_republic: | `central_african_republic` | -| :congo_brazzaville: | `congo_brazzaville` | :switzerland: | `switzerland` | -| :cote_divoire: | `cote_divoire` | :cook_islands: | `cook_islands` | -| :chile: | `chile` | :cameroon: | `cameroon` | -| :cn: | `cn` | :colombia: | `colombia` | -| :costa_rica: | `costa_rica` | :cuba: | `cuba` | -| :cape_verde: | `cape_verde` | :curacao: | `curacao` | -| :christmas_island: | `christmas_island` | :cyprus: | `cyprus` | -| :czech_republic: | `czech_republic` | :de: | `de` | -| :djibouti: | `djibouti` | :denmark: | `denmark` | -| :dominica: | `dominica` | :dominican_republic: | `dominican_republic` | -| :algeria: | `algeria` | :ecuador: | `ecuador` | -| :estonia: | `estonia` | :egypt: | `egypt` | -| :western_sahara: | `western_sahara` | :eritrea: | `eritrea` | -| :es: | `es` | :ethiopia: | `ethiopia` | -| :eu: | `eu`
`european_union` | :finland: | `finland` | -| :fiji: | `fiji` | :falkland_islands: | `falkland_islands` | -| :micronesia: | `micronesia` | :faroe_islands: | `faroe_islands` | -| :fr: | `fr` | :gabon: | `gabon` | -| :gb: | `gb`
`uk` | :grenada: | `grenada` | -| :georgia: | `georgia` | :french_guiana: | `french_guiana` | -| :guernsey: | `guernsey` | :ghana: | `ghana` | -| :gibraltar: | `gibraltar` | :greenland: | `greenland` | -| :gambia: | `gambia` | :guinea: | `guinea` | -| :guadeloupe: | `guadeloupe` | :equatorial_guinea: | `equatorial_guinea` | -| :greece: | `greece` | :south_georgia_south_sandwich_islands: | `south_georgia_south_sandwich_islands` | -| :guatemala: | `guatemala` | :guam: | `guam` | -| :guinea_bissau: | `guinea_bissau` | :guyana: | `guyana` | -| :hong_kong: | `hong_kong` | :honduras: | `honduras` | -| :croatia: | `croatia` | :haiti: | `haiti` | -| :hungary: | `hungary` | :canary_islands: | `canary_islands` | -| :indonesia: | `indonesia` | :ireland: | `ireland` | -| :israel: | `israel` | :isle_of_man: | `isle_of_man` | -| :india: | `india` | :british_indian_ocean_territory: | `british_indian_ocean_territory` | -| :iraq: | `iraq` | :iran: | `iran` | -| :iceland: | `iceland` | :it: | `it` | -| :jersey: | `jersey` | :jamaica: | `jamaica` | -| :jordan: | `jordan` | :jp: | `jp` | -| :kenya: | `kenya` | :kyrgyzstan: | `kyrgyzstan` | -| :cambodia: | `cambodia` | :kiribati: | `kiribati` | -| :comoros: | `comoros` | :st_kitts_nevis: | `st_kitts_nevis` | -| :north_korea: | `north_korea` | :kr: | `kr` | -| :kuwait: | `kuwait` | :cayman_islands: | `cayman_islands` | -| :kazakhstan: | `kazakhstan` | :laos: | `laos` | -| :lebanon: | `lebanon` | :st_lucia: | `st_lucia` | -| :liechtenstein: | `liechtenstein` | :sri_lanka: | `sri_lanka` | -| :liberia: | `liberia` | :lesotho: | `lesotho` | -| :lithuania: | `lithuania` | :luxembourg: | `luxembourg` | -| :latvia: | `latvia` | :libya: | `libya` | -| :morocco: | `morocco` | :monaco: | `monaco` | -| :moldova: | `moldova` | :montenegro: | `montenegro` | -| :madagascar: | `madagascar` | :marshall_islands: | `marshall_islands` | -| :macedonia: | `macedonia` | :mali: | `mali` | -| :myanmar: | `myanmar` | :mongolia: | `mongolia` | -| :macau: | `macau` | :northern_mariana_islands: | `northern_mariana_islands` | -| :martinique: | `martinique` | :mauritania: | `mauritania` | -| :montserrat: | `montserrat` | :malta: | `malta` | -| :mauritius: | `mauritius` | :maldives: | `maldives` | -| :malawi: | `malawi` | :mexico: | `mexico` | -| :malaysia: | `malaysia` | :mozambique: | `mozambique` | -| :namibia: | `namibia` | :new_caledonia: | `new_caledonia` | -| :niger: | `niger` | :norfolk_island: | `norfolk_island` | -| :nigeria: | `nigeria` | :nicaragua: | `nicaragua` | -| :netherlands: | `netherlands` | :norway: | `norway` | -| :nepal: | `nepal` | :nauru: | `nauru` | -| :niue: | `niue` | :new_zealand: | `new_zealand` | -| :oman: | `oman` | :panama: | `panama` | -| :peru: | `peru` | :french_polynesia: | `french_polynesia` | -| :papua_new_guinea: | `papua_new_guinea` | :philippines: | `philippines` | -| :pakistan: | `pakistan` | :poland: | `poland` | -| :st_pierre_miquelon: | `st_pierre_miquelon` | :pitcairn_islands: | `pitcairn_islands` | -| :puerto_rico: | `puerto_rico` | :palestinian_territories: | `palestinian_territories` | -| :portugal: | `portugal` | :palau: | `palau` | -| :paraguay: | `paraguay` | :qatar: | `qatar` | -| :reunion: | `reunion` | :romania: | `romania` | -| :serbia: | `serbia` | :ru: | `ru` | -| :rwanda: | `rwanda` | :saudi_arabia: | `saudi_arabia` | -| :solomon_islands: | `solomon_islands` | :seychelles: | `seychelles` | -| :sudan: | `sudan` | :sweden: | `sweden` | -| :singapore: | `singapore` | :st_helena: | `st_helena` | -| :slovenia: | `slovenia` | :slovakia: | `slovakia` | -| :sierra_leone: | `sierra_leone` | :san_marino: | `san_marino` | -| :senegal: | `senegal` | :somalia: | `somalia` | -| :suriname: | `suriname` | :south_sudan: | `south_sudan` | -| :sao_tome_principe: | `sao_tome_principe` | :el_salvador: | `el_salvador` | -| :sint_maarten: | `sint_maarten` | :syria: | `syria` | -| :swaziland: | `swaziland` | :turks_caicos_islands: | `turks_caicos_islands` | -| :chad: | `chad` | :french_southern_territories: | `french_southern_territories` | -| :togo: | `togo` | :thailand: | `thailand` | -| :tajikistan: | `tajikistan` | :tokelau: | `tokelau` | -| :timor_leste: | `timor_leste` | :turkmenistan: | `turkmenistan` | -| :tunisia: | `tunisia` | :tonga: | `tonga` | -| :tr: | `tr` | :trinidad_tobago: | `trinidad_tobago` | -| :tuvalu: | `tuvalu` | :taiwan: | `taiwan` | -| :tanzania: | `tanzania` | :ukraine: | `ukraine` | -| :uganda: | `uganda` | :us: | `us` | -| :uruguay: | `uruguay` | :uzbekistan: | `uzbekistan` | -| :vatican_city: | `vatican_city` | :st_vincent_grenadines: | `st_vincent_grenadines` | -| :venezuela: | `venezuela` | :british_virgin_islands: | `british_virgin_islands` | -| :us_virgin_islands: | `us_virgin_islands` | :vietnam: | `vietnam` | -| :vanuatu: | `vanuatu` | :wallis_futuna: | `wallis_futuna` | -| :samoa: | `samoa` | :kosovo: | `kosovo` | -| :yemen: | `yemen` | :mayotte: | `mayotte` | -| :south_africa: | `south_africa` | :zambia: | `zambia` | -| :zimbabwe: | `zimbabwe` | | | - - +| :andorra: | `andorra` | :united_arab_emirates: | `united_arab_emirates` | +| :afghanistan: | `afghanistan` | :antigua_barbuda: | `antigua_barbuda` | +| :anguilla: | `anguilla` | :albania: | `albania` | +| :armenia: | `armenia` | :angola: | `angola` | +| :antarctica: | `antarctica` | :argentina: | `argentina` | +| :american_samoa: | `american_samoa` | :austria: | `austria` | +| :australia: | `australia` | :aruba: | `aruba` | +| :aland_islands: | `aland_islands` | :azerbaijan: | `azerbaijan` | +| :bosnia_herzegovina: | `bosnia_herzegovina` | :barbados: | `barbados` | +| :bangladesh: | `bangladesh` | :belgium: | `belgium` | +| :burkina_faso: | `burkina_faso` | :bulgaria: | `bulgaria` | +| :bahrain: | `bahrain` | :burundi: | `burundi` | +| :benin: | `benin` | :st_barthelemy: | `st_barthelemy` | +| :bermuda: | `bermuda` | :brunei: | `brunei` | +| :bolivia: | `bolivia` | :caribbean_netherlands: | `caribbean_netherlands` | +| :brazil: | `brazil` | :bahamas: | `bahamas` | +| :bhutan: | `bhutan` | :botswana: | `botswana` | +| :belarus: | `belarus` | :belize: | `belize` | +| :canada: | `canada` | :cocos_islands: | `cocos_islands` | +| :congo_kinshasa: | `congo_kinshasa` | :central_african_republic: | `central_african_republic` | +| :congo_brazzaville: | `congo_brazzaville` | :switzerland: | `switzerland` | +| :cote_divoire: | `cote_divoire` | :cook_islands: | `cook_islands` | +| :chile: | `chile` | :cameroon: | `cameroon` | +| :cn: | `cn` | :colombia: | `colombia` | +| :costa_rica: | `costa_rica` | :cuba: | `cuba` | +| :cape_verde: | `cape_verde` | :curacao: | `curacao` | +| :christmas_island: | `christmas_island` | :cyprus: | `cyprus` | +| :czech_republic: | `czech_republic` | :de: | `de` | +| :djibouti: | `djibouti` | :denmark: | `denmark` | +| :dominica: | `dominica` | :dominican_republic: | `dominican_republic` | +| :algeria: | `algeria` | :ecuador: | `ecuador` | +| :estonia: | `estonia` | :egypt: | `egypt` | +| :western_sahara: | `western_sahara` | :eritrea: | `eritrea` | +| :es: | `es` | :ethiopia: | `ethiopia` | +| :eu: | `eu`
`european_union` | :finland: | `finland` | +| :fiji: | `fiji` | :falkland_islands: | `falkland_islands` | +| :micronesia: | `micronesia` | :faroe_islands: | `faroe_islands` | +| :fr: | `fr` | :gabon: | `gabon` | +| :gb: | `gb`
`uk` | :grenada: | `grenada` | +| :georgia: | `georgia` | :french_guiana: | `french_guiana` | +| :guernsey: | `guernsey` | :ghana: | `ghana` | +| :gibraltar: | `gibraltar` | :greenland: | `greenland` | +| :gambia: | `gambia` | :guinea: | `guinea` | +| :guadeloupe: | `guadeloupe` | :equatorial_guinea: | `equatorial_guinea` | +| :greece: | `greece` | :south_georgia_south_sandwich_islands: | `south_georgia_south_sandwich_islands` | +| :guatemala: | `guatemala` | :guam: | `guam` | +| :guinea_bissau: | `guinea_bissau` | :guyana: | `guyana` | +| :hong_kong: | `hong_kong` | :honduras: | `honduras` | +| :croatia: | `croatia` | :haiti: | `haiti` | +| :hungary: | `hungary` | :canary_islands: | `canary_islands` | +| :indonesia: | `indonesia` | :ireland: | `ireland` | +| :israel: | `israel` | :isle_of_man: | `isle_of_man` | +| :india: | `india` | :british_indian_ocean_territory: | `british_indian_ocean_territory` | +| :iraq: | `iraq` | :iran: | `iran` | +| :iceland: | `iceland` | :it: | `it` | +| :jersey: | `jersey` | :jamaica: | `jamaica` | +| :jordan: | `jordan` | :jp: | `jp` | +| :kenya: | `kenya` | :kyrgyzstan: | `kyrgyzstan` | +| :cambodia: | `cambodia` | :kiribati: | `kiribati` | +| :comoros: | `comoros` | :st_kitts_nevis: | `st_kitts_nevis` | +| :north_korea: | `north_korea` | :kr: | `kr` | +| :kuwait: | `kuwait` | :cayman_islands: | `cayman_islands` | +| :kazakhstan: | `kazakhstan` | :laos: | `laos` | +| :lebanon: | `lebanon` | :st_lucia: | `st_lucia` | +| :liechtenstein: | `liechtenstein` | :sri_lanka: | `sri_lanka` | +| :liberia: | `liberia` | :lesotho: | `lesotho` | +| :lithuania: | `lithuania` | :luxembourg: | `luxembourg` | +| :latvia: | `latvia` | :libya: | `libya` | +| :morocco: | `morocco` | :monaco: | `monaco` | +| :moldova: | `moldova` | :montenegro: | `montenegro` | +| :madagascar: | `madagascar` | :marshall_islands: | `marshall_islands` | +| :macedonia: | `macedonia` | :mali: | `mali` | +| :myanmar: | `myanmar` | :mongolia: | `mongolia` | +| :macau: | `macau` | :northern_mariana_islands: | `northern_mariana_islands` | +| :martinique: | `martinique` | :mauritania: | `mauritania` | +| :montserrat: | `montserrat` | :malta: | `malta` | +| :mauritius: | `mauritius` | :maldives: | `maldives` | +| :malawi: | `malawi` | :mexico: | `mexico` | +| :malaysia: | `malaysia` | :mozambique: | `mozambique` | +| :namibia: | `namibia` | :new_caledonia: | `new_caledonia` | +| :niger: | `niger` | :norfolk_island: | `norfolk_island` | +| :nigeria: | `nigeria` | :nicaragua: | `nicaragua` | +| :netherlands: | `netherlands` | :norway: | `norway` | +| :nepal: | `nepal` | :nauru: | `nauru` | +| :niue: | `niue` | :new_zealand: | `new_zealand` | +| :oman: | `oman` | :panama: | `panama` | +| :peru: | `peru` | :french_polynesia: | `french_polynesia` | +| :papua_new_guinea: | `papua_new_guinea` | :philippines: | `philippines` | +| :pakistan: | `pakistan` | :poland: | `poland` | +| :st_pierre_miquelon: | `st_pierre_miquelon` | :pitcairn_islands: | `pitcairn_islands` | +| :puerto_rico: | `puerto_rico` | :palestinian_territories: | `palestinian_territories` | +| :portugal: | `portugal` | :palau: | `palau` | +| :paraguay: | `paraguay` | :qatar: | `qatar` | +| :reunion: | `reunion` | :romania: | `romania` | +| :serbia: | `serbia` | :ru: | `ru` | +| :rwanda: | `rwanda` | :saudi_arabia: | `saudi_arabia` | +| :solomon_islands: | `solomon_islands` | :seychelles: | `seychelles` | +| :sudan: | `sudan` | :sweden: | `sweden` | +| :singapore: | `singapore` | :st_helena: | `st_helena` | +| :slovenia: | `slovenia` | :slovakia: | `slovakia` | +| :sierra_leone: | `sierra_leone` | :san_marino: | `san_marino` | +| :senegal: | `senegal` | :somalia: | `somalia` | +| :suriname: | `suriname` | :south_sudan: | `south_sudan` | +| :sao_tome_principe: | `sao_tome_principe` | :el_salvador: | `el_salvador` | +| :sint_maarten: | `sint_maarten` | :syria: | `syria` | +| :swaziland: | `swaziland` | :turks_caicos_islands: | `turks_caicos_islands` | +| :chad: | `chad` | :french_southern_territories: | `french_southern_territories` | +| :togo: | `togo` | :thailand: | `thailand` | +| :tajikistan: | `tajikistan` | :tokelau: | `tokelau` | +| :timor_leste: | `timor_leste` | :turkmenistan: | `turkmenistan` | +| :tunisia: | `tunisia` | :tonga: | `tonga` | +| :tr: | `tr` | :trinidad_tobago: | `trinidad_tobago` | +| :tuvalu: | `tuvalu` | :taiwan: | `taiwan` | +| :tanzania: | `tanzania` | :ukraine: | `ukraine` | +| :uganda: | `uganda` | :us: | `us` | +| :uruguay: | `uruguay` | :uzbekistan: | `uzbekistan` | +| :vatican_city: | `vatican_city` | :st_vincent_grenadines: | `st_vincent_grenadines` | +| :venezuela: | `venezuela` | :british_virgin_islands: | `british_virgin_islands` | +| :us_virgin_islands: | `us_virgin_islands` | :vietnam: | `vietnam` | +| :vanuatu: | `vanuatu` | :wallis_futuna: | `wallis_futuna` | +| :samoa: | `samoa` | :kosovo: | `kosovo` | +| :yemen: | `yemen` | :mayotte: | `mayotte` | +| :south_africa: | `south_africa` | :zambia: | `zambia` | +| :zimbabwe: | `zimbabwe` | | | diff --git a/exampleSite/content/posts/emoji-support.zh-cn.md b/exampleSite/content/posts/emoji-support.zh-cn.md index e85410e..83b903f 100644 --- a/exampleSite/content/posts/emoji-support.zh-cn.md +++ b/exampleSite/content/posts/emoji-support.zh-cn.md @@ -12,6 +12,7 @@ tags: ["emoji"] categories: ["Markdown"] featuredImage: "/images/emoji-support/featured-image.jpg" +twemoji: true lightgallery: true --- @@ -48,145 +49,145 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :grinning: | `grinning` | :smiley: | `smiley` | -| :smile: | `smile` | :grin: | `grin` | -| :laughing: | `laughing`
`satisfied` | :sweat_smile: | `sweat_smile` | -| :rofl: | `rofl` | :joy: | `joy` | -| :slightly_smiling_face: | `slightly_smiling_face` | :upside_down_face: | `upside_down_face` | -| :wink: | `wink` | :blush: | `blush` | -| :innocent: | `innocent` | | | +| :grinning: | `grinning` | :smiley: | `smiley` | +| :smile: | `smile` | :grin: | `grin` | +| :laughing: | `laughing`
`satisfied` | :sweat_smile: | `sweat_smile` | +| :rofl: | `rofl` | :joy: | `joy` | +| :slightly_smiling_face: | `slightly_smiling_face` | :upside_down_face: | `upside_down_face` | +| :wink: | `wink` | :blush: | `blush` | +| :innocent: | `innocent` | | | #### 爱意表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :heart_eyes: | `heart_eyes` | :kissing_heart: | `kissing_heart` | -| :kissing: | `kissing` | :relaxed: | `relaxed` | -| :kissing_closed_eyes: | `kissing_closed_eyes` | :kissing_smiling_eyes: | `kissing_smiling_eyes` | +| :heart_eyes: | `heart_eyes` | :kissing_heart: | `kissing_heart` | +| :kissing: | `kissing` | :relaxed: | `relaxed` | +| :kissing_closed_eyes: | `kissing_closed_eyes` | :kissing_smiling_eyes: | `kissing_smiling_eyes` | #### 吐舌头表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :yum: | `yum` | :stuck_out_tongue: | `stuck_out_tongue` | -| :stuck_out_tongue_winking_eye: | `stuck_out_tongue_winking_eye` | :stuck_out_tongue_closed_eyes: | `stuck_out_tongue_closed_eyes` | -| :money_mouth_face: | `money_mouth_face` | | | +| :yum: | `yum` | :stuck_out_tongue: | `stuck_out_tongue` | +| :stuck_out_tongue_winking_eye: | `stuck_out_tongue_winking_eye` | :stuck_out_tongue_closed_eyes: | `stuck_out_tongue_closed_eyes` | +| :money_mouth_face: | `money_mouth_face` | | | #### 带手的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :hugs: | `hugs` | :thinking: | `thinking` | +| :hugs: | `hugs` | :thinking: | `thinking` | #### 中性表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :zipper_mouth_face: | `zipper_mouth_face` | :neutral_face: | `neutral_face` | -| :expressionless: | `expressionless` | :no_mouth: | `no_mouth` | -| :smirk: | `smirk` | :unamused: | `unamused` | -| :roll_eyes: | `roll_eyes` | :grimacing: | `grimacing` | -| :lying_face: | `lying_face` | | | +| :zipper_mouth_face: | `zipper_mouth_face` | :neutral_face: | `neutral_face` | +| :expressionless: | `expressionless` | :no_mouth: | `no_mouth` | +| :smirk: | `smirk` | :unamused: | `unamused` | +| :roll_eyes: | `roll_eyes` | :grimacing: | `grimacing` | +| :lying_face: | `lying_face` | | | #### 困倦的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :relieved: | `relieved` | :pensive: | `pensive` | -| :sleepy: | `sleepy` | :drooling_face: | `drooling_face` | -| :sleeping: | `sleeping` | | | +| :relieved: | `relieved` | :pensive: | `pensive` | +| :sleepy: | `sleepy` | :drooling_face: | `drooling_face` | +| :sleeping: | `sleeping` | | | #### 不适的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :mask: | `mask` | :face_with_thermometer: | `face_with_thermometer` | -| :face_with_head_bandage: | `face_with_head_bandage` | :nauseated_face: | `nauseated_face` | -| :sneezing_face: | `sneezing_face` | :dizzy_face: | `dizzy_face` | +| :mask: | `mask` | :face_with_thermometer: | `face_with_thermometer` | +| :face_with_head_bandage: | `face_with_head_bandage` | :nauseated_face: | `nauseated_face` | +| :sneezing_face: | `sneezing_face` | :dizzy_face: | `dizzy_face` | #### 戴帽子的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :cowboy_hat_face: | `cowboy_hat_face` | | | +| :cowboy_hat_face: | `cowboy_hat_face` | | | #### 戴眼镜的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :sunglasses: | `sunglasses` | :nerd_face: | `nerd_face` | +| :sunglasses: | `sunglasses` | :nerd_face: | `nerd_face` | #### 担心的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :confused: | `confused` | :worried: | `worried` | -| :slightly_frowning_face: | `slightly_frowning_face` | :frowning_face: | `frowning_face` | -| :open_mouth: | `open_mouth` | :hushed: | `hushed` | -| :astonished: | `astonished` | :flushed: | `flushed` | -| :frowning: | `frowning` | :anguished: | `anguished` | -| :fearful: | `fearful` | :cold_sweat: | `cold_sweat` | -| :disappointed_relieved: | `disappointed_relieved` | :cry: | `cry` | -| :sob: | `sob` | :scream: | `scream` | -| :confounded: | `confounded` | :persevere: | `persevere` | -| :disappointed: | `disappointed` | :sweat: | `sweat` | -| :weary: | `weary` | :tired_face: | `tired_face` | +| :confused: | `confused` | :worried: | `worried` | +| :slightly_frowning_face: | `slightly_frowning_face` | :frowning_face: | `frowning_face` | +| :open_mouth: | `open_mouth` | :hushed: | `hushed` | +| :astonished: | `astonished` | :flushed: | `flushed` | +| :frowning: | `frowning` | :anguished: | `anguished` | +| :fearful: | `fearful` | :cold_sweat: | `cold_sweat` | +| :disappointed_relieved: | `disappointed_relieved` | :cry: | `cry` | +| :sob: | `sob` | :scream: | `scream` | +| :confounded: | `confounded` | :persevere: | `persevere` | +| :disappointed: | `disappointed` | :sweat: | `sweat` | +| :weary: | `weary` | :tired_face: | `tired_face` | #### 否定的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :triumph: | `triumph` | :pout: | `pout`
`rage` | -| :angry: | `angry` | :smiling_imp: | `smiling_imp` | -| :imp: | `imp` | :skull: | `skull` | -| :skull_and_crossbones: | `skull_and_crossbones` | | | +| :triumph: | `triumph` | :pout: | `pout`
`rage` | +| :angry: | `angry` | :smiling_imp: | `smiling_imp` | +| :imp: | `imp` | :skull: | `skull` | +| :skull_and_crossbones: | `skull_and_crossbones` | | | #### 特殊打扮的表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :hankey: | `hankey`
`poop`
`shit` | :clown_face: | `clown_face` | -| :japanese_ogre: | `japanese_ogre` | :japanese_goblin: | `japanese_goblin` | -| :ghost: | `ghost` | :alien: | `alien` | -| :space_invader: | `space_invader` | :robot: | `robot` | +| :hankey: | `hankey`
`poop`
`shit` | :clown_face: | `clown_face` | +| :japanese_ogre: | `japanese_ogre` | :japanese_goblin: | `japanese_goblin` | +| :ghost: | `ghost` | :alien: | `alien` | +| :space_invader: | `space_invader` | :robot: | `robot` | #### 猫脸表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :smiley_cat: | `smiley_cat` | :smile_cat: | `smile_cat` | -| :joy_cat: | `joy_cat` | :heart_eyes_cat: | `heart_eyes_cat` | -| :smirk_cat: | `smirk_cat` | :kissing_cat: | `kissing_cat` | -| :scream_cat: | `scream_cat` | :crying_cat_face: | `crying_cat_face` | -| :pouting_cat: | `pouting_cat` | | | +| :smiley_cat: | `smiley_cat` | :smile_cat: | `smile_cat` | +| :joy_cat: | `joy_cat` | :heart_eyes_cat: | `heart_eyes_cat` | +| :smirk_cat: | `smirk_cat` | :kissing_cat: | `kissing_cat` | +| :scream_cat: | `scream_cat` | :crying_cat_face: | `crying_cat_face` | +| :pouting_cat: | `pouting_cat` | | | #### 猴脸表情 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :see_no_evil: | `see_no_evil` | :hear_no_evil: | `hear_no_evil` | -| :speak_no_evil: | `speak_no_evil` | | | +| :see_no_evil: | `see_no_evil` | :hear_no_evil: | `hear_no_evil` | +| :speak_no_evil: | `speak_no_evil` | | | #### 情感 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :kiss: | `kiss` | :love_letter: | `love_letter` | -| :cupid: | `cupid` | :gift_heart: | `gift_heart` | -| :sparkling_heart: | `sparkling_heart` | :heartpulse: | `heartpulse` | -| :heartbeat: | `heartbeat` | :revolving_hearts: | `revolving_hearts` | -| :two_hearts: | `two_hearts` | :heart_decoration: | `heart_decoration` | -| :heavy_heart_exclamation: | `heavy_heart_exclamation` | :broken_heart: | `broken_heart` | -| :heart: | `heart` | :yellow_heart: | `yellow_heart` | -| :green_heart: | `green_heart` | :blue_heart: | `blue_heart` | -| :purple_heart: | `purple_heart` | :black_heart: | `black_heart` | -| :100: | `100` | :anger: | `anger` | -| :boom: | `boom`
`collision` | :dizzy: | `dizzy` | -| :sweat_drops: | `sweat_drops` | :dash: | `dash` | -| :hole: | `hole` | :bomb: | `bomb` | -| :speech_balloon: | `speech_balloon` | :eye_speech_bubble: | `eye_speech_bubble` | -| :right_anger_bubble: | `right_anger_bubble` | :thought_balloon: | `thought_balloon` | -| :zzz: | `zzz` | | | +| :kiss: | `kiss` | :love_letter: | `love_letter` | +| :cupid: | `cupid` | :gift_heart: | `gift_heart` | +| :sparkling_heart: | `sparkling_heart` | :heartpulse: | `heartpulse` | +| :heartbeat: | `heartbeat` | :revolving_hearts: | `revolving_hearts` | +| :two_hearts: | `two_hearts` | :heart_decoration: | `heart_decoration` | +| :heavy_heart_exclamation: | `heavy_heart_exclamation` | :broken_heart: | `broken_heart` | +| :heart: | `heart` | :yellow_heart: | `yellow_heart` | +| :green_heart: | `green_heart` | :blue_heart: | `blue_heart` | +| :purple_heart: | `purple_heart` | :black_heart: | `black_heart` | +| :100: | `100` | :anger: | `anger` | +| :boom: | `boom`
`collision` | :dizzy: | `dizzy` | +| :sweat_drops: | `sweat_drops` | :dash: | `dash` | +| :hole: | `hole` | :bomb: | `bomb` | +| :speech_balloon: | `speech_balloon` | :eye_speech_bubble: | `eye_speech_bubble` | +| :right_anger_bubble: | `right_anger_bubble` | :thought_balloon: | `thought_balloon` | +| :zzz: | `zzz` | | | ### 人与身体 @@ -194,184 +195,184 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :wave: | `wave` | :raised_back_of_hand: | `raised_back_of_hand` | -| :raised_hand_with_fingers_splayed: | `raised_hand_with_fingers_splayed` | :hand: | `hand`
`raised_hand` | -| :vulcan_salute: | `vulcan_salute` | | | +| :wave: | `wave` | :raised_back_of_hand: | `raised_back_of_hand` | +| :raised_hand_with_fingers_splayed: | `raised_hand_with_fingers_splayed` | :hand: | `hand`
`raised_hand` | +| :vulcan_salute: | `vulcan_salute` | | | #### 部分手指的手势 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :ok_hand: | `ok_hand` | :v: | `v` | -| :crossed_fingers: | `crossed_fingers` | :metal: | `metal` | -| :call_me_hand: | `call_me_hand` | | | +| :ok_hand: | `ok_hand` | :v: | `v` | +| :crossed_fingers: | `crossed_fingers` | :metal: | `metal` | +| :call_me_hand: | `call_me_hand` | | | #### 一根手指的手势 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :point_left: | `point_left` | :point_right: | `point_right` | -| :point_up_2: | `point_up_2` | :fu: | `fu`
`middle_finger` | -| :point_down: | `point_down` | :point_up: | `point_up` | +| :point_left: | `point_left` | :point_right: | `point_right` | +| :point_up_2: | `point_up_2` | :fu: | `fu`
`middle_finger` | +| :point_down: | `point_down` | :point_up: | `point_up` | #### 握紧的手势 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :+1: | `:+1:`
`thumbsup` | :-1: | `:-1:`
`thumbsdown` | -| :fist: | `fist`
`fist_raised` | :facepunch: | `facepunch`
`fist_oncoming`
`punch` | -| :fist_left: | `fist_left` | :fist_right: | `fist_right` | +| :+1: | `+1`
`thumbsup` | :-1: | `-1`
`thumbsdown` | +| :fist: | `fist`
`fist_raised` | :facepunch: | `facepunch`
`fist_oncoming`
`punch` | +| :fist_left: | `fist_left` | :fist_right: | `fist_right` | #### 两只手 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :clap: | `clap` | :raised_hands: | `raised_hands` | -| :open_hands: | `open_hands` | :handshake: | `handshake` | -| :pray: | `pray` | | | +| :clap: | `clap` | :raised_hands: | `raised_hands` | +| :open_hands: | `open_hands` | :handshake: | `handshake` | +| :pray: | `pray` | | | #### 握住东西的手势 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :writing_hand: | `writing_hand` | :nail_care: | `nail_care` | -| :selfie: | `selfie` | | | +| :writing_hand: | `writing_hand` | :nail_care: | `nail_care` | +| :selfie: | `selfie` | | | #### 身体部位 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :muscle: | `muscle` | :ear: | `ear` | -| :nose: | `nose` | :eyes: | `eyes` | -| :eye: | `eye` | :tongue: | `tongue` | -| :lips: | `lips` | | | +| :muscle: | `muscle` | :ear: | `ear` | +| :nose: | `nose` | :eyes: | `eyes` | +| :eye: | `eye` | :tongue: | `tongue` | +| :lips: | `lips` | | | #### 人 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :baby: | `baby` | :boy: | `boy` | -| :girl: | `girl` | :blonde_man: | `blonde_man`
`person_with_blond_hair` | -| :man: | `man` | :woman: | `woman` | -| :blonde_woman: | `blonde_woman` | :older_man: | `older_man` | -| :older_woman: | `older_woman` | | | +| :baby: | `baby` | :boy: | `boy` | +| :girl: | `girl` | :blonde_man: | `blonde_man`
`person_with_blond_hair` | +| :man: | `man` | :woman: | `woman` | +| :blonde_woman: | `blonde_woman` | :older_man: | `older_man` | +| :older_woman: | `older_woman` | | | #### 身体动作 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :frowning_woman: | `frowning_woman`
`person_frowning` | :frowning_man: | `frowning_man` | -| :person_with_pouting_face: | `person_with_pouting_face`
`pouting_woman` | :pouting_man: | `pouting_man` | -| :ng_woman: | `ng_woman`
`no_good`
`no_good_woman` | :ng_man: | `ng_man`
`no_good_man` | -| :ok_woman: | `ok_woman` | :ok_man: | `ok_man` | -| :information_desk_person: | `information_desk_person`
`sassy_woman`
`tipping_hand_woman` | :sassy_man: | `sassy_man`
`tipping_hand_man` | -| :raising_hand: | `raising_hand`
`raising_hand_woman` | :raising_hand_man: | `raising_hand_man` | -| :bow: | `bow`
`bowing_man` | :bowing_woman: | `bowing_woman` | -| :man_facepalming: | `man_facepalming` | :woman_facepalming: | `woman_facepalming` | -| :man_shrugging: | `man_shrugging` | :woman_shrugging: | `woman_shrugging` | +| :frowning_woman: | `frowning_woman`
`person_frowning` | :frowning_man: | `frowning_man` | +| :person_with_pouting_face: | `person_with_pouting_face`
`pouting_woman` | :pouting_man: | `pouting_man` | +| :ng_woman: | `ng_woman`
`no_good`
`no_good_woman` | :ng_man: | `ng_man`
`no_good_man` | +| :ok_woman: | `ok_woman` | :ok_man: | `ok_man` | +| :information_desk_person: | `information_desk_person`
`sassy_woman`
`tipping_hand_woman` | :sassy_man: | `sassy_man`
`tipping_hand_man` | +| :raising_hand: | `raising_hand`
`raising_hand_woman` | :raising_hand_man: | `raising_hand_man` | +| :bow: | `bow`
`bowing_man` | :bowing_woman: | `bowing_woman` | +| :man_facepalming: | `man_facepalming` | :woman_facepalming: | `woman_facepalming` | +| :man_shrugging: | `man_shrugging` | :woman_shrugging: | `woman_shrugging` | #### 人物角色 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :man_health_worker: | `man_health_worker` | :woman_health_worker: | `woman_health_worker` | -| :man_student: | `man_student` | :woman_student: | `woman_student` | -| :man_teacher: | `man_teacher` | :woman_teacher: | `woman_teacher` | -| :man_judge: | `man_judge` | :woman_judge: | `woman_judge` | -| :man_farmer: | `man_farmer` | :woman_farmer: | `woman_farmer` | -| :man_cook: | `man_cook` | :woman_cook: | `woman_cook` | -| :man_mechanic: | `man_mechanic` | :woman_mechanic: | `woman_mechanic` | -| :man_factory_worker: | `man_factory_worker` | :woman_factory_worker: | `woman_factory_worker` | -| :man_office_worker: | `man_office_worker` | :woman_office_worker: | `woman_office_worker` | -| :man_scientist: | `man_scientist` | :woman_scientist: | `woman_scientist` | -| :man_technologist: | `man_technologist` | :woman_technologist: | `woman_technologist` | -| :man_singer: | `man_singer` | :woman_singer: | `woman_singer` | -| :man_artist: | `man_artist` | :woman_artist: | `woman_artist` | -| :man_pilot: | `man_pilot` | :woman_pilot: | `woman_pilot` | -| :man_astronaut: | `man_astronaut` | :woman_astronaut: | `woman_astronaut` | -| :man_firefighter: | `man_firefighter` | :woman_firefighter: | `woman_firefighter` | -| :cop: | `cop`
`policeman` | :policewoman: | `policewoman` | -| :detective: | `detective`
`male_detective` | :female_detective: | `female_detective` | -| :guardsman: | `guardsman` | :guardswoman: | `guardswoman` | -| :construction_worker: | `construction_worker`
`construction_worker_man` | :construction_worker_woman: | `construction_worker_woman` | -| :prince: | `prince` | :princess: | `princess` | -| :man_with_turban: | `man_with_turban` | :woman_with_turban: | `woman_with_turban` | -| :man_with_gua_pi_mao: | `man_with_gua_pi_mao` | :man_in_tuxedo: | `man_in_tuxedo` | -| :bride_with_veil: | `bride_with_veil` | :pregnant_woman: | `pregnant_woman` | +| :man_health_worker: | `man_health_worker` | :woman_health_worker: | `woman_health_worker` | +| :man_student: | `man_student` | :woman_student: | `woman_student` | +| :man_teacher: | `man_teacher` | :woman_teacher: | `woman_teacher` | +| :man_judge: | `man_judge` | :woman_judge: | `woman_judge` | +| :man_farmer: | `man_farmer` | :woman_farmer: | `woman_farmer` | +| :man_cook: | `man_cook` | :woman_cook: | `woman_cook` | +| :man_mechanic: | `man_mechanic` | :woman_mechanic: | `woman_mechanic` | +| :man_factory_worker: | `man_factory_worker` | :woman_factory_worker: | `woman_factory_worker` | +| :man_office_worker: | `man_office_worker` | :woman_office_worker: | `woman_office_worker` | +| :man_scientist: | `man_scientist` | :woman_scientist: | `woman_scientist` | +| :man_technologist: | `man_technologist` | :woman_technologist: | `woman_technologist` | +| :man_singer: | `man_singer` | :woman_singer: | `woman_singer` | +| :man_artist: | `man_artist` | :woman_artist: | `woman_artist` | +| :man_pilot: | `man_pilot` | :woman_pilot: | `woman_pilot` | +| :man_astronaut: | `man_astronaut` | :woman_astronaut: | `woman_astronaut` | +| :man_firefighter: | `man_firefighter` | :woman_firefighter: | `woman_firefighter` | +| :cop: | `cop`
`policeman` | :policewoman: | `policewoman` | +| :detective: | `detective`
`male_detective` | :female_detective: | `female_detective` | +| :guardsman: | `guardsman` | :guardswoman: | `guardswoman` | +| :construction_worker: | `construction_worker`
`construction_worker_man` | :construction_worker_woman: | `construction_worker_woman` | +| :prince: | `prince` | :princess: | `princess` | +| :man_with_turban: | `man_with_turban` | :woman_with_turban: | `woman_with_turban` | +| :man_with_gua_pi_mao: | `man_with_gua_pi_mao` | :man_in_tuxedo: | `man_in_tuxedo` | +| :bride_with_veil: | `bride_with_veil` | :pregnant_woman: | `pregnant_woman` | #### 幻想的人物 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :angel: | `angel` | :santa: | `santa` | -| :mrs_claus: | `mrs_claus` | | | +| :angel: | `angel` | :santa: | `santa` | +| :mrs_claus: | `mrs_claus` | | | #### 人物活动 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :massage: | `massage`
`massage_woman` | :massage_man: | `massage_man` | -| :haircut: | `haircut`
`haircut_woman` | :haircut_man: | `haircut_man` | -| :walking: | `walking`
`walking_man` | :walking_woman: | `walking_woman` | -| :runner: | `runner`
`running`
`running_man` | :running_woman: | `running_woman` | -| :dancer: | `dancer` | :man_dancing: | `man_dancing` | -| :business_suit_levitating: | `business_suit_levitating` | :dancers: | `dancers`
`dancing_women` | -| :dancing_men: | `dancing_men` | | | +| :massage: | `massage`
`massage_woman` | :massage_man: | `massage_man` | +| :haircut: | `haircut`
`haircut_woman` | :haircut_man: | `haircut_man` | +| :walking: | `walking`
`walking_man` | :walking_woman: | `walking_woman` | +| :runner: | `runner`
`running`
`running_man` | :running_woman: | `running_woman` | +| :dancer: | `dancer` | :man_dancing: | `man_dancing` | +| :business_suit_levitating: | `business_suit_levitating` | :dancers: | `dancers`
`dancing_women` | +| :dancing_men: | `dancing_men` | | | #### 体育 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :person_fencing: | `person_fencing` | :horse_racing: | `horse_racing` | -| :skier: | `skier` | :snowboarder: | `snowboarder` | -| :golfing_man: | `golfing_man` | :golfing_woman: | `golfing_woman` | -| :surfer: | `surfer`
`surfing_man` | :surfing_woman: | `surfing_woman` | -| :rowboat: | `rowboat`
`rowing_man` | :rowing_woman: | `rowing_woman` | -| :swimmer: | `swimmer`
`swimming_man` | :swimming_woman: | `swimming_woman` | -| :basketball_man: | `basketball_man` | :basketball_woman: | `basketball_woman` | -| :weight_lifting_man: | `weight_lifting_man` | :weight_lifting_woman: | `weight_lifting_woman` | -| :bicyclist: | `bicyclist`
`biking_man` | :biking_woman: | `biking_woman` | -| :mountain_bicyclist: | `mountain_bicyclist`
`mountain_biking_man` | :mountain_biking_woman: | `mountain_biking_woman` | -| :man_cartwheeling: | `man_cartwheeling` | :woman_cartwheeling: | `woman_cartwheeling` | -| :men_wrestling: | `men_wrestling` | :women_wrestling: | `women_wrestling` | -| :man_playing_water_polo: | `man_playing_water_polo` | :woman_playing_water_polo: | `woman_playing_water_polo` | -| :man_playing_handball: | `man_playing_handball` | :woman_playing_handball: | `woman_playing_handball` | -| :man_juggling: | `man_juggling` | :woman_juggling: | `woman_juggling` | +| :person_fencing: | `person_fencing` | :horse_racing: | `horse_racing` | +| :skier: | `skier` | :snowboarder: | `snowboarder` | +| :golfing_man: | `golfing_man` | :golfing_woman: | `golfing_woman` | +| :surfer: | `surfer`
`surfing_man` | :surfing_woman: | `surfing_woman` | +| :rowboat: | `rowboat`
`rowing_man` | :rowing_woman: | `rowing_woman` | +| :swimmer: | `swimmer`
`swimming_man` | :swimming_woman: | `swimming_woman` | +| :basketball_man: | `basketball_man` | :basketball_woman: | `basketball_woman` | +| :weight_lifting_man: | `weight_lifting_man` | :weight_lifting_woman: | `weight_lifting_woman` | +| :bicyclist: | `bicyclist`
`biking_man` | :biking_woman: | `biking_woman` | +| :mountain_bicyclist: | `mountain_bicyclist`
`mountain_biking_man` | :mountain_biking_woman: | `mountain_biking_woman` | +| :man_cartwheeling: | `man_cartwheeling` | :woman_cartwheeling: | `woman_cartwheeling` | +| :men_wrestling: | `men_wrestling` | :women_wrestling: | `women_wrestling` | +| :man_playing_water_polo: | `man_playing_water_polo` | :woman_playing_water_polo: | `woman_playing_water_polo` | +| :man_playing_handball: | `man_playing_handball` | :woman_playing_handball: | `woman_playing_handball` | +| :man_juggling: | `man_juggling` | :woman_juggling: | `woman_juggling` | #### 休息 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :bath: | `bath` | :sleeping_bed: | `sleeping_bed` | +| :bath: | `bath` | :sleeping_bed: | `sleeping_bed` | #### 家庭 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :two_women_holding_hands: | `two_women_holding_hands` | :couple: | `couple` | -| :two_men_holding_hands: | `two_men_holding_hands` | :couplekiss_man_woman: | `couplekiss_man_woman` | -| :couplekiss_man_man: | `couplekiss_man_man` | :couplekiss_woman_woman: | `couplekiss_woman_woman` | -| :couple_with_heart: | `couple_with_heart`
`couple_with_heart_woman_man` | :couple_with_heart_man_man: | `couple_with_heart_man_man` | -| :couple_with_heart_woman_woman: | `couple_with_heart_woman_woman` | :family: | `family`
`family_man_woman_boy` | -| :family_man_woman_girl: | `family_man_woman_girl` | :family_man_woman_girl_boy: | `family_man_woman_girl_boy` | -| :family_man_woman_boy_boy: | `family_man_woman_boy_boy` | :family_man_woman_girl_girl: | `family_man_woman_girl_girl` | -| :family_man_man_boy: | `family_man_man_boy` | :family_man_man_girl: | `family_man_man_girl` | -| :family_man_man_girl_boy: | `family_man_man_girl_boy` | :family_man_man_boy_boy: | `family_man_man_boy_boy` | -| :family_man_man_girl_girl: | `family_man_man_girl_girl` | :family_woman_woman_boy: | `family_woman_woman_boy` | -| :family_woman_woman_girl: | `family_woman_woman_girl` | :family_woman_woman_girl_boy: | `family_woman_woman_girl_boy` | -| :family_woman_woman_boy_boy: | `family_woman_woman_boy_boy` | :family_woman_woman_girl_girl: | `family_woman_woman_girl_girl` | -| :family_man_boy: | `family_man_boy` | :family_man_boy_boy: | `family_man_boy_boy` | -| :family_man_girl: | `family_man_girl` | :family_man_girl_boy: | `family_man_girl_boy` | -| :family_man_girl_girl: | `family_man_girl_girl` | :family_woman_boy: | `family_woman_boy` | -| :family_woman_boy_boy: | `family_woman_boy_boy` | :family_woman_girl: | `family_woman_girl` | -| :family_woman_girl_boy: | `family_woman_girl_boy` | :family_woman_girl_girl: | `family_woman_girl_girl` | +| :two_women_holding_hands: | `two_women_holding_hands` | :couple: | `couple` | +| :two_men_holding_hands: | `two_men_holding_hands` | :couplekiss_man_woman: | `couplekiss_man_woman` | +| :couplekiss_man_man: | `couplekiss_man_man` | :couplekiss_woman_woman: | `couplekiss_woman_woman` | +| :couple_with_heart: | `couple_with_heart`
`couple_with_heart_woman_man` | :couple_with_heart_man_man: | `couple_with_heart_man_man` | +| :couple_with_heart_woman_woman: | `couple_with_heart_woman_woman` | :family: | `family`
`family_man_woman_boy` | +| :family_man_woman_girl: | `family_man_woman_girl` | :family_man_woman_girl_boy: | `family_man_woman_girl_boy` | +| :family_man_woman_boy_boy: | `family_man_woman_boy_boy` | :family_man_woman_girl_girl: | `family_man_woman_girl_girl` | +| :family_man_man_boy: | `family_man_man_boy` | :family_man_man_girl: | `family_man_man_girl` | +| :family_man_man_girl_boy: | `family_man_man_girl_boy` | :family_man_man_boy_boy: | `family_man_man_boy_boy` | +| :family_man_man_girl_girl: | `family_man_man_girl_girl` | :family_woman_woman_boy: | `family_woman_woman_boy` | +| :family_woman_woman_girl: | `family_woman_woman_girl` | :family_woman_woman_girl_boy: | `family_woman_woman_girl_boy` | +| :family_woman_woman_boy_boy: | `family_woman_woman_boy_boy` | :family_woman_woman_girl_girl: | `family_woman_woman_girl_girl` | +| :family_man_boy: | `family_man_boy` | :family_man_boy_boy: | `family_man_boy_boy` | +| :family_man_girl: | `family_man_girl` | :family_man_girl_boy: | `family_man_girl_boy` | +| :family_man_girl_girl: | `family_man_girl_girl` | :family_woman_boy: | `family_woman_boy` | +| :family_woman_boy_boy: | `family_woman_boy_boy` | :family_woman_girl: | `family_woman_girl` | +| :family_woman_girl_boy: | `family_woman_girl_boy` | :family_woman_girl_girl: | `family_woman_girl_girl` | #### 人物符号 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :speaking_head: | `speaking_head` | :bust_in_silhouette: | `bust_in_silhouette` | -| :busts_in_silhouette: | `busts_in_silhouette` | :footprints: | `footprints` | +| :speaking_head: | `speaking_head` | :bust_in_silhouette: | `bust_in_silhouette` | +| :busts_in_silhouette: | `busts_in_silhouette` | :footprints: | `footprints` | ### 动物与自然 @@ -379,95 +380,95 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :monkey_face: | `monkey_face` | :monkey: | `monkey` | -| :gorilla: | `gorilla` | :dog: | `dog` | -| :dog2: | `dog2` | :poodle: | `poodle` | -| :wolf: | `wolf` | :fox_face: | `fox_face` | -| :cat: | `cat` | :cat2: | `cat2` | -| :lion: | `lion` | :tiger: | `tiger` | -| :tiger2: | `tiger2` | :leopard: | `leopard` | -| :horse: | `horse` | :racehorse: | `racehorse` | -| :unicorn: | `unicorn` | :deer: | `deer` | -| :cow: | `cow` | :ox: | `ox` | -| :water_buffalo: | `water_buffalo` | :cow2: | `cow2` | -| :pig: | `pig` | :pig2: | `pig2` | -| :boar: | `boar` | :pig_nose: | `pig_nose` | -| :ram: | `ram` | :sheep: | `sheep` | -| :goat: | `goat` | :dromedary_camel: | `dromedary_camel` | -| :camel: | `camel` | :elephant: | `elephant` | -| :rhinoceros: | `rhinoceros` | :mouse: | `mouse` | -| :mouse2: | `mouse2` | :rat: | `rat` | -| :hamster: | `hamster` | :rabbit: | `rabbit` | -| :rabbit2: | `rabbit2` | :chipmunk: | `chipmunk` | -| :bat: | `bat` | :bear: | `bear` | -| :koala: | `koala` | :panda_face: | `panda_face` | -| :feet: | `feet`
`paw_prints` | | | +| :monkey_face: | `monkey_face` | :monkey: | `monkey` | +| :gorilla: | `gorilla` | :dog: | `dog` | +| :dog2: | `dog2` | :poodle: | `poodle` | +| :wolf: | `wolf` | :fox_face: | `fox_face` | +| :cat: | `cat` | :cat2: | `cat2` | +| :lion: | `lion` | :tiger: | `tiger` | +| :tiger2: | `tiger2` | :leopard: | `leopard` | +| :horse: | `horse` | :racehorse: | `racehorse` | +| :unicorn: | `unicorn` | :deer: | `deer` | +| :cow: | `cow` | :ox: | `ox` | +| :water_buffalo: | `water_buffalo` | :cow2: | `cow2` | +| :pig: | `pig` | :pig2: | `pig2` | +| :boar: | `boar` | :pig_nose: | `pig_nose` | +| :ram: | `ram` | :sheep: | `sheep` | +| :goat: | `goat` | :dromedary_camel: | `dromedary_camel` | +| :camel: | `camel` | :elephant: | `elephant` | +| :rhinoceros: | `rhinoceros` | :mouse: | `mouse` | +| :mouse2: | `mouse2` | :rat: | `rat` | +| :hamster: | `hamster` | :rabbit: | `rabbit` | +| :rabbit2: | `rabbit2` | :chipmunk: | `chipmunk` | +| :bat: | `bat` | :bear: | `bear` | +| :koala: | `koala` | :panda_face: | `panda_face` | +| :feet: | `feet`
`paw_prints` | | | #### 鸟类 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :turkey: | `turkey` | :chicken: | `chicken` | -| :rooster: | `rooster` | :hatching_chick: | `hatching_chick` | -| :baby_chick: | `baby_chick` | :hatched_chick: | `hatched_chick` | -| :bird: | `bird` | :penguin: | `penguin` | -| :dove: | `dove` | :eagle: | `eagle` | -| :duck: | `duck` | :owl: | `owl` | +| :turkey: | `turkey` | :chicken: | `chicken` | +| :rooster: | `rooster` | :hatching_chick: | `hatching_chick` | +| :baby_chick: | `baby_chick` | :hatched_chick: | `hatched_chick` | +| :bird: | `bird` | :penguin: | `penguin` | +| :dove: | `dove` | :eagle: | `eagle` | +| :duck: | `duck` | :owl: | `owl` | #### 两栖动物 | icon | code | icon | code | | :-: | - | :-: | - | -| :frog: | `frog` | +| :frog: | `frog` | #### 爬虫类 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :crocodile: | `crocodile` | :turtle: | `turtle` | -| :lizard: | `lizard` | :snake: | `snake` | -| :dragon_face: | `dragon_face` | :dragon: | `dragon` | +| :crocodile: | `crocodile` | :turtle: | `turtle` | +| :lizard: | `lizard` | :snake: | `snake` | +| :dragon_face: | `dragon_face` | :dragon: | `dragon` | #### 海洋动物 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :whale: | `whale` | :whale2: | `whale2` | -| :dolphin: | `dolphin`
`flipper` | :fish: | `fish` | -| :tropical_fish: | `tropical_fish` | :blowfish: | `blowfish` | -| :shark: | `shark` | :octopus: | `octopus` | -| :shell: | `shell` | | | +| :whale: | `whale` | :whale2: | `whale2` | +| :dolphin: | `dolphin`
`flipper` | :fish: | `fish` | +| :tropical_fish: | `tropical_fish` | :blowfish: | `blowfish` | +| :shark: | `shark` | :octopus: | `octopus` | +| :shell: | `shell` | | | #### 虫类 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :snail: | `snail` | :butterfly: | `butterfly` | -| :bug: | `bug` | :ant: | `ant` | -| :bee: | `bee`
`honeybee` | :beetle: | `beetle` | -| :spider: | `spider` | :spider_web: | `spider_web` | -| :scorpion: | `scorpion` | | | +| :snail: | `snail` | :butterfly: | `butterfly` | +| :bug: | `bug` | :ant: | `ant` | +| :bee: | `bee`
`honeybee` | :beetle: | `beetle` | +| :spider: | `spider` | :spider_web: | `spider_web` | +| :scorpion: | `scorpion` | | | #### 花类植物 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :bouquet: | `bouquet` | :cherry_blossom: | `cherry_blossom` | -| :white_flower: | `white_flower` | :rosette: | `rosette` | -| :rose: | `rose` | :wilted_flower: | `wilted_flower` | -| :hibiscus: | `hibiscus` | :sunflower: | `sunflower` | -| :blossom: | `blossom` | :tulip: | `tulip` | +| :bouquet: | `bouquet` | :cherry_blossom: | `cherry_blossom` | +| :white_flower: | `white_flower` | :rosette: | `rosette` | +| :rose: | `rose` | :wilted_flower: | `wilted_flower` | +| :hibiscus: | `hibiscus` | :sunflower: | `sunflower` | +| :blossom: | `blossom` | :tulip: | `tulip` | #### 其它植物 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :seedling: | `seedling` | :evergreen_tree: | `evergreen_tree` | -| :deciduous_tree: | `deciduous_tree` | :palm_tree: | `palm_tree` | -| :cactus: | `cactus` | :ear_of_rice: | `ear_of_rice` | -| :herb: | `herb` | :shamrock: | `shamrock` | -| :four_leaf_clover: | `four_leaf_clover` | :maple_leaf: | `maple_leaf` | -| :fallen_leaf: | `fallen_leaf` | :leaves: | `leaves` | +| :seedling: | `seedling` | :evergreen_tree: | `evergreen_tree` | +| :deciduous_tree: | `deciduous_tree` | :palm_tree: | `palm_tree` | +| :cactus: | `cactus` | :ear_of_rice: | `ear_of_rice` | +| :herb: | `herb` | :shamrock: | `shamrock` | +| :four_leaf_clover: | `four_leaf_clover` | :maple_leaf: | `maple_leaf` | +| :fallen_leaf: | `fallen_leaf` | :leaves: | `leaves` | ### 食物与饮料 @@ -475,90 +476,90 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :grapes: | `grapes` | :melon: | `melon` | -| :watermelon: | `watermelon` | :mandarin: | `mandarin`
`orange`
`tangerine` | -| :lemon: | `lemon` | :banana: | `banana` | -| :pineapple: | `pineapple` | :apple: | `apple` | -| :green_apple: | `green_apple` | :pear: | `pear` | -| :peach: | `peach` | :cherries: | `cherries` | -| :strawberry: | `strawberry` | :kiwi_fruit: | `kiwi_fruit` | -| :tomato: | `tomato` | | | +| :grapes: | `grapes` | :melon: | `melon` | +| :watermelon: | `watermelon` | :mandarin: | `mandarin`
`orange`
`tangerine` | +| :lemon: | `lemon` | :banana: | `banana` | +| :pineapple: | `pineapple` | :apple: | `apple` | +| :green_apple: | `green_apple` | :pear: | `pear` | +| :peach: | `peach` | :cherries: | `cherries` | +| :strawberry: | `strawberry` | :kiwi_fruit: | `kiwi_fruit` | +| :tomato: | `tomato` | | | #### 蔬菜 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :avocado: | `avocado` | :eggplant: | `eggplant` | -| :potato: | `potato` | :carrot: | `carrot` | -| :corn: | `corn` | :hot_pepper: | `hot_pepper` | -| :cucumber: | `cucumber` | :mushroom: | `mushroom` | -| :peanuts: | `peanuts` | :chestnut: | `chestnut` | +| :avocado: | `avocado` | :eggplant: | `eggplant` | +| :potato: | `potato` | :carrot: | `carrot` | +| :corn: | `corn` | :hot_pepper: | `hot_pepper` | +| :cucumber: | `cucumber` | :mushroom: | `mushroom` | +| :peanuts: | `peanuts` | :chestnut: | `chestnut` | #### 快餐 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :bread: | `bread` | :croissant: | `croissant` | -| :baguette_bread: | `baguette_bread` | :pancakes: | `pancakes` | -| :cheese: | `cheese` | :meat_on_bone: | `meat_on_bone` | -| :poultry_leg: | `poultry_leg` | :bacon: | `bacon` | -| :hamburger: | `hamburger` | :fries: | `fries` | -| :pizza: | `pizza` | :hotdog: | `hotdog` | -| :taco: | `taco` | :burrito: | `burrito` | -| :stuffed_flatbread: | `stuffed_flatbread` | :egg: | `egg` | -| :fried_egg: | `fried_egg` | :shallow_pan_of_food: | `shallow_pan_of_food` | -| :stew: | `stew` | :green_salad: | `green_salad` | -| :popcorn: | `popcorn` | | | +| :bread: | `bread` | :croissant: | `croissant` | +| :baguette_bread: | `baguette_bread` | :pancakes: | `pancakes` | +| :cheese: | `cheese` | :meat_on_bone: | `meat_on_bone` | +| :poultry_leg: | `poultry_leg` | :bacon: | `bacon` | +| :hamburger: | `hamburger` | :fries: | `fries` | +| :pizza: | `pizza` | :hotdog: | `hotdog` | +| :taco: | `taco` | :burrito: | `burrito` | +| :stuffed_flatbread: | `stuffed_flatbread` | :egg: | `egg` | +| :fried_egg: | `fried_egg` | :shallow_pan_of_food: | `shallow_pan_of_food` | +| :stew: | `stew` | :green_salad: | `green_salad` | +| :popcorn: | `popcorn` | | | #### 亚洲食物 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :bento: | `bento` | :rice_cracker: | `rice_cracker` | -| :rice_ball: | `rice_ball` | :rice: | `rice` | -| :curry: | `curry` | :ramen: | `ramen` | -| :spaghetti: | `spaghetti` | :sweet_potato: | `sweet_potato` | -| :oden: | `oden` | :sushi: | `sushi` | -| :fried_shrimp: | `fried_shrimp` | :fish_cake: | `fish_cake` | -| :dango: | `dango` | | | +| :bento: | `bento` | :rice_cracker: | `rice_cracker` | +| :rice_ball: | `rice_ball` | :rice: | `rice` | +| :curry: | `curry` | :ramen: | `ramen` | +| :spaghetti: | `spaghetti` | :sweet_potato: | `sweet_potato` | +| :oden: | `oden` | :sushi: | `sushi` | +| :fried_shrimp: | `fried_shrimp` | :fish_cake: | `fish_cake` | +| :dango: | `dango` | | | #### 海鲜 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :crab: | `crab` | :shrimp: | `shrimp` | -| :squid: | `squid` | | | +| :crab: | `crab` | :shrimp: | `shrimp` | +| :squid: | `squid` | | | #### 甜点 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :icecream: | `icecream` | :shaved_ice: | `shaved_ice` | -| :ice_cream: | `ice_cream` | :doughnut: | `doughnut` | -| :cookie: | `cookie` | :birthday: | `birthday` | -| :cake: | `cake` | :chocolate_bar: | `chocolate_bar` | -| :candy: | `candy` | :lollipop: | `lollipop` | -| :custard: | `custard` | :honey_pot: | `honey_pot` | +| :icecream: | `icecream` | :shaved_ice: | `shaved_ice` | +| :ice_cream: | `ice_cream` | :doughnut: | `doughnut` | +| :cookie: | `cookie` | :birthday: | `birthday` | +| :cake: | `cake` | :chocolate_bar: | `chocolate_bar` | +| :candy: | `candy` | :lollipop: | `lollipop` | +| :custard: | `custard` | :honey_pot: | `honey_pot` | #### 饮料 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :baby_bottle: | `baby_bottle` | :milk_glass: | `milk_glass` | -| :coffee: | `coffee` | :tea: | `tea` | -| :sake: | `sake` | :champagne: | `champagne` | -| :wine_glass: | `wine_glass` | :cocktail: | `cocktail` | -| :tropical_drink: | `tropical_drink` | :beer: | `beer` | -| :beers: | `beers` | :clinking_glasses: | `clinking_glasses` | -| :tumbler_glass: | `tumbler_glass` | | | +| :baby_bottle: | `baby_bottle` | :milk_glass: | `milk_glass` | +| :coffee: | `coffee` | :tea: | `tea` | +| :sake: | `sake` | :champagne: | `champagne` | +| :wine_glass: | `wine_glass` | :cocktail: | `cocktail` | +| :tropical_drink: | `tropical_drink` | :beer: | `beer` | +| :beers: | `beers` | :clinking_glasses: | `clinking_glasses` | +| :tumbler_glass: | `tumbler_glass` | | | #### 餐具 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :plate_with_cutlery: | `plate_with_cutlery` | :fork_and_knife: | `fork_and_knife` | -| :spoon: | `spoon` | :hocho: | `hocho`
`knife` | -| :amphora: | `amphora` | | | +| :plate_with_cutlery: | `plate_with_cutlery` | :fork_and_knife: | `fork_and_knife` | +| :spoon: | `spoon` | :hocho: | `hocho`
`knife` | +| :amphora: | `amphora` | | | ### 旅游与地理 @@ -566,159 +567,159 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :earth_africa: | `earth_africa` | :earth_americas: | `earth_americas` | -| :earth_asia: | `earth_asia` | :globe_with_meridians: | `globe_with_meridians` | -| :world_map: | `world_map` | :japan: | `japan` | +| :earth_africa: | `earth_africa` | :earth_americas: | `earth_americas` | +| :earth_asia: | `earth_asia` | :globe_with_meridians: | `globe_with_meridians` | +| :world_map: | `world_map` | :japan: | `japan` | #### 地理现象 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :mountain_snow: | `mountain_snow` | :mountain: | `mountain` | -| :volcano: | `volcano` | :mount_fuji: | `mount_fuji` | -| :camping: | `camping` | :beach_umbrella: | `beach_umbrella` | -| :desert: | `desert` | :desert_island: | `desert_island` | -| :national_park: | `national_park` | | | +| :mountain_snow: | `mountain_snow` | :mountain: | `mountain` | +| :volcano: | `volcano` | :mount_fuji: | `mount_fuji` | +| :camping: | `camping` | :beach_umbrella: | `beach_umbrella` | +| :desert: | `desert` | :desert_island: | `desert_island` | +| :national_park: | `national_park` | | | #### 建筑物 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :stadium: | `stadium` | :classical_building: | `classical_building` | -| :building_construction: | `building_construction` | :houses: | `houses` | -| :derelict_house: | `derelict_house` | :house: | `house` | -| :house_with_garden: | `house_with_garden` | :office: | `office` | -| :post_office: | `post_office` | :european_post_office: | `european_post_office` | -| :hospital: | `hospital` | :bank: | `bank` | -| :hotel: | `hotel` | :love_hotel: | `love_hotel` | -| :convenience_store: | `convenience_store` | :school: | `school` | -| :department_store: | `department_store` | :factory: | `factory` | -| :japanese_castle: | `japanese_castle` | :european_castle: | `european_castle` | -| :wedding: | `wedding` | :tokyo_tower: | `tokyo_tower` | -| :statue_of_liberty: | `statue_of_liberty` | | | +| :stadium: | `stadium` | :classical_building: | `classical_building` | +| :building_construction: | `building_construction` | :houses: | `houses` | +| :derelict_house: | `derelict_house` | :house: | `house` | +| :house_with_garden: | `house_with_garden` | :office: | `office` | +| :post_office: | `post_office` | :european_post_office: | `european_post_office` | +| :hospital: | `hospital` | :bank: | `bank` | +| :hotel: | `hotel` | :love_hotel: | `love_hotel` | +| :convenience_store: | `convenience_store` | :school: | `school` | +| :department_store: | `department_store` | :factory: | `factory` | +| :japanese_castle: | `japanese_castle` | :european_castle: | `european_castle` | +| :wedding: | `wedding` | :tokyo_tower: | `tokyo_tower` | +| :statue_of_liberty: | `statue_of_liberty` | | | #### 宗教建筑 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :church: | `church` | :mosque: | `mosque` | -| :synagogue: | `synagogue` | :shinto_shrine: | `shinto_shrine` | -| :kaaba: | `kaaba` | | | +| :church: | `church` | :mosque: | `mosque` | +| :synagogue: | `synagogue` | :shinto_shrine: | `shinto_shrine` | +| :kaaba: | `kaaba` | | | #### 其它地点 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :fountain: | `fountain` | :tent: | `tent` | -| :foggy: | `foggy` | :night_with_stars: | `night_with_stars` | -| :cityscape: | `cityscape` | :sunrise_over_mountains: | `sunrise_over_mountains` | -| :sunrise: | `sunrise` | :city_sunset: | `city_sunset` | -| :city_sunrise: | `city_sunrise` | :bridge_at_night: | `bridge_at_night` | -| :hotsprings: | `hotsprings` | :carousel_horse: | `carousel_horse` | -| :ferris_wheel: | `ferris_wheel` | :roller_coaster: | `roller_coaster` | -| :barber: | `barber` | :circus_tent: | `circus_tent` | +| :fountain: | `fountain` | :tent: | `tent` | +| :foggy: | `foggy` | :night_with_stars: | `night_with_stars` | +| :cityscape: | `cityscape` | :sunrise_over_mountains: | `sunrise_over_mountains` | +| :sunrise: | `sunrise` | :city_sunset: | `city_sunset` | +| :city_sunrise: | `city_sunrise` | :bridge_at_night: | `bridge_at_night` | +| :hotsprings: | `hotsprings` | :carousel_horse: | `carousel_horse` | +| :ferris_wheel: | `ferris_wheel` | :roller_coaster: | `roller_coaster` | +| :barber: | `barber` | :circus_tent: | `circus_tent` | #### 陆路运输 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :steam_locomotive: | `steam_locomotive` | :railway_car: | `railway_car` | -| :bullettrain_side: | `bullettrain_side` | :bullettrain_front: | `bullettrain_front` | -| :train2: | `train2` | :metro: | `metro` | -| :light_rail: | `light_rail` | :station: | `station` | -| :tram: | `tram` | :monorail: | `monorail` | -| :mountain_railway: | `mountain_railway` | :train: | `train` | -| :bus: | `bus` | :oncoming_bus: | `oncoming_bus` | -| :trolleybus: | `trolleybus` | :minibus: | `minibus` | -| :ambulance: | `ambulance` | :fire_engine: | `fire_engine` | -| :police_car: | `police_car` | :oncoming_police_car: | `oncoming_police_car` | -| :taxi: | `taxi` | :oncoming_taxi: | `oncoming_taxi` | -| :car: | `car`
`red_car` | :oncoming_automobile: | `oncoming_automobile` | -| :blue_car: | `blue_car` | :truck: | `truck` | -| :articulated_lorry: | `articulated_lorry` | :tractor: | `tractor` | -| :racing_car: | `racing_car` | :motorcycle: | `motorcycle` | -| :motor_scooter: | `motor_scooter` | :bike: | `bike` | -| :kick_scooter: | `kick_scooter` | :busstop: | `busstop` | -| :motorway: | `motorway` | :railway_track: | `railway_track` | -| :oil_drum: | `oil_drum` | :fuelpump: | `fuelpump` | -| :rotating_light: | `rotating_light` | :traffic_light: | `traffic_light` | -| :vertical_traffic_light: | `vertical_traffic_light` | :stop_sign: | `stop_sign` | -| :construction: | `construction` | | | +| :steam_locomotive: | `steam_locomotive` | :railway_car: | `railway_car` | +| :bullettrain_side: | `bullettrain_side` | :bullettrain_front: | `bullettrain_front` | +| :train2: | `train2` | :metro: | `metro` | +| :light_rail: | `light_rail` | :station: | `station` | +| :tram: | `tram` | :monorail: | `monorail` | +| :mountain_railway: | `mountain_railway` | :train: | `train` | +| :bus: | `bus` | :oncoming_bus: | `oncoming_bus` | +| :trolleybus: | `trolleybus` | :minibus: | `minibus` | +| :ambulance: | `ambulance` | :fire_engine: | `fire_engine` | +| :police_car: | `police_car` | :oncoming_police_car: | `oncoming_police_car` | +| :taxi: | `taxi` | :oncoming_taxi: | `oncoming_taxi` | +| :car: | `car`
`red_car` | :oncoming_automobile: | `oncoming_automobile` | +| :blue_car: | `blue_car` | :truck: | `truck` | +| :articulated_lorry: | `articulated_lorry` | :tractor: | `tractor` | +| :racing_car: | `racing_car` | :motorcycle: | `motorcycle` | +| :motor_scooter: | `motor_scooter` | :bike: | `bike` | +| :kick_scooter: | `kick_scooter` | :busstop: | `busstop` | +| :motorway: | `motorway` | :railway_track: | `railway_track` | +| :oil_drum: | `oil_drum` | :fuelpump: | `fuelpump` | +| :rotating_light: | `rotating_light` | :traffic_light: | `traffic_light` | +| :vertical_traffic_light: | `vertical_traffic_light` | :stop_sign: | `stop_sign` | +| :construction: | `construction` | | | #### 水路运输 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :anchor: | `anchor` | :boat: | `boat`
`sailboat` | -| :canoe: | `canoe` | :speedboat: | `speedboat` | -| :passenger_ship: | `passenger_ship` | :ferry: | `ferry` | -| :motor_boat: | `motor_boat` | :ship: | `ship` | +| :anchor: | `anchor` | :boat: | `boat`
`sailboat` | +| :canoe: | `canoe` | :speedboat: | `speedboat` | +| :passenger_ship: | `passenger_ship` | :ferry: | `ferry` | +| :motor_boat: | `motor_boat` | :ship: | `ship` | #### 空中运输 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :airplane: | `airplane` | :small_airplane: | `small_airplane` | -| :flight_departure: | `flight_departure` | :flight_arrival: | `flight_arrival` | -| :seat: | `seat` | :helicopter: | `helicopter` | -| :suspension_railway: | `suspension_railway` | :mountain_cableway: | `mountain_cableway` | -| :aerial_tramway: | `aerial_tramway` | :artificial_satellite: | `artificial_satellite` | -| :rocket: | `rocket` | | | +| :airplane: | `airplane` | :small_airplane: | `small_airplane` | +| :flight_departure: | `flight_departure` | :flight_arrival: | `flight_arrival` | +| :seat: | `seat` | :helicopter: | `helicopter` | +| :suspension_railway: | `suspension_railway` | :mountain_cableway: | `mountain_cableway` | +| :aerial_tramway: | `aerial_tramway` | :artificial_satellite: | `artificial_satellite` | +| :rocket: | `rocket` | | | #### 旅馆 | icon | code | icon | code | | :-: | - | :-: | - | -| :bellhop_bell: | `bellhop_bell` | +| :bellhop_bell: | `bellhop_bell` | #### 时间 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :hourglass: | `hourglass` | :hourglass_flowing_sand: | `hourglass_flowing_sand` | -| :watch: | `watch` | :alarm_clock: | `alarm_clock` | -| :stopwatch: | `stopwatch` | :timer_clock: | `timer_clock` | -| :mantelpiece_clock: | `mantelpiece_clock` | :clock12: | `clock12` | -| :clock1230: | `clock1230` | :clock1: | `clock1` | -| :clock130: | `clock130` | :clock2: | `clock2` | -| :clock230: | `clock230` | :clock3: | `clock3` | -| :clock330: | `clock330` | :clock4: | `clock4` | -| :clock430: | `clock430` | :clock5: | `clock5` | -| :clock530: | `clock530` | :clock6: | `clock6` | -| :clock630: | `clock630` | :clock7: | `clock7` | -| :clock730: | `clock730` | :clock8: | `clock8` | -| :clock830: | `clock830` | :clock9: | `clock9` | -| :clock930: | `clock930` | :clock10: | `clock10` | -| :clock1030: | `clock1030` | :clock11: | `clock11` | -| :clock1130: | `clock1130` | | | +| :hourglass: | `hourglass` | :hourglass_flowing_sand: | `hourglass_flowing_sand` | +| :watch: | `watch` | :alarm_clock: | `alarm_clock` | +| :stopwatch: | `stopwatch` | :timer_clock: | `timer_clock` | +| :mantelpiece_clock: | `mantelpiece_clock` | :clock12: | `clock12` | +| :clock1230: | `clock1230` | :clock1: | `clock1` | +| :clock130: | `clock130` | :clock2: | `clock2` | +| :clock230: | `clock230` | :clock3: | `clock3` | +| :clock330: | `clock330` | :clock4: | `clock4` | +| :clock430: | `clock430` | :clock5: | `clock5` | +| :clock530: | `clock530` | :clock6: | `clock6` | +| :clock630: | `clock630` | :clock7: | `clock7` | +| :clock730: | `clock730` | :clock8: | `clock8` | +| :clock830: | `clock830` | :clock9: | `clock9` | +| :clock930: | `clock930` | :clock10: | `clock10` | +| :clock1030: | `clock1030` | :clock11: | `clock11` | +| :clock1130: | `clock1130` | | | #### 天空与天气 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :new_moon: | `new_moon` | :waxing_crescent_moon: | `waxing_crescent_moon` | -| :first_quarter_moon: | `first_quarter_moon` | :moon: | `moon`
`waxing_gibbous_moon` | -| :full_moon: | `full_moon` | :waning_gibbous_moon: | `waning_gibbous_moon` | -| :last_quarter_moon: | `last_quarter_moon` | :waning_crescent_moon: | `waning_crescent_moon` | -| :crescent_moon: | `crescent_moon` | :new_moon_with_face: | `new_moon_with_face` | -| :first_quarter_moon_with_face: | `first_quarter_moon_with_face` | :last_quarter_moon_with_face: | `last_quarter_moon_with_face` | -| :thermometer: | `thermometer` | :sunny: | `sunny` | -| :full_moon_with_face: | `full_moon_with_face` | :sun_with_face: | `sun_with_face` | -| :star: | `star` | :star2: | `star2` | -| :stars: | `stars` | :milky_way: | `milky_way` | -| :cloud: | `cloud` | :partly_sunny: | `partly_sunny` | -| :cloud_with_lightning_and_rain: | `cloud_with_lightning_and_rain` | :sun_behind_small_cloud: | `sun_behind_small_cloud` | -| :sun_behind_large_cloud: | `sun_behind_large_cloud` | :sun_behind_rain_cloud: | `sun_behind_rain_cloud` | -| :cloud_with_rain: | `cloud_with_rain` | :cloud_with_snow: | `cloud_with_snow` | -| :cloud_with_lightning: | `cloud_with_lightning` | :tornado: | `tornado` | -| :fog: | `fog` | :wind_face: | `wind_face` | -| :cyclone: | `cyclone` | :rainbow: | `rainbow` | -| :closed_umbrella: | `closed_umbrella` | :open_umbrella: | `open_umbrella` | -| :umbrella: | `umbrella` | :parasol_on_ground: | `parasol_on_ground` | -| :zap: | `zap` | :snowflake: | `snowflake` | -| :snowman_with_snow: | `snowman_with_snow` | :snowman: | `snowman` | -| :comet: | `comet` | :fire: | `fire` | -| :droplet: | `droplet` | :ocean: | `ocean` | +| :new_moon: | `new_moon` | :waxing_crescent_moon: | `waxing_crescent_moon` | +| :first_quarter_moon: | `first_quarter_moon` | :moon: | `moon`
`waxing_gibbous_moon` | +| :full_moon: | `full_moon` | :waning_gibbous_moon: | `waning_gibbous_moon` | +| :last_quarter_moon: | `last_quarter_moon` | :waning_crescent_moon: | `waning_crescent_moon` | +| :crescent_moon: | `crescent_moon` | :new_moon_with_face: | `new_moon_with_face` | +| :first_quarter_moon_with_face: | `first_quarter_moon_with_face` | :last_quarter_moon_with_face: | `last_quarter_moon_with_face` | +| :thermometer: | `thermometer` | :sunny: | `sunny` | +| :full_moon_with_face: | `full_moon_with_face` | :sun_with_face: | `sun_with_face` | +| :star: | `star` | :star2: | `star2` | +| :stars: | `stars` | :milky_way: | `milky_way` | +| :cloud: | `cloud` | :partly_sunny: | `partly_sunny` | +| :cloud_with_lightning_and_rain: | `cloud_with_lightning_and_rain` | :sun_behind_small_cloud: | `sun_behind_small_cloud` | +| :sun_behind_large_cloud: | `sun_behind_large_cloud` | :sun_behind_rain_cloud: | `sun_behind_rain_cloud` | +| :cloud_with_rain: | `cloud_with_rain` | :cloud_with_snow: | `cloud_with_snow` | +| :cloud_with_lightning: | `cloud_with_lightning` | :tornado: | `tornado` | +| :fog: | `fog` | :wind_face: | `wind_face` | +| :cyclone: | `cyclone` | :rainbow: | `rainbow` | +| :closed_umbrella: | `closed_umbrella` | :open_umbrella: | `open_umbrella` | +| :umbrella: | `umbrella` | :parasol_on_ground: | `parasol_on_ground` | +| :zap: | `zap` | :snowflake: | `snowflake` | +| :snowman_with_snow: | `snowman_with_snow` | :snowman: | `snowman` | +| :comet: | `comet` | :fire: | `fire` | +| :droplet: | `droplet` | :ocean: | `ocean` | ### 活动 @@ -726,59 +727,59 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :jack_o_lantern: | `jack_o_lantern` | :christmas_tree: | `christmas_tree` | -| :fireworks: | `fireworks` | :sparkler: | `sparkler` | -| :sparkles: | `sparkles` | :balloon: | `balloon` | -| :tada: | `tada` | :confetti_ball: | `confetti_ball` | -| :tanabata_tree: | `tanabata_tree` | :bamboo: | `bamboo` | -| :dolls: | `dolls` | :flags: | `flags` | -| :wind_chime: | `wind_chime` | :rice_scene: | `rice_scene` | -| :ribbon: | `ribbon` | :gift: | `gift` | -| :reminder_ribbon: | `reminder_ribbon` | :tickets: | `tickets` | -| :ticket: | `ticket` | | | +| :jack_o_lantern: | `jack_o_lantern` | :christmas_tree: | `christmas_tree` | +| :fireworks: | `fireworks` | :sparkler: | `sparkler` | +| :sparkles: | `sparkles` | :balloon: | `balloon` | +| :tada: | `tada` | :confetti_ball: | `confetti_ball` | +| :tanabata_tree: | `tanabata_tree` | :bamboo: | `bamboo` | +| :dolls: | `dolls` | :flags: | `flags` | +| :wind_chime: | `wind_chime` | :rice_scene: | `rice_scene` | +| :ribbon: | `ribbon` | :gift: | `gift` | +| :reminder_ribbon: | `reminder_ribbon` | :tickets: | `tickets` | +| :ticket: | `ticket` | | | #### 奖杯与奖牌 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :medal_military: | `medal_military` | :trophy: | `trophy` | -| :medal_sports: | `medal_sports` | :1st_place_medal: | `1st_place_medal` | -| :2nd_place_medal: | `2nd_place_medal` | :3rd_place_medal: | `3rd_place_medal` | +| :medal_military: | `medal_military` | :trophy: | `trophy` | +| :medal_sports: | `medal_sports` | :1st_place_medal: | `1st_place_medal` | +| :2nd_place_medal: | `2nd_place_medal` | :3rd_place_medal: | `3rd_place_medal` | #### 体育运动 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :soccer: | `soccer` | :baseball: | `baseball` | -| :basketball: | `basketball` | :volleyball: | `volleyball` | -| :football: | `football` | :rugby_football: | `rugby_football` | -| :tennis: | `tennis` | :bowling: | `bowling` | -| :cricket: | `cricket` | :field_hockey: | `field_hockey` | -| :ice_hockey: | `ice_hockey` | :ping_pong: | `ping_pong` | -| :badminton: | `badminton` | :boxing_glove: | `boxing_glove` | -| :martial_arts_uniform: | `martial_arts_uniform` | :goal_net: | `goal_net` | -| :golf: | `golf` | :ice_skate: | `ice_skate` | -| :fishing_pole_and_fish: | `fishing_pole_and_fish` | :running_shirt_with_sash: | `running_shirt_with_sash` | -| :ski: | `ski` | | | +| :soccer: | `soccer` | :baseball: | `baseball` | +| :basketball: | `basketball` | :volleyball: | `volleyball` | +| :football: | `football` | :rugby_football: | `rugby_football` | +| :tennis: | `tennis` | :bowling: | `bowling` | +| :cricket: | `cricket` | :field_hockey: | `field_hockey` | +| :ice_hockey: | `ice_hockey` | :ping_pong: | `ping_pong` | +| :badminton: | `badminton` | :boxing_glove: | `boxing_glove` | +| :martial_arts_uniform: | `martial_arts_uniform` | :goal_net: | `goal_net` | +| :golf: | `golf` | :ice_skate: | `ice_skate` | +| :fishing_pole_and_fish: | `fishing_pole_and_fish` | :running_shirt_with_sash: | `running_shirt_with_sash` | +| :ski: | `ski` | | | #### 游戏 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :dart: | `dart` | :8ball: | `8ball` | -| :crystal_ball: | `crystal_ball` | :video_game: | `video_game` | -| :joystick: | `joystick` | :slot_machine: | `slot_machine` | -| :game_die: | `game_die` | :spades: | `spades` | -| :hearts: | `hearts` | :diamonds: | `diamonds` | -| :clubs: | `clubs` | :black_joker: | `black_joker` | -| :mahjong: | `mahjong` | :flower_playing_cards: | `flower_playing_cards` | +| :dart: | `dart` | :8ball: | `8ball` | +| :crystal_ball: | `crystal_ball` | :video_game: | `video_game` | +| :joystick: | `joystick` | :slot_machine: | `slot_machine` | +| :game_die: | `game_die` | :spades: | `spades` | +| :hearts: | `hearts` | :diamonds: | `diamonds` | +| :clubs: | `clubs` | :black_joker: | `black_joker` | +| :mahjong: | `mahjong` | :flower_playing_cards: | `flower_playing_cards` | #### 艺术与工艺 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :performing_arts: | `performing_arts` | :framed_picture: | `framed_picture` | -| :art: | `art` | | | +| :performing_arts: | `performing_arts` | :framed_picture: | `framed_picture` | +| :art: | `art` | | | ### 物品 @@ -786,191 +787,191 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :eyeglasses: | `eyeglasses` | :dark_sunglasses: | `dark_sunglasses` | -| :necktie: | `necktie` | :shirt: | `shirt`
`tshirt` | -| :jeans: | `jeans` | :dress: | `dress` | -| :kimono: | `kimono` | :bikini: | `bikini` | -| :womans_clothes: | `womans_clothes` | :purse: | `purse` | -| :handbag: | `handbag` | :pouch: | `pouch` | -| :shopping: | `shopping` | :school_satchel: | `school_satchel` | -| :mans_shoe: | `mans_shoe`
`shoe` | :athletic_shoe: | `athletic_shoe` | -| :high_heel: | `high_heel` | :sandal: | `sandal` | -| :boot: | `boot` | :crown: | `crown` | -| :womans_hat: | `womans_hat` | :tophat: | `tophat` | -| :mortar_board: | `mortar_board` | :rescue_worker_helmet: | `rescue_worker_helmet` | -| :prayer_beads: | `prayer_beads` | :lipstick: | `lipstick` | -| :ring: | `ring` | :gem: | `gem` | +| :eyeglasses: | `eyeglasses` | :dark_sunglasses: | `dark_sunglasses` | +| :necktie: | `necktie` | :shirt: | `shirt`
`tshirt` | +| :jeans: | `jeans` | :dress: | `dress` | +| :kimono: | `kimono` | :bikini: | `bikini` | +| :womans_clothes: | `womans_clothes` | :purse: | `purse` | +| :handbag: | `handbag` | :pouch: | `pouch` | +| :shopping: | `shopping` | :school_satchel: | `school_satchel` | +| :mans_shoe: | `mans_shoe`
`shoe` | :athletic_shoe: | `athletic_shoe` | +| :high_heel: | `high_heel` | :sandal: | `sandal` | +| :boot: | `boot` | :crown: | `crown` | +| :womans_hat: | `womans_hat` | :tophat: | `tophat` | +| :mortar_board: | `mortar_board` | :rescue_worker_helmet: | `rescue_worker_helmet` | +| :prayer_beads: | `prayer_beads` | :lipstick: | `lipstick` | +| :ring: | `ring` | :gem: | `gem` | #### 声音 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :mute: | `mute` | :speaker: | `speaker` | -| :sound: | `sound` | :loud_sound: | `loud_sound` | -| :loudspeaker: | `loudspeaker` | :mega: | `mega` | -| :postal_horn: | `postal_horn` | :bell: | `bell` | -| :no_bell: | `no_bell` | | | +| :mute: | `mute` | :speaker: | `speaker` | +| :sound: | `sound` | :loud_sound: | `loud_sound` | +| :loudspeaker: | `loudspeaker` | :mega: | `mega` | +| :postal_horn: | `postal_horn` | :bell: | `bell` | +| :no_bell: | `no_bell` | | | #### 音乐 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :musical_score: | `musical_score` | :musical_note: | `musical_note` | -| :notes: | `notes` | :studio_microphone: | `studio_microphone` | -| :level_slider: | `level_slider` | :control_knobs: | `control_knobs` | -| :microphone: | `microphone` | :headphones: | `headphones` | -| :radio: | `radio` | | | +| :musical_score: | `musical_score` | :musical_note: | `musical_note` | +| :notes: | `notes` | :studio_microphone: | `studio_microphone` | +| :level_slider: | `level_slider` | :control_knobs: | `control_knobs` | +| :microphone: | `microphone` | :headphones: | `headphones` | +| :radio: | `radio` | | | #### 乐器 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :saxophone: | `saxophone` | :guitar: | `guitar` | -| :musical_keyboard: | `musical_keyboard` | :trumpet: | `trumpet` | -| :violin: | `violin` | :drum: | `drum` | +| :saxophone: | `saxophone` | :guitar: | `guitar` | +| :musical_keyboard: | `musical_keyboard` | :trumpet: | `trumpet` | +| :violin: | `violin` | :drum: | `drum` | #### 电话 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :iphone: | `iphone` | :calling: | `calling` | -| :phone: | `phone`
`telephone` | :telephone_receiver: | `telephone_receiver` | -| :pager: | `pager` | :fax: | `fax` | +| :iphone: | `iphone` | :calling: | `calling` | +| :phone: | `phone`
`telephone` | :telephone_receiver: | `telephone_receiver` | +| :pager: | `pager` | :fax: | `fax` | #### 电脑 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :battery: | `battery` | :electric_plug: | `electric_plug` | -| :computer: | `computer` | :desktop_computer: | `desktop_computer` | -| :printer: | `printer` | :keyboard: | `keyboard` | -| :computer_mouse: | `computer_mouse` | :trackball: | `trackball` | -| :minidisc: | `minidisc` | :floppy_disk: | `floppy_disk` | -| :cd: | `cd` | :dvd: | `dvd` | +| :battery: | `battery` | :electric_plug: | `electric_plug` | +| :computer: | `computer` | :desktop_computer: | `desktop_computer` | +| :printer: | `printer` | :keyboard: | `keyboard` | +| :computer_mouse: | `computer_mouse` | :trackball: | `trackball` | +| :minidisc: | `minidisc` | :floppy_disk: | `floppy_disk` | +| :cd: | `cd` | :dvd: | `dvd` | #### 灯光与影像 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :movie_camera: | `movie_camera` | :film_strip: | `film_strip` | -| :film_projector: | `film_projector` | :clapper: | `clapper` | -| :tv: | `tv` | :camera: | `camera` | -| :camera_flash: | `camera_flash` | :video_camera: | `video_camera` | -| :vhs: | `vhs` | :mag: | `mag` | -| :mag_right: | `mag_right` | :candle: | `candle` | -| :bulb: | `bulb` | :flashlight: | `flashlight` | -| :izakaya_lantern: | `izakaya_lantern`
`lantern` | | | +| :movie_camera: | `movie_camera` | :film_strip: | `film_strip` | +| :film_projector: | `film_projector` | :clapper: | `clapper` | +| :tv: | `tv` | :camera: | `camera` | +| :camera_flash: | `camera_flash` | :video_camera: | `video_camera` | +| :vhs: | `vhs` | :mag: | `mag` | +| :mag_right: | `mag_right` | :candle: | `candle` | +| :bulb: | `bulb` | :flashlight: | `flashlight` | +| :izakaya_lantern: | `izakaya_lantern`
`lantern` | | | #### 书与纸张 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :notebook_with_decorative_cover: | `notebook_with_decorative_cover` | :closed_book: | `closed_book` | -| :book: | `book`
`open_book` | :green_book: | `green_book` | -| :blue_book: | `blue_book` | :orange_book: | `orange_book` | -| :books: | `books` | :notebook: | `notebook` | -| :ledger: | `ledger` | :page_with_curl: | `page_with_curl` | -| :scroll: | `scroll` | :page_facing_up: | `page_facing_up` | -| :newspaper: | `newspaper` | :newspaper_roll: | `newspaper_roll` | -| :bookmark_tabs: | `bookmark_tabs` | :bookmark: | `bookmark` | -| :label: | `label` | | | +| :notebook_with_decorative_cover: | `notebook_with_decorative_cover` | :closed_book: | `closed_book` | +| :book: | `book`
`open_book` | :green_book: | `green_book` | +| :blue_book: | `blue_book` | :orange_book: | `orange_book` | +| :books: | `books` | :notebook: | `notebook` | +| :ledger: | `ledger` | :page_with_curl: | `page_with_curl` | +| :scroll: | `scroll` | :page_facing_up: | `page_facing_up` | +| :newspaper: | `newspaper` | :newspaper_roll: | `newspaper_roll` | +| :bookmark_tabs: | `bookmark_tabs` | :bookmark: | `bookmark` | +| :label: | `label` | | | #### 钱 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :moneybag: | `moneybag` | :yen: | `yen` | -| :dollar: | `dollar` | :euro: | `euro` | -| :pound: | `pound` | :money_with_wings: | `money_with_wings` | -| :credit_card: | `credit_card` | :chart: | `chart` | +| :moneybag: | `moneybag` | :yen: | `yen` | +| :dollar: | `dollar` | :euro: | `euro` | +| :pound: | `pound` | :money_with_wings: | `money_with_wings` | +| :credit_card: | `credit_card` | :chart: | `chart` | #### 邮件 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :email: | `email`
`envelope` | :e-mail: | `:e-mail:` | -| :incoming_envelope: | `incoming_envelope` | :envelope_with_arrow: | `envelope_with_arrow` | -| :outbox_tray: | `outbox_tray` | :inbox_tray: | `inbox_tray` | -| :package: | `package` | :mailbox: | `mailbox` | -| :mailbox_closed: | `mailbox_closed` | :mailbox_with_mail: | `mailbox_with_mail` | -| :mailbox_with_no_mail: | `mailbox_with_no_mail` | :postbox: | `postbox` | -| :ballot_box: | `ballot_box` | | | +| :email: | `email`
`envelope` | :e-mail: | `:e-mail:` | +| :incoming_envelope: | `incoming_envelope` | :envelope_with_arrow: | `envelope_with_arrow` | +| :outbox_tray: | `outbox_tray` | :inbox_tray: | `inbox_tray` | +| :package: | `package` | :mailbox: | `mailbox` | +| :mailbox_closed: | `mailbox_closed` | :mailbox_with_mail: | `mailbox_with_mail` | +| :mailbox_with_no_mail: | `mailbox_with_no_mail` | :postbox: | `postbox` | +| :ballot_box: | `ballot_box` | | | #### 书写 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :pencil2: | `pencil2` | :black_nib: | `black_nib` | -| :fountain_pen: | `fountain_pen` | :pen: | `pen` | -| :paintbrush: | `paintbrush` | :crayon: | `crayon` | -| :memo: | `memo`
`pencil` | | | +| :pencil2: | `pencil2` | :black_nib: | `black_nib` | +| :fountain_pen: | `fountain_pen` | :pen: | `pen` | +| :paintbrush: | `paintbrush` | :crayon: | `crayon` | +| :memo: | `memo`
`pencil` | | | #### 办公 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :briefcase: | `briefcase` | :file_folder: | `file_folder` | -| :open_file_folder: | `open_file_folder` | :card_index_dividers: | `card_index_dividers` | -| :date: | `date` | :calendar: | `calendar` | -| :spiral_notepad: | `spiral_notepad` | :spiral_calendar: | `spiral_calendar` | -| :card_index: | `card_index` | :chart_with_upwards_trend: | `chart_with_upwards_trend` | -| :chart_with_downwards_trend: | `chart_with_downwards_trend` | :bar_chart: | `bar_chart` | -| :clipboard: | `clipboard` | :pushpin: | `pushpin` | -| :round_pushpin: | `round_pushpin` | :paperclip: | `paperclip` | -| :paperclips: | `paperclips` | :straight_ruler: | `straight_ruler` | -| :triangular_ruler: | `triangular_ruler` | :scissors: | `scissors` | -| :card_file_box: | `card_file_box` | :file_cabinet: | `file_cabinet` | -| :wastebasket: | `wastebasket` | | | +| :briefcase: | `briefcase` | :file_folder: | `file_folder` | +| :open_file_folder: | `open_file_folder` | :card_index_dividers: | `card_index_dividers` | +| :date: | `date` | :calendar: | `calendar` | +| :spiral_notepad: | `spiral_notepad` | :spiral_calendar: | `spiral_calendar` | +| :card_index: | `card_index` | :chart_with_upwards_trend: | `chart_with_upwards_trend` | +| :chart_with_downwards_trend: | `chart_with_downwards_trend` | :bar_chart: | `bar_chart` | +| :clipboard: | `clipboard` | :pushpin: | `pushpin` | +| :round_pushpin: | `round_pushpin` | :paperclip: | `paperclip` | +| :paperclips: | `paperclips` | :straight_ruler: | `straight_ruler` | +| :triangular_ruler: | `triangular_ruler` | :scissors: | `scissors` | +| :card_file_box: | `card_file_box` | :file_cabinet: | `file_cabinet` | +| :wastebasket: | `wastebasket` | | | #### 锁 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :lock: | `lock` | :unlock: | `unlock` | -| :lock_with_ink_pen: | `lock_with_ink_pen` | :closed_lock_with_key: | `closed_lock_with_key` | -| :key: | `key` | :old_key: | `old_key` | +| :lock: | `lock` | :unlock: | `unlock` | +| :lock_with_ink_pen: | `lock_with_ink_pen` | :closed_lock_with_key: | `closed_lock_with_key` | +| :key: | `key` | :old_key: | `old_key` | #### 工具 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :hammer: | `hammer` | :pick: | `pick` | -| :hammer_and_pick: | `hammer_and_pick` | :hammer_and_wrench: | `hammer_and_wrench` | -| :dagger: | `dagger` | :crossed_swords: | `crossed_swords` | -| :gun: | `gun` | :bow_and_arrow: | `bow_and_arrow` | -| :shield: | `shield` | :wrench: | `wrench` | -| :nut_and_bolt: | `nut_and_bolt` | :gear: | `gear` | -| :clamp: | `clamp` | :balance_scale: | `balance_scale` | -| :link: | `link` | :chains: | `chains` | +| :hammer: | `hammer` | :pick: | `pick` | +| :hammer_and_pick: | `hammer_and_pick` | :hammer_and_wrench: | `hammer_and_wrench` | +| :dagger: | `dagger` | :crossed_swords: | `crossed_swords` | +| :gun: | `gun` | :bow_and_arrow: | `bow_and_arrow` | +| :shield: | `shield` | :wrench: | `wrench` | +| :nut_and_bolt: | `nut_and_bolt` | :gear: | `gear` | +| :clamp: | `clamp` | :balance_scale: | `balance_scale` | +| :link: | `link` | :chains: | `chains` | #### 科学 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :alembic: | `alembic` | :microscope: | `microscope` | -| :telescope: | `telescope` | :satellite: | `satellite` | +| :alembic: | `alembic` | :microscope: | `microscope` | +| :telescope: | `telescope` | :satellite: | `satellite` | #### 医疗 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :syringe: | `syringe` | :pill: | `pill` | +| :syringe: | `syringe` | :pill: | `pill` | #### 生活用品 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :door: | `door` | :bed: | `bed` | -| :couch_and_lamp: | `couch_and_lamp` | :toilet: | `toilet` | -| :shower: | `shower` | :bathtub: | `bathtub` | -| :shopping_cart: | `shopping_cart` | | | +| :door: | `door` | :bed: | `bed` | +| :couch_and_lamp: | `couch_and_lamp` | :toilet: | `toilet` | +| :shower: | `shower` | :bathtub: | `bathtub` | +| :shopping_cart: | `shopping_cart` | | | #### 其它物品 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :smoking: | `smoking` | :coffin: | `coffin` | -| :funeral_urn: | `funeral_urn` | :moyai: | `moyai` | +| :smoking: | `smoking` | :coffin: | `coffin` | +| :funeral_urn: | `funeral_urn` | :moyai: | `moyai` | ### 符号 @@ -978,171 +979,171 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :atm: | `atm` | :put_litter_in_its_place: | `put_litter_in_its_place` | -| :potable_water: | `potable_water` | :wheelchair: | `wheelchair` | -| :mens: | `mens` | :womens: | `womens` | -| :restroom: | `restroom` | :baby_symbol: | `baby_symbol` | -| :wc: | `wc` | :passport_control: | `passport_control` | -| :customs: | `customs` | :baggage_claim: | `baggage_claim` | -| :left_luggage: | `left_luggage` | | | +| :atm: | `atm` | :put_litter_in_its_place: | `put_litter_in_its_place` | +| :potable_water: | `potable_water` | :wheelchair: | `wheelchair` | +| :mens: | `mens` | :womens: | `womens` | +| :restroom: | `restroom` | :baby_symbol: | `baby_symbol` | +| :wc: | `wc` | :passport_control: | `passport_control` | +| :customs: | `customs` | :baggage_claim: | `baggage_claim` | +| :left_luggage: | `left_luggage` | | | #### 警告 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :warning: | `warning` | :children_crossing: | `children_crossing` | -| :no_entry: | `no_entry` | :no_entry_sign: | `no_entry_sign` | -| :no_bicycles: | `no_bicycles` | :no_smoking: | `no_smoking` | -| :do_not_litter: | `do_not_litter` | :non-potable_water: | `:non-potable_water:` | -| :no_pedestrians: | `no_pedestrians` | :no_mobile_phones: | `no_mobile_phones` | -| :underage: | `underage` | :radioactive: | `radioactive` | -| :biohazard: | `biohazard` | | | +| :warning: | `warning` | :children_crossing: | `children_crossing` | +| :no_entry: | `no_entry` | :no_entry_sign: | `no_entry_sign` | +| :no_bicycles: | `no_bicycles` | :no_smoking: | `no_smoking` | +| :do_not_litter: | `do_not_litter` | :non-potable_water: | `:non-potable_water:` | +| :no_pedestrians: | `no_pedestrians` | :no_mobile_phones: | `no_mobile_phones` | +| :underage: | `underage` | :radioactive: | `radioactive` | +| :biohazard: | `biohazard` | | | #### 箭头 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :arrow_up: | `arrow_up` | :arrow_upper_right: | `arrow_upper_right` | -| :arrow_right: | `arrow_right` | :arrow_lower_right: | `arrow_lower_right` | -| :arrow_down: | `arrow_down` | :arrow_lower_left: | `arrow_lower_left` | -| :arrow_left: | `arrow_left` | :arrow_upper_left: | `arrow_upper_left` | -| :arrow_up_down: | `arrow_up_down` | :left_right_arrow: | `left_right_arrow` | -| :leftwards_arrow_with_hook: | `leftwards_arrow_with_hook` | :arrow_right_hook: | `arrow_right_hook` | -| :arrow_heading_up: | `arrow_heading_up` | :arrow_heading_down: | `arrow_heading_down` | -| :arrows_clockwise: | `arrows_clockwise` | :arrows_counterclockwise: | `arrows_counterclockwise` | -| :back: | `back` | :end: | `end` | -| :on: | `on` | :soon: | `soon` | -| :top: | `top` | | | +| :arrow_up: | `arrow_up` | :arrow_upper_right: | `arrow_upper_right` | +| :arrow_right: | `arrow_right` | :arrow_lower_right: | `arrow_lower_right` | +| :arrow_down: | `arrow_down` | :arrow_lower_left: | `arrow_lower_left` | +| :arrow_left: | `arrow_left` | :arrow_upper_left: | `arrow_upper_left` | +| :arrow_up_down: | `arrow_up_down` | :left_right_arrow: | `left_right_arrow` | +| :leftwards_arrow_with_hook: | `leftwards_arrow_with_hook` | :arrow_right_hook: | `arrow_right_hook` | +| :arrow_heading_up: | `arrow_heading_up` | :arrow_heading_down: | `arrow_heading_down` | +| :arrows_clockwise: | `arrows_clockwise` | :arrows_counterclockwise: | `arrows_counterclockwise` | +| :back: | `back` | :end: | `end` | +| :on: | `on` | :soon: | `soon` | +| :top: | `top` | | | #### 宗教 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :place_of_worship: | `place_of_worship` | :atom_symbol: | `atom_symbol` | -| :om: | `om` | :star_of_david: | `star_of_david` | -| :wheel_of_dharma: | `wheel_of_dharma` | :yin_yang: | `yin_yang` | -| :latin_cross: | `latin_cross` | :orthodox_cross: | `orthodox_cross` | -| :star_and_crescent: | `star_and_crescent` | :peace_symbol: | `peace_symbol` | -| :menorah: | `menorah` | :six_pointed_star: | `six_pointed_star` | +| :place_of_worship: | `place_of_worship` | :atom_symbol: | `atom_symbol` | +| :om: | `om` | :star_of_david: | `star_of_david` | +| :wheel_of_dharma: | `wheel_of_dharma` | :yin_yang: | `yin_yang` | +| :latin_cross: | `latin_cross` | :orthodox_cross: | `orthodox_cross` | +| :star_and_crescent: | `star_and_crescent` | :peace_symbol: | `peace_symbol` | +| :menorah: | `menorah` | :six_pointed_star: | `six_pointed_star` | #### 生肖 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :aries: | `aries` | :taurus: | `taurus` | -| :gemini: | `gemini` | :cancer: | `cancer` | -| :leo: | `leo` | :virgo: | `virgo` | -| :libra: | `libra` | :scorpius: | `scorpius` | -| :sagittarius: | `sagittarius` | :capricorn: | `capricorn` | -| :aquarius: | `aquarius` | :pisces: | `pisces` | -| :ophiuchus: | `ophiuchus` | | | +| :aries: | `aries` | :taurus: | `taurus` | +| :gemini: | `gemini` | :cancer: | `cancer` | +| :leo: | `leo` | :virgo: | `virgo` | +| :libra: | `libra` | :scorpius: | `scorpius` | +| :sagittarius: | `sagittarius` | :capricorn: | `capricorn` | +| :aquarius: | `aquarius` | :pisces: | `pisces` | +| :ophiuchus: | `ophiuchus` | | | #### 影像符号 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :twisted_rightwards_arrows: | `twisted_rightwards_arrows` | :repeat: | `repeat` | -| :repeat_one: | `repeat_one` | :arrow_forward: | `arrow_forward` | -| :fast_forward: | `fast_forward` | :next_track_button: | `next_track_button` | -| :play_or_pause_button: | `play_or_pause_button` | :arrow_backward: | `arrow_backward` | -| :rewind: | `rewind` | :previous_track_button: | `previous_track_button` | -| :arrow_up_small: | `arrow_up_small` | :arrow_double_up: | `arrow_double_up` | -| :arrow_down_small: | `arrow_down_small` | :arrow_double_down: | `arrow_double_down` | -| :pause_button: | `pause_button` | :stop_button: | `stop_button` | -| :record_button: | `record_button` | :cinema: | `cinema` | -| :low_brightness: | `low_brightness` | :high_brightness: | `high_brightness` | -| :signal_strength: | `signal_strength` | :vibration_mode: | `vibration_mode` | -| :mobile_phone_off: | `mobile_phone_off` | | | +| :twisted_rightwards_arrows: | `twisted_rightwards_arrows` | :repeat: | `repeat` | +| :repeat_one: | `repeat_one` | :arrow_forward: | `arrow_forward` | +| :fast_forward: | `fast_forward` | :next_track_button: | `next_track_button` | +| :play_or_pause_button: | `play_or_pause_button` | :arrow_backward: | `arrow_backward` | +| :rewind: | `rewind` | :previous_track_button: | `previous_track_button` | +| :arrow_up_small: | `arrow_up_small` | :arrow_double_up: | `arrow_double_up` | +| :arrow_down_small: | `arrow_down_small` | :arrow_double_down: | `arrow_double_down` | +| :pause_button: | `pause_button` | :stop_button: | `stop_button` | +| :record_button: | `record_button` | :cinema: | `cinema` | +| :low_brightness: | `low_brightness` | :high_brightness: | `high_brightness` | +| :signal_strength: | `signal_strength` | :vibration_mode: | `vibration_mode` | +| :mobile_phone_off: | `mobile_phone_off` | | | #### 数学 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :heavy_multiplication_x: | `heavy_multiplication_x` | :heavy_plus_sign: | `heavy_plus_sign` | -| :heavy_minus_sign: | `heavy_minus_sign` | :heavy_division_sign: | `heavy_division_sign` | +| :heavy_multiplication_x: | `heavy_multiplication_x` | :heavy_plus_sign: | `heavy_plus_sign` | +| :heavy_minus_sign: | `heavy_minus_sign` | :heavy_division_sign: | `heavy_division_sign` | #### 标点符号 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :bangbang: | `bangbang` | :interrobang: | `interrobang` | -| :question: | `question` | :grey_question: | `grey_question` | -| :grey_exclamation: | `grey_exclamation` | :exclamation: | `exclamation`
`heavy_exclamation_mark` | -| :wavy_dash: | `wavy_dash` | | | +| :bangbang: | `bangbang` | :interrobang: | `interrobang` | +| :question: | `question` | :grey_question: | `grey_question` | +| :grey_exclamation: | `grey_exclamation` | :exclamation: | `exclamation`
`heavy_exclamation_mark` | +| :wavy_dash: | `wavy_dash` | | | #### 货币 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :currency_exchange: | `currency_exchange` | :heavy_dollar_sign: | `heavy_dollar_sign` | +| :currency_exchange: | `currency_exchange` | :heavy_dollar_sign: | `heavy_dollar_sign` | #### 按键符号 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :hash: | `hash` | :asterisk: | `asterisk` | -| :zero: | `zero` | :one: | `one` | -| :two: | `two` | :three: | `three` | -| :four: | `four` | :five: | `five` | -| :six: | `six` | :seven: | `seven` | -| :eight: | `eight` | :nine: | `nine` | -| :keycap_ten: | `keycap_ten` | | | +| :hash: | `hash` | :asterisk: | `asterisk` | +| :zero: | `zero` | :one: | `one` | +| :two: | `two` | :three: | `three` | +| :four: | `four` | :five: | `five` | +| :six: | `six` | :seven: | `seven` | +| :eight: | `eight` | :nine: | `nine` | +| :keycap_ten: | `keycap_ten` | | | #### 字母符号 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :capital_abcd: | `capital_abcd` | :abcd: | `abcd` | -| :1234: | `1234` | :symbols: | `symbols` | -| :abc: | `abc` | :a: | `a` | -| :ab: | `ab` | :b: | `b` | -| :cl: | `cl` | :cool: | `cool` | -| :free: | `free` | :information_source: | `information_source` | -| :id: | `id` | :m: | `m` | -| :new: | `new` | :ng: | `ng` | -| :o2: | `o2` | :ok: | `ok` | -| :parking: | `parking` | :sos: | `sos` | -| :up: | `up` | :vs: | `vs` | -| :koko: | `koko` | :sa: | `sa` | -| :u6708: | `u6708` | :u6709: | `u6709` | -| :u6307: | `u6307` | :ideograph_advantage: | `ideograph_advantage` | -| :u5272: | `u5272` | :u7121: | `u7121` | -| :u7981: | `u7981` | :accept: | `accept` | -| :u7533: | `u7533` | :u5408: | `u5408` | -| :u7a7a: | `u7a7a` | :congratulations: | `congratulations` | -| :secret: | `secret` | :u55b6: | `u55b6` | -| :u6e80: | `u6e80` | | | +| :capital_abcd: | `capital_abcd` | :abcd: | `abcd` | +| :1234: | `1234` | :symbols: | `symbols` | +| :abc: | `abc` | :a: | `a` | +| :ab: | `ab` | :b: | `b` | +| :cl: | `cl` | :cool: | `cool` | +| :free: | `free` | :information_source: | `information_source` | +| :id: | `id` | :m: | `m` | +| :new: | `new` | :ng: | `ng` | +| :o2: | `o2` | :ok: | `ok` | +| :parking: | `parking` | :sos: | `sos` | +| :up: | `up` | :vs: | `vs` | +| :koko: | `koko` | :sa: | `sa` | +| :u6708: | `u6708` | :u6709: | `u6709` | +| :u6307: | `u6307` | :ideograph_advantage: | `ideograph_advantage` | +| :u5272: | `u5272` | :u7121: | `u7121` | +| :u7981: | `u7981` | :accept: | `accept` | +| :u7533: | `u7533` | :u5408: | `u5408` | +| :u7a7a: | `u7a7a` | :congratulations: | `congratulations` | +| :secret: | `secret` | :u55b6: | `u55b6` | +| :u6e80: | `u6e80` | | | #### 几何符号 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :red_circle: | `red_circle` | :large_blue_circle: | `large_blue_circle` | -| :black_circle: | `black_circle` | :white_circle: | `white_circle` | -| :black_large_square: | `black_large_square` | :white_large_square: | `white_large_square` | -| :black_medium_square: | `black_medium_square` | :white_medium_square: | `white_medium_square` | -| :black_medium_small_square: | `black_medium_small_square` | :white_medium_small_square: | `white_medium_small_square` | -| :black_small_square: | `black_small_square` | :white_small_square: | `white_small_square` | -| :large_orange_diamond: | `large_orange_diamond` | :large_blue_diamond: | `large_blue_diamond` | -| :small_orange_diamond: | `small_orange_diamond` | :small_blue_diamond: | `small_blue_diamond` | -| :small_red_triangle: | `small_red_triangle` | :small_red_triangle_down: | `small_red_triangle_down` | -| :diamond_shape_with_a_dot_inside: | `diamond_shape_with_a_dot_inside` | :radio_button: | `radio_button` | -| :white_square_button: | `white_square_button` | :black_square_button: | `black_square_button` | +| :red_circle: | `red_circle` | :large_blue_circle: | `large_blue_circle` | +| :black_circle: | `black_circle` | :white_circle: | `white_circle` | +| :black_large_square: | `black_large_square` | :white_large_square: | `white_large_square` | +| :black_medium_square: | `black_medium_square` | :white_medium_square: | `white_medium_square` | +| :black_medium_small_square: | `black_medium_small_square` | :white_medium_small_square: | `white_medium_small_square` | +| :black_small_square: | `black_small_square` | :white_small_square: | `white_small_square` | +| :large_orange_diamond: | `large_orange_diamond` | :large_blue_diamond: | `large_blue_diamond` | +| :small_orange_diamond: | `small_orange_diamond` | :small_blue_diamond: | `small_blue_diamond` | +| :small_red_triangle: | `small_red_triangle` | :small_red_triangle_down: | `small_red_triangle_down` | +| :diamond_shape_with_a_dot_inside: | `diamond_shape_with_a_dot_inside` | :radio_button: | `radio_button` | +| :white_square_button: | `white_square_button` | :black_square_button: | `black_square_button` | #### 其它符合 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :recycle: | `recycle` | :fleur_de_lis: | `fleur_de_lis` | -| :trident: | `trident` | :name_badge: | `name_badge` | -| :beginner: | `beginner` | :o: | `o` | -| :white_check_mark: | `white_check_mark` | :ballot_box_with_check: | `ballot_box_with_check` | -| :heavy_check_mark: | `heavy_check_mark` | :x: | `x` | -| :negative_squared_cross_mark: | `negative_squared_cross_mark` | :curly_loop: | `curly_loop` | -| :loop: | `loop` | :part_alternation_mark: | `part_alternation_mark` | -| :eight_spoked_asterisk: | `eight_spoked_asterisk` | :eight_pointed_black_star: | `eight_pointed_black_star` | -| :sparkle: | `sparkle` | :copyright: | `copyright` | -| :registered: | `registered` | :tm: | `tm` | +| :recycle: | `recycle` | :fleur_de_lis: | `fleur_de_lis` | +| :trident: | `trident` | :name_badge: | `name_badge` | +| :beginner: | `beginner` | :o: | `o` | +| :white_check_mark: | `white_check_mark` | :ballot_box_with_check: | `ballot_box_with_check` | +| :heavy_check_mark: | `heavy_check_mark` | :x: | `x` | +| :negative_squared_cross_mark: | `negative_squared_cross_mark` | :curly_loop: | `curly_loop` | +| :loop: | `loop` | :part_alternation_mark: | `part_alternation_mark` | +| :eight_spoked_asterisk: | `eight_spoked_asterisk` | :eight_pointed_black_star: | `eight_pointed_black_star` | +| :sparkle: | `sparkle` | :copyright: | `copyright` | +| :registered: | `registered` | :tm: | `tm` | ### 旗帜 @@ -1150,141 +1151,135 @@ Emoji 可以通过多种方式在 Hugo 项目中启用. | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :checkered_flag: | `checkered_flag` | :triangular_flag_on_post: | `triangular_flag_on_post` | -| :crossed_flags: | `crossed_flags` | :black_flag: | `black_flag` | -| :white_flag: | `white_flag` | :rainbow_flag: | `rainbow_flag` | +| :checkered_flag: | `checkered_flag` | :triangular_flag_on_post: | `triangular_flag_on_post` | +| :crossed_flags: | `crossed_flags` | :black_flag: | `black_flag` | +| :white_flag: | `white_flag` | :rainbow_flag: | `rainbow_flag` | #### 国家和地区旗帜 | 图标 | 代码 | 图标 | 代码 | | :-: | - | :-: | - | -| :andorra: | `andorra` | :united_arab_emirates: | `united_arab_emirates` | -| :afghanistan: | `afghanistan` | :antigua_barbuda: | `antigua_barbuda` | -| :anguilla: | `anguilla` | :albania: | `albania` | -| :armenia: | `armenia` | :angola: | `angola` | -| :antarctica: | `antarctica` | :argentina: | `argentina` | -| :american_samoa: | `american_samoa` | :austria: | `austria` | -| :australia: | `australia` | :aruba: | `aruba` | -| :aland_islands: | `aland_islands` | :azerbaijan: | `azerbaijan` | -| :bosnia_herzegovina: | `bosnia_herzegovina` | :barbados: | `barbados` | -| :bangladesh: | `bangladesh` | :belgium: | `belgium` | -| :burkina_faso: | `burkina_faso` | :bulgaria: | `bulgaria` | -| :bahrain: | `bahrain` | :burundi: | `burundi` | -| :benin: | `benin` | :st_barthelemy: | `st_barthelemy` | -| :bermuda: | `bermuda` | :brunei: | `brunei` | -| :bolivia: | `bolivia` | :caribbean_netherlands: | `caribbean_netherlands` | -| :brazil: | `brazil` | :bahamas: | `bahamas` | -| :bhutan: | `bhutan` | :botswana: | `botswana` | -| :belarus: | `belarus` | :belize: | `belize` | -| :canada: | `canada` | :cocos_islands: | `cocos_islands` | -| :congo_kinshasa: | `congo_kinshasa` | :central_african_republic: | `central_african_republic` | -| :congo_brazzaville: | `congo_brazzaville` | :switzerland: | `switzerland` | -| :cote_divoire: | `cote_divoire` | :cook_islands: | `cook_islands` | -| :chile: | `chile` | :cameroon: | `cameroon` | -| :cn: | `cn` | :colombia: | `colombia` | -| :costa_rica: | `costa_rica` | :cuba: | `cuba` | -| :cape_verde: | `cape_verde` | :curacao: | `curacao` | -| :christmas_island: | `christmas_island` | :cyprus: | `cyprus` | -| :czech_republic: | `czech_republic` | :de: | `de` | -| :djibouti: | `djibouti` | :denmark: | `denmark` | -| :dominica: | `dominica` | :dominican_republic: | `dominican_republic` | -| :algeria: | `algeria` | :ecuador: | `ecuador` | -| :estonia: | `estonia` | :egypt: | `egypt` | -| :western_sahara: | `western_sahara` | :eritrea: | `eritrea` | -| :es: | `es` | :ethiopia: | `ethiopia` | -| :eu: | `eu`
`european_union` | :finland: | `finland` | -| :fiji: | `fiji` | :falkland_islands: | `falkland_islands` | -| :micronesia: | `micronesia` | :faroe_islands: | `faroe_islands` | -| :fr: | `fr` | :gabon: | `gabon` | -| :gb: | `gb`
`uk` | :grenada: | `grenada` | -| :georgia: | `georgia` | :french_guiana: | `french_guiana` | -| :guernsey: | `guernsey` | :ghana: | `ghana` | -| :gibraltar: | `gibraltar` | :greenland: | `greenland` | -| :gambia: | `gambia` | :guinea: | `guinea` | -| :guadeloupe: | `guadeloupe` | :equatorial_guinea: | `equatorial_guinea` | -| :greece: | `greece` | :south_georgia_south_sandwich_islands: | `south_georgia_south_sandwich_islands` | -| :guatemala: | `guatemala` | :guam: | `guam` | -| :guinea_bissau: | `guinea_bissau` | :guyana: | `guyana` | -| :hong_kong: | `hong_kong` | :honduras: | `honduras` | -| :croatia: | `croatia` | :haiti: | `haiti` | -| :hungary: | `hungary` | :canary_islands: | `canary_islands` | -| :indonesia: | `indonesia` | :ireland: | `ireland` | -| :israel: | `israel` | :isle_of_man: | `isle_of_man` | -| :india: | `india` | :british_indian_ocean_territory: | `british_indian_ocean_territory` | -| :iraq: | `iraq` | :iran: | `iran` | -| :iceland: | `iceland` | :it: | `it` | -| :jersey: | `jersey` | :jamaica: | `jamaica` | -| :jordan: | `jordan` | :jp: | `jp` | -| :kenya: | `kenya` | :kyrgyzstan: | `kyrgyzstan` | -| :cambodia: | `cambodia` | :kiribati: | `kiribati` | -| :comoros: | `comoros` | :st_kitts_nevis: | `st_kitts_nevis` | -| :north_korea: | `north_korea` | :kr: | `kr` | -| :kuwait: | `kuwait` | :cayman_islands: | `cayman_islands` | -| :kazakhstan: | `kazakhstan` | :laos: | `laos` | -| :lebanon: | `lebanon` | :st_lucia: | `st_lucia` | -| :liechtenstein: | `liechtenstein` | :sri_lanka: | `sri_lanka` | -| :liberia: | `liberia` | :lesotho: | `lesotho` | -| :lithuania: | `lithuania` | :luxembourg: | `luxembourg` | -| :latvia: | `latvia` | :libya: | `libya` | -| :morocco: | `morocco` | :monaco: | `monaco` | -| :moldova: | `moldova` | :montenegro: | `montenegro` | -| :madagascar: | `madagascar` | :marshall_islands: | `marshall_islands` | -| :macedonia: | `macedonia` | :mali: | `mali` | -| :myanmar: | `myanmar` | :mongolia: | `mongolia` | -| :macau: | `macau` | :northern_mariana_islands: | `northern_mariana_islands` | -| :martinique: | `martinique` | :mauritania: | `mauritania` | -| :montserrat: | `montserrat` | :malta: | `malta` | -| :mauritius: | `mauritius` | :maldives: | `maldives` | -| :malawi: | `malawi` | :mexico: | `mexico` | -| :malaysia: | `malaysia` | :mozambique: | `mozambique` | -| :namibia: | `namibia` | :new_caledonia: | `new_caledonia` | -| :niger: | `niger` | :norfolk_island: | `norfolk_island` | -| :nigeria: | `nigeria` | :nicaragua: | `nicaragua` | -| :netherlands: | `netherlands` | :norway: | `norway` | -| :nepal: | `nepal` | :nauru: | `nauru` | -| :niue: | `niue` | :new_zealand: | `new_zealand` | -| :oman: | `oman` | :panama: | `panama` | -| :peru: | `peru` | :french_polynesia: | `french_polynesia` | -| :papua_new_guinea: | `papua_new_guinea` | :philippines: | `philippines` | -| :pakistan: | `pakistan` | :poland: | `poland` | -| :st_pierre_miquelon: | `st_pierre_miquelon` | :pitcairn_islands: | `pitcairn_islands` | -| :puerto_rico: | `puerto_rico` | :palestinian_territories: | `palestinian_territories` | -| :portugal: | `portugal` | :palau: | `palau` | -| :paraguay: | `paraguay` | :qatar: | `qatar` | -| :reunion: | `reunion` | :romania: | `romania` | -| :serbia: | `serbia` | :ru: | `ru` | -| :rwanda: | `rwanda` | :saudi_arabia: | `saudi_arabia` | -| :solomon_islands: | `solomon_islands` | :seychelles: | `seychelles` | -| :sudan: | `sudan` | :sweden: | `sweden` | -| :singapore: | `singapore` | :st_helena: | `st_helena` | -| :slovenia: | `slovenia` | :slovakia: | `slovakia` | -| :sierra_leone: | `sierra_leone` | :san_marino: | `san_marino` | -| :senegal: | `senegal` | :somalia: | `somalia` | -| :suriname: | `suriname` | :south_sudan: | `south_sudan` | -| :sao_tome_principe: | `sao_tome_principe` | :el_salvador: | `el_salvador` | -| :sint_maarten: | `sint_maarten` | :syria: | `syria` | -| :swaziland: | `swaziland` | :turks_caicos_islands: | `turks_caicos_islands` | -| :chad: | `chad` | :french_southern_territories: | `french_southern_territories` | -| :togo: | `togo` | :thailand: | `thailand` | -| :tajikistan: | `tajikistan` | :tokelau: | `tokelau` | -| :timor_leste: | `timor_leste` | :turkmenistan: | `turkmenistan` | -| :tunisia: | `tunisia` | :tonga: | `tonga` | -| :tr: | `tr` | :trinidad_tobago: | `trinidad_tobago` | -| :tuvalu: | `tuvalu` | :taiwan: | `taiwan` | -| :tanzania: | `tanzania` | :ukraine: | `ukraine` | -| :uganda: | `uganda` | :us: | `us` | -| :uruguay: | `uruguay` | :uzbekistan: | `uzbekistan` | -| :vatican_city: | `vatican_city` | :st_vincent_grenadines: | `st_vincent_grenadines` | -| :venezuela: | `venezuela` | :british_virgin_islands: | `british_virgin_islands` | -| :us_virgin_islands: | `us_virgin_islands` | :vietnam: | `vietnam` | -| :vanuatu: | `vanuatu` | :wallis_futuna: | `wallis_futuna` | -| :samoa: | `samoa` | :kosovo: | `kosovo` | -| :yemen: | `yemen` | :mayotte: | `mayotte` | -| :south_africa: | `south_africa` | :zambia: | `zambia` | -| :zimbabwe: | `zimbabwe` | | | - - +| :andorra: | `andorra` | :united_arab_emirates: | `united_arab_emirates` | +| :afghanistan: | `afghanistan` | :antigua_barbuda: | `antigua_barbuda` | +| :anguilla: | `anguilla` | :albania: | `albania` | +| :armenia: | `armenia` | :angola: | `angola` | +| :antarctica: | `antarctica` | :argentina: | `argentina` | +| :american_samoa: | `american_samoa` | :austria: | `austria` | +| :australia: | `australia` | :aruba: | `aruba` | +| :aland_islands: | `aland_islands` | :azerbaijan: | `azerbaijan` | +| :bosnia_herzegovina: | `bosnia_herzegovina` | :barbados: | `barbados` | +| :bangladesh: | `bangladesh` | :belgium: | `belgium` | +| :burkina_faso: | `burkina_faso` | :bulgaria: | `bulgaria` | +| :bahrain: | `bahrain` | :burundi: | `burundi` | +| :benin: | `benin` | :st_barthelemy: | `st_barthelemy` | +| :bermuda: | `bermuda` | :brunei: | `brunei` | +| :bolivia: | `bolivia` | :caribbean_netherlands: | `caribbean_netherlands` | +| :brazil: | `brazil` | :bahamas: | `bahamas` | +| :bhutan: | `bhutan` | :botswana: | `botswana` | +| :belarus: | `belarus` | :belize: | `belize` | +| :canada: | `canada` | :cocos_islands: | `cocos_islands` | +| :congo_kinshasa: | `congo_kinshasa` | :central_african_republic: | `central_african_republic` | +| :congo_brazzaville: | `congo_brazzaville` | :switzerland: | `switzerland` | +| :cote_divoire: | `cote_divoire` | :cook_islands: | `cook_islands` | +| :chile: | `chile` | :cameroon: | `cameroon` | +| :cn: | `cn` | :colombia: | `colombia` | +| :costa_rica: | `costa_rica` | :cuba: | `cuba` | +| :cape_verde: | `cape_verde` | :curacao: | `curacao` | +| :christmas_island: | `christmas_island` | :cyprus: | `cyprus` | +| :czech_republic: | `czech_republic` | :de: | `de` | +| :djibouti: | `djibouti` | :denmark: | `denmark` | +| :dominica: | `dominica` | :dominican_republic: | `dominican_republic` | +| :algeria: | `algeria` | :ecuador: | `ecuador` | +| :estonia: | `estonia` | :egypt: | `egypt` | +| :western_sahara: | `western_sahara` | :eritrea: | `eritrea` | +| :es: | `es` | :ethiopia: | `ethiopia` | +| :eu: | `eu`
`european_union` | :finland: | `finland` | +| :fiji: | `fiji` | :falkland_islands: | `falkland_islands` | +| :micronesia: | `micronesia` | :faroe_islands: | `faroe_islands` | +| :fr: | `fr` | :gabon: | `gabon` | +| :gb: | `gb`
`uk` | :grenada: | `grenada` | +| :georgia: | `georgia` | :french_guiana: | `french_guiana` | +| :guernsey: | `guernsey` | :ghana: | `ghana` | +| :gibraltar: | `gibraltar` | :greenland: | `greenland` | +| :gambia: | `gambia` | :guinea: | `guinea` | +| :guadeloupe: | `guadeloupe` | :equatorial_guinea: | `equatorial_guinea` | +| :greece: | `greece` | :south_georgia_south_sandwich_islands: | `south_georgia_south_sandwich_islands` | +| :guatemala: | `guatemala` | :guam: | `guam` | +| :guinea_bissau: | `guinea_bissau` | :guyana: | `guyana` | +| :hong_kong: | `hong_kong` | :honduras: | `honduras` | +| :croatia: | `croatia` | :haiti: | `haiti` | +| :hungary: | `hungary` | :canary_islands: | `canary_islands` | +| :indonesia: | `indonesia` | :ireland: | `ireland` | +| :israel: | `israel` | :isle_of_man: | `isle_of_man` | +| :india: | `india` | :british_indian_ocean_territory: | `british_indian_ocean_territory` | +| :iraq: | `iraq` | :iran: | `iran` | +| :iceland: | `iceland` | :it: | `it` | +| :jersey: | `jersey` | :jamaica: | `jamaica` | +| :jordan: | `jordan` | :jp: | `jp` | +| :kenya: | `kenya` | :kyrgyzstan: | `kyrgyzstan` | +| :cambodia: | `cambodia` | :kiribati: | `kiribati` | +| :comoros: | `comoros` | :st_kitts_nevis: | `st_kitts_nevis` | +| :north_korea: | `north_korea` | :kr: | `kr` | +| :kuwait: | `kuwait` | :cayman_islands: | `cayman_islands` | +| :kazakhstan: | `kazakhstan` | :laos: | `laos` | +| :lebanon: | `lebanon` | :st_lucia: | `st_lucia` | +| :liechtenstein: | `liechtenstein` | :sri_lanka: | `sri_lanka` | +| :liberia: | `liberia` | :lesotho: | `lesotho` | +| :lithuania: | `lithuania` | :luxembourg: | `luxembourg` | +| :latvia: | `latvia` | :libya: | `libya` | +| :morocco: | `morocco` | :monaco: | `monaco` | +| :moldova: | `moldova` | :montenegro: | `montenegro` | +| :madagascar: | `madagascar` | :marshall_islands: | `marshall_islands` | +| :macedonia: | `macedonia` | :mali: | `mali` | +| :myanmar: | `myanmar` | :mongolia: | `mongolia` | +| :macau: | `macau` | :northern_mariana_islands: | `northern_mariana_islands` | +| :martinique: | `martinique` | :mauritania: | `mauritania` | +| :montserrat: | `montserrat` | :malta: | `malta` | +| :mauritius: | `mauritius` | :maldives: | `maldives` | +| :malawi: | `malawi` | :mexico: | `mexico` | +| :malaysia: | `malaysia` | :mozambique: | `mozambique` | +| :namibia: | `namibia` | :new_caledonia: | `new_caledonia` | +| :niger: | `niger` | :norfolk_island: | `norfolk_island` | +| :nigeria: | `nigeria` | :nicaragua: | `nicaragua` | +| :netherlands: | `netherlands` | :norway: | `norway` | +| :nepal: | `nepal` | :nauru: | `nauru` | +| :niue: | `niue` | :new_zealand: | `new_zealand` | +| :oman: | `oman` | :panama: | `panama` | +| :peru: | `peru` | :french_polynesia: | `french_polynesia` | +| :papua_new_guinea: | `papua_new_guinea` | :philippines: | `philippines` | +| :pakistan: | `pakistan` | :poland: | `poland` | +| :st_pierre_miquelon: | `st_pierre_miquelon` | :pitcairn_islands: | `pitcairn_islands` | +| :puerto_rico: | `puerto_rico` | :palestinian_territories: | `palestinian_territories` | +| :portugal: | `portugal` | :palau: | `palau` | +| :paraguay: | `paraguay` | :qatar: | `qatar` | +| :reunion: | `reunion` | :romania: | `romania` | +| :serbia: | `serbia` | :ru: | `ru` | +| :rwanda: | `rwanda` | :saudi_arabia: | `saudi_arabia` | +| :solomon_islands: | `solomon_islands` | :seychelles: | `seychelles` | +| :sudan: | `sudan` | :sweden: | `sweden` | +| :singapore: | `singapore` | :st_helena: | `st_helena` | +| :slovenia: | `slovenia` | :slovakia: | `slovakia` | +| :sierra_leone: | `sierra_leone` | :san_marino: | `san_marino` | +| :senegal: | `senegal` | :somalia: | `somalia` | +| :suriname: | `suriname` | :south_sudan: | `south_sudan` | +| :sao_tome_principe: | `sao_tome_principe` | :el_salvador: | `el_salvador` | +| :sint_maarten: | `sint_maarten` | :syria: | `syria` | +| :swaziland: | `swaziland` | :turks_caicos_islands: | `turks_caicos_islands` | +| :chad: | `chad` | :french_southern_territories: | `french_southern_territories` | +| :togo: | `togo` | :thailand: | `thailand` | +| :tajikistan: | `tajikistan` | :tokelau: | `tokelau` | +| :timor_leste: | `timor_leste` | :turkmenistan: | `turkmenistan` | +| :tunisia: | `tunisia` | :tonga: | `tonga` | +| :tr: | `tr` | :trinidad_tobago: | `trinidad_tobago` | +| :tuvalu: | `tuvalu` | :taiwan: | `taiwan` | +| :tanzania: | `tanzania` | :ukraine: | `ukraine` | +| :uganda: | `uganda` | :us: | `us` | +| :uruguay: | `uruguay` | :uzbekistan: | `uzbekistan` | +| :vatican_city: | `vatican_city` | :st_vincent_grenadines: | `st_vincent_grenadines` | +| :venezuela: | `venezuela` | :british_virgin_islands: | `british_virgin_islands` | +| :us_virgin_islands: | `us_virgin_islands` | :vietnam: | `vietnam` | +| :vanuatu: | `vanuatu` | :wallis_futuna: | `wallis_futuna` | +| :samoa: | `samoa` | :kosovo: | `kosovo` | +| :yemen: | `yemen` | :mayotte: | `mayotte` | +| :south_africa: | `south_africa` | :zambia: | `zambia` | +| :zimbabwe: | `zimbabwe` | | | diff --git a/exampleSite/content/posts/theme-documentation-basics.en.md b/exampleSite/content/posts/theme-documentation-basics.en.md index 5100e72..3b65891 100644 --- a/exampleSite/content/posts/theme-documentation-basics.en.md +++ b/exampleSite/content/posts/theme-documentation-basics.en.md @@ -375,6 +375,8 @@ Note that some of these parameters are explained in details in other sections of hiddenFromHomePage = false # {{< version 0.2.0 >}} whether to hide a page from search results hiddenFromSearch = false + # {{< version 0.2.0 >}} whether to enable twemoji + twemoji = false # whether to enable lightgallery lightgallery = false # {{< version 0.2.0 >}} whether to enable the ruby extended syntax @@ -570,6 +572,8 @@ Note that some of these parameters are explained in details in other sections of algoliasearchJS = '' # {{< link "https://github.com/aFarkas/lazysizes" "lazysizes" >}}@5.2.0 lazysizesJS = '' + # {{< version 0.2.0 >}} {{< link "https://github.com/twitter/twemoji" "twemoji" >}}@12.1.5 + twemojiJS = '' # {{< link "https://github.com/sachinchoolur/lightgallery.js" "lightgallery.js" >}}@1.1.3 lg-thumbnail@1.1.0 lg-zoom@1.1.0 lightgalleryCSS = '' lightgalleryJS = '' diff --git a/exampleSite/content/posts/theme-documentation-basics.fr.md b/exampleSite/content/posts/theme-documentation-basics.fr.md index dbdf19a..0b13945 100644 --- a/exampleSite/content/posts/theme-documentation-basics.fr.md +++ b/exampleSite/content/posts/theme-documentation-basics.fr.md @@ -380,6 +380,8 @@ Note that some of these parameters are explained in details in other sections of hiddenFromHomePage = false # {{< version 0.2.0 >}} whether to hide a page from search results hiddenFromSearch = false + # {{< version 0.2.0 >}} whether to enable twemoji + twemoji = false # whether to enable lightgallery lightgallery = false # {{< version 0.2.0 >}} whether to enable the ruby extended syntax @@ -575,6 +577,8 @@ Note that some of these parameters are explained in details in other sections of algoliasearchJS = '' # {{< link "https://github.com/aFarkas/lazysizes" "lazysizes" >}}@5.2.0 lazysizesJS = '' + # {{< version 0.2.0 >}} {{< link "https://github.com/twitter/twemoji" "twemoji" >}}@12.1.5 + twemojiJS = '' # {{< link "https://github.com/sachinchoolur/lightgallery.js" "lightgallery.js" >}}@1.1.3 lg-thumbnail@1.1.0 lg-zoom@1.1.0 lightgalleryCSS = '' lightgalleryJS = '' diff --git a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md index f07a0c4..1976dfe 100644 --- a/exampleSite/content/posts/theme-documentation-basics.zh-cn.md +++ b/exampleSite/content/posts/theme-documentation-basics.zh-cn.md @@ -378,7 +378,9 @@ hugo hiddenFromHomePage = false # {{< version 0.2.0 >}} 是否在搜索结果中隐藏一篇文章 hiddenFromSearch = false - # 是否在文章页面使用 lightgallery + # {{< version 0.2.0 >}} 是否使用 twemoji + twemoji = false + # 是否使用 lightgallery lightgallery = true # {{< version 0.2.0 >}} 是否使用 ruby 扩展语法 ruby = true @@ -573,6 +575,8 @@ hugo algoliasearchJS = '' # {{< link "https://github.com/aFarkas/lazysizes" "lazysizes" >}}@5.2.0 lazysizesJS = '' + # {{< version 0.2.0 >}} {{< link "https://github.com/twitter/twemoji" "twemoji" >}}@12.1.5 + twemojiJS = '' # {{< link "https://github.com/sachinchoolur/lightgallery.js" "lightgallery.js" >}}@1.1.3 lg-thumbnail@1.1.0 lg-zoom@1.1.0 lightgalleryCSS = '' lightgalleryJS = '' diff --git a/exampleSite/content/posts/theme-documentation-content.en.md b/exampleSite/content/posts/theme-documentation-content.en.md index 0ccc223..e8d3a26 100644 --- a/exampleSite/content/posts/theme-documentation-content.en.md +++ b/exampleSite/content/posts/theme-documentation-content.en.md @@ -62,6 +62,7 @@ featuredImagePreview: "" hiddenFromHomePage: false hiddenFromSearch: false +twemoji: false lightgallery: true ruby: true fraction: true @@ -106,6 +107,7 @@ comment: * **hiddenFromHomePage**: if `true`, the content will not be shown in the home page. * **hiddenFromSearch**: {{< version 0.2.0 >}} if `true`, the content will not be shown in the search results. +* **twemoji**: {{< version 0.2.0 >}} if `true`, the content will enable the twemoji. * **lightgallery**: if `true`, images in the content will be shown as the gallery. * **ruby**: {{< version 0.2.0 >}} if `true`, the content will enable the [ruby extended syntax](#ruby). * **fraction**: {{< version 0.2.0 >}} if `true`, the content will enable the [fraction extended syntax](#fraction). diff --git a/exampleSite/content/posts/theme-documentation-content.fr.md b/exampleSite/content/posts/theme-documentation-content.fr.md index 14d332f..dab7916 100644 --- a/exampleSite/content/posts/theme-documentation-content.fr.md +++ b/exampleSite/content/posts/theme-documentation-content.fr.md @@ -67,6 +67,7 @@ featuredImagePreview: "" hiddenFromHomePage: false hiddenFromSearch: false +twemoji: false lightgallery: true ruby: true fraction: true @@ -111,6 +112,7 @@ comment: * **hiddenFromHomePage**: if `true`, the content will not be shown in the home page. * **hiddenFromSearch**: {{< version 0.2.0 >}} if `true`, the content will not be shown in the search results. +* **twemoji**: {{< version 0.2.0 >}} if `true`, the content will enable the twemoji. * **lightgallery**: if `true`, images in the content will be shown as the gallery. * **ruby**: {{< version 0.2.0 >}} if `true`, the content will enable the [ruby extended syntax](#ruby). * **fraction**: {{< version 0.2.0 >}} if `true`, the content will enable the [fraction extended syntax](#fraction). diff --git a/exampleSite/content/posts/theme-documentation-content.zh-cn.md b/exampleSite/content/posts/theme-documentation-content.zh-cn.md index 8c0d2c5..46e7134 100644 --- a/exampleSite/content/posts/theme-documentation-content.zh-cn.md +++ b/exampleSite/content/posts/theme-documentation-content.zh-cn.md @@ -62,6 +62,7 @@ featuredImagePreview: "" hiddenFromHomePage: false hiddenFromSearch: false +twemoji: false lightgallery: true ruby: true fraction: true @@ -106,6 +107,7 @@ comment: * **hiddenFromHomePage**: 如果设为 `true`, 这篇文章将不会显示在主页上. * **hiddenFromSearch**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章将不会显示在搜索结果中. +* **twemoji**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章会使用 twemoji. * **lightgallery**: 如果设为 `true`, 文章中的图片将可以按照画廊形式呈现. * **ruby**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章会使用 [上标注释扩展语法](#ruby). * **fraction**: {{< version 0.2.0 >}} 如果设为 `true`, 这篇文章会使用 [分数扩展语法](#fraction). diff --git a/layouts/partials/assets.html b/layouts/partials/assets.html index 85c03eb..0cb4aa7 100644 --- a/layouts/partials/assets.html +++ b/layouts/partials/assets.html @@ -38,6 +38,13 @@ {{- $source := $cdn.lazysizesJS | default "lib/lazysizes/lazysizes.min.js" -}} {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}} +{{- /* twemoji */ -}} +{{- if $params.twemoji -}} + {{- $source := $cdn.twemojiJS | default "lib/twemoji/twemoji.min.js" -}} + {{- dict "source" $source "fingerprint" $fingerprint | dict "scratch" $.Scratch "data" | partial "scratch/script.html" -}} + {{- $config = dict "twemoji" true | merge $config -}} +{{- end -}} + {{- /* lightgallery.js */ -}} {{- if $params.lightgallery -}} {{- $source := $cdn.lightgalleryCSS | default "lib/lightgallery/lightgallery.min.css" -}} diff --git a/resources/_gen/assets/scss/css/shortcode/style.scss_19001642409beba3b4bbc3ec1bde302a.content b/resources/_gen/assets/scss/css/shortcode/style.scss_19001642409beba3b4bbc3ec1bde302a.content index 19bc837..0a7657e 100644 --- a/resources/_gen/assets/scss/css/shortcode/style.scss_19001642409beba3b4bbc3ec1bde302a.content +++ b/resources/_gen/assets/scss/css/shortcode/style.scss_19001642409beba3b4bbc3ec1bde302a.content @@ -1 +1 @@ -#id-27e8e4 img{height:1.25rem} +#id-9a5e4c img{height:1.25rem} diff --git a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content index 956162e..fe20516 100644 --- a/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content +++ b/resources/_gen/assets/scss/css/style.template.scss_788c4a23da05f3aa3e03b28055a2e5f9.content @@ -1,3 +1,3 @@ -@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.dark .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark .toc .toc-content ul a::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:9999px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#ededed}.dark #toc-static .toc-title{background:#20252b}#toc-static .toc-title:hover{background:#e6e6e6}.dark #toc-static .toc-title:hover{background:#1c2025}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}.dark #toc-static .toc-content{background-color:#272C34}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C;padding:0 .4rem}.dark .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1.25em;max-height:1.25em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#acabab;background:#e1e1e1}.dark .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}.dark .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}.dark .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight>.chroma .c,.single .content .highlight>.chroma .ch,.single .content .highlight>.chroma .cm,.single .content .highlight>.chroma .c1,.single .content .highlight>.chroma .cs,.single .content .highlight>.chroma .cp,.single .content .highlight>.chroma .cpf{font-style:italic}.single .content .highlight>.chroma .gl{text-decoration:underline}.single .content .highlight>.chroma .p{color:#a9a9b3}.single .content .highlight>.chroma .k{color:#b501a9}.single .content .highlight>.chroma .kc{color:#b501a9}.single .content .highlight>.chroma .kd{color:#b501a9}.single .content .highlight>.chroma .kn{color:#b501a9}.single .content .highlight>.chroma .kp{color:#b501a9}.single .content .highlight>.chroma .kr{color:#b501a9}.single .content .highlight>.chroma .kt{color:#b501a9}.single .content .highlight>.chroma .n{color:#333}.single .content .highlight>.chroma .na{color:#2b77fa}.single .content .highlight>.chroma .nb{color:#f74840}.single .content .highlight>.chroma .bp{color:#f74840}.single .content .highlight>.chroma .nc{color:#cb8100}.single .content .highlight>.chroma .no{color:#2b77fa}.single .content .highlight>.chroma .nd{color:#0086c1}.single .content .highlight>.chroma .ni{color:#2b77fa}.single .content .highlight>.chroma .ne{color:#2b77fa}.single .content .highlight>.chroma .nf{color:#2b77fa}.single .content .highlight>.chroma .fm{color:#1ccad6}.single .content .highlight>.chroma .nl{color:#2b77fa}.single .content .highlight>.chroma .nn{color:#2b77fa}.single .content .highlight>.chroma .nx{color:#333}.single .content .highlight>.chroma .py{color:#2b77fa}.single .content .highlight>.chroma .nt{color:#2b77fa}.single .content .highlight>.chroma .nv{color:#2b77fa}.single .content .highlight>.chroma .vc{color:#2b77fa}.single .content .highlight>.chroma .vg{color:#2b77fa}.single .content .highlight>.chroma .vi{color:#2b77fa}.single .content .highlight>.chroma .vm{color:#2b77fa}.single .content .highlight>.chroma .l{color:#2aa198}.single .content .highlight>.chroma .ld{color:#2aa198}.single .content .highlight>.chroma .s{color:#24a443}.single .content .highlight>.chroma .sa{color:#24a443}.single .content .highlight>.chroma .sb{color:#24a443}.single .content .highlight>.chroma .sc{color:#24a443}.single .content .highlight>.chroma .dl{color:#24a443}.single .content .highlight>.chroma .sd{color:#24a443}.single .content .highlight>.chroma .s2{color:#24a443}.single .content .highlight>.chroma .se{color:#24a443}.single .content .highlight>.chroma .sh{color:#24a443}.single .content .highlight>.chroma .si{color:#24a443}.single .content .highlight>.chroma .sx{color:#24a443}.single .content .highlight>.chroma .sr{color:#24a443}.single .content .highlight>.chroma .s1{color:#24a443}.single .content .highlight>.chroma .ss{color:#24a443}.single .content .highlight>.chroma .m{color:#e2893c}.single .content .highlight>.chroma .mb{color:#e2893c}.single .content .highlight>.chroma .mf{color:#e2893c}.single .content .highlight>.chroma .mh{color:#e2893c}.single .content .highlight>.chroma .mi{color:#e2893c}.single .content .highlight>.chroma .il{color:#e2893c}.single .content .highlight>.chroma .mo{color:#e2893c}.single .content .highlight>.chroma .o{color:#f19b04}.single .content .highlight>.chroma .ow{color:#b501a9}.single .content .highlight>.chroma .c{color:#a0a1a8}.single .content .highlight>.chroma .ch{color:#a0a1a8}.single .content .highlight>.chroma .cm{color:#a0a1a8}.single .content .highlight>.chroma .c1{color:#a0a1a8}.single .content .highlight>.chroma .cs{color:#a0a1a8}.single .content .highlight>.chroma .cp{color:#a0a1a8}.single .content .highlight>.chroma .cpf{color:#a0a1a8}.single .content .highlight>.chroma .g{color:#e72d40}.single .content .highlight>.chroma .gd{color:#e72d40}.single .content .highlight>.chroma .ge{color:#e72d40}.single .content .highlight>.chroma .gr{color:#e72d40}.single .content .highlight>.chroma .gh{color:#e72d40}.single .content .highlight>.chroma .gi{color:#e72d40}.single .content .highlight>.chroma .go{color:#e72d40}.single .content .highlight>.chroma .gp{color:#e72d40}.single .content .highlight>.chroma .gs{color:#e72d40}.single .content .highlight>.chroma .gu{color:#e72d40}.single .content .highlight>.chroma .gt{color:#e72d40}.single .content .highlight>.chroma .w{color:#bbb}.dark .single .content .highlight>.chroma .p{color:#a9a9b3}.dark .single .content .highlight>.chroma .k{color:#d371e3}.dark .single .content .highlight>.chroma .kc{color:#d371e3}.dark .single .content .highlight>.chroma .kd{color:#d371e3}.dark .single .content .highlight>.chroma .kn{color:#d371e3}.dark .single .content .highlight>.chroma .kp{color:#d371e3}.dark .single .content .highlight>.chroma .kr{color:#d371e3}.dark .single .content .highlight>.chroma .kt{color:#d371e3}.dark .single .content .highlight>.chroma .n{color:#a9b2c0}.dark .single .content .highlight>.chroma .na{color:#41b0f5}.dark .single .content .highlight>.chroma .nb{color:#19b9c4}.dark .single .content .highlight>.chroma .bp{color:#ecbf6f}.dark .single .content .highlight>.chroma .nc{color:#ecbf6f}.dark .single .content .highlight>.chroma .no{color:#41b0f5}.dark .single .content .highlight>.chroma .nd{color:#ecbf6f}.dark .single .content .highlight>.chroma .ni{color:#41b0f5}.dark .single .content .highlight>.chroma .ne{color:#41b0f5}.dark .single .content .highlight>.chroma .nf{color:#41b0f5}.dark .single .content .highlight>.chroma .fm{color:#19b9c4}.dark .single .content .highlight>.chroma .nl{color:#41b0f5}.dark .single .content .highlight>.chroma .nn{color:#41b0f5}.dark .single .content .highlight>.chroma .nx{color:#a9a9b3}.dark .single .content .highlight>.chroma .py{color:#41b0f5}.dark .single .content .highlight>.chroma .nt{color:#41b0f5}.dark .single .content .highlight>.chroma .nv{color:#41b0f5}.dark .single .content .highlight>.chroma .vc{color:#41b0f5}.dark .single .content .highlight>.chroma .vg{color:#41b0f5}.dark .single .content .highlight>.chroma .vi{color:#41b0f5}.dark .single .content .highlight>.chroma .vm{color:#41b0f5}.dark .single .content .highlight>.chroma .l{color:#2aa198}.dark .single .content .highlight>.chroma .ld{color:#2aa198}.dark .single .content .highlight>.chroma .s{color:#8cc570}.dark .single .content .highlight>.chroma .sa{color:#8cc570}.dark .single .content .highlight>.chroma .sb{color:#8cc570}.dark .single .content .highlight>.chroma .sc{color:#8cc570}.dark .single .content .highlight>.chroma .dl{color:#8cc570}.dark .single .content .highlight>.chroma .sd{color:#8cc570}.dark .single .content .highlight>.chroma .s2{color:#8cc570}.dark .single .content .highlight>.chroma .se{color:#8cc570}.dark .single .content .highlight>.chroma .sh{color:#8cc570}.dark .single .content .highlight>.chroma .si{color:#8cc570}.dark .single .content .highlight>.chroma .sx{color:#8cc570}.dark .single .content .highlight>.chroma .sr{color:#8cc570}.dark .single .content .highlight>.chroma .s1{color:#8cc570}.dark .single .content .highlight>.chroma .ss{color:#8cc570}.dark .single .content .highlight>.chroma .m{color:#db985c}.dark .single .content .highlight>.chroma .mb{color:#db985c}.dark .single .content .highlight>.chroma .mf{color:#db985c}.dark .single .content .highlight>.chroma .mh{color:#db985c}.dark .single .content .highlight>.chroma .mi{color:#db985c}.dark .single .content .highlight>.chroma .il{color:#db985c}.dark .single .content .highlight>.chroma .mo{color:#db985c}.dark .single .content .highlight>.chroma .o{color:#ecbf6f}.dark .single .content .highlight>.chroma .ow{color:#d371e3}.dark .single .content .highlight>.chroma .c{color:#7e848f}.dark .single .content .highlight>.chroma .ch{color:#7e848f}.dark .single .content .highlight>.chroma .cm{color:#7e848f}.dark .single .content .highlight>.chroma .c1{color:#7e848f}.dark .single .content .highlight>.chroma .cs{color:#7e848f}.dark .single .content .highlight>.chroma .cp{color:#7e848f}.dark .single .content .highlight>.chroma .cpf{color:#7e848f}.dark .single .content .highlight>.chroma .g{color:#f16372}.dark .single .content .highlight>.chroma .gd{color:#f16372}.dark .single .content .highlight>.chroma .ge{color:#f16372}.dark .single .content .highlight>.chroma .gr{color:#f16372}.dark .single .content .highlight>.chroma .gh{color:#f16372}.dark .single .content .highlight>.chroma .gi{color:#f16372}.dark .single .content .highlight>.chroma .go{color:#f16372}.dark .single .content .highlight>.chroma .gp{color:#f16372}.dark .single .content .highlight>.chroma .gs{color:#f16372}.dark .single .content .highlight>.chroma .gu{color:#f16372}.dark .single .content .highlight>.chroma .gt{color:#f16372}.dark .single .content .highlight>.chroma .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;left:.6rem;top:.6rem}.single .content .admonition i.details-icon{position:absolute;top:.5rem;right:.5rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .details-summary.admonition-title:hover{background-color:rgba(0,155,224,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .details-summary.admonition-title:hover{background-color:rgba(0,157,181,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .details-summary.admonition-title:hover{background-color:rgba(0,160,139,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .details-summary.admonition-title:hover{background-color:rgba(0,169,70,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .details-summary.admonition-title:hover{background-color:rgba(87,193,20,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .details-summary.admonition-title:hover{background-color:rgba(224,128,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .details-summary.admonition-title:hover{background-color:rgba(255,51,51,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .details-summary.admonition-title:hover{background-color:rgba(247,0,48,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .details-summary.admonition-title:hover{background-color:rgba(214,0,76,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .details-summary.admonition-title:hover{background-color:rgba(80,0,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .details-summary.admonition-title:hover{background-color:rgba(143,143,143,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin:0 .5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 10vw}#header-desktop .header-wrapper .header-title{font-size:1.25rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.25rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:10vw;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}#header-desktop .header-wrapper{padding:0 8vw}.search-dropdown.desktop{right:8vw}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding:0 4vw}.search-dropdown.desktop{right:4vw}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} +@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.dark .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark .toc .toc-content ul a::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:9999px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#ededed}.dark #toc-static .toc-title{background:#20252b}#toc-static .toc-title:hover{background:#e6e6e6}.dark #toc-static .toc-title:hover{background:#1c2025}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}.dark #toc-static .toc-content{background-color:#272C34}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C;padding:0 .4rem}.dark .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1.25em;max-height:1.25em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#acabab;background:#e1e1e1}.dark .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}.dark .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}.dark .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight>.chroma .c,.single .content .highlight>.chroma .ch,.single .content .highlight>.chroma .cm,.single .content .highlight>.chroma .c1,.single .content .highlight>.chroma .cs,.single .content .highlight>.chroma .cp,.single .content .highlight>.chroma .cpf{font-style:italic}.single .content .highlight>.chroma .gl{text-decoration:underline}.single .content .highlight>.chroma .p{color:#a9a9b3}.single .content .highlight>.chroma .k{color:#b501a9}.single .content .highlight>.chroma .kc{color:#b501a9}.single .content .highlight>.chroma .kd{color:#b501a9}.single .content .highlight>.chroma .kn{color:#b501a9}.single .content .highlight>.chroma .kp{color:#b501a9}.single .content .highlight>.chroma .kr{color:#b501a9}.single .content .highlight>.chroma .kt{color:#b501a9}.single .content .highlight>.chroma .n{color:#333}.single .content .highlight>.chroma .na{color:#2b77fa}.single .content .highlight>.chroma .nb{color:#f74840}.single .content .highlight>.chroma .bp{color:#f74840}.single .content .highlight>.chroma .nc{color:#cb8100}.single .content .highlight>.chroma .no{color:#2b77fa}.single .content .highlight>.chroma .nd{color:#0086c1}.single .content .highlight>.chroma .ni{color:#2b77fa}.single .content .highlight>.chroma .ne{color:#2b77fa}.single .content .highlight>.chroma .nf{color:#2b77fa}.single .content .highlight>.chroma .fm{color:#1ccad6}.single .content .highlight>.chroma .nl{color:#2b77fa}.single .content .highlight>.chroma .nn{color:#2b77fa}.single .content .highlight>.chroma .nx{color:#333}.single .content .highlight>.chroma .py{color:#2b77fa}.single .content .highlight>.chroma .nt{color:#2b77fa}.single .content .highlight>.chroma .nv{color:#2b77fa}.single .content .highlight>.chroma .vc{color:#2b77fa}.single .content .highlight>.chroma .vg{color:#2b77fa}.single .content .highlight>.chroma .vi{color:#2b77fa}.single .content .highlight>.chroma .vm{color:#2b77fa}.single .content .highlight>.chroma .l{color:#2aa198}.single .content .highlight>.chroma .ld{color:#2aa198}.single .content .highlight>.chroma .s{color:#24a443}.single .content .highlight>.chroma .sa{color:#24a443}.single .content .highlight>.chroma .sb{color:#24a443}.single .content .highlight>.chroma .sc{color:#24a443}.single .content .highlight>.chroma .dl{color:#24a443}.single .content .highlight>.chroma .sd{color:#24a443}.single .content .highlight>.chroma .s2{color:#24a443}.single .content .highlight>.chroma .se{color:#24a443}.single .content .highlight>.chroma .sh{color:#24a443}.single .content .highlight>.chroma .si{color:#24a443}.single .content .highlight>.chroma .sx{color:#24a443}.single .content .highlight>.chroma .sr{color:#24a443}.single .content .highlight>.chroma .s1{color:#24a443}.single .content .highlight>.chroma .ss{color:#24a443}.single .content .highlight>.chroma .m{color:#e2893c}.single .content .highlight>.chroma .mb{color:#e2893c}.single .content .highlight>.chroma .mf{color:#e2893c}.single .content .highlight>.chroma .mh{color:#e2893c}.single .content .highlight>.chroma .mi{color:#e2893c}.single .content .highlight>.chroma .il{color:#e2893c}.single .content .highlight>.chroma .mo{color:#e2893c}.single .content .highlight>.chroma .o{color:#f19b04}.single .content .highlight>.chroma .ow{color:#b501a9}.single .content .highlight>.chroma .c{color:#a0a1a8}.single .content .highlight>.chroma .ch{color:#a0a1a8}.single .content .highlight>.chroma .cm{color:#a0a1a8}.single .content .highlight>.chroma .c1{color:#a0a1a8}.single .content .highlight>.chroma .cs{color:#a0a1a8}.single .content .highlight>.chroma .cp{color:#a0a1a8}.single .content .highlight>.chroma .cpf{color:#a0a1a8}.single .content .highlight>.chroma .g{color:#e72d40}.single .content .highlight>.chroma .gd{color:#e72d40}.single .content .highlight>.chroma .ge{color:#e72d40}.single .content .highlight>.chroma .gr{color:#e72d40}.single .content .highlight>.chroma .gh{color:#e72d40}.single .content .highlight>.chroma .gi{color:#e72d40}.single .content .highlight>.chroma .go{color:#e72d40}.single .content .highlight>.chroma .gp{color:#e72d40}.single .content .highlight>.chroma .gs{color:#e72d40}.single .content .highlight>.chroma .gu{color:#e72d40}.single .content .highlight>.chroma .gt{color:#e72d40}.single .content .highlight>.chroma .w{color:#bbb}.dark .single .content .highlight>.chroma .p{color:#a9a9b3}.dark .single .content .highlight>.chroma .k{color:#d371e3}.dark .single .content .highlight>.chroma .kc{color:#d371e3}.dark .single .content .highlight>.chroma .kd{color:#d371e3}.dark .single .content .highlight>.chroma .kn{color:#d371e3}.dark .single .content .highlight>.chroma .kp{color:#d371e3}.dark .single .content .highlight>.chroma .kr{color:#d371e3}.dark .single .content .highlight>.chroma .kt{color:#d371e3}.dark .single .content .highlight>.chroma .n{color:#a9b2c0}.dark .single .content .highlight>.chroma .na{color:#41b0f5}.dark .single .content .highlight>.chroma .nb{color:#19b9c4}.dark .single .content .highlight>.chroma .bp{color:#ecbf6f}.dark .single .content .highlight>.chroma .nc{color:#ecbf6f}.dark .single .content .highlight>.chroma .no{color:#41b0f5}.dark .single .content .highlight>.chroma .nd{color:#ecbf6f}.dark .single .content .highlight>.chroma .ni{color:#41b0f5}.dark .single .content .highlight>.chroma .ne{color:#41b0f5}.dark .single .content .highlight>.chroma .nf{color:#41b0f5}.dark .single .content .highlight>.chroma .fm{color:#19b9c4}.dark .single .content .highlight>.chroma .nl{color:#41b0f5}.dark .single .content .highlight>.chroma .nn{color:#41b0f5}.dark .single .content .highlight>.chroma .nx{color:#a9a9b3}.dark .single .content .highlight>.chroma .py{color:#41b0f5}.dark .single .content .highlight>.chroma .nt{color:#41b0f5}.dark .single .content .highlight>.chroma .nv{color:#41b0f5}.dark .single .content .highlight>.chroma .vc{color:#41b0f5}.dark .single .content .highlight>.chroma .vg{color:#41b0f5}.dark .single .content .highlight>.chroma .vi{color:#41b0f5}.dark .single .content .highlight>.chroma .vm{color:#41b0f5}.dark .single .content .highlight>.chroma .l{color:#2aa198}.dark .single .content .highlight>.chroma .ld{color:#2aa198}.dark .single .content .highlight>.chroma .s{color:#8cc570}.dark .single .content .highlight>.chroma .sa{color:#8cc570}.dark .single .content .highlight>.chroma .sb{color:#8cc570}.dark .single .content .highlight>.chroma .sc{color:#8cc570}.dark .single .content .highlight>.chroma .dl{color:#8cc570}.dark .single .content .highlight>.chroma .sd{color:#8cc570}.dark .single .content .highlight>.chroma .s2{color:#8cc570}.dark .single .content .highlight>.chroma .se{color:#8cc570}.dark .single .content .highlight>.chroma .sh{color:#8cc570}.dark .single .content .highlight>.chroma .si{color:#8cc570}.dark .single .content .highlight>.chroma .sx{color:#8cc570}.dark .single .content .highlight>.chroma .sr{color:#8cc570}.dark .single .content .highlight>.chroma .s1{color:#8cc570}.dark .single .content .highlight>.chroma .ss{color:#8cc570}.dark .single .content .highlight>.chroma .m{color:#db985c}.dark .single .content .highlight>.chroma .mb{color:#db985c}.dark .single .content .highlight>.chroma .mf{color:#db985c}.dark .single .content .highlight>.chroma .mh{color:#db985c}.dark .single .content .highlight>.chroma .mi{color:#db985c}.dark .single .content .highlight>.chroma .il{color:#db985c}.dark .single .content .highlight>.chroma .mo{color:#db985c}.dark .single .content .highlight>.chroma .o{color:#ecbf6f}.dark .single .content .highlight>.chroma .ow{color:#d371e3}.dark .single .content .highlight>.chroma .c{color:#7e848f}.dark .single .content .highlight>.chroma .ch{color:#7e848f}.dark .single .content .highlight>.chroma .cm{color:#7e848f}.dark .single .content .highlight>.chroma .c1{color:#7e848f}.dark .single .content .highlight>.chroma .cs{color:#7e848f}.dark .single .content .highlight>.chroma .cp{color:#7e848f}.dark .single .content .highlight>.chroma .cpf{color:#7e848f}.dark .single .content .highlight>.chroma .g{color:#f16372}.dark .single .content .highlight>.chroma .gd{color:#f16372}.dark .single .content .highlight>.chroma .ge{color:#f16372}.dark .single .content .highlight>.chroma .gr{color:#f16372}.dark .single .content .highlight>.chroma .gh{color:#f16372}.dark .single .content .highlight>.chroma .gi{color:#f16372}.dark .single .content .highlight>.chroma .go{color:#f16372}.dark .single .content .highlight>.chroma .gp{color:#f16372}.dark .single .content .highlight>.chroma .gs{color:#f16372}.dark .single .content .highlight>.chroma .gu{color:#f16372}.dark .single .content .highlight>.chroma .gt{color:#f16372}.dark .single .content .highlight>.chroma .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;left:.6rem;top:.6rem}.single .content .admonition i.details-icon{position:absolute;top:.5rem;right:.5rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .details-summary.admonition-title:hover{background-color:rgba(0,155,224,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .details-summary.admonition-title:hover{background-color:rgba(0,157,181,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .details-summary.admonition-title:hover{background-color:rgba(0,160,139,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .details-summary.admonition-title:hover{background-color:rgba(0,169,70,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .details-summary.admonition-title:hover{background-color:rgba(87,193,20,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .details-summary.admonition-title:hover{background-color:rgba(224,128,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .details-summary.admonition-title:hover{background-color:rgba(255,51,51,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .details-summary.admonition-title:hover{background-color:rgba(247,0,48,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .details-summary.admonition-title:hover{background-color:rgba(214,0,76,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .details-summary.admonition-title:hover{background-color:rgba(80,0,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .details-summary.admonition-title:hover{background-color:rgba(143,143,143,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin:0 .5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 10vw}#header-desktop .header-wrapper .header-title{font-size:1.25rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.25rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:10vw;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}#header-desktop .header-wrapper{padding:0 8vw}.search-dropdown.desktop{right:8vw}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding:0 4vw}.search-dropdown.desktop{right:4vw}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} /*# sourceMappingURL=style.fr.min.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content index 9064146..01a6e52 100644 --- a/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content +++ b/resources/_gen/assets/scss/css/style.template.scss_84a735b886b24531b6e80c5fb2060510.content @@ -1,3 +1,3 @@ -@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.dark .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark .toc .toc-content ul a::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:9999px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#ededed}.dark #toc-static .toc-title{background:#20252b}#toc-static .toc-title:hover{background:#e6e6e6}.dark #toc-static .toc-title:hover{background:#1c2025}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}.dark #toc-static .toc-content{background-color:#272C34}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C;padding:0 .4rem}.dark .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1.25em;max-height:1.25em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#acabab;background:#e1e1e1}.dark .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}.dark .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}.dark .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight>.chroma .c,.single .content .highlight>.chroma .ch,.single .content .highlight>.chroma .cm,.single .content .highlight>.chroma .c1,.single .content .highlight>.chroma .cs,.single .content .highlight>.chroma .cp,.single .content .highlight>.chroma .cpf{font-style:italic}.single .content .highlight>.chroma .gl{text-decoration:underline}.single .content .highlight>.chroma .p{color:#a9a9b3}.single .content .highlight>.chroma .k{color:#b501a9}.single .content .highlight>.chroma .kc{color:#b501a9}.single .content .highlight>.chroma .kd{color:#b501a9}.single .content .highlight>.chroma .kn{color:#b501a9}.single .content .highlight>.chroma .kp{color:#b501a9}.single .content .highlight>.chroma .kr{color:#b501a9}.single .content .highlight>.chroma .kt{color:#b501a9}.single .content .highlight>.chroma .n{color:#333}.single .content .highlight>.chroma .na{color:#2b77fa}.single .content .highlight>.chroma .nb{color:#f74840}.single .content .highlight>.chroma .bp{color:#f74840}.single .content .highlight>.chroma .nc{color:#cb8100}.single .content .highlight>.chroma .no{color:#2b77fa}.single .content .highlight>.chroma .nd{color:#0086c1}.single .content .highlight>.chroma .ni{color:#2b77fa}.single .content .highlight>.chroma .ne{color:#2b77fa}.single .content .highlight>.chroma .nf{color:#2b77fa}.single .content .highlight>.chroma .fm{color:#1ccad6}.single .content .highlight>.chroma .nl{color:#2b77fa}.single .content .highlight>.chroma .nn{color:#2b77fa}.single .content .highlight>.chroma .nx{color:#333}.single .content .highlight>.chroma .py{color:#2b77fa}.single .content .highlight>.chroma .nt{color:#2b77fa}.single .content .highlight>.chroma .nv{color:#2b77fa}.single .content .highlight>.chroma .vc{color:#2b77fa}.single .content .highlight>.chroma .vg{color:#2b77fa}.single .content .highlight>.chroma .vi{color:#2b77fa}.single .content .highlight>.chroma .vm{color:#2b77fa}.single .content .highlight>.chroma .l{color:#2aa198}.single .content .highlight>.chroma .ld{color:#2aa198}.single .content .highlight>.chroma .s{color:#24a443}.single .content .highlight>.chroma .sa{color:#24a443}.single .content .highlight>.chroma .sb{color:#24a443}.single .content .highlight>.chroma .sc{color:#24a443}.single .content .highlight>.chroma .dl{color:#24a443}.single .content .highlight>.chroma .sd{color:#24a443}.single .content .highlight>.chroma .s2{color:#24a443}.single .content .highlight>.chroma .se{color:#24a443}.single .content .highlight>.chroma .sh{color:#24a443}.single .content .highlight>.chroma .si{color:#24a443}.single .content .highlight>.chroma .sx{color:#24a443}.single .content .highlight>.chroma .sr{color:#24a443}.single .content .highlight>.chroma .s1{color:#24a443}.single .content .highlight>.chroma .ss{color:#24a443}.single .content .highlight>.chroma .m{color:#e2893c}.single .content .highlight>.chroma .mb{color:#e2893c}.single .content .highlight>.chroma .mf{color:#e2893c}.single .content .highlight>.chroma .mh{color:#e2893c}.single .content .highlight>.chroma .mi{color:#e2893c}.single .content .highlight>.chroma .il{color:#e2893c}.single .content .highlight>.chroma .mo{color:#e2893c}.single .content .highlight>.chroma .o{color:#f19b04}.single .content .highlight>.chroma .ow{color:#b501a9}.single .content .highlight>.chroma .c{color:#a0a1a8}.single .content .highlight>.chroma .ch{color:#a0a1a8}.single .content .highlight>.chroma .cm{color:#a0a1a8}.single .content .highlight>.chroma .c1{color:#a0a1a8}.single .content .highlight>.chroma .cs{color:#a0a1a8}.single .content .highlight>.chroma .cp{color:#a0a1a8}.single .content .highlight>.chroma .cpf{color:#a0a1a8}.single .content .highlight>.chroma .g{color:#e72d40}.single .content .highlight>.chroma .gd{color:#e72d40}.single .content .highlight>.chroma .ge{color:#e72d40}.single .content .highlight>.chroma .gr{color:#e72d40}.single .content .highlight>.chroma .gh{color:#e72d40}.single .content .highlight>.chroma .gi{color:#e72d40}.single .content .highlight>.chroma .go{color:#e72d40}.single .content .highlight>.chroma .gp{color:#e72d40}.single .content .highlight>.chroma .gs{color:#e72d40}.single .content .highlight>.chroma .gu{color:#e72d40}.single .content .highlight>.chroma .gt{color:#e72d40}.single .content .highlight>.chroma .w{color:#bbb}.dark .single .content .highlight>.chroma .p{color:#a9a9b3}.dark .single .content .highlight>.chroma .k{color:#d371e3}.dark .single .content .highlight>.chroma .kc{color:#d371e3}.dark .single .content .highlight>.chroma .kd{color:#d371e3}.dark .single .content .highlight>.chroma .kn{color:#d371e3}.dark .single .content .highlight>.chroma .kp{color:#d371e3}.dark .single .content .highlight>.chroma .kr{color:#d371e3}.dark .single .content .highlight>.chroma .kt{color:#d371e3}.dark .single .content .highlight>.chroma .n{color:#a9b2c0}.dark .single .content .highlight>.chroma .na{color:#41b0f5}.dark .single .content .highlight>.chroma .nb{color:#19b9c4}.dark .single .content .highlight>.chroma .bp{color:#ecbf6f}.dark .single .content .highlight>.chroma .nc{color:#ecbf6f}.dark .single .content .highlight>.chroma .no{color:#41b0f5}.dark .single .content .highlight>.chroma .nd{color:#ecbf6f}.dark .single .content .highlight>.chroma .ni{color:#41b0f5}.dark .single .content .highlight>.chroma .ne{color:#41b0f5}.dark .single .content .highlight>.chroma .nf{color:#41b0f5}.dark .single .content .highlight>.chroma .fm{color:#19b9c4}.dark .single .content .highlight>.chroma .nl{color:#41b0f5}.dark .single .content .highlight>.chroma .nn{color:#41b0f5}.dark .single .content .highlight>.chroma .nx{color:#a9a9b3}.dark .single .content .highlight>.chroma .py{color:#41b0f5}.dark .single .content .highlight>.chroma .nt{color:#41b0f5}.dark .single .content .highlight>.chroma .nv{color:#41b0f5}.dark .single .content .highlight>.chroma .vc{color:#41b0f5}.dark .single .content .highlight>.chroma .vg{color:#41b0f5}.dark .single .content .highlight>.chroma .vi{color:#41b0f5}.dark .single .content .highlight>.chroma .vm{color:#41b0f5}.dark .single .content .highlight>.chroma .l{color:#2aa198}.dark .single .content .highlight>.chroma .ld{color:#2aa198}.dark .single .content .highlight>.chroma .s{color:#8cc570}.dark .single .content .highlight>.chroma .sa{color:#8cc570}.dark .single .content .highlight>.chroma .sb{color:#8cc570}.dark .single .content .highlight>.chroma .sc{color:#8cc570}.dark .single .content .highlight>.chroma .dl{color:#8cc570}.dark .single .content .highlight>.chroma .sd{color:#8cc570}.dark .single .content .highlight>.chroma .s2{color:#8cc570}.dark .single .content .highlight>.chroma .se{color:#8cc570}.dark .single .content .highlight>.chroma .sh{color:#8cc570}.dark .single .content .highlight>.chroma .si{color:#8cc570}.dark .single .content .highlight>.chroma .sx{color:#8cc570}.dark .single .content .highlight>.chroma .sr{color:#8cc570}.dark .single .content .highlight>.chroma .s1{color:#8cc570}.dark .single .content .highlight>.chroma .ss{color:#8cc570}.dark .single .content .highlight>.chroma .m{color:#db985c}.dark .single .content .highlight>.chroma .mb{color:#db985c}.dark .single .content .highlight>.chroma .mf{color:#db985c}.dark .single .content .highlight>.chroma .mh{color:#db985c}.dark .single .content .highlight>.chroma .mi{color:#db985c}.dark .single .content .highlight>.chroma .il{color:#db985c}.dark .single .content .highlight>.chroma .mo{color:#db985c}.dark .single .content .highlight>.chroma .o{color:#ecbf6f}.dark .single .content .highlight>.chroma .ow{color:#d371e3}.dark .single .content .highlight>.chroma .c{color:#7e848f}.dark .single .content .highlight>.chroma .ch{color:#7e848f}.dark .single .content .highlight>.chroma .cm{color:#7e848f}.dark .single .content .highlight>.chroma .c1{color:#7e848f}.dark .single .content .highlight>.chroma .cs{color:#7e848f}.dark .single .content .highlight>.chroma .cp{color:#7e848f}.dark .single .content .highlight>.chroma .cpf{color:#7e848f}.dark .single .content .highlight>.chroma .g{color:#f16372}.dark .single .content .highlight>.chroma .gd{color:#f16372}.dark .single .content .highlight>.chroma .ge{color:#f16372}.dark .single .content .highlight>.chroma .gr{color:#f16372}.dark .single .content .highlight>.chroma .gh{color:#f16372}.dark .single .content .highlight>.chroma .gi{color:#f16372}.dark .single .content .highlight>.chroma .go{color:#f16372}.dark .single .content .highlight>.chroma .gp{color:#f16372}.dark .single .content .highlight>.chroma .gs{color:#f16372}.dark .single .content .highlight>.chroma .gu{color:#f16372}.dark .single .content .highlight>.chroma .gt{color:#f16372}.dark .single .content .highlight>.chroma .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;left:.6rem;top:.6rem}.single .content .admonition i.details-icon{position:absolute;top:.5rem;right:.5rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .details-summary.admonition-title:hover{background-color:rgba(0,155,224,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .details-summary.admonition-title:hover{background-color:rgba(0,157,181,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .details-summary.admonition-title:hover{background-color:rgba(0,160,139,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .details-summary.admonition-title:hover{background-color:rgba(0,169,70,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .details-summary.admonition-title:hover{background-color:rgba(87,193,20,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .details-summary.admonition-title:hover{background-color:rgba(224,128,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .details-summary.admonition-title:hover{background-color:rgba(255,51,51,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .details-summary.admonition-title:hover{background-color:rgba(247,0,48,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .details-summary.admonition-title:hover{background-color:rgba(214,0,76,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .details-summary.admonition-title:hover{background-color:rgba(80,0,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .details-summary.admonition-title:hover{background-color:rgba(143,143,143,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin:0 .5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 10vw}#header-desktop .header-wrapper .header-title{font-size:1.25rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.25rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:10vw;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}#header-desktop .header-wrapper{padding:0 8vw}.search-dropdown.desktop{right:8vw}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding:0 4vw}.search-dropdown.desktop{right:4vw}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} +@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.dark .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark .toc .toc-content ul a::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:9999px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#ededed}.dark #toc-static .toc-title{background:#20252b}#toc-static .toc-title:hover{background:#e6e6e6}.dark #toc-static .toc-title:hover{background:#1c2025}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}.dark #toc-static .toc-content{background-color:#272C34}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C;padding:0 .4rem}.dark .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1.25em;max-height:1.25em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#acabab;background:#e1e1e1}.dark .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}.dark .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}.dark .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight>.chroma .c,.single .content .highlight>.chroma .ch,.single .content .highlight>.chroma .cm,.single .content .highlight>.chroma .c1,.single .content .highlight>.chroma .cs,.single .content .highlight>.chroma .cp,.single .content .highlight>.chroma .cpf{font-style:italic}.single .content .highlight>.chroma .gl{text-decoration:underline}.single .content .highlight>.chroma .p{color:#a9a9b3}.single .content .highlight>.chroma .k{color:#b501a9}.single .content .highlight>.chroma .kc{color:#b501a9}.single .content .highlight>.chroma .kd{color:#b501a9}.single .content .highlight>.chroma .kn{color:#b501a9}.single .content .highlight>.chroma .kp{color:#b501a9}.single .content .highlight>.chroma .kr{color:#b501a9}.single .content .highlight>.chroma .kt{color:#b501a9}.single .content .highlight>.chroma .n{color:#333}.single .content .highlight>.chroma .na{color:#2b77fa}.single .content .highlight>.chroma .nb{color:#f74840}.single .content .highlight>.chroma .bp{color:#f74840}.single .content .highlight>.chroma .nc{color:#cb8100}.single .content .highlight>.chroma .no{color:#2b77fa}.single .content .highlight>.chroma .nd{color:#0086c1}.single .content .highlight>.chroma .ni{color:#2b77fa}.single .content .highlight>.chroma .ne{color:#2b77fa}.single .content .highlight>.chroma .nf{color:#2b77fa}.single .content .highlight>.chroma .fm{color:#1ccad6}.single .content .highlight>.chroma .nl{color:#2b77fa}.single .content .highlight>.chroma .nn{color:#2b77fa}.single .content .highlight>.chroma .nx{color:#333}.single .content .highlight>.chroma .py{color:#2b77fa}.single .content .highlight>.chroma .nt{color:#2b77fa}.single .content .highlight>.chroma .nv{color:#2b77fa}.single .content .highlight>.chroma .vc{color:#2b77fa}.single .content .highlight>.chroma .vg{color:#2b77fa}.single .content .highlight>.chroma .vi{color:#2b77fa}.single .content .highlight>.chroma .vm{color:#2b77fa}.single .content .highlight>.chroma .l{color:#2aa198}.single .content .highlight>.chroma .ld{color:#2aa198}.single .content .highlight>.chroma .s{color:#24a443}.single .content .highlight>.chroma .sa{color:#24a443}.single .content .highlight>.chroma .sb{color:#24a443}.single .content .highlight>.chroma .sc{color:#24a443}.single .content .highlight>.chroma .dl{color:#24a443}.single .content .highlight>.chroma .sd{color:#24a443}.single .content .highlight>.chroma .s2{color:#24a443}.single .content .highlight>.chroma .se{color:#24a443}.single .content .highlight>.chroma .sh{color:#24a443}.single .content .highlight>.chroma .si{color:#24a443}.single .content .highlight>.chroma .sx{color:#24a443}.single .content .highlight>.chroma .sr{color:#24a443}.single .content .highlight>.chroma .s1{color:#24a443}.single .content .highlight>.chroma .ss{color:#24a443}.single .content .highlight>.chroma .m{color:#e2893c}.single .content .highlight>.chroma .mb{color:#e2893c}.single .content .highlight>.chroma .mf{color:#e2893c}.single .content .highlight>.chroma .mh{color:#e2893c}.single .content .highlight>.chroma .mi{color:#e2893c}.single .content .highlight>.chroma .il{color:#e2893c}.single .content .highlight>.chroma .mo{color:#e2893c}.single .content .highlight>.chroma .o{color:#f19b04}.single .content .highlight>.chroma .ow{color:#b501a9}.single .content .highlight>.chroma .c{color:#a0a1a8}.single .content .highlight>.chroma .ch{color:#a0a1a8}.single .content .highlight>.chroma .cm{color:#a0a1a8}.single .content .highlight>.chroma .c1{color:#a0a1a8}.single .content .highlight>.chroma .cs{color:#a0a1a8}.single .content .highlight>.chroma .cp{color:#a0a1a8}.single .content .highlight>.chroma .cpf{color:#a0a1a8}.single .content .highlight>.chroma .g{color:#e72d40}.single .content .highlight>.chroma .gd{color:#e72d40}.single .content .highlight>.chroma .ge{color:#e72d40}.single .content .highlight>.chroma .gr{color:#e72d40}.single .content .highlight>.chroma .gh{color:#e72d40}.single .content .highlight>.chroma .gi{color:#e72d40}.single .content .highlight>.chroma .go{color:#e72d40}.single .content .highlight>.chroma .gp{color:#e72d40}.single .content .highlight>.chroma .gs{color:#e72d40}.single .content .highlight>.chroma .gu{color:#e72d40}.single .content .highlight>.chroma .gt{color:#e72d40}.single .content .highlight>.chroma .w{color:#bbb}.dark .single .content .highlight>.chroma .p{color:#a9a9b3}.dark .single .content .highlight>.chroma .k{color:#d371e3}.dark .single .content .highlight>.chroma .kc{color:#d371e3}.dark .single .content .highlight>.chroma .kd{color:#d371e3}.dark .single .content .highlight>.chroma .kn{color:#d371e3}.dark .single .content .highlight>.chroma .kp{color:#d371e3}.dark .single .content .highlight>.chroma .kr{color:#d371e3}.dark .single .content .highlight>.chroma .kt{color:#d371e3}.dark .single .content .highlight>.chroma .n{color:#a9b2c0}.dark .single .content .highlight>.chroma .na{color:#41b0f5}.dark .single .content .highlight>.chroma .nb{color:#19b9c4}.dark .single .content .highlight>.chroma .bp{color:#ecbf6f}.dark .single .content .highlight>.chroma .nc{color:#ecbf6f}.dark .single .content .highlight>.chroma .no{color:#41b0f5}.dark .single .content .highlight>.chroma .nd{color:#ecbf6f}.dark .single .content .highlight>.chroma .ni{color:#41b0f5}.dark .single .content .highlight>.chroma .ne{color:#41b0f5}.dark .single .content .highlight>.chroma .nf{color:#41b0f5}.dark .single .content .highlight>.chroma .fm{color:#19b9c4}.dark .single .content .highlight>.chroma .nl{color:#41b0f5}.dark .single .content .highlight>.chroma .nn{color:#41b0f5}.dark .single .content .highlight>.chroma .nx{color:#a9a9b3}.dark .single .content .highlight>.chroma .py{color:#41b0f5}.dark .single .content .highlight>.chroma .nt{color:#41b0f5}.dark .single .content .highlight>.chroma .nv{color:#41b0f5}.dark .single .content .highlight>.chroma .vc{color:#41b0f5}.dark .single .content .highlight>.chroma .vg{color:#41b0f5}.dark .single .content .highlight>.chroma .vi{color:#41b0f5}.dark .single .content .highlight>.chroma .vm{color:#41b0f5}.dark .single .content .highlight>.chroma .l{color:#2aa198}.dark .single .content .highlight>.chroma .ld{color:#2aa198}.dark .single .content .highlight>.chroma .s{color:#8cc570}.dark .single .content .highlight>.chroma .sa{color:#8cc570}.dark .single .content .highlight>.chroma .sb{color:#8cc570}.dark .single .content .highlight>.chroma .sc{color:#8cc570}.dark .single .content .highlight>.chroma .dl{color:#8cc570}.dark .single .content .highlight>.chroma .sd{color:#8cc570}.dark .single .content .highlight>.chroma .s2{color:#8cc570}.dark .single .content .highlight>.chroma .se{color:#8cc570}.dark .single .content .highlight>.chroma .sh{color:#8cc570}.dark .single .content .highlight>.chroma .si{color:#8cc570}.dark .single .content .highlight>.chroma .sx{color:#8cc570}.dark .single .content .highlight>.chroma .sr{color:#8cc570}.dark .single .content .highlight>.chroma .s1{color:#8cc570}.dark .single .content .highlight>.chroma .ss{color:#8cc570}.dark .single .content .highlight>.chroma .m{color:#db985c}.dark .single .content .highlight>.chroma .mb{color:#db985c}.dark .single .content .highlight>.chroma .mf{color:#db985c}.dark .single .content .highlight>.chroma .mh{color:#db985c}.dark .single .content .highlight>.chroma .mi{color:#db985c}.dark .single .content .highlight>.chroma .il{color:#db985c}.dark .single .content .highlight>.chroma .mo{color:#db985c}.dark .single .content .highlight>.chroma .o{color:#ecbf6f}.dark .single .content .highlight>.chroma .ow{color:#d371e3}.dark .single .content .highlight>.chroma .c{color:#7e848f}.dark .single .content .highlight>.chroma .ch{color:#7e848f}.dark .single .content .highlight>.chroma .cm{color:#7e848f}.dark .single .content .highlight>.chroma .c1{color:#7e848f}.dark .single .content .highlight>.chroma .cs{color:#7e848f}.dark .single .content .highlight>.chroma .cp{color:#7e848f}.dark .single .content .highlight>.chroma .cpf{color:#7e848f}.dark .single .content .highlight>.chroma .g{color:#f16372}.dark .single .content .highlight>.chroma .gd{color:#f16372}.dark .single .content .highlight>.chroma .ge{color:#f16372}.dark .single .content .highlight>.chroma .gr{color:#f16372}.dark .single .content .highlight>.chroma .gh{color:#f16372}.dark .single .content .highlight>.chroma .gi{color:#f16372}.dark .single .content .highlight>.chroma .go{color:#f16372}.dark .single .content .highlight>.chroma .gp{color:#f16372}.dark .single .content .highlight>.chroma .gs{color:#f16372}.dark .single .content .highlight>.chroma .gu{color:#f16372}.dark .single .content .highlight>.chroma .gt{color:#f16372}.dark .single .content .highlight>.chroma .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;left:.6rem;top:.6rem}.single .content .admonition i.details-icon{position:absolute;top:.5rem;right:.5rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .details-summary.admonition-title:hover{background-color:rgba(0,155,224,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .details-summary.admonition-title:hover{background-color:rgba(0,157,181,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .details-summary.admonition-title:hover{background-color:rgba(0,160,139,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .details-summary.admonition-title:hover{background-color:rgba(0,169,70,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .details-summary.admonition-title:hover{background-color:rgba(87,193,20,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .details-summary.admonition-title:hover{background-color:rgba(224,128,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .details-summary.admonition-title:hover{background-color:rgba(255,51,51,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .details-summary.admonition-title:hover{background-color:rgba(247,0,48,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .details-summary.admonition-title:hover{background-color:rgba(214,0,76,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .details-summary.admonition-title:hover{background-color:rgba(80,0,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .details-summary.admonition-title:hover{background-color:rgba(143,143,143,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin:0 .5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 10vw}#header-desktop .header-wrapper .header-title{font-size:1.25rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.25rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:10vw;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}#header-desktop .header-wrapper{padding:0 8vw}.search-dropdown.desktop{right:8vw}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding:0 4vw}.search-dropdown.desktop{right:4vw}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} /*# sourceMappingURL=style.en.min.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content index 94b257a..ac57cd5 100644 --- a/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content +++ b/resources/_gen/assets/scss/css/style.template.scss_d40178ffcb058d725849178b0a7a43cc.content @@ -1,3 +1,3 @@ -@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.dark .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark .toc .toc-content ul a::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:9999px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#ededed}.dark #toc-static .toc-title{background:#20252b}#toc-static .toc-title:hover{background:#e6e6e6}.dark #toc-static .toc-title:hover{background:#1c2025}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}.dark #toc-static .toc-content{background-color:#272C34}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C;padding:0 .4rem}.dark .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1.25em;max-height:1.25em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#acabab;background:#e1e1e1}.dark .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}.dark .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}.dark .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight>.chroma .c,.single .content .highlight>.chroma .ch,.single .content .highlight>.chroma .cm,.single .content .highlight>.chroma .c1,.single .content .highlight>.chroma .cs,.single .content .highlight>.chroma .cp,.single .content .highlight>.chroma .cpf{font-style:italic}.single .content .highlight>.chroma .gl{text-decoration:underline}.single .content .highlight>.chroma .p{color:#a9a9b3}.single .content .highlight>.chroma .k{color:#b501a9}.single .content .highlight>.chroma .kc{color:#b501a9}.single .content .highlight>.chroma .kd{color:#b501a9}.single .content .highlight>.chroma .kn{color:#b501a9}.single .content .highlight>.chroma .kp{color:#b501a9}.single .content .highlight>.chroma .kr{color:#b501a9}.single .content .highlight>.chroma .kt{color:#b501a9}.single .content .highlight>.chroma .n{color:#333}.single .content .highlight>.chroma .na{color:#2b77fa}.single .content .highlight>.chroma .nb{color:#f74840}.single .content .highlight>.chroma .bp{color:#f74840}.single .content .highlight>.chroma .nc{color:#cb8100}.single .content .highlight>.chroma .no{color:#2b77fa}.single .content .highlight>.chroma .nd{color:#0086c1}.single .content .highlight>.chroma .ni{color:#2b77fa}.single .content .highlight>.chroma .ne{color:#2b77fa}.single .content .highlight>.chroma .nf{color:#2b77fa}.single .content .highlight>.chroma .fm{color:#1ccad6}.single .content .highlight>.chroma .nl{color:#2b77fa}.single .content .highlight>.chroma .nn{color:#2b77fa}.single .content .highlight>.chroma .nx{color:#333}.single .content .highlight>.chroma .py{color:#2b77fa}.single .content .highlight>.chroma .nt{color:#2b77fa}.single .content .highlight>.chroma .nv{color:#2b77fa}.single .content .highlight>.chroma .vc{color:#2b77fa}.single .content .highlight>.chroma .vg{color:#2b77fa}.single .content .highlight>.chroma .vi{color:#2b77fa}.single .content .highlight>.chroma .vm{color:#2b77fa}.single .content .highlight>.chroma .l{color:#2aa198}.single .content .highlight>.chroma .ld{color:#2aa198}.single .content .highlight>.chroma .s{color:#24a443}.single .content .highlight>.chroma .sa{color:#24a443}.single .content .highlight>.chroma .sb{color:#24a443}.single .content .highlight>.chroma .sc{color:#24a443}.single .content .highlight>.chroma .dl{color:#24a443}.single .content .highlight>.chroma .sd{color:#24a443}.single .content .highlight>.chroma .s2{color:#24a443}.single .content .highlight>.chroma .se{color:#24a443}.single .content .highlight>.chroma .sh{color:#24a443}.single .content .highlight>.chroma .si{color:#24a443}.single .content .highlight>.chroma .sx{color:#24a443}.single .content .highlight>.chroma .sr{color:#24a443}.single .content .highlight>.chroma .s1{color:#24a443}.single .content .highlight>.chroma .ss{color:#24a443}.single .content .highlight>.chroma .m{color:#e2893c}.single .content .highlight>.chroma .mb{color:#e2893c}.single .content .highlight>.chroma .mf{color:#e2893c}.single .content .highlight>.chroma .mh{color:#e2893c}.single .content .highlight>.chroma .mi{color:#e2893c}.single .content .highlight>.chroma .il{color:#e2893c}.single .content .highlight>.chroma .mo{color:#e2893c}.single .content .highlight>.chroma .o{color:#f19b04}.single .content .highlight>.chroma .ow{color:#b501a9}.single .content .highlight>.chroma .c{color:#a0a1a8}.single .content .highlight>.chroma .ch{color:#a0a1a8}.single .content .highlight>.chroma .cm{color:#a0a1a8}.single .content .highlight>.chroma .c1{color:#a0a1a8}.single .content .highlight>.chroma .cs{color:#a0a1a8}.single .content .highlight>.chroma .cp{color:#a0a1a8}.single .content .highlight>.chroma .cpf{color:#a0a1a8}.single .content .highlight>.chroma .g{color:#e72d40}.single .content .highlight>.chroma .gd{color:#e72d40}.single .content .highlight>.chroma .ge{color:#e72d40}.single .content .highlight>.chroma .gr{color:#e72d40}.single .content .highlight>.chroma .gh{color:#e72d40}.single .content .highlight>.chroma .gi{color:#e72d40}.single .content .highlight>.chroma .go{color:#e72d40}.single .content .highlight>.chroma .gp{color:#e72d40}.single .content .highlight>.chroma .gs{color:#e72d40}.single .content .highlight>.chroma .gu{color:#e72d40}.single .content .highlight>.chroma .gt{color:#e72d40}.single .content .highlight>.chroma .w{color:#bbb}.dark .single .content .highlight>.chroma .p{color:#a9a9b3}.dark .single .content .highlight>.chroma .k{color:#d371e3}.dark .single .content .highlight>.chroma .kc{color:#d371e3}.dark .single .content .highlight>.chroma .kd{color:#d371e3}.dark .single .content .highlight>.chroma .kn{color:#d371e3}.dark .single .content .highlight>.chroma .kp{color:#d371e3}.dark .single .content .highlight>.chroma .kr{color:#d371e3}.dark .single .content .highlight>.chroma .kt{color:#d371e3}.dark .single .content .highlight>.chroma .n{color:#a9b2c0}.dark .single .content .highlight>.chroma .na{color:#41b0f5}.dark .single .content .highlight>.chroma .nb{color:#19b9c4}.dark .single .content .highlight>.chroma .bp{color:#ecbf6f}.dark .single .content .highlight>.chroma .nc{color:#ecbf6f}.dark .single .content .highlight>.chroma .no{color:#41b0f5}.dark .single .content .highlight>.chroma .nd{color:#ecbf6f}.dark .single .content .highlight>.chroma .ni{color:#41b0f5}.dark .single .content .highlight>.chroma .ne{color:#41b0f5}.dark .single .content .highlight>.chroma .nf{color:#41b0f5}.dark .single .content .highlight>.chroma .fm{color:#19b9c4}.dark .single .content .highlight>.chroma .nl{color:#41b0f5}.dark .single .content .highlight>.chroma .nn{color:#41b0f5}.dark .single .content .highlight>.chroma .nx{color:#a9a9b3}.dark .single .content .highlight>.chroma .py{color:#41b0f5}.dark .single .content .highlight>.chroma .nt{color:#41b0f5}.dark .single .content .highlight>.chroma .nv{color:#41b0f5}.dark .single .content .highlight>.chroma .vc{color:#41b0f5}.dark .single .content .highlight>.chroma .vg{color:#41b0f5}.dark .single .content .highlight>.chroma .vi{color:#41b0f5}.dark .single .content .highlight>.chroma .vm{color:#41b0f5}.dark .single .content .highlight>.chroma .l{color:#2aa198}.dark .single .content .highlight>.chroma .ld{color:#2aa198}.dark .single .content .highlight>.chroma .s{color:#8cc570}.dark .single .content .highlight>.chroma .sa{color:#8cc570}.dark .single .content .highlight>.chroma .sb{color:#8cc570}.dark .single .content .highlight>.chroma .sc{color:#8cc570}.dark .single .content .highlight>.chroma .dl{color:#8cc570}.dark .single .content .highlight>.chroma .sd{color:#8cc570}.dark .single .content .highlight>.chroma .s2{color:#8cc570}.dark .single .content .highlight>.chroma .se{color:#8cc570}.dark .single .content .highlight>.chroma .sh{color:#8cc570}.dark .single .content .highlight>.chroma .si{color:#8cc570}.dark .single .content .highlight>.chroma .sx{color:#8cc570}.dark .single .content .highlight>.chroma .sr{color:#8cc570}.dark .single .content .highlight>.chroma .s1{color:#8cc570}.dark .single .content .highlight>.chroma .ss{color:#8cc570}.dark .single .content .highlight>.chroma .m{color:#db985c}.dark .single .content .highlight>.chroma .mb{color:#db985c}.dark .single .content .highlight>.chroma .mf{color:#db985c}.dark .single .content .highlight>.chroma .mh{color:#db985c}.dark .single .content .highlight>.chroma .mi{color:#db985c}.dark .single .content .highlight>.chroma .il{color:#db985c}.dark .single .content .highlight>.chroma .mo{color:#db985c}.dark .single .content .highlight>.chroma .o{color:#ecbf6f}.dark .single .content .highlight>.chroma .ow{color:#d371e3}.dark .single .content .highlight>.chroma .c{color:#7e848f}.dark .single .content .highlight>.chroma .ch{color:#7e848f}.dark .single .content .highlight>.chroma .cm{color:#7e848f}.dark .single .content .highlight>.chroma .c1{color:#7e848f}.dark .single .content .highlight>.chroma .cs{color:#7e848f}.dark .single .content .highlight>.chroma .cp{color:#7e848f}.dark .single .content .highlight>.chroma .cpf{color:#7e848f}.dark .single .content .highlight>.chroma .g{color:#f16372}.dark .single .content .highlight>.chroma .gd{color:#f16372}.dark .single .content .highlight>.chroma .ge{color:#f16372}.dark .single .content .highlight>.chroma .gr{color:#f16372}.dark .single .content .highlight>.chroma .gh{color:#f16372}.dark .single .content .highlight>.chroma .gi{color:#f16372}.dark .single .content .highlight>.chroma .go{color:#f16372}.dark .single .content .highlight>.chroma .gp{color:#f16372}.dark .single .content .highlight>.chroma .gs{color:#f16372}.dark .single .content .highlight>.chroma .gu{color:#f16372}.dark .single .content .highlight>.chroma .gt{color:#f16372}.dark .single .content .highlight>.chroma .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;left:.6rem;top:.6rem}.single .content .admonition i.details-icon{position:absolute;top:.5rem;right:.5rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .details-summary.admonition-title:hover{background-color:rgba(0,155,224,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .details-summary.admonition-title:hover{background-color:rgba(0,157,181,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .details-summary.admonition-title:hover{background-color:rgba(0,160,139,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .details-summary.admonition-title:hover{background-color:rgba(0,169,70,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .details-summary.admonition-title:hover{background-color:rgba(87,193,20,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .details-summary.admonition-title:hover{background-color:rgba(224,128,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .details-summary.admonition-title:hover{background-color:rgba(255,51,51,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .details-summary.admonition-title:hover{background-color:rgba(247,0,48,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .details-summary.admonition-title:hover{background-color:rgba(214,0,76,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .details-summary.admonition-title:hover{background-color:rgba(80,0,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .details-summary.admonition-title:hover{background-color:rgba(143,143,143,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin:0 .5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 10vw}#header-desktop .header-wrapper .header-title{font-size:1.25rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.25rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:10vw;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}#header-desktop .header-wrapper{padding:0 8vw}.search-dropdown.desktop{right:8vw}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding:0 4vw}.search-dropdown.desktop{right:4vw}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} +@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800&display=swap");html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}.dark ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;overflow-wrap:break-word;scrollbar-color:auto}body.dark{color:#a9a9b3;background-color:#292a2d}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}a{text-decoration:none}a{color:#161209}.dark a{color:#a9a9b3}a:active,a:hover{color:#2d96bd}.dark a:active,.dark a:hover{color:#fff}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.dark .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.details.open .details-content{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}.dark .fixed-button{color:#5d5d5f;background:#252627}.dark .fixed-button:hover,.dark .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.wrapper{display:flex;flex-direction:column;min-height:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto;padding-top:3.5rem}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark .toc .toc-content ul a::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}.dark .toc ruby{background:#272C34}.dark .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:9999px;padding:0 .8rem;border-left:4px solid #f0f0f0;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:9999px}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.dark #toc-auto{border-left:1px solid #4a4b50}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}.dark #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}.dark #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#ededed}.dark #toc-static .toc-title{background:#20252b}#toc-static .toc-title:hover{background:#e6e6e6}.dark #toc-static .toc-title:hover{background:#1c2025}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}.dark #toc-static .toc-content{background-color:#272C34}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}.dark .single .post-meta{color:#5d5d5f}.single .post-meta a{color:#2d96bd}.dark .single .post-meta a{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}.dark .single .post-meta a:active,.dark .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;width:100%;height:auto;margin:0 auto;overflow:hidden}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}.dark .single .content h2,.dark .single .content h3,.dark .single .content h4,.dark .single .content h5,.dark .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark .single .content>h2>.header-mark::before,.dark .single .content>h3>.header-mark::before,.dark .single .content>h4>.header-mark::before,.dark .single .content>h5>.header-mark::before,.dark .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}.dark .single .content b,.dark .single .content strong{color:#ddd}.single .content a{color:#2d96bd}.dark .single .content a{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}.dark .single .content a:active,.dark .single .content a:hover{color:#bdebfc}.single .content a{word-break:break-all;word-break:break-word}.dark .single .content a b,.dark .single .content a strong{color:#55bde2}.single .content .dark a:hover b,.single .content .dark a:hover strong{color:#bdebfc}.single .content ul{margin:.5rem 0;padding-left:2rem;list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}.dark .single .content ruby{background:#272C34}.dark .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}.dark .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}.dark .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}.dark .single .content .table-wrapper>table th,.dark .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{object-fit:none}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}.dark .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}.dark .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C;padding:0 .4rem}.dark .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1.25em;max-height:1.25em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}.dark .single .content code,.dark .single .content pre,.dark .single .content .highlight table,.dark .single .content .highlight tr,.dark .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight>.chroma{position:relative;line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;color:#acabab;background:#e1e1e1}.dark .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{padding-left:.75rem;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}.dark .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}.dark .single .content .highlight>.chroma .ln,.dark .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}.dark .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}.dark .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:9999px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight>.chroma .c,.single .content .highlight>.chroma .ch,.single .content .highlight>.chroma .cm,.single .content .highlight>.chroma .c1,.single .content .highlight>.chroma .cs,.single .content .highlight>.chroma .cp,.single .content .highlight>.chroma .cpf{font-style:italic}.single .content .highlight>.chroma .gl{text-decoration:underline}.single .content .highlight>.chroma .p{color:#a9a9b3}.single .content .highlight>.chroma .k{color:#b501a9}.single .content .highlight>.chroma .kc{color:#b501a9}.single .content .highlight>.chroma .kd{color:#b501a9}.single .content .highlight>.chroma .kn{color:#b501a9}.single .content .highlight>.chroma .kp{color:#b501a9}.single .content .highlight>.chroma .kr{color:#b501a9}.single .content .highlight>.chroma .kt{color:#b501a9}.single .content .highlight>.chroma .n{color:#333}.single .content .highlight>.chroma .na{color:#2b77fa}.single .content .highlight>.chroma .nb{color:#f74840}.single .content .highlight>.chroma .bp{color:#f74840}.single .content .highlight>.chroma .nc{color:#cb8100}.single .content .highlight>.chroma .no{color:#2b77fa}.single .content .highlight>.chroma .nd{color:#0086c1}.single .content .highlight>.chroma .ni{color:#2b77fa}.single .content .highlight>.chroma .ne{color:#2b77fa}.single .content .highlight>.chroma .nf{color:#2b77fa}.single .content .highlight>.chroma .fm{color:#1ccad6}.single .content .highlight>.chroma .nl{color:#2b77fa}.single .content .highlight>.chroma .nn{color:#2b77fa}.single .content .highlight>.chroma .nx{color:#333}.single .content .highlight>.chroma .py{color:#2b77fa}.single .content .highlight>.chroma .nt{color:#2b77fa}.single .content .highlight>.chroma .nv{color:#2b77fa}.single .content .highlight>.chroma .vc{color:#2b77fa}.single .content .highlight>.chroma .vg{color:#2b77fa}.single .content .highlight>.chroma .vi{color:#2b77fa}.single .content .highlight>.chroma .vm{color:#2b77fa}.single .content .highlight>.chroma .l{color:#2aa198}.single .content .highlight>.chroma .ld{color:#2aa198}.single .content .highlight>.chroma .s{color:#24a443}.single .content .highlight>.chroma .sa{color:#24a443}.single .content .highlight>.chroma .sb{color:#24a443}.single .content .highlight>.chroma .sc{color:#24a443}.single .content .highlight>.chroma .dl{color:#24a443}.single .content .highlight>.chroma .sd{color:#24a443}.single .content .highlight>.chroma .s2{color:#24a443}.single .content .highlight>.chroma .se{color:#24a443}.single .content .highlight>.chroma .sh{color:#24a443}.single .content .highlight>.chroma .si{color:#24a443}.single .content .highlight>.chroma .sx{color:#24a443}.single .content .highlight>.chroma .sr{color:#24a443}.single .content .highlight>.chroma .s1{color:#24a443}.single .content .highlight>.chroma .ss{color:#24a443}.single .content .highlight>.chroma .m{color:#e2893c}.single .content .highlight>.chroma .mb{color:#e2893c}.single .content .highlight>.chroma .mf{color:#e2893c}.single .content .highlight>.chroma .mh{color:#e2893c}.single .content .highlight>.chroma .mi{color:#e2893c}.single .content .highlight>.chroma .il{color:#e2893c}.single .content .highlight>.chroma .mo{color:#e2893c}.single .content .highlight>.chroma .o{color:#f19b04}.single .content .highlight>.chroma .ow{color:#b501a9}.single .content .highlight>.chroma .c{color:#a0a1a8}.single .content .highlight>.chroma .ch{color:#a0a1a8}.single .content .highlight>.chroma .cm{color:#a0a1a8}.single .content .highlight>.chroma .c1{color:#a0a1a8}.single .content .highlight>.chroma .cs{color:#a0a1a8}.single .content .highlight>.chroma .cp{color:#a0a1a8}.single .content .highlight>.chroma .cpf{color:#a0a1a8}.single .content .highlight>.chroma .g{color:#e72d40}.single .content .highlight>.chroma .gd{color:#e72d40}.single .content .highlight>.chroma .ge{color:#e72d40}.single .content .highlight>.chroma .gr{color:#e72d40}.single .content .highlight>.chroma .gh{color:#e72d40}.single .content .highlight>.chroma .gi{color:#e72d40}.single .content .highlight>.chroma .go{color:#e72d40}.single .content .highlight>.chroma .gp{color:#e72d40}.single .content .highlight>.chroma .gs{color:#e72d40}.single .content .highlight>.chroma .gu{color:#e72d40}.single .content .highlight>.chroma .gt{color:#e72d40}.single .content .highlight>.chroma .w{color:#bbb}.dark .single .content .highlight>.chroma .p{color:#a9a9b3}.dark .single .content .highlight>.chroma .k{color:#d371e3}.dark .single .content .highlight>.chroma .kc{color:#d371e3}.dark .single .content .highlight>.chroma .kd{color:#d371e3}.dark .single .content .highlight>.chroma .kn{color:#d371e3}.dark .single .content .highlight>.chroma .kp{color:#d371e3}.dark .single .content .highlight>.chroma .kr{color:#d371e3}.dark .single .content .highlight>.chroma .kt{color:#d371e3}.dark .single .content .highlight>.chroma .n{color:#a9b2c0}.dark .single .content .highlight>.chroma .na{color:#41b0f5}.dark .single .content .highlight>.chroma .nb{color:#19b9c4}.dark .single .content .highlight>.chroma .bp{color:#ecbf6f}.dark .single .content .highlight>.chroma .nc{color:#ecbf6f}.dark .single .content .highlight>.chroma .no{color:#41b0f5}.dark .single .content .highlight>.chroma .nd{color:#ecbf6f}.dark .single .content .highlight>.chroma .ni{color:#41b0f5}.dark .single .content .highlight>.chroma .ne{color:#41b0f5}.dark .single .content .highlight>.chroma .nf{color:#41b0f5}.dark .single .content .highlight>.chroma .fm{color:#19b9c4}.dark .single .content .highlight>.chroma .nl{color:#41b0f5}.dark .single .content .highlight>.chroma .nn{color:#41b0f5}.dark .single .content .highlight>.chroma .nx{color:#a9a9b3}.dark .single .content .highlight>.chroma .py{color:#41b0f5}.dark .single .content .highlight>.chroma .nt{color:#41b0f5}.dark .single .content .highlight>.chroma .nv{color:#41b0f5}.dark .single .content .highlight>.chroma .vc{color:#41b0f5}.dark .single .content .highlight>.chroma .vg{color:#41b0f5}.dark .single .content .highlight>.chroma .vi{color:#41b0f5}.dark .single .content .highlight>.chroma .vm{color:#41b0f5}.dark .single .content .highlight>.chroma .l{color:#2aa198}.dark .single .content .highlight>.chroma .ld{color:#2aa198}.dark .single .content .highlight>.chroma .s{color:#8cc570}.dark .single .content .highlight>.chroma .sa{color:#8cc570}.dark .single .content .highlight>.chroma .sb{color:#8cc570}.dark .single .content .highlight>.chroma .sc{color:#8cc570}.dark .single .content .highlight>.chroma .dl{color:#8cc570}.dark .single .content .highlight>.chroma .sd{color:#8cc570}.dark .single .content .highlight>.chroma .s2{color:#8cc570}.dark .single .content .highlight>.chroma .se{color:#8cc570}.dark .single .content .highlight>.chroma .sh{color:#8cc570}.dark .single .content .highlight>.chroma .si{color:#8cc570}.dark .single .content .highlight>.chroma .sx{color:#8cc570}.dark .single .content .highlight>.chroma .sr{color:#8cc570}.dark .single .content .highlight>.chroma .s1{color:#8cc570}.dark .single .content .highlight>.chroma .ss{color:#8cc570}.dark .single .content .highlight>.chroma .m{color:#db985c}.dark .single .content .highlight>.chroma .mb{color:#db985c}.dark .single .content .highlight>.chroma .mf{color:#db985c}.dark .single .content .highlight>.chroma .mh{color:#db985c}.dark .single .content .highlight>.chroma .mi{color:#db985c}.dark .single .content .highlight>.chroma .il{color:#db985c}.dark .single .content .highlight>.chroma .mo{color:#db985c}.dark .single .content .highlight>.chroma .o{color:#ecbf6f}.dark .single .content .highlight>.chroma .ow{color:#d371e3}.dark .single .content .highlight>.chroma .c{color:#7e848f}.dark .single .content .highlight>.chroma .ch{color:#7e848f}.dark .single .content .highlight>.chroma .cm{color:#7e848f}.dark .single .content .highlight>.chroma .c1{color:#7e848f}.dark .single .content .highlight>.chroma .cs{color:#7e848f}.dark .single .content .highlight>.chroma .cp{color:#7e848f}.dark .single .content .highlight>.chroma .cpf{color:#7e848f}.dark .single .content .highlight>.chroma .g{color:#f16372}.dark .single .content .highlight>.chroma .gd{color:#f16372}.dark .single .content .highlight>.chroma .ge{color:#f16372}.dark .single .content .highlight>.chroma .gr{color:#f16372}.dark .single .content .highlight>.chroma .gh{color:#f16372}.dark .single .content .highlight>.chroma .gi{color:#f16372}.dark .single .content .highlight>.chroma .go{color:#f16372}.dark .single .content .highlight>.chroma .gp{color:#f16372}.dark .single .content .highlight>.chroma .gs{color:#f16372}.dark .single .content .highlight>.chroma .gu{color:#f16372}.dark .single .content .highlight>.chroma .gt{color:#f16372}.dark .single .content .highlight>.chroma .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a{color:#2d96bd}.dark .single .content .gist .gist-meta a{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}.dark .single .content .gist .gist-meta a:active,.dark .single .content .gist .gist-meta a:hover{color:#bdebfc}.dark .single .content .gist .gist-meta{background-color:#1c2025}.dark .single .content .gist .highlight{background:#141414}.dark .single .content .gist .blob-num,.dark .single .content .gist .blob-code-inner,.dark .single .content .gist .highlight,.dark .single .content .gist .pl-enm,.dark .single .content .gist .pl-ko,.dark .single .content .gist .pl-mo,.dark .single .content .gist .pl-mp1 .pl-sf,.dark .single .content .gist .pl-ms,.dark .single .content .gist .pl-pdc1,.dark .single .content .gist .pl-scp,.dark .single .content .gist .pl-smc,.dark .single .content .gist .pl-som,.dark .single .content .gist .pl-va,.dark .single .content .gist .pl-vpf,.dark .single .content .gist .pl-vpu,.dark .single .content .gist .pl-mdr{color:#aab1bf}.dark .single .content .gist .pl-mb,.dark .single .content .gist .pl-pdb{font-weight:700}.dark .single .content .gist .pl-c,.dark .single .content .gist .pl-c span,.dark .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}.dark .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}.dark .single .content .gist .pl-ef,.dark .single .content .gist .pl-en,.dark .single .content .gist .pl-enf,.dark .single .content .gist .pl-eoai,.dark .single .content .gist .pl-kos,.dark .single .content .gist .pl-mh .pl-pdh,.dark .single .content .gist .pl-mr{color:#61afef}.dark .single .content .gist .pl-ens,.dark .single .content .gist .pl-vi{color:#be5046}.dark .single .content .gist .pl-enti,.dark .single .content .gist .pl-mai .pl-sf,.dark .single .content .gist .pl-ml,.dark .single .content .gist .pl-sf,.dark .single .content .gist .pl-sr,.dark .single .content .gist .pl-sr .pl-sra,.dark .single .content .gist .pl-src,.dark .single .content .gist .pl-st,.dark .single .content .gist .pl-vo{color:#56b5c2}.dark .single .content .gist .pl-eoi,.dark .single .content .gist .pl-mri,.dark .single .content .gist .pl-pds,.dark .single .content .gist .pl-pse .pl-s1,.dark .single .content .gist .pl-s,.dark .single .content .gist .pl-s1{color:#97c279}.dark .single .content .gist .pl-k,.dark .single .content .gist .pl-kolp,.dark .single .content .gist .pl-mc,.dark .single .content .gist .pl-pde{color:#c578dd}.dark .single .content .gist .pl-mi,.dark .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}.dark .single .content .gist .pl-mp,.dark .single .content .gist .pl-stp{color:#818896}.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi,.dark .single .content .gist .pl-mdr{font-weight:400}.dark .single .content .gist .pl-mdht,.dark .single .content .gist .pl-mi1{color:#97c279;background:#020}.dark .single .content .gist .pl-md,.dark .single .content .gist .pl-mdhf{color:#df6b75;background:#200}.dark .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}.dark .single .content .gist .pl-ib{background:#df6b75}.dark .single .content .gist .pl-ii{background:#e0c184;color:#fff}.dark .single .content .gist .pl-iu{background:#e05151}.dark .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}.dark .single .content .gist .pl-c1,.dark .single .content .gist .pl-cn,.dark .single .content .gist .pl-e,.dark .single .content .gist .pl-eoa,.dark .single .content .gist .pl-eoac,.dark .single .content .gist .pl-eoac .pl-pde,.dark .single .content .gist .pl-kou,.dark .single .content .gist .pl-mm,.dark .single .content .gist .pl-mp .pl-s3,.dark .single .content .gist .pl-mq,.dark .single .content .gist .pl-s3,.dark .single .content .gist .pl-sok,.dark .single .content .gist .pl-sv,.dark .single .content .gist .pl-mb{color:#d19965}.dark .single .content .gist .pl-enc,.dark .single .content .gist .pl-entc,.dark .single .content .gist .pl-pse .pl-s2,.dark .single .content .gist .pl-s2,.dark .single .content .gist .pl-sc,.dark .single .content .gist .pl-smp,.dark .single .content .gist .pl-sr .pl-sre,.dark .single .content .gist .pl-stj,.dark .single .content .gist .pl-v,.dark .single .content .gist .pl-pdb{color:#e4bf7a}.dark .single .content .gist .pl-ent,.dark .single .content .gist .pl-entl,.dark .single .content .gist .pl-entm,.dark .single .content .gist .pl-mh,.dark .single .content .gist .pl-pdv,.dark .single .content .gist .pl-smi,.dark .single .content .gist .pl-sol,.dark .single .content .gist .pl-mdh,.dark .single .content .gist .pl-mdi{color:#df6b75}.dark .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{margin:0 -0.75rem;padding:.2rem .75rem .2rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;left:.6rem;top:.6rem}.single .content .admonition i.details-icon{position:absolute;top:.5rem;right:.5rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .details-summary.admonition-title:hover{background-color:rgba(37,119,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .details-summary.admonition-title:hover{background-color:rgba(0,155,224,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .details-summary.admonition-title:hover{background-color:rgba(0,157,181,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .details-summary.admonition-title:hover{background-color:rgba(0,160,139,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .details-summary.admonition-title:hover{background-color:rgba(0,169,70,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .details-summary.admonition-title:hover{background-color:rgba(87,193,20,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .details-summary.admonition-title:hover{background-color:rgba(224,128,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .details-summary.admonition-title:hover{background-color:rgba(255,51,51,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .details-summary.admonition-title:hover{background-color:rgba(247,0,48,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .details-summary.admonition-title:hover{background-color:rgba(214,0,76,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .details-summary.admonition-title:hover{background-color:rgba(80,0,255,0.1)}.single .content .admonition.quote{background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.single .content .admonition.quote .details-summary.admonition-title:hover{background-color:rgba(143,143,143,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}.dark .single .content hr{border-top:1px dashed #4a4b50}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}.dark .single .content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}.dark .single .post-footer .post-info{border-bottom:1px solid #4a4b50}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-mod a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-mod a:active,.dark .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a{color:#2d96bd}.dark .single .post-footer .post-info .post-info-line .post-info-md a{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark .single .post-footer .post-info .post-info-line .post-info-md a:active,.dark .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single .comment{padding:4rem 0}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark .archive .archive-item-link{color:#a9a9b3}.dark .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}.dark .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{color:#161209}.dark .archive .tag-cloud-tags a{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}.dark .archive .tag-cloud-tags a:active,.dark .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}.dark .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding:2rem 0 0.5rem;text-align:center}.home .home-profile .home-avatar{padding:0.6rem}.home .home-profile .home-avatar img{display:inline-block;width:6rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;cursor:pointer}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.4rem}.home .home-profile .social-links{padding:.4rem .2rem;font-size:1.6rem}.home .home-profile .social-links a *{vertical-align:text-bottom}.home .home-profile .social-links img{height:1.4rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.4rem;font-weight:normal;margin:0;padding:.4rem;color:#a9a9b3}.dark .home .home-profile .home-disclaimer{color:#5d5d5f}.home .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.dark .home .summary{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.home .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.home .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .home .summary .content{color:#5d5d5f}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6,.home .summary .content p{font-size:1rem;display:inline}.home .summary .content h2::after,.home .summary .content h3::after,.home .summary .content h4::after,.home .summary .content h5::after,.home .summary .content h6::after,.home .summary .content p::after{content:"\A";white-space:pre}.home .summary .content h2,.home .summary .content h3,.home .summary .content h4,.home .summary .content h5,.home .summary .content h6{line-height:2}.home .summary .content h2::before,.home .summary .content h3::before,.home .summary .content h4::before,.home .summary .content h5::before,.home .summary .content h6::before{content:"|";margin-right:.3125rem;color:#161209}.dark .home .summary .content h2::before,.dark .home .summary .content h3::before,.dark .home .summary .content h4::before,.dark .home .summary .content h5::before,.dark .home .summary .content h6::before{color:#a9a9b3}.home .summary .content h2{font-size:1.2rem}.home .summary .content h2::before{content:"#"}.home .summary .content a{color:#161209}.dark .home .summary .content a{color:#a9a9b3}.home .summary .content a:active,.home .summary .content a:hover{color:#2d96bd}.dark .home .summary .content a:active,.dark .home .summary .content a:hover{color:#fff}.dark .home .summary .content b,.dark .home .summary .content strong{color:#5d5d5f}.home .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home .summary .post-footer a{color:#2d96bd}.dark .home .summary .post-footer a{color:#55bde2}.home .summary .post-footer a:active,.home .summary .post-footer a:hover{color:#ef3982}.dark .home .summary .post-footer a:active,.dark .home .summary .post-footer a:hover{color:#bdebfc}.home .summary .post-footer .post-tags{padding:0}.home .summary .post-footer .post-tags a{color:#161209}.dark .home .summary .post-footer .post-tags a{color:#a9a9b3}.home .summary .post-footer .post-tags a:active,.home .summary .post-footer .post-tags a:hover{color:#2d96bd}.dark .home .summary .post-footer .post-tags a:active,.dark .home .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8}.dark header{background-color:#252627}header .logo{min-height:1.25em;height:1.25em;vertical-align:text-bottom;padding-right:.25rem}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin:0 .5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.dark .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}.dark .open .search input,.dark .search.mobile input{color:#a9a9b3;background-color:#363636}.dark .open .search input::-webkit-input-placeholder,.dark .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}.dark .open .search input:-moz-placeholder,.dark .search.mobile input:-moz-placeholder{color:#5d5d5f}.dark .open .search input::-moz-placeholder,.dark .search.mobile input::-moz-placeholder{color:#5d5d5f}.dark .open .search input:-ms-input-placeholder,.dark .search.mobile input:-ms-input-placeholder{color:#5d5d5f}.dark .open .search input::placeholder,.dark .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}.dark .open .search .search-button,.dark .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}#header-desktop .header-wrapper{padding:0 10vw}#header-desktop .header-wrapper .header-title{font-size:1.25rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}.dark #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#4a4b50}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}.dark #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.25rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.dark #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}.dark #header-mobile .header-container .menu{background:#252627;border-top-color:#4a4b50}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:10vw;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}.dark .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;color:#a9a9b3}.dark .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}.dark .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}.dark .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}.dark .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer .dark{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a{color:#2d96bd}.dark .search-dropdown .dropdown-menu .search-footer a{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}.dark .search-dropdown .dropdown-menu .search-footer a:active,.dark .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}.dark .pagination li:before,.dark .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}#header-desktop .header-wrapper{padding:0 8vw}.search-dropdown.desktop{right:8vw}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding:0 4vw}.search-dropdown.desktop{right:4vw}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%;padding-top:3.5rem}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}} /*# sourceMappingURL=style.zh-cn.min.css.map */ \ No newline at end of file diff --git a/src/js/theme.js b/src/js/theme.js index 0f91b24..bf00f1b 100644 --- a/src/js/theme.js +++ b/src/js/theme.js @@ -42,7 +42,7 @@ class Theme { this.clickMaskEventSet = new Set(); } - initIcon() { + initSVGIcon() { this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => { fetch($icon.getAttribute('data-svg-src')) .then(response => response.text()) @@ -58,6 +58,10 @@ class Theme { }); } + initTwemoji() { + if (this.config.twemoji) twemoji.parse(document.body); + } + initMenuMobile() { const $menuToggleMobile = document.getElementById('menu-toggle-mobile'); const $menuMobile = document.getElementById('menu-mobile'); @@ -638,7 +642,8 @@ class Theme { } init() { - this.initIcon(); + this.initSVGIcon(); + this.initTwemoji(); this.initMenuMobile(); this.initSwitchTheme(); this.initSearch();