diff --git a/CHANGELOG.md b/CHANGELOG.md index bbbfab88c..459294940 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## v0.29.1 (2022-11-21) + + * Enhancements + * Add optional function annotations + * Support media print on stylesheets + * Add download ePub link to footer + * Support extras for Erlang + * Add tooltip to functions on sidebar + * Disable spellcheck and autocorrect on search input + + * Bug fix + * Special handle functions called `record/*` in Erlang + + * Deprecations + * Rename `:groups_for_functions` to `:groups_for_docs` + ## v0.29.0 (2022-10-19) * Enhancements diff --git a/Cheatsheet.cheatmd b/Cheatsheet.cheatmd index 7ae278331..49a715c88 100644 --- a/Cheatsheet.cheatmd +++ b/Cheatsheet.cheatmd @@ -38,10 +38,9 @@ Several paragraphs are visually distinct. - Element 2 - `piece of code` - ### Table -#### Date +#### Date (H4 header) | Example | Output | | --- | --- | @@ -49,8 +48,6 @@ Several paragraphs are visually distinct. | `%A, %B %e, %Y` | `Sunday, June 5, 2013` | | `%b %e %a` | `Jun 5 Sun` | -This is a basic table with a h4 header. - ## Variants {: .col-2} @@ -118,7 +115,7 @@ defmodule MyTracer do end ``` -Long lines will have scrollbars on hover. +Long lines show scrollbars. ### Line wrapping diff --git a/LICENSE b/LICENSE index 3792b3eaa..ff133ccf5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ -ExDoc -Copyright (c) 2012 Plataformatec +Copyright 2012 Plataformatec +Copyright 2021 The Elixir Team https://github.com/elixir-lang/ex_doc/ Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/README.md b/README.md index 74a7c8bbc..e0c605f18 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # ExDoc [![Build Status](https://github.com/elixir-lang/ex_doc/workflows/CI/badge.svg)](https://github.com/elixir-lang/ex_doc/actions?query=workflow%3A%22CI%22) -[![Coverage Status](https://coveralls.io/repos/github/elixir-lang/ex_doc/badge.svg?branch=master)](https://coveralls.io/github/elixir-lang/ex_doc?branch=master) ExDoc is a tool to generate documentation for your Elixir projects. To see an example, [you can access Elixir's official docs](https://hexdocs.pm/elixir/). @@ -15,7 +14,7 @@ ExDoc ships with many features: * Automatically generates HTML and EPUB documents from your API documentation * Responsive design with built-in layout for phones and tablets - * Support for custom pages, guides, and livebooks (in addition to the API reference) + * Support for custom pages, guides, livebooks, and cheatsheets * Support for custom grouping of modules, functions, and pages in the sidebar * Generates HTML documentation accessible online and offline * Customizable logo on the generated documentation @@ -80,7 +79,7 @@ From Erlang/OTP 24+, you can use ExDoc to render your Erlang documentation writt ### Using ExDoc via command line -You can ExDoc via the command line as follows: +You can use ExDoc via the command line as follows: 1. Install ExDoc as an escript: @@ -119,6 +118,24 @@ ExDoc uses [the makeup project](https://github.com/elixir-makeup/makeup) for syn You can find all support languages [under the Makeup organization on GitHub](https://github.com/elixir-makeup) and [view them on Makeup's website](https://elixir-makeup.github.io/makeup_demo/). +## Additional pages + +You can publish additional pages in your project documentation by configuring them as `:extras`. The following formats and extensions are supported: + + * Markdown (`.md` extension) - useful for general long-term text. [Learn more](https://daringfireball.net/projects/markdown/syntax). + + * Cheatsheets (`.cheatmd` extension) - useful for discovery and quick reference. [Learn more](https://hexdocs.pm/ex_doc/cheatsheet.html). + + * Livebooks (`.livemd` extension) - useful for tutorials, interactive examples, and deep dives. [Learn more](https://livebook.dev/). + +For example, you can set your `:extras` to: + +```elixir +extras: ["README.md", "LICENSE", "tutorial.livemd", "cheatsheet.cheatmd"] +``` + +Run `mix help docs` for more information on configuration. + ## Metadata ExDoc supports metadata keys in your documentation. For example, the `since` metadata is used to annotate from when a given module/function is available. In Elixir, you can add metadata to modules and functions, respectively, like this: diff --git a/assets/css/_html.css b/assets/css/_html.css index e4e683e47..66d747786 100644 --- a/assets/css/_html.css +++ b/assets/css/_html.css @@ -33,6 +33,7 @@ @import 'toast.css'; @import 'screen-reader.css'; @import 'print.css'; +@import 'print-cheatsheet.css'; @import 'makeup.css'; diff --git a/assets/css/content/cheatsheet.css b/assets/css/content/cheatsheet.css index 39034e2af..ab75935ef 100644 --- a/assets/css/content/cheatsheet.css +++ b/assets/css/content/cheatsheet.css @@ -1,283 +1,285 @@ -.page-cheatmd .content-inner { - max-width: 1200px; -} - -/* h1 styling */ - -.page-cheatmd h1 { - margin-bottom: 1em; -} - -/* h2 styling */ - -.page-cheatmd h2 { - margin: 1em 0; - column-span: all; - padding-left: 3px; - color: var(--gray700); - font-weight: 500; -} - -.page-cheatmd.dark h2 { - color: var(--gray200); -} - -/* h3 styling */ - -.page-cheatmd h3 { - white-space: nowrap; - overflow: hidden; - margin: 0 0 1em; - padding-left: 5px; - color: var(--main); - font-weight: 400; -} - -.page-cheatmd section.h3 { - min-width: 300px; - margin: 0 0 2em 0; - break-inside: avoid; - -webkit-column-break-inside: avoid; -} - -.page-cheatmd h3::after { - margin-left: 24px; - content: ""; - vertical-align: middle; - display: inline-block; - width: 100%; - height: 1px; - background: linear-gradient( - to right, - rgba(116, 95, 181, 0.2), - transparent 80% - ); -} +@media screen { + .page-cheatmd .content-inner { + max-width: 1200px; + } -/* h4 styling */ + /* h1 styling */ -.page-cheatmd h4 { - display: block; - margin: 0; - padding: 0.25em 1.5em; - font-weight: 400; - background: var(--gray100); - color: #567; - border: solid 1px 1px 0 1px var(--gray100); -} + .page-cheatmd h1 { + margin-bottom: 1em; + } -.page-cheatmd.dark h4 { - background: #192f50; - color: var(--textBody); - border: 1px solid #192f50; - border-bottom: 0; -} + /* h2 styling */ -/* Paragraphs */ + .page-cheatmd h2 { + margin: 1em 0; + column-span: all; + padding-left: 3px; + color: var(--gray700); + font-weight: 500; + } -.page-cheatmd .h2 p { - margin: 0; - display: block; - background: var(--gray50); - padding: 1.5em; -} + .page-cheatmd.dark h2 { + color: var(--gray200); + } -.page-cheatmd.dark .h2 p { - background: var(--gray700); -} + /* h3 styling */ -.page-cheatmd .h2 p > code { - color: #eb5757; - border-radius: 3px; - padding: 0.2em 0.4em; -} + .page-cheatmd h3 { + white-space: nowrap; + overflow: hidden; + margin: 0 0 1em; + padding-left: 5px; + color: var(--main); + font-weight: 400; + } -/* Code blocks */ + .page-cheatmd section.h3 { + min-width: 300px; + margin: 0 0 2em 0; + break-inside: avoid; + -webkit-column-break-inside: avoid; + } -.page-cheatmd pre code { - padding: 1em 1.5em; -} + .page-cheatmd h3::after { + margin-left: 24px; + content: ""; + vertical-align: middle; + display: inline-block; + width: 100%; + height: 1px; + background: linear-gradient( + to right, + rgba(116, 95, 181, 0.2), + transparent 80% + ); + } -.page-cheatmd pre code::-webkit-scrollbar { - width: 0.4rem; - height: 0.6rem; -} + /* h4 styling */ -.page-cheatmd .h2 pre { - margin: 0; -} + .page-cheatmd h4 { + display: block; + margin: 0; + padding: 0.25em 1.5em; + font-weight: 400; + background: var(--gray100); + color: #567; + border: solid 1px 1px 0 1px var(--gray100); + } -.page-cheatmd pre.wrap { - white-space: break-spaces; -} + .page-cheatmd.dark h4 { + background: #192f50; + color: var(--textBody); + border: 1px solid #192f50; + border-bottom: 0; + } -/* Tables */ + /* Paragraphs */ -.page-cheatmd .h2 table { - display: table; - box-sizing: border-box; - width: 100%; - border-collapse: collapse; - margin: 0; -} + .page-cheatmd .h2 p { + margin: 0; + display: block; + background: var(--gray50); + padding: 1.5em; + } -.page-cheatmd .h2 table th { - padding: 0.75em 1.5em; - line-height: 2em; - margin-bottom: -1px; - vertical-align: middle; - border-bottom: 1px solid var(--codeBorder); -} + .page-cheatmd.dark .h2 p { + background: var(--gray700); + } -.page-cheatmd .h2 table td { - padding: 0.75em 1.5em; - border: 0; - border-bottom: 1px solid var(--codeBorder); -} + .page-cheatmd .h2 p > code { + color: #eb5757; + border-radius: 3px; + padding: 0.2em 0.4em; + } -.page-cheatmd .h2 table tr:first-child { - border-top: 1px solid var(--codeBorder); -} + /* Code blocks */ -.page-cheatmd .h2 table td code { - color: #eb5757; - border-radius: 3px; - padding: 0.2em 0.4em; -} + .page-cheatmd pre code { + padding: 1em 1.5em; + } -.page-cheatmd .h2 thead { - background-color: var(--gray50); -} + .page-cheatmd pre code::-webkit-scrollbar { + width: 0.4rem; + height: 0.6rem; + } -.page-cheatmd.dark .h2 thead { - background-color: var(--gray700); -} + .page-cheatmd .h2 pre { + margin: 0; + } -.page-cheatmd .h2 tbody { - background-color: var(--codeBackground); -} + .page-cheatmd pre.wrap { + white-space: break-spaces; + } -/* Lists */ -.page-cheatmd .h2 ul, -.page-cheatmd .h2 ol { - margin: 0; - padding: 0; -} + /* Tables */ -.page-cheatmd .h2 li { - list-style-position: inside; - padding: 0.5em 1.5em; - line-height: 2em; - vertical-align: middle; - background-color: var(--codeBackground); - border-bottom: 1px solid var(--codeBorder); -} + .page-cheatmd .h2 table { + display: table; + box-sizing: border-box; + width: 100%; + border-collapse: collapse; + margin: 0; + } -.page-cheatmd .h2 ul + pre code, -.page-cheatmd .h2 ol + pre code { - border-top: 0; -} + .page-cheatmd .h2 table th { + padding: 0.75em 1.5em; + line-height: 2em; + margin-bottom: -1px; + vertical-align: middle; + border-bottom: 1px solid var(--codeBorder); + } -.page-cheatmd .h2 li > code { - color: #eb5757; - border-radius: 3px; - padding: 0.2em 0.4em; -} + .page-cheatmd .h2 table td { + padding: 0.75em 1.5em; + border: 0; + border-bottom: 1px solid var(--codeBorder); + } -/* Columns */ + .page-cheatmd .h2 table tr:first-child { + border-top: 1px solid var(--codeBorder); + } -.page-cheatmd section.width-50 { - display: block; - width: 50%; - margin: 0; -} + .page-cheatmd .h2 table td code { + color: #eb5757; + border-radius: 3px; + padding: 0.2em 0.4em; + } -.page-cheatmd section.width-50 > section > table { - width: 100%; -} + .page-cheatmd .h2 thead { + background-color: var(--gray50); + } -.page-cheatmd section.col-2 { - column-count: 2; - column-gap: 40px; - height: auto; -} + .page-cheatmd.dark .h2 thead { + background-color: var(--gray700); + } -.page-cheatmd section.col-2-left { - display: grid; - grid-template-columns: 33% 63.2%; - column-gap: 40px; -} + .page-cheatmd .h2 tbody { + background-color: var(--codeBackground); + } -.page-cheatmd section.col-2-left > h2 { - display: block; - grid-column-end: span 2; -} + /* Lists */ + .page-cheatmd .h2 ul, + .page-cheatmd .h2 ol { + margin: 0; + padding: 0; + } -.page-cheatmd section.col-3 { - column-count: 3; - column-gap: 40px; - height: auto; -} + .page-cheatmd .h2 li { + list-style-position: inside; + padding: 0.5em 1.5em; + line-height: 2em; + vertical-align: middle; + background-color: var(--codeBackground); + border-bottom: 1px solid var(--codeBorder); + } -.page-cheatmd section.list-4 > ul { - display: flex; - flex-wrap: wrap; -} + .page-cheatmd .h2 ul + pre code, + .page-cheatmd .h2 ol + pre code { + border-top: 0; + } -.page-cheatmd section.list-4 > ul > li { - flex: 0 0 25%; -} + .page-cheatmd .h2 li > code { + color: #eb5757; + border-radius: 3px; + padding: 0.2em 0.4em; + } -.page-cheatmd section.list-6 > ul { - display: flex; - flex-wrap: wrap; -} + /* Columns */ -.page-cheatmd section.list-6 > ul > li { - flex: 0 0 16.6667%; -} + .page-cheatmd section.width-50 { + display: block; + width: 50%; + margin: 0; + } -/* Media query */ + .page-cheatmd section.width-50 > section > table { + width: 100%; + } -@media (max-width: 1400px) { - .page-cheatmd section.col-3 { + .page-cheatmd section.col-2 { column-count: 2; column-gap: 40px; + height: auto; } .page-cheatmd section.col-2-left { + display: grid; + grid-template-columns: 33% 63.2%; + column-gap: 40px; + } + + .page-cheatmd section.col-2-left > h2 { display: block; - column-count: 1; + grid-column-end: span 2; } -} -@media (max-width: 1200px) { - .page-cheatmd section.col-3, - .page-cheatmd section.col-2 { - column-count: 1; + .page-cheatmd section.col-3 { + column-count: 3; + column-gap: 40px; + height: auto; } - .page-cheatmd section.list-6 > ul > li { - flex: 0 0 25%; + .page-cheatmd section.list-4 > ul { + display: flex; + flex-wrap: wrap; } -} -@media (max-width: 1000px) { .page-cheatmd section.list-4 > ul > li { - flex: 0 0 33%; + flex: 0 0 25%; + } + + .page-cheatmd section.list-6 > ul { + display: flex; + flex-wrap: wrap; } .page-cheatmd section.list-6 > ul > li { - flex: 0 0 33%; + flex: 0 0 16.6667%; } -} -@media (max-width: 600px) { - .page-cheatmd section.list-4 > ul > li { - flex: 0 0 50%; + /* Media query */ + + @media (max-width: 1400px) { + .page-cheatmd section.col-3 { + column-count: 2; + column-gap: 40px; + } + + .page-cheatmd section.col-2-left { + display: block; + column-count: 1; + } } - .page-cheatmd section.list-6 > ul > li { - flex: 0 0 50%; + @media (max-width: 1200px) { + .page-cheatmd section.col-3, + .page-cheatmd section.col-2 { + column-count: 1; + } + + .page-cheatmd section.list-6 > ul > li { + flex: 0 0 25%; + } + } + + @media (max-width: 1000px) { + .page-cheatmd section.list-4 > ul > li { + flex: 0 0 33%; + } + + .page-cheatmd section.list-6 > ul > li { + flex: 0 0 33%; + } + } + + @media (max-width: 600px) { + .page-cheatmd section.list-4 > ul > li { + flex: 0 0 50%; + } + + .page-cheatmd section.list-6 > ul > li { + flex: 0 0 50%; + } } } diff --git a/assets/css/content/footer.css b/assets/css/content/footer.css index 0e05a0ea9..c62b2cd02 100644 --- a/assets/css/content/footer.css +++ b/assets/css/content/footer.css @@ -5,9 +5,8 @@ font-size: 14px; } -/* .footer class in selector twice to reach required specificity to override general link colour. */ .content-inner .footer, -.content-inner .footer.footer :is(a, .footer-button) { +.content-inner .footer :is(a, .footer-button) { color: var(--textFooter); } diff --git a/assets/css/content/general.css b/assets/css/content/general.css index e51037c31..962389466 100644 --- a/assets/css/content/general.css +++ b/assets/css/content/general.css @@ -32,7 +32,7 @@ font-weight: 300; } -.content-inner h1 :is(a.view-source, .settings) { +.content-inner h1 .icon-action { font-size: 1.2rem; font-weight: normal; } @@ -58,32 +58,24 @@ color: var(--linksVisited); } -.content-inner a.view-source { +.content-inner .icon-action { float: right; - color: var(--viewSource); + color: var(--iconAction); text-decoration: none; border: none; transition: color .3s ease-in-out; -} -.content-inner a.view-source:hover { - color: var(--viewSourceHover); -} -.content-inner a.view-source:visited { - color: var(--viewSource); -} - -.content-inner .settings { background-color: transparent; - float: right; - color: var(--viewSource); - text-decoration: none; - border: none; - transition: color .1s ease-in-out; - margin-top: 12px; cursor: pointer; + padding: 0 0 0 6px; +} +.content-inner button.icon-action { + margin-top: 12px; +} +.content-inner .icon-action:hover { + color: var(--iconActionHover); } -.content-inner .settings:hover { - color: var(--viewSourceHover); +.content-inner .icon-action:visited { + color: var(--iconAction); } .content-inner .livebook-badge-container { @@ -95,7 +87,7 @@ } .content-inner .note { - color: var(--viewSource); + color: var(--iconAction); margin-right: 5px; font-size: 14px; font-weight: normal; diff --git a/assets/css/custom-props/theme-dark.css b/assets/css/custom-props/theme-dark.css index 6c7cc84fe..61f880670 100644 --- a/assets/css/custom-props/theme-dark.css +++ b/assets/css/custom-props/theme-dark.css @@ -11,8 +11,8 @@ body.dark { --linksNoUnderline: var(--main-lightened-10); --linksNoUnderlineVisited: var(--main-lightened-05); - --viewSource: var(--coldGray-lightened-10); - --viewSourceHover: var(--white); + --iconAction: var(--coldGray-lightened-10); + --iconActionHover: var(--white); --blockquoteBackground: var(--coldGrayDim); --blockquoteBorder: var(--coldGrayDark); diff --git a/assets/css/custom-props/theme-light.css b/assets/css/custom-props/theme-light.css index b135c1c03..158e23575 100644 --- a/assets/css/custom-props/theme-light.css +++ b/assets/css/custom-props/theme-light.css @@ -11,8 +11,8 @@ --linksNoUnderline: var(--main-darkened-10); --linksNoUnderlineVisited: var(--main-darkened-20); - --viewSource: var(--coldGray); - --viewSourceHover: var(--gray800); + --iconAction: var(--coldGray); + --iconActionHover: var(--gray800); --blockquoteBackground: var(--coldGrayFaint); --blockquoteBorder: var(--coldGrayLight); diff --git a/assets/css/icons.css b/assets/css/icons.css index 70fb677a5..77fba8d23 100644 --- a/assets/css/icons.css +++ b/assets/css/icons.css @@ -27,9 +27,11 @@ --icon-menu-line: "\ef3e"; --icon-search-2-line: "\f0cd"; --icon-settings-3-line: "\f0e6"; + --icon-printer-line: "\f029"; } .ri-lg { font-size: 1.3333em; line-height: .75em; vertical-align: -.0667em; } + .ri-settings-3-line:before { content: var(--icon-settings-3-line); } .ri-add-line:before { content: var(--icon-add); } .ri-subtract-line:before { content: var(--icon-subtract); } @@ -45,3 +47,4 @@ .ri-information-line:before { content: var(--icon-information); } .ri-alert-line:before { content: var(--icon-alert); } .ri-double-quotes-l:before { content: var(--icon-double-quotes-l); } +.ri-printer-line:before { content: var(--icon-printer-line); } \ No newline at end of file diff --git a/assets/css/print-cheatsheet.css b/assets/css/print-cheatsheet.css new file mode 100644 index 000000000..af3bce4a0 --- /dev/null +++ b/assets/css/print-cheatsheet.css @@ -0,0 +1,233 @@ +@media print { + /* Basic layout and columns */ + .page-cheatmd .content-inner { + max-width: 100%; + width: 100%; + padding: 0; + font-size: 0.85em; + } + + .page-cheatmd section.col-2 { + column-count: 2; + column-gap: 20px; + height: auto; + } + + .page-cheatmd section.col-2-left { + display: grid; + grid-template-columns: 33% 63.2%; + column-gap: 20px; + } + + .page-cheatmd section.col-2-left > h2 { + display: block; + grid-column-end: span 2; + } + + .page-cheatmd section.col-3 { + column-count: 3; + column-gap: 10px; + height: auto; + } + + .page-cheatmd section.list-4 > ul > li { + flex: 0 0 25%; + } + + .page-cheatmd section.list-6 > ul > li { + flex: 0 0 16.6667%; + } + + .page-cheatmd section.list-4 > ul { + display: flex; + flex-wrap: wrap; + } + + .page-cheatmd section.list-6 > ul { + display: flex; + flex-wrap: wrap; + } + + .page-cheatmd section.width-50 { + display: block; + width: 50%; + margin: 0; + } + + .page-cheatmd section.width-50 > section > table { + width: 100%; + } + + /* h1 styling */ + + .page-cheatmd h1 { + margin-top: 0em; + margin-bottom: 0.5em; + } + + /* h2 styling */ + + .page-cheatmd h2.section-heading { + margin: 1em 0 0.25em; + column-span: all; + } + + /* for some reason Firefox extends the h2 border-left to the following h3 when printing, + moving the border-left to the :before pseudo-element fixes this */ + + .page-cheatmd h2.section-heading:before { + border-left: solid 6px var(--gray100); + margin-right: 8px; + content: " "; + } + + .page-cheatmd section.h2 { + page-break-inside: avoid; + } + + /* h3 styling */ + + .page-cheatmd h3 { + white-space: nowrap; + overflow: hidden; + margin: 0 0 0.25em; + padding-left: 5px; + } + + .page-cheatmd h3.section-heading { + overflow: hidden; + } + + .page-cheatmd section.h3 { + min-width: 300px; + margin: 0 0 0.75em 0; + break-inside: avoid; + page-break-inside: avoid; + -webkit-column-break-inside: avoid; + } + + /* h4 styling */ + + .page-cheatmd h4 { + display: block; + margin: -1px 0 -1px 0; + padding: 0.5em; + border: solid 1px var(--gray300); + } + + /* p styling */ + + .page-cheatmd .content-inner p { + font-size: 0.95em; + line-height: 1.5em; + padding: 0.5em; + } + + /* Ensure solo p tags have borders around them, but merge the border + when multiple p tags are next to each other */ + .page-cheatmd .content-inner section p { + display: block; + margin: -1px 0 -1px 0; + font-size: 0.95em; + line-height: 1.5em; + padding: 0.5em; + border: solid; + border-color: var(--gray300); + border-width: 1px 1px 0px 1px; + } + + .page-cheatmd .content-inner section p + p { + border-width: 0px 1px 0px 1px; + } + + .page-cheatmd .content-inner section p:last-of-type { + border-width: 0px 1px 1px 1px; + } + + .page-cheatmd .content-inner section p:only-of-type { + border-width: 1px; + } + + /* Tables */ + + .page-cheatmd table { + width: 100%; + border-collapse: collapse; + margin: 0; + font-variant-numeric: tabular-nums; + page-break-inside: avoid; + } + + .page-cheatmd th, + .page-cheatmd td { + text-align: left; + vertical-align: top; + padding: 0.5em; + font-size: 0.95em; + } + + .page-cheatmd thead { + border: 1px solid var(--gray300); + } + + .page-cheatmd .content-inner tbody tr { + border-width: 0px 1px 1px 1px; + border-style: solid; + border-color: var(--gray200); + } + + .page-cheatmd .content-inner thead tr { + border-bottom: none; + } + + .page-cheatmd th { + font-weight: bold; + } + + .page-cheatmd td { + text-align: left; + } + + /* Code Blocks */ + + .page-cheatmd pre { + margin: -1px 0px -1px 0px; + } + + /* Lists */ + + .page-cheatmd ul, + .page-cheatmd ol { + margin: 0; + padding: 0; + list-style-position: inside; + } + + .page-cheatmd .h2 li { + padding: 0.5em 0.75em; + vertical-align: middle; + border-bottom: 1px solid var(--gray200); + } + + .page-cheatmd .h2 li:last-of-type { + border-bottom: 0; + } + + /* Remove copy button from code blocks */ + pre:hover button.copy-button { + display: none; + } + + /* Remove hover tooltip from inline code references */ + .page-cheatmd div#tooltip { + display: none; + } + + .page-cheatmd footer p { + display: none; + } + + .page-cheatmd footer p.built-using { + display: block; + } +} diff --git a/assets/css/print.css b/assets/css/print.css index 7ba9f8c20..fcbf7710e 100644 --- a/assets/css/print.css +++ b/assets/css/print.css @@ -11,9 +11,62 @@ .content { padding-left: 0; overflow: visible; + left: 0px; + width: 100%; } .summary-row { page-break-inside: avoid; } + + #toast { + display: none; + } + + .content-inner .section-heading a.hover-link { + display: none; + } + + .content-inner button.icon-action { + display: none; + } + + .content-inner a.icon-action { + display: none; + } + + .content-inner .bottom-actions { + display: none; + } + + /* Hide On Hex.pm text but keep Built Using ExDoc */ + .footer p:first-of-type { + display: none; + } + + .content-inner blockquote:is(.warning, .error, .info, .neutral, .tip) { + border: 2px solid var(--gray300); + } + + .content-inner + blockquote + :is(h3, h4):is(.warning, .error, .info, .neutral, .tip) { + color: var(--textHeaders); + border-bottom: 2px solid var(--gray300); + } + + .content-inner pre code.makeup { + border-color: var(--gray300); + white-space: break-spaces; + page-break-inside: avoid; + break-inside: avoid; + } + + .content-inner blockquote code.inline { + border-color: var(--gray300); + } + + .content-inner code.inline { + border-color: var(--gray300); + } } diff --git a/assets/fonts/remixicon.woff2 b/assets/fonts/remixicon.woff2 index 155f274dd..57e6c7c12 100644 Binary files a/assets/fonts/remixicon.woff2 and b/assets/fonts/remixicon.woff2 differ diff --git a/assets/js/handlebars/templates/search-results.handlebars b/assets/js/handlebars/templates/search-results.handlebars index 13e11b946..7d791701d 100644 --- a/assets/js/handlebars/templates/search-results.handlebars +++ b/assets/js/handlebars/templates/search-results.handlebars @@ -5,7 +5,7 @@ Invalid search {{/if}} - diff --git a/assets/js/handlebars/templates/sidebar-items.handlebars b/assets/js/handlebars/templates/sidebar-items.handlebars index fd04720f0..33a573110 100644 --- a/assets/js/handlebars/templates/sidebar-items.handlebars +++ b/assets/js/handlebars/templates/sidebar-items.handlebars @@ -56,7 +56,7 @@ diff --git a/assets/test/tooltips/hints.spec.js b/assets/test/tooltips/hints.spec.js index 2377d4e06..762c09eeb 100644 --- a/assets/test/tooltips/hints.spec.js +++ b/assets/test/tooltips/hints.spec.js @@ -5,12 +5,12 @@ describe('hints extraction', () => { const modulePageObject = parseHTML(`

- - + View Source @@ -44,7 +44,7 @@ describe('hints extraction', () => {

configure(any)

- + View Source diff --git a/formatters/epub/dist/epub-elixir-27JESMVP.css b/formatters/epub/dist/epub-elixir-CT62DQKQ.css similarity index 98% rename from formatters/epub/dist/epub-elixir-27JESMVP.css rename to formatters/epub/dist/epub-elixir-CT62DQKQ.css index 731c84b03..74ff0f5d0 100644 --- a/formatters/epub/dist/epub-elixir-27JESMVP.css +++ b/formatters/epub/dist/epub-elixir-CT62DQKQ.css @@ -1 +1 @@ -:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--viewSource: var(--coldGray);--viewSourceHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none} +:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none} diff --git a/formatters/epub/dist/epub-erlang-BLRVQJT7.css b/formatters/epub/dist/epub-erlang-M27KCOC5.css similarity index 98% rename from formatters/epub/dist/epub-erlang-BLRVQJT7.css rename to formatters/epub/dist/epub-erlang-M27KCOC5.css index 0ba8da34d..e774330d8 100644 --- a/formatters/epub/dist/epub-erlang-BLRVQJT7.css +++ b/formatters/epub/dist/epub-erlang-M27KCOC5.css @@ -1 +1 @@ -:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--viewSource: var(--coldGray);--viewSourceHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none} +:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none} diff --git a/formatters/html/dist/handlebars.templates-IV5W3OL2.js b/formatters/html/dist/handlebars.templates-IV5W3OL2.js new file mode 100644 index 000000000..ca13cd275 --- /dev/null +++ b/formatters/html/dist/handlebars.templates-IV5W3OL2.js @@ -0,0 +1,185 @@ +(()=>{(function(){var d=Handlebars.template,y=Handlebars.templates=Handlebars.templates||{};y["autocomplete-suggestions"]=d({1:function(n,l,a,c,s){var e,o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return' +
+ `+((e=(o=(o=f(a,"title")||(l!=null?f(l,"title"):l))!=null?o:r,typeof o===i?o.call(u,{name:"title",hash:{},data:s,loc:{start:{line:9,column:29},end:{line:9,column:40}}}):o))!=null?e:"")+` +`+((e=f(a,"if").call(u,l!=null?f(l,"label"):l,{name:"if",hash:{},fn:n.program(2,s,0),inverse:n.noop,data:s,loc:{start:{line:10,column:8},end:{line:12,column:15}}}))!=null?e:"")+`
+ +`+((e=f(a,"if").call(u,l!=null?f(l,"description"):l,{name:"if",hash:{},fn:n.program(4,s,0),inverse:n.noop,data:s,loc:{start:{line:15,column:6},end:{line:19,column:13}}}))!=null?e:"")+`
+`},2:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return' ('+n.escapeExpression((e=(e=o(a,"label")||(l!=null?o(l,"label"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"label",hash:{},data:s,loc:{start:{line:11,column:31},end:{line:11,column:40}}}):e))+`) +`},4:function(n,l,a,c,s){var e,o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
+ `+((e=(o=(o=u(a,"description")||(l!=null?u(l,"description"):l))!=null?o:n.hooks.helperMissing,typeof o=="function"?o.call(l??(n.nullContext||{}),{name:"description",hash:{},data:s,loc:{start:{line:17,column:10},end:{line:17,column:27}}}):o))!=null?e:"")+` +
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
+ +
"`+t((o=(o=f(a,"term")||(l!=null?f(l,"term"):l))!=null?o:r,typeof o===i?o.call(u,{name:"term",hash:{},data:s,loc:{start:{line:3,column:28},end:{line:3,column:36}}}):o))+`"
+
Search the documentation
+
+`+((e=f(a,"each").call(u,l!=null?f(l,"suggestions"):l,{name:"each",hash:{},fn:n.program(1,s,0),inverse:n.noop,data:s,loc:{start:{line:6,column:2},end:{line:21,column:11}}}))!=null?e:"")+`
+`},useData:!0}),y["modal-layout"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){return` +`},useData:!0}),y["quick-switch-modal-body"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){return`
+ + +
+
+`},useData:!0}),y["quick-switch-results"]=d({1:function(n,l,a,c,s){var e,o=l??(n.nullContext||{}),u=n.hooks.helperMissing,r="function",i=n.escapeExpression,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return'
+ `+i((e=(e=t(a,"name")||(l!=null?t(l,"name"):l))!=null?e:u,typeof e===r?e.call(o,{name:"name",hash:{},data:s,loc:{start:{line:3,column:4},end:{line:3,column:12}}}):e))+` +
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(1,s,0),inverse:n.noop,data:s,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?e:""},useData:!0}),y["search-results"]=d({1:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return" Search results for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:s,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):e))+` +`},3:function(n,l,a,c,s){return` Invalid search +`},5:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(6,s,0),inverse:n.noop,data:s,loc:{start:{line:15,column:2},end:{line:26,column:11}}}))!=null?e:""},6:function(n,l,a,c,s){var e,o=n.lambda,u=n.escapeExpression,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
+

+ + `+u(o(l!=null?r(l,"title"):l,l))+" ("+u(o(l!=null?r(l,"type"):l,l))+`) + +

+`+((e=r(a,"each").call(l??(n.nullContext||{}),l!=null?r(l,"excerpts"):l,{name:"each",hash:{},fn:n.program(7,s,0),inverse:n.noop,data:s,loc:{start:{line:22,column:8},end:{line:24,column:17}}}))!=null?e:"")+`
+`},7:function(n,l,a,c,s){var e;return'

'+((e=n.lambda(l,l))!=null?e:"")+`

+`},9:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return((e=(o(a,"isArray")||l&&o(l,"isArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"isArray",hash:{},fn:n.program(10,s,0),inverse:n.program(12,s,0),data:s,loc:{start:{line:28,column:2},end:{line:34,column:14}}}))!=null?e:"")+` +

The search functionality is full-text based. Here are some tips:

+ + + +

To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.

+`},10:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return"

Sorry, we couldn't find anything for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:s,loc:{start:{line:29,column:48},end:{line:29,column:57}}}):e))+`.

+`},12:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"value"):l,{name:"if",hash:{},fn:n.program(13,s,0),inverse:n.program(15,s,0),data:s,loc:{start:{line:30,column:2},end:{line:34,column:2}}}))!=null?e:""},13:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return"

Invalid search: "+n.escapeExpression((e=(e=o(a,"errorMessage")||(l!=null?o(l,"errorMessage"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"errorMessage",hash:{},data:s,loc:{start:{line:31,column:23},end:{line:31,column:39}}}):e))+`.

+`},15:function(n,l,a,c,s){return`

Please type something into the search bar to perform a search.

+ `},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=l??(n.nullContext||{}),u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`

+`+((e=u(a,"if").call(o,l!=null?u(l,"value"):l,{name:"if",hash:{},fn:n.program(1,s,0),inverse:n.program(3,s,0),data:s,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?e:"")+` + +

+ +`+((e=(u(a,"isNonEmptyArray")||l&&u(l,"isNonEmptyArray")||n.hooks.helperMissing).call(o,l!=null?u(l,"results"):l,{name:"isNonEmptyArray",hash:{},fn:n.program(5,s,0),inverse:n.program(9,s,0),data:s,loc:{start:{line:14,column:0},end:{line:49,column:20}}}))!=null?e:"")},useData:!0}),y["settings-modal-body"]=d({1:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"description"):l,{name:"if",hash:{},fn:n.program(2,s,0),inverse:n.noop,data:s,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?e:""},2:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
+
+ `+n.escapeExpression(n.lambda(l!=null?o(l,"description"):l,l))+` +
+
+`+((e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"displayAs"):l,{name:"if",hash:{},fn:n.program(3,s,0),inverse:n.program(5,s,0),data:s,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?e:"")+`
+
+`},3:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return" "+((e=n.lambda(l!=null?o(l,"displayAs"):l,l))!=null?e:"")+` +`},5:function(n,l,a,c,s){var e=n.lookupProperty||function(o,u){if(Object.prototype.hasOwnProperty.call(o,u))return o[u]};return" "+n.escapeExpression(n.lambda(l!=null?e(l,"key"):l,l))+` +`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
+
+ + + + +
+ +
+`},useData:!0}),y["sidebar-items"]=d({1:function(n,l,a,c,s,e,o){var u,r=l??(n.nullContext||{}),i=n.hooks.helperMissing,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return((u=(t(a,"groupChanged")||l&&t(l,"groupChanged")||i).call(r,o[1],(u=e[0][0])!=null?t(u,"group"):u,{name:"groupChanged",hash:{},fn:n.program(2,s,0,e,o),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:2,column:2},end:{line:6,column:19}}}))!=null?u:"")+` +`+((u=(t(a,"nestingChanged")||l&&t(l,"nestingChanged")||i).call(r,o[1],e[0][0],{name:"nestingChanged",hash:{},fn:n.program(7,s,0,e,o),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:8,column:2},end:{line:10,column:21}}}))!=null?u:"")+` +
  • + +`+((u=t(a,"if").call(r,(u=e[0][0])!=null?t(u,"nested_title"):u,{name:"if",hash:{},fn:n.program(13,s,0,e,o),inverse:n.program(15,s,0,e,o),data:s,blockParams:e,loc:{start:{line:14,column:6},end:{line:18,column:13}}}))!=null?u:"")+` + + + +
  • +`},2:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return'
  • + `+n.escapeExpression(n.lambda((o=e[1][0])!=null?u(o,"group"):o,l))+` +
  • +`},3:function(n,l,a,c,s){return""},5:function(n,l,a,c,s){return'translate="no"'},7:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return' +`},9:function(n,l,a,c,s){return"current-page open"},11:function(n,l,a,c,s){return"#content"},13:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return" "+((o=n.lambda((o=e[1][0])!=null?u(o,"nested_title"):o,l))!=null?o:"")+` +`},15:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return" "+((o=n.lambda((o=e[1][0])!=null?u(o,"title"):o,l))!=null?o:"")+` +`},17:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return(o=u(a,"each").call(l??(n.nullContext||{}),(o=e[1][0])!=null?u(o,"headers"):o,{name:"each",hash:{},fn:n.program(18,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:24,column:8},end:{line:28,column:17}}}))!=null?o:""},18:function(n,l,a,c,s,e){var o,u,r=l??(n.nullContext||{}),i=n.hooks.helperMissing,t="function",f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
  • + '+((o=(u=(u=f(a,"id")||(l!=null?f(l,"id"):l))!=null?u:i,typeof u===t?u.call(r,{name:"id",hash:{},data:s,blockParams:e,loc:{start:{line:26,column:52},end:{line:26,column:60}}}):u))!=null?o:"")+` +
  • +`},20:function(n,l,a,c,s,e){var o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return((o=(i(a,"showSections")||l&&i(l,"showSections")||r).call(u,e[1][0],{name:"showSections",hash:{},fn:n.program(21,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:30,column:8},end:{line:44,column:25}}}))!=null?o:"")+((o=(i(a,"showSummary")||l&&i(l,"showSummary")||r).call(u,e[1][0],{name:"showSummary",hash:{},fn:n.program(26,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:45,column:8},end:{line:49,column:24}}}))!=null?o:"")+((o=i(a,"each").call(u,(o=e[1][0])!=null?i(o,"nodeGroups"):o,{name:"each",hash:{},fn:n.program(28,s,1,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:50,column:8},end:{line:64,column:17}}}))!=null?o:"")},21:function(n,l,a,c,s,e){var o,u=l??(n.nullContext||{}),r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return'
  • + + Sections + + + +
  • +`},22:function(n,l,a,c,s){return"open"},24:function(n,l,a,c,s,e){var o,u,r=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
  • + '+((o=(u=(u=p(a,"id")||(l!=null?p(l,"id"):l))!=null?u:t,typeof u===f?u.call(i,{name:"id",hash:{},data:s,blockParams:e,loc:{start:{line:39,column:56},end:{line:39,column:64}}}):u))!=null?o:"")+` +
  • +`},26:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
  • + Summary +
  • +`},28:function(n,l,a,c,s,e){var o,u=n.lambda,r=n.escapeExpression,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`
  • + + `+r(u((o=e[0][0])!=null?i(o,"name"):o,l))+` + + + +
  • +`},29:function(n,l,a,c,s,e){var o,u,r=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
  • + '+r((u=(u=p(a,"id")||(l!=null?p(l,"id"):l))!=null?u:t,typeof u===f?u.call(i,{name:"id",hash:{},data:s,blockParams:e,loc:{start:{line:59,column:89},end:{line:59,column:95}}}):u))+` +
  • +`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s,e,o){var u,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return(u=r(a,"each").call(l??(n.nullContext||{}),l!=null?r(l,"nodes"):l,{name:"each",hash:{},fn:n.program(1,s,2,e,o),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:1,column:0},end:{line:68,column:9}}}))!=null?u:""},useData:!0,useDepths:!0,useBlockParams:!0}),y["tooltip-body"]=d({1:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
    + `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+` +
    +`},3:function(n,l,a,c,s){var e,o=n.lambda,u=n.escapeExpression,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
    +

    + `+u(o((e=l!=null?r(l,"hint"):l)!=null?r(e,"title"):e,l))+` +
    `+u(o((e=l!=null?r(l,"hint"):l)!=null?r(e,"version"):e,l))+`
    +

    +
    +`+((e=r(a,"if").call(l??(n.nullContext||{}),(e=l!=null?r(l,"hint"):l)!=null?r(e,"description"):e,{name:"if",hash:{},fn:n.program(4,s,0),inverse:n.noop,data:s,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?e:"")},4:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
    + `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+` +
    +`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"isPlain"):l,{name:"if",hash:{},fn:n.program(1,s,0),inverse:n.program(3,s,0),data:s,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?e:""},useData:!0}),y["tooltip-layout"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){return`
    +
    +
    +`},useData:!0}),y["versions-dropdown"]=d({1:function(n,l,a,c,s){var e,o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return' +`},2:function(n,l,a,c,s){return" selected disabled"},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
    + +
    +`},useData:!0})})();})(); diff --git a/formatters/html/dist/handlebars.templates-X7YVL3G2.js b/formatters/html/dist/handlebars.templates-X7YVL3G2.js deleted file mode 100644 index 9dfa8534d..000000000 --- a/formatters/html/dist/handlebars.templates-X7YVL3G2.js +++ /dev/null @@ -1,185 +0,0 @@ -(()=>{(function(){var d=Handlebars.template,y=Handlebars.templates=Handlebars.templates||{};y["autocomplete-suggestions"]=d({1:function(n,l,a,c,u){var e,o,s=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return' -
    - `+((e=(o=(o=f(a,"title")||(l!=null?f(l,"title"):l))!=null?o:r,typeof o===i?o.call(s,{name:"title",hash:{},data:u,loc:{start:{line:9,column:29},end:{line:9,column:40}}}):o))!=null?e:"")+` -`+((e=f(a,"if").call(s,l!=null?f(l,"label"):l,{name:"if",hash:{},fn:n.program(2,u,0),inverse:n.noop,data:u,loc:{start:{line:10,column:8},end:{line:12,column:15}}}))!=null?e:"")+`
    - -`+((e=f(a,"if").call(s,l!=null?f(l,"description"):l,{name:"if",hash:{},fn:n.program(4,u,0),inverse:n.noop,data:u,loc:{start:{line:15,column:6},end:{line:19,column:13}}}))!=null?e:"")+`
    -`},2:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return' ('+n.escapeExpression((e=(e=o(a,"label")||(l!=null?o(l,"label"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"label",hash:{},data:u,loc:{start:{line:11,column:31},end:{line:11,column:40}}}):e))+`) -`},4:function(n,l,a,c,u){var e,o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
    - `+((e=(o=(o=s(a,"description")||(l!=null?s(l,"description"):l))!=null?o:n.hooks.helperMissing,typeof o=="function"?o.call(l??(n.nullContext||{}),{name:"description",hash:{},data:u,loc:{start:{line:17,column:10},end:{line:17,column:27}}}):o))!=null?e:"")+` -
    -`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o,s=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
    - -
    "`+t((o=(o=f(a,"term")||(l!=null?f(l,"term"):l))!=null?o:r,typeof o===i?o.call(s,{name:"term",hash:{},data:u,loc:{start:{line:3,column:28},end:{line:3,column:36}}}):o))+`"
    -
    Search the documentation
    -
    -`+((e=f(a,"each").call(s,l!=null?f(l,"suggestions"):l,{name:"each",hash:{},fn:n.program(1,u,0),inverse:n.noop,data:u,loc:{start:{line:6,column:2},end:{line:21,column:11}}}))!=null?e:"")+`
    -`},useData:!0}),y["modal-layout"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){return` -`},useData:!0}),y["quick-switch-modal-body"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){return`
    - - -
    -
    -`},useData:!0}),y["quick-switch-results"]=d({1:function(n,l,a,c,u){var e,o=l??(n.nullContext||{}),s=n.hooks.helperMissing,r="function",i=n.escapeExpression,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return'
    - `+i((e=(e=t(a,"name")||(l!=null?t(l,"name"):l))!=null?e:s,typeof e===r?e.call(o,{name:"name",hash:{},data:u,loc:{start:{line:3,column:4},end:{line:3,column:12}}}):e))+` -
    -`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(1,u,0),inverse:n.noop,data:u,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?e:""},useData:!0}),y["search-results"]=d({1:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return" Search results for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:u,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):e))+` -`},3:function(n,l,a,c,u){return` Invalid search -`},5:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(6,u,0),inverse:n.noop,data:u,loc:{start:{line:15,column:2},end:{line:26,column:11}}}))!=null?e:""},6:function(n,l,a,c,u){var e,o=n.lambda,s=n.escapeExpression,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
    -

    - - `+s(o(l!=null?r(l,"title"):l,l))+" ("+s(o(l!=null?r(l,"type"):l,l))+`) - -

    -`+((e=r(a,"each").call(l??(n.nullContext||{}),l!=null?r(l,"excerpts"):l,{name:"each",hash:{},fn:n.program(7,u,0),inverse:n.noop,data:u,loc:{start:{line:22,column:8},end:{line:24,column:17}}}))!=null?e:"")+`
    -`},7:function(n,l,a,c,u){var e;return'

    '+((e=n.lambda(l,l))!=null?e:"")+`

    -`},9:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return((e=(o(a,"isArray")||l&&o(l,"isArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"isArray",hash:{},fn:n.program(10,u,0),inverse:n.program(12,u,0),data:u,loc:{start:{line:28,column:2},end:{line:34,column:14}}}))!=null?e:"")+` -

    The search functionality is full-text based. Here are some tips:

    - - - -

    To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.

    -`},10:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return"

    Sorry, we couldn't find anything for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:u,loc:{start:{line:29,column:48},end:{line:29,column:57}}}):e))+`.

    -`},12:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"value"):l,{name:"if",hash:{},fn:n.program(13,u,0),inverse:n.program(15,u,0),data:u,loc:{start:{line:30,column:2},end:{line:34,column:2}}}))!=null?e:""},13:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return"

    Invalid search: "+n.escapeExpression((e=(e=o(a,"errorMessage")||(l!=null?o(l,"errorMessage"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"errorMessage",hash:{},data:u,loc:{start:{line:31,column:23},end:{line:31,column:39}}}):e))+`.

    -`},15:function(n,l,a,c,u){return`

    Please type something into the search bar to perform a search.

    - `},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=l??(n.nullContext||{}),s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`

    -`+((e=s(a,"if").call(o,l!=null?s(l,"value"):l,{name:"if",hash:{},fn:n.program(1,u,0),inverse:n.program(3,u,0),data:u,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?e:"")+` - -

    - -`+((e=(s(a,"isNonEmptyArray")||l&&s(l,"isNonEmptyArray")||n.hooks.helperMissing).call(o,l!=null?s(l,"results"):l,{name:"isNonEmptyArray",hash:{},fn:n.program(5,u,0),inverse:n.program(9,u,0),data:u,loc:{start:{line:14,column:0},end:{line:49,column:20}}}))!=null?e:"")},useData:!0}),y["settings-modal-body"]=d({1:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"description"):l,{name:"if",hash:{},fn:n.program(2,u,0),inverse:n.noop,data:u,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?e:""},2:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return`
    -
    - `+n.escapeExpression(n.lambda(l!=null?o(l,"description"):l,l))+` -
    -
    -`+((e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"displayAs"):l,{name:"if",hash:{},fn:n.program(3,u,0),inverse:n.program(5,u,0),data:u,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?e:"")+`
    -
    -`},3:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return" "+((e=n.lambda(l!=null?o(l,"displayAs"):l,l))!=null?e:"")+` -`},5:function(n,l,a,c,u){var e=n.lookupProperty||function(o,s){if(Object.prototype.hasOwnProperty.call(o,s))return o[s]};return" "+n.escapeExpression(n.lambda(l!=null?e(l,"key"):l,l))+` -`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return`
    -
    - - - - -
    - -
    -`},useData:!0}),y["sidebar-items"]=d({1:function(n,l,a,c,u,e,o){var s,r=l??(n.nullContext||{}),i=n.hooks.helperMissing,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return((s=(t(a,"groupChanged")||l&&t(l,"groupChanged")||i).call(r,o[1],(s=e[0][0])!=null?t(s,"group"):s,{name:"groupChanged",hash:{},fn:n.program(2,u,0,e,o),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:2,column:2},end:{line:6,column:19}}}))!=null?s:"")+` -`+((s=(t(a,"nestingChanged")||l&&t(l,"nestingChanged")||i).call(r,o[1],e[0][0],{name:"nestingChanged",hash:{},fn:n.program(7,u,0,e,o),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:8,column:2},end:{line:10,column:21}}}))!=null?s:"")+` -
  • - -`+((s=t(a,"if").call(r,(s=e[0][0])!=null?t(s,"nested_title"):s,{name:"if",hash:{},fn:n.program(13,u,0,e,o),inverse:n.program(15,u,0,e,o),data:u,blockParams:e,loc:{start:{line:14,column:6},end:{line:18,column:13}}}))!=null?s:"")+` - - - -
  • -`},2:function(n,l,a,c,u,e){var o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return'
  • - `+n.escapeExpression(n.lambda((o=e[1][0])!=null?s(o,"group"):o,l))+` -
  • -`},3:function(n,l,a,c,u){return""},5:function(n,l,a,c,u){return'translate="no"'},7:function(n,l,a,c,u,e){var o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return' -`},9:function(n,l,a,c,u){return"current-page open"},11:function(n,l,a,c,u){return"#content"},13:function(n,l,a,c,u,e){var o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return" "+((o=n.lambda((o=e[1][0])!=null?s(o,"nested_title"):o,l))!=null?o:"")+` -`},15:function(n,l,a,c,u,e){var o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return" "+((o=n.lambda((o=e[1][0])!=null?s(o,"title"):o,l))!=null?o:"")+` -`},17:function(n,l,a,c,u,e){var o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return(o=s(a,"each").call(l??(n.nullContext||{}),(o=e[1][0])!=null?s(o,"headers"):o,{name:"each",hash:{},fn:n.program(18,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:24,column:8},end:{line:28,column:17}}}))!=null?o:""},18:function(n,l,a,c,u,e){var o,s,r=l??(n.nullContext||{}),i=n.hooks.helperMissing,t="function",f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
  • - '+((o=(s=(s=f(a,"id")||(l!=null?f(l,"id"):l))!=null?s:i,typeof s===t?s.call(r,{name:"id",hash:{},data:u,blockParams:e,loc:{start:{line:26,column:52},end:{line:26,column:60}}}):s))!=null?o:"")+` -
  • -`},20:function(n,l,a,c,u,e){var o,s=l??(n.nullContext||{}),r=n.hooks.helperMissing,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return((o=(i(a,"showSections")||l&&i(l,"showSections")||r).call(s,e[1][0],{name:"showSections",hash:{},fn:n.program(21,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:30,column:8},end:{line:44,column:25}}}))!=null?o:"")+((o=(i(a,"showSummary")||l&&i(l,"showSummary")||r).call(s,e[1][0],{name:"showSummary",hash:{},fn:n.program(26,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:45,column:8},end:{line:49,column:24}}}))!=null?o:"")+((o=i(a,"each").call(s,(o=e[1][0])!=null?i(o,"nodeGroups"):o,{name:"each",hash:{},fn:n.program(28,u,1,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:50,column:8},end:{line:64,column:17}}}))!=null?o:"")},21:function(n,l,a,c,u,e){var o,s=l??(n.nullContext||{}),r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return'
  • - - Sections - - - -
  • -`},22:function(n,l,a,c,u){return"open"},24:function(n,l,a,c,u,e){var o,s,r=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
  • - '+((o=(s=(s=p(a,"id")||(l!=null?p(l,"id"):l))!=null?s:t,typeof s===f?s.call(i,{name:"id",hash:{},data:u,blockParams:e,loc:{start:{line:39,column:56},end:{line:39,column:64}}}):s))!=null?o:"")+` -
  • -`},26:function(n,l,a,c,u,e){var o,s=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
  • - Summary -
  • -`},28:function(n,l,a,c,u,e){var o,s=n.lambda,r=n.escapeExpression,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`
  • - - `+r(s((o=e[0][0])!=null?i(o,"name"):o,l))+` - - - -
  • -`},29:function(n,l,a,c,u,e){var o,s,r=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
  • - '+r((s=(s=p(a,"id")||(l!=null?p(l,"id"):l))!=null?s:t,typeof s===f?s.call(i,{name:"id",hash:{},data:u,blockParams:e,loc:{start:{line:59,column:71},end:{line:59,column:77}}}):s))+` -
  • -`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u,e,o){var s,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return(s=r(a,"each").call(l??(n.nullContext||{}),l!=null?r(l,"nodes"):l,{name:"each",hash:{},fn:n.program(1,u,2,e,o),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:1,column:0},end:{line:68,column:9}}}))!=null?s:""},useData:!0,useDepths:!0,useBlockParams:!0}),y["tooltip-body"]=d({1:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return`
    - `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+` -
    -`},3:function(n,l,a,c,u){var e,o=n.lambda,s=n.escapeExpression,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
    -

    - `+s(o((e=l!=null?r(l,"hint"):l)!=null?r(e,"title"):e,l))+` -
    `+s(o((e=l!=null?r(l,"hint"):l)!=null?r(e,"version"):e,l))+`
    -

    -
    -`+((e=r(a,"if").call(l??(n.nullContext||{}),(e=l!=null?r(l,"hint"):l)!=null?r(e,"description"):e,{name:"if",hash:{},fn:n.program(4,u,0),inverse:n.noop,data:u,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?e:"")},4:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return`
    - `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+` -
    -`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"isPlain"):l,{name:"if",hash:{},fn:n.program(1,u,0),inverse:n.program(3,u,0),data:u,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?e:""},useData:!0}),y["tooltip-layout"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){return`
    -
    -
    -`},useData:!0}),y["versions-dropdown"]=d({1:function(n,l,a,c,u){var e,o,s=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return' -`},2:function(n,l,a,c,u){return" selected disabled"},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(s,r){if(Object.prototype.hasOwnProperty.call(s,r))return s[r]};return`
    - -
    -`},useData:!0})})();})(); diff --git a/formatters/html/dist/html-elixir-2YOS5DIE.css b/formatters/html/dist/html-elixir-2YOS5DIE.css deleted file mode 100644 index 4b664d0bb..000000000 --- a/formatters/html/dist/html-elixir-2YOS5DIE.css +++ /dev/null @@ -1,2 +0,0 @@ -:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--viewSource: var(--coldGray);--viewSourceHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--viewSource: var(--coldGray-lightened-10);--viewSourceHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray200);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-E5UFLALU.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{position:fixed;z-index:99;left:0;top:7px;transition:color .3s ease-in-out,transform .15s ease-out .1s,opacity .15s ease-out .1s;will-change:transform;transform:translate(250px)}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}body.sidebar-opening .sidebar-button{transition:transform .3s ease-in-out}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar-button{transition:transform .3s ease-in-out;transform:translateY(-8px)}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:949px;margin:0 auto;padding:3px 60px}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding:27px 20px 27px 40px;max-width:100%;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;border-bottom:3px solid transparent;line-height:27px}.sidebar .sidebar-listNav li:is(:hover,.selected){border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200)}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main)}.sidebar #full-list>li.current-page>a{color:var(--main);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:9px 0 9px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:20px;padding:2px 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main)}.sidebar #full-list ul li.current-hash:before{content:"\2022";color:var(--main)}.sidebar #full-list ul li.current-hash>a{color:var(--main);margin-left:-12px}.sidebar #full-list ul li a{padding-left:15px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{border-left:1px solid var(--gray600);padding:0 10px;margin-left:8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li ul li a{padding-left:0}.sidebar #full-list ul li ul li.current-hash:before{content:none}.sidebar #full-list ul li ul li.current-hash{color:var(--main);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 :is(a.view-source,.settings){font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner a.view-source{float:right;color:var(--viewSource);text-decoration:none;border:none;transition:color .3s ease-in-out}.content-inner a.view-source:hover{color:var(--viewSourceHover)}.content-inner a.view-source:visited{color:var(--viewSource)}.content-inner .settings{background-color:transparent;float:right;color:var(--viewSource);text-decoration:none;border:none;transition:color .1s ease-in-out;margin-top:12px;cursor:pointer}.content-inner .settings:hover{color:var(--viewSourceHover)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--viewSource);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.7em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}.content-inner .detail :is(h1,h2,h3,h4,h5,h6).section-heading{margin-left:.3em}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) a{color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer.footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd h1{margin-bottom:1em}.page-cheatmd h2{margin:1em 0;column-span:all;padding-left:3px;color:var(--gray700);font-weight:500}.page-cheatmd.dark h2{color:var(--gray200)}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 1em;padding-left:5px;color:var(--main);font-weight:400}.page-cheatmd section.h3{min-width:300px;margin:0 0 2em;break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h3:after{margin-left:24px;content:"";vertical-align:middle;display:inline-block;width:100%;height:1px;background:linear-gradient(to right,rgba(116,95,181,.2),transparent 80%)}.page-cheatmd h4{display:block;margin:0;padding:.25em 1.5em;font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .h2 p{margin:0;display:block;background:var(--gray50);padding:1.5em}.page-cheatmd.dark .h2 p{background:var(--gray700)}.page-cheatmd .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd pre code{padding:1em 1.5em}.page-cheatmd pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .h2 pre{margin:0}.page-cheatmd pre.wrap{white-space:break-spaces}.page-cheatmd .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .h2 table th{padding:.75em 1.5em;line-height:2em;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table td{padding:.75em 1.5em;border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .h2 table td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .h2 thead{background-color:var(--gray700)}.page-cheatmd .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .h2 ul,.page-cheatmd .h2 ol{margin:0;padding:0}.page-cheatmd .h2 li{list-style-position:inside;padding:.5em 1.5em;line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 ul+pre code,.page-cheatmd .h2 ol+pre code{border-top:0}.page-cheatmd .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd section.col-2{column-count:2;column-gap:40px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:40px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:40px;height:auto}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}@media (max-width: 1400px){.page-cheatmd section.col-3{column-count:2;column-gap:40px}.page-cheatmd section.col-2-left{display:block;column-count:1}}@media (max-width: 1200px){.page-cheatmd section.col-3,.page-cheatmd section.col-2{column-count:1}.page-cheatmd section.list-6>ul>li{flex:0 0 25%}}@media (max-width: 1000px){.page-cheatmd section.list-4>ul>li{flex:0 0 33%}.page-cheatmd section.list-6>ul>li{flex:0 0 33%}}@media (max-width: 600px){.page-cheatmd section.list-4>ul>li{flex:0 0 50%}.page-cheatmd section.list-6>ul>li{flex:0 0 50%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray300)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible}.summary-row{page-break-inside:avoid}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ diff --git a/formatters/html/dist/html-elixir-V2ETBPMB.css b/formatters/html/dist/html-elixir-V2ETBPMB.css new file mode 100644 index 000000000..a37144e49 --- /dev/null +++ b/formatters/html/dist/html-elixir-V2ETBPMB.css @@ -0,0 +1,2 @@ +:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray200);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{position:fixed;z-index:99;left:0;top:7px;transition:color .3s ease-in-out,transform .15s ease-out .1s,opacity .15s ease-out .1s;will-change:transform;transform:translate(250px)}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}body.sidebar-opening .sidebar-button{transition:transform .3s ease-in-out}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar-button{transition:transform .3s ease-in-out;transform:translateY(-8px)}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:949px;margin:0 auto;padding:3px 60px}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding:27px 20px 27px 40px;max-width:100%;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;border-bottom:3px solid transparent;line-height:27px}.sidebar .sidebar-listNav li:is(:hover,.selected){border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200)}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main)}.sidebar #full-list>li.current-page>a{color:var(--main);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:9px 0 9px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:20px;padding:2px 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main)}.sidebar #full-list ul li.current-hash:before{content:"\2022";color:var(--main)}.sidebar #full-list ul li.current-hash>a{color:var(--main);margin-left:-12px}.sidebar #full-list ul li a{padding-left:15px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{border-left:1px solid var(--gray600);padding:0 10px;margin-left:8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li ul li a{padding-left:0}.sidebar #full-list ul li ul li.current-hash:before{content:none}.sidebar #full-list ul li ul li.current-hash{color:var(--main);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 .icon-action{font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner .icon-action{float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0 0 0 6px}.content-inner button.icon-action{margin-top:12px}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.7em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}.content-inner .detail :is(h1,h2,h3,h4,h5,h6).section-heading{margin-left:.3em}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) a{color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}@media screen{.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd h1{margin-bottom:1em}.page-cheatmd h2{margin:1em 0;column-span:all;padding-left:3px;color:var(--gray700);font-weight:500}.page-cheatmd.dark h2{color:var(--gray200)}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 1em;padding-left:5px;color:var(--main);font-weight:400}.page-cheatmd section.h3{min-width:300px;margin:0 0 2em;break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h3:after{margin-left:24px;content:"";vertical-align:middle;display:inline-block;width:100%;height:1px;background:linear-gradient(to right,rgba(116,95,181,.2),transparent 80%)}.page-cheatmd h4{display:block;margin:0;padding:.25em 1.5em;font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .h2 p{margin:0;display:block;background:var(--gray50);padding:1.5em}.page-cheatmd.dark .h2 p{background:var(--gray700)}.page-cheatmd .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd pre code{padding:1em 1.5em}.page-cheatmd pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .h2 pre{margin:0}.page-cheatmd pre.wrap{white-space:break-spaces}.page-cheatmd .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .h2 table th{padding:.75em 1.5em;line-height:2em;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table td{padding:.75em 1.5em;border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .h2 table td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .h2 thead{background-color:var(--gray700)}.page-cheatmd .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .h2 ul,.page-cheatmd .h2 ol{margin:0;padding:0}.page-cheatmd .h2 li{list-style-position:inside;padding:.5em 1.5em;line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 ul+pre code,.page-cheatmd .h2 ol+pre code{border-top:0}.page-cheatmd .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd section.col-2{column-count:2;column-gap:40px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:40px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:40px;height:auto}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}@media (max-width: 1400px){.page-cheatmd section.col-3{column-count:2;column-gap:40px}.page-cheatmd section.col-2-left{display:block;column-count:1}}@media (max-width: 1200px){.page-cheatmd section.col-3,.page-cheatmd section.col-2{column-count:1}.page-cheatmd section.list-6>ul>li{flex:0 0 25%}}@media (max-width: 1000px){.page-cheatmd section.list-4>ul>li{flex:0 0 33%}.page-cheatmd section.list-6>ul>li{flex:0 0 33%}}@media (max-width: 600px){.page-cheatmd section.list-4>ul>li{flex:0 0 50%}.page-cheatmd section.list-6>ul>li{flex:0 0 50%}}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray300)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{page-break-inside:avoid}#toast,.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){border:2px solid var(--gray300)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--textHeaders);border-bottom:2px solid var(--gray300)}.content-inner pre code.makeup{border-color:var(--gray300);white-space:break-spaces;page-break-inside:avoid;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray300)}}@media print{.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.85em}.page-cheatmd section.col-2{column-count:2;column-gap:20px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:20px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:10px;height:auto}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd h1{margin-top:0;margin-bottom:.5em}.page-cheatmd h2.section-heading{margin:1em 0 .25em;column-span:all}.page-cheatmd h2.section-heading:before{border-left:solid 6px var(--gray100);margin-right:8px;content:" "}.page-cheatmd section.h2{page-break-inside:avoid}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 .25em;padding-left:5px}.page-cheatmd h3.section-heading{overflow:hidden}.page-cheatmd section.h3{min-width:300px;margin:0 0 .75em;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h4{display:block;margin:-1px 0;padding:.5em;border:solid 1px var(--gray300)}.page-cheatmd .content-inner p{font-size:.95em;line-height:1.5em;padding:.5em}.page-cheatmd .content-inner section p{display:block;margin:-1px 0;font-size:.95em;line-height:1.5em;padding:.5em;border:solid;border-color:var(--gray300);border-width:1px 1px 0px 1px}.page-cheatmd .content-inner section p+p{border-width:0px 1px 0px 1px}.page-cheatmd .content-inner section p:last-of-type{border-width:0px 1px 1px 1px}.page-cheatmd .content-inner section p:only-of-type{border-width:1px}.page-cheatmd table{width:100%;border-collapse:collapse;margin:0;font-variant-numeric:tabular-nums;page-break-inside:avoid}.page-cheatmd th,.page-cheatmd td{text-align:left;vertical-align:top;padding:.5em;font-size:.95em}.page-cheatmd thead{border:1px solid var(--gray300)}.page-cheatmd .content-inner tbody tr{border-width:0px 1px 1px 1px;border-style:solid;border-color:var(--gray200)}.page-cheatmd .content-inner thead tr{border-bottom:none}.page-cheatmd th{font-weight:700}.page-cheatmd td{text-align:left}.page-cheatmd pre{margin:-1px 0}.page-cheatmd ul,.page-cheatmd ol{margin:0;padding:0;list-style-position:inside}.page-cheatmd .h2 li{padding:.5em .75em;vertical-align:middle;border-bottom:1px solid var(--gray200)}.page-cheatmd .h2 li:last-of-type{border-bottom:0}pre:hover button.copy-button,.page-cheatmd div#tooltip{display:none}.page-cheatmd footer p{display:none}.page-cheatmd footer p.built-using{display:block}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ diff --git a/formatters/html/dist/html-erlang-4XYKNH4U.css b/formatters/html/dist/html-erlang-4XYKNH4U.css deleted file mode 100644 index 57f6d2e07..000000000 --- a/formatters/html/dist/html-erlang-4XYKNH4U.css +++ /dev/null @@ -1,2 +0,0 @@ -:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--viewSource: var(--coldGray);--viewSourceHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--viewSource: var(--coldGray-lightened-10);--viewSourceHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray200);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-E5UFLALU.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{position:fixed;z-index:99;left:0;top:7px;transition:color .3s ease-in-out,transform .15s ease-out .1s,opacity .15s ease-out .1s;will-change:transform;transform:translate(250px)}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}body.sidebar-opening .sidebar-button{transition:transform .3s ease-in-out}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar-button{transition:transform .3s ease-in-out;transform:translateY(-8px)}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:949px;margin:0 auto;padding:3px 60px}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding:27px 20px 27px 40px;max-width:100%;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;border-bottom:3px solid transparent;line-height:27px}.sidebar .sidebar-listNav li:is(:hover,.selected){border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200)}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main)}.sidebar #full-list>li.current-page>a{color:var(--main);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:9px 0 9px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:20px;padding:2px 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main)}.sidebar #full-list ul li.current-hash:before{content:"\2022";color:var(--main)}.sidebar #full-list ul li.current-hash>a{color:var(--main);margin-left:-12px}.sidebar #full-list ul li a{padding-left:15px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{border-left:1px solid var(--gray600);padding:0 10px;margin-left:8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li ul li a{padding-left:0}.sidebar #full-list ul li ul li.current-hash:before{content:none}.sidebar #full-list ul li ul li.current-hash{color:var(--main);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 :is(a.view-source,.settings){font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner a.view-source{float:right;color:var(--viewSource);text-decoration:none;border:none;transition:color .3s ease-in-out}.content-inner a.view-source:hover{color:var(--viewSourceHover)}.content-inner a.view-source:visited{color:var(--viewSource)}.content-inner .settings{background-color:transparent;float:right;color:var(--viewSource);text-decoration:none;border:none;transition:color .1s ease-in-out;margin-top:12px;cursor:pointer}.content-inner .settings:hover{color:var(--viewSourceHover)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--viewSource);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.7em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}.content-inner .detail :is(h1,h2,h3,h4,h5,h6).section-heading{margin-left:.3em}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) a{color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer.footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd h1{margin-bottom:1em}.page-cheatmd h2{margin:1em 0;column-span:all;padding-left:3px;color:var(--gray700);font-weight:500}.page-cheatmd.dark h2{color:var(--gray200)}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 1em;padding-left:5px;color:var(--main);font-weight:400}.page-cheatmd section.h3{min-width:300px;margin:0 0 2em;break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h3:after{margin-left:24px;content:"";vertical-align:middle;display:inline-block;width:100%;height:1px;background:linear-gradient(to right,rgba(116,95,181,.2),transparent 80%)}.page-cheatmd h4{display:block;margin:0;padding:.25em 1.5em;font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .h2 p{margin:0;display:block;background:var(--gray50);padding:1.5em}.page-cheatmd.dark .h2 p{background:var(--gray700)}.page-cheatmd .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd pre code{padding:1em 1.5em}.page-cheatmd pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .h2 pre{margin:0}.page-cheatmd pre.wrap{white-space:break-spaces}.page-cheatmd .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .h2 table th{padding:.75em 1.5em;line-height:2em;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table td{padding:.75em 1.5em;border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .h2 table td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .h2 thead{background-color:var(--gray700)}.page-cheatmd .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .h2 ul,.page-cheatmd .h2 ol{margin:0;padding:0}.page-cheatmd .h2 li{list-style-position:inside;padding:.5em 1.5em;line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 ul+pre code,.page-cheatmd .h2 ol+pre code{border-top:0}.page-cheatmd .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd section.col-2{column-count:2;column-gap:40px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:40px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:40px;height:auto}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}@media (max-width: 1400px){.page-cheatmd section.col-3{column-count:2;column-gap:40px}.page-cheatmd section.col-2-left{display:block;column-count:1}}@media (max-width: 1200px){.page-cheatmd section.col-3,.page-cheatmd section.col-2{column-count:1}.page-cheatmd section.list-6>ul>li{flex:0 0 25%}}@media (max-width: 1000px){.page-cheatmd section.list-4>ul>li{flex:0 0 33%}.page-cheatmd section.list-6>ul>li{flex:0 0 33%}}@media (max-width: 600px){.page-cheatmd section.list-4>ul>li{flex:0 0 50%}.page-cheatmd section.list-6>ul>li{flex:0 0 50%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray300)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible}.summary-row{page-break-inside:avoid}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ diff --git a/formatters/html/dist/html-erlang-6FXMBT73.css b/formatters/html/dist/html-erlang-6FXMBT73.css new file mode 100644 index 000000000..391e3898c --- /dev/null +++ b/formatters/html/dist/html-erlang-6FXMBT73.css @@ -0,0 +1,2 @@ +:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray200);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{position:fixed;z-index:99;left:0;top:7px;transition:color .3s ease-in-out,transform .15s ease-out .1s,opacity .15s ease-out .1s;will-change:transform;transform:translate(250px)}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}body.sidebar-opening .sidebar-button{transition:transform .3s ease-in-out}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar-button{transition:transform .3s ease-in-out;transform:translateY(-8px)}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:949px;margin:0 auto;padding:3px 60px}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding:27px 20px 27px 40px;max-width:100%;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;border-bottom:3px solid transparent;line-height:27px}.sidebar .sidebar-listNav li:is(:hover,.selected){border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200)}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main)}.sidebar #full-list>li.current-page>a{color:var(--main);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:9px 0 9px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:20px;padding:2px 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main)}.sidebar #full-list ul li.current-hash:before{content:"\2022";color:var(--main)}.sidebar #full-list ul li.current-hash>a{color:var(--main);margin-left:-12px}.sidebar #full-list ul li a{padding-left:15px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{border-left:1px solid var(--gray600);padding:0 10px;margin-left:8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li ul li a{padding-left:0}.sidebar #full-list ul li ul li.current-hash:before{content:none}.sidebar #full-list ul li ul li.current-hash{color:var(--main);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 .icon-action{font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner .icon-action{float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0 0 0 6px}.content-inner button.icon-action{margin-top:12px}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.7em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}.content-inner .detail :is(h1,h2,h3,h4,h5,h6).section-heading{margin-left:.3em}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) a{color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}@media screen{.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd h1{margin-bottom:1em}.page-cheatmd h2{margin:1em 0;column-span:all;padding-left:3px;color:var(--gray700);font-weight:500}.page-cheatmd.dark h2{color:var(--gray200)}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 1em;padding-left:5px;color:var(--main);font-weight:400}.page-cheatmd section.h3{min-width:300px;margin:0 0 2em;break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h3:after{margin-left:24px;content:"";vertical-align:middle;display:inline-block;width:100%;height:1px;background:linear-gradient(to right,rgba(116,95,181,.2),transparent 80%)}.page-cheatmd h4{display:block;margin:0;padding:.25em 1.5em;font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .h2 p{margin:0;display:block;background:var(--gray50);padding:1.5em}.page-cheatmd.dark .h2 p{background:var(--gray700)}.page-cheatmd .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd pre code{padding:1em 1.5em}.page-cheatmd pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .h2 pre{margin:0}.page-cheatmd pre.wrap{white-space:break-spaces}.page-cheatmd .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .h2 table th{padding:.75em 1.5em;line-height:2em;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table td{padding:.75em 1.5em;border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .h2 table td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .h2 thead{background-color:var(--gray700)}.page-cheatmd .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .h2 ul,.page-cheatmd .h2 ol{margin:0;padding:0}.page-cheatmd .h2 li{list-style-position:inside;padding:.5em 1.5em;line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 ul+pre code,.page-cheatmd .h2 ol+pre code{border-top:0}.page-cheatmd .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd section.col-2{column-count:2;column-gap:40px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:40px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:40px;height:auto}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}@media (max-width: 1400px){.page-cheatmd section.col-3{column-count:2;column-gap:40px}.page-cheatmd section.col-2-left{display:block;column-count:1}}@media (max-width: 1200px){.page-cheatmd section.col-3,.page-cheatmd section.col-2{column-count:1}.page-cheatmd section.list-6>ul>li{flex:0 0 25%}}@media (max-width: 1000px){.page-cheatmd section.list-4>ul>li{flex:0 0 33%}.page-cheatmd section.list-6>ul>li{flex:0 0 33%}}@media (max-width: 600px){.page-cheatmd section.list-4>ul>li{flex:0 0 50%}.page-cheatmd section.list-6>ul>li{flex:0 0 50%}}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray300)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{page-break-inside:avoid}#toast,.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){border:2px solid var(--gray300)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--textHeaders);border-bottom:2px solid var(--gray300)}.content-inner pre code.makeup{border-color:var(--gray300);white-space:break-spaces;page-break-inside:avoid;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray300)}}@media print{.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.85em}.page-cheatmd section.col-2{column-count:2;column-gap:20px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:20px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:10px;height:auto}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd h1{margin-top:0;margin-bottom:.5em}.page-cheatmd h2.section-heading{margin:1em 0 .25em;column-span:all}.page-cheatmd h2.section-heading:before{border-left:solid 6px var(--gray100);margin-right:8px;content:" "}.page-cheatmd section.h2{page-break-inside:avoid}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 .25em;padding-left:5px}.page-cheatmd h3.section-heading{overflow:hidden}.page-cheatmd section.h3{min-width:300px;margin:0 0 .75em;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h4{display:block;margin:-1px 0;padding:.5em;border:solid 1px var(--gray300)}.page-cheatmd .content-inner p{font-size:.95em;line-height:1.5em;padding:.5em}.page-cheatmd .content-inner section p{display:block;margin:-1px 0;font-size:.95em;line-height:1.5em;padding:.5em;border:solid;border-color:var(--gray300);border-width:1px 1px 0px 1px}.page-cheatmd .content-inner section p+p{border-width:0px 1px 0px 1px}.page-cheatmd .content-inner section p:last-of-type{border-width:0px 1px 1px 1px}.page-cheatmd .content-inner section p:only-of-type{border-width:1px}.page-cheatmd table{width:100%;border-collapse:collapse;margin:0;font-variant-numeric:tabular-nums;page-break-inside:avoid}.page-cheatmd th,.page-cheatmd td{text-align:left;vertical-align:top;padding:.5em;font-size:.95em}.page-cheatmd thead{border:1px solid var(--gray300)}.page-cheatmd .content-inner tbody tr{border-width:0px 1px 1px 1px;border-style:solid;border-color:var(--gray200)}.page-cheatmd .content-inner thead tr{border-bottom:none}.page-cheatmd th{font-weight:700}.page-cheatmd td{text-align:left}.page-cheatmd pre{margin:-1px 0}.page-cheatmd ul,.page-cheatmd ol{margin:0;padding:0;list-style-position:inside}.page-cheatmd .h2 li{padding:.5em .75em;vertical-align:middle;border-bottom:1px solid var(--gray200)}.page-cheatmd .h2 li:last-of-type{border-bottom:0}pre:hover button.copy-button,.page-cheatmd div#tooltip{display:none}.page-cheatmd footer p{display:none}.page-cheatmd footer p.built-using{display:block}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ diff --git a/formatters/html/dist/remixicon-E5UFLALU.woff2 b/formatters/html/dist/remixicon-E5UFLALU.woff2 deleted file mode 100644 index 155f274dd..000000000 Binary files a/formatters/html/dist/remixicon-E5UFLALU.woff2 and /dev/null differ diff --git a/formatters/html/dist/remixicon-NKANDIL5.woff2 b/formatters/html/dist/remixicon-NKANDIL5.woff2 new file mode 100644 index 000000000..57e6c7c12 Binary files /dev/null and b/formatters/html/dist/remixicon-NKANDIL5.woff2 differ diff --git a/lib/ex_doc/cli.ex b/lib/ex_doc/cli.ex index 34952e604..1387c1339 100644 --- a/lib/ex_doc/cli.ex +++ b/lib/ex_doc/cli.ex @@ -34,16 +34,12 @@ defmodule ExDoc.CLI do ) if List.keymember?(opts, :version, 0) do - print_version() + IO.puts("ExDoc v#{ExDoc.version()}") else generate(args, opts, generator) end end - defp print_version do - IO.puts("ExDoc v#{ExDoc.version()}") - end - defp generate(args, opts, generator) do [project, version, source_beam] = parse_args(args) @@ -59,10 +55,11 @@ defmodule ExDoc.CLI do |> Keyword.put(:source_beam, source_beam) |> Keyword.put(:apps, [app(source_beam)]) |> merge_config() + |> normalize_formatters() quiet? = Keyword.get(opts, :quiet, false) - for formatter <- get_formatters(opts) do + for formatter <- opts[:formatters] do index = generator.(project, version, Keyword.put(opts, :formatter, formatter)) quiet? || @@ -72,11 +69,14 @@ defmodule ExDoc.CLI do end end - defp get_formatters(opts) do - case Keyword.get_values(opts, :formatter) do - [] -> opts[:formatters] || ["html", "epub"] - values -> values - end + defp normalize_formatters(opts) do + formatters = + case Keyword.get_values(opts, :formatter) do + [] -> opts[:formatters] || ["html", "epub"] + values -> values + end + + Keyword.put(opts, :formatters, formatters) end defp app(source_beam) do @@ -194,7 +194,7 @@ defmodule ExDoc.CLI do [ extras: Path.wildcard("lib/elixir/pages/*.md"), - groups_for_functions: [ + groups_for_docs: [ Guards: & &1[:guard] == true ], skip_undefined_reference_warnings_on: ["compatibility-and-deprecations"], diff --git a/lib/ex_doc/config.ex b/lib/ex_doc/config.ex index 7ed0d0670..c32697b51 100644 --- a/lib/ex_doc/config.ex +++ b/lib/ex_doc/config.ex @@ -6,8 +6,10 @@ defmodule ExDoc.Config do def filter_modules(_module, _metadata), do: true def before_closing_head_tag(_), do: "" def before_closing_body_tag(_), do: "" + def annotations_for_docs(_), do: [] - defstruct api_reference: true, + defstruct annotations_for_docs: &__MODULE__.annotations_for_docs/1, + api_reference: true, apps: [], assets: nil, authors: nil, @@ -20,8 +22,9 @@ defmodule ExDoc.Config do extras: [], filter_modules: &__MODULE__.filter_modules/2, formatter: "html", + formatters: [], groups_for_extras: [], - groups_for_functions: [], + groups_for_docs: [], groups_for_modules: [], homepage_url: nil, javascript_config_path: "docs_config.js", @@ -43,6 +46,7 @@ defmodule ExDoc.Config do version: nil @type t :: %__MODULE__{ + annotations_for_docs: (map() -> list()), api_reference: boolean(), apps: [atom()], assets: nil | String.t(), @@ -56,8 +60,9 @@ defmodule ExDoc.Config do extras: list(), filter_modules: (module, map -> boolean), formatter: nil | String.t(), + formatters: [String.t()], groups_for_extras: keyword(), - groups_for_functions: keyword((keyword() -> boolean)), + groups_for_docs: keyword((keyword() -> boolean)), groups_for_modules: keyword(), homepage_url: nil | String.t(), javascript_config_path: nil | String.t(), @@ -86,6 +91,14 @@ defmodule ExDoc.Config do {proglang, options} = Keyword.pop(options, :proglang, :elixir) {filter_modules, options} = Keyword.pop(options, :filter_modules, &filter_modules/2) + options = + if groups_for_functions = options[:groups_for_functions] do + # TODO: Deprecate me + Keyword.put_new(options, :groups_for_docs, groups_for_functions) + else + options + end + {source_url_pattern, options} = Keyword.pop_lazy(options, :source_url_pattern, fn -> guess_url(options[:source_url], options[:source_ref] || @default_source_ref) @@ -131,7 +144,7 @@ defmodule ExDoc.Config do end defp deprecated?(metadata), do: metadata[:deprecated] != nil - defp exception?(metadata), do: metadata[:__type__] == :exception + defp exception?(metadata), do: metadata[:__doc__] == :exception defp normalize_nest_modules_by_prefix(nest_modules_by_prefix) do nest_modules_by_prefix diff --git a/lib/ex_doc/formatter/epub/templates/module_template.eex b/lib/ex_doc/formatter/epub/templates/module_template.eex index 1f3906290..7922fdfdd 100644 --- a/lib/ex_doc/formatter/epub/templates/module_template.eex +++ b/lib/ex_doc/formatter/epub/templates/module_template.eex @@ -15,7 +15,7 @@ <% end %> - <%= if Enum.any?(summary, fn {_, v} -> v != [] end) do %> + <%= if summary != [] do %>

    @@ -28,7 +28,7 @@

    <% end %> - <%= for {name, nodes} <- summary, nodes != [], key = HTML.text_to_id(name) do %> + <%= for {name, nodes} <- summary, key = HTML.text_to_id(name) do %>

    diff --git a/lib/ex_doc/formatter/html.ex b/lib/ex_doc/formatter/html.ex index 2752dbf07..62fdaa236 100644 --- a/lib/ex_doc/formatter/html.ex +++ b/lib/ex_doc/formatter/html.ex @@ -326,6 +326,13 @@ defmodule ExDoc.Formatter.HTML do """ def build_extras(config, ext) do groups = config.groups_for_extras + + language = + case config.proglang do + :erlang -> ExDoc.Language.Erlang + _ -> ExDoc.Language.Elixir + end + source_url_pattern = config.source_url_pattern autolink_opts = [ @@ -338,25 +345,25 @@ defmodule ExDoc.Formatter.HTML do config.extras |> Task.async_stream( - &build_extra(&1, groups, autolink_opts, source_url_pattern), + &build_extra(&1, groups, language, autolink_opts, source_url_pattern), timeout: :infinity ) |> Enum.map(&elem(&1, 1)) |> Enum.sort_by(fn extra -> GroupMatcher.group_index(groups, extra.group) end) end - defp build_extra({input, options}, groups, autolink_opts, source_url_pattern) do + defp build_extra({input, options}, groups, language, autolink_opts, source_url_pattern) do input = to_string(input) id = options[:filename] || input |> filename_to_title() |> text_to_id() - build_extra(input, id, options[:title], groups, autolink_opts, source_url_pattern) + build_extra(input, id, options[:title], groups, language, autolink_opts, source_url_pattern) end - defp build_extra(input, groups, autolink_opts, source_url_pattern) do + defp build_extra(input, groups, language, autolink_opts, source_url_pattern) do id = input |> filename_to_title() |> text_to_id() - build_extra(input, id, nil, groups, autolink_opts, source_url_pattern) + build_extra(input, id, nil, groups, language, autolink_opts, source_url_pattern) end - defp build_extra(input, id, title, groups, autolink_opts, source_url_pattern) do + defp build_extra(input, id, title, groups, language, autolink_opts, source_url_pattern) do opts = [file: input, line: 1] ast = @@ -384,8 +391,6 @@ defmodule ExDoc.Formatter.HTML do title_text = title_ast && ExDoc.DocAST.text_from_ast(title_ast) title_html = title_ast && ExDoc.DocAST.to_string(title_ast) - # TODO: don't hardcode Elixir for extras? - language = ExDoc.Language.Elixir content_html = autolink_and_render(ast, language, [file: input] ++ autolink_opts, opts) group = GroupMatcher.match_extra(groups, input) diff --git a/lib/ex_doc/formatter/html/templates.ex b/lib/ex_doc/formatter/html/templates.ex index 8f7b7ae4b..cff2aaf2a 100644 --- a/lib/ex_doc/formatter/html/templates.ex +++ b/lib/ex_doc/formatter/html/templates.ex @@ -117,7 +117,6 @@ defmodule ExDoc.Formatter.HTML.Templates do extra = module |> module_summary() - |> Enum.reject(fn {_type, nodes_map} -> nodes_map == [] end) |> case do [] -> [] entries -> [nodeGroups: Enum.map(entries, &sidebar_entries/1)] @@ -146,7 +145,7 @@ defmodule ExDoc.Formatter.HTML.Templates do "#{node.name}/#{node.arity}" end - %{id: id, anchor: URI.encode(node.id)} + %{id: id, title: node.signature, anchor: URI.encode(node.id)} end %{key: HTML.text_to_id(group), name: group, nodes: nodes} @@ -183,11 +182,14 @@ defmodule ExDoc.Formatter.HTML.Templates do end def module_summary(module_node) do - [Types: module_node.typespecs] ++ - function_groups(module_node.function_groups, module_node.docs) + entries = + [Types: module_node.typespecs] ++ + docs_groups(module_node.docs_groups, module_node.docs) + + Enum.reject(entries, fn {_type, nodes} -> nodes == [] end) end - defp function_groups(groups, docs) do + defp docs_groups(groups, docs) do for group <- groups, do: {group, Enum.filter(docs, &(&1.group == group))} end diff --git a/lib/ex_doc/formatter/html/templates/detail_template.eex b/lib/ex_doc/formatter/html/templates/detail_template.eex index 54d47b1d1..a0d1503b0 100644 --- a/lib/ex_doc/formatter/html/templates/detail_template.eex +++ b/lib/ex_doc/formatter/html/templates/detail_template.eex @@ -9,7 +9,7 @@

    <%=h node.signature %>

    <%= if node.source_url do %> - + View Source diff --git a/lib/ex_doc/formatter/html/templates/extra_template.eex b/lib/ex_doc/formatter/html/templates/extra_template.eex index e9bc4460d..b61fe8277 100644 --- a/lib/ex_doc/formatter/html/templates/extra_template.eex +++ b/lib/ex_doc/formatter/html/templates/extra_template.eex @@ -4,11 +4,18 @@

    <%= settings_button_template() %> <%= if node.source_url do %> - + View Source <% end %> + <%= if type == :cheatmd do %> + + <% end %> + <%= node.title_content %>

    diff --git a/lib/ex_doc/formatter/html/templates/footer_template.eex b/lib/ex_doc/formatter/html/templates/footer_template.eex index 90149c5ab..c5e02bb80 100644 --- a/lib/ex_doc/formatter/html/templates/footer_template.eex +++ b/lib/ex_doc/formatter/html/templates/footer_template.eex @@ -1,24 +1,31 @@
    - <%= if config.package do %> -

    - On Hex.pm: - +

    + <%= if config.package do %> - Package - Preview + Hex Package + + Hex Preview <%= source_path = node && Map.get(node, :source_path); if source_path do %> - (current file) + (current file) <% end %> + <% end %> - -

    - <% end %> -

    + <%= if "epub" in config.formatters do %> + + Download ePub version + + <% end %> + +

    + +

    Built using ExDoc (v<%= ExDoc.version() %>) for the <%= if config.proglang == :erlang do %> diff --git a/lib/ex_doc/formatter/html/templates/head_template.eex b/lib/ex_doc/formatter/html/templates/head_template.eex index f350e6308..1bf813c18 100644 --- a/lib/ex_doc/formatter/html/templates/head_template.eex +++ b/lib/ex_doc/formatter/html/templates/head_template.eex @@ -11,6 +11,9 @@ <% end %> <%= page.title %> — <%= config.project %> v<%= config.version %> " /> + <%= if page.type == :cheatmd do %> + + <% end %> <%= if config.canonical do %> <% end %> diff --git a/lib/ex_doc/formatter/html/templates/module_template.eex b/lib/ex_doc/formatter/html/templates/module_template.eex index 57f0a817f..5876b00f8 100644 --- a/lib/ex_doc/formatter/html/templates/module_template.eex +++ b/lib/ex_doc/formatter/html/templates/module_template.eex @@ -4,7 +4,7 @@

    <%= settings_button_template() %> <%= if module.source_url do %> - + View Source @@ -28,7 +28,7 @@

    <% end %> -<%= if Enum.any?(summary, fn {_, v} -> v != [] end) do %> +<%= if summary != [] do %>

    @@ -41,7 +41,7 @@

    <% end %> -<%= for {name, nodes} <- summary, nodes != [], key = HTML.text_to_id(name) do %> +<%= for {name, nodes} <- summary, key = HTML.text_to_id(name) do %>

    diff --git a/lib/ex_doc/formatter/html/templates/settings_button_template.eex b/lib/ex_doc/formatter/html/templates/settings_button_template.eex index acab0c5a6..8b479707c 100644 --- a/lib/ex_doc/formatter/html/templates/settings_button_template.eex +++ b/lib/ex_doc/formatter/html/templates/settings_button_template.eex @@ -1,4 +1,4 @@ - diff --git a/lib/ex_doc/formatter/html/templates/sidebar_template.eex b/lib/ex_doc/formatter/html/templates/sidebar_template.eex index d4aafa434..4a98d18e1 100644 --- a/lib/ex_doc/formatter/html/templates/sidebar_template.eex +++ b/lib/ex_doc/formatter/html/templates/sidebar_template.eex @@ -14,7 +14,7 @@ diff --git a/lib/ex_doc/formatter/html/templates/summary_template.eex b/lib/ex_doc/formatter/html/templates/summary_template.eex index 0d7bf1914..6db388689 100644 --- a/lib/ex_doc/formatter/html/templates/summary_template.eex +++ b/lib/ex_doc/formatter/html/templates/summary_template.eex @@ -1,20 +1,18 @@ -<%= unless Enum.empty?(nodes) do %> -
    -

    - <%= name %> -

    - <%= for node <- nodes do %> -
    -
    - <%=h node.signature %> - <%= if deprecated = node.deprecated do %> - deprecated - <% end %> -
    - <%= if doc = node.rendered_doc do %> -
    <%= synopsis(doc) %>
    +
    +

    + <%= name %> +

    + <%= for node <- nodes do %> +
    +
    + <%=h node.signature %> + <%= if deprecated = node.deprecated do %> + deprecated <% end %>
    - <% end %> -
    -<% end %> + <%= if doc = node.rendered_doc do %> +
    <%= synopsis(doc) %>
    + <% end %> +
    + <% end %> +
    diff --git a/lib/ex_doc/language.ex b/lib/ex_doc/language.ex index 8d1cf64c4..5b621e47c 100644 --- a/lib/ex_doc/language.ex +++ b/lib/ex_doc/language.ex @@ -64,7 +64,7 @@ defmodule ExDoc.Language do %{ line: non_neg_integer() | nil, specs: [spec_ast()], - doc_fallback: (-> ExDoc.DocAST.t()) | nil, + doc_fallback: (() -> ExDoc.DocAST.t()) | nil, extra_annotations: [String.t()] } | :skip diff --git a/lib/ex_doc/language/erlang.ex b/lib/ex_doc/language/erlang.ex index 883d14314..d42820d34 100644 --- a/lib/ex_doc/language/erlang.ex +++ b/lib/ex_doc/language/erlang.ex @@ -217,6 +217,41 @@ defmodule ExDoc.Language.Erlang do binary end + defp walk_doc({:code, attrs, [code], meta} = ast, config) do + {text, url} = + case parse_autolink(code) do + {:module, module} = ref -> + text = Atom.to_string(module) + # Modules are parsed very permissively, so undefined/private + # modules do not emit warnings + url = do_url(ref, code, config, false) + {text, url} + + {:local, kind, name, arity} -> + {"#{name}/#{arity}", local_url(kind, name, arity, config)} + + {:remote, kind, module, name, arity} -> + text = + if kind == :type and arity == 0 do + "#{module}:#{name}()" + else + "#{module}:#{name}/#{arity}" + end + + url = remote_url(kind, module, name, arity, config) + {text, url} + + :error -> + {code, nil} + end + + if url do + {:a, [href: url], {:code, attrs, [text], meta}, %{}} + else + ast + end + end + defp walk_doc({:a, attrs, inner, _meta} = ast, config) do case attrs[:rel] do "https://erlang.org/doc/link/seeerl" -> @@ -308,7 +343,7 @@ defmodule ExDoc.Language.Erlang do defp url(:module, string, config) do ref = {:module, String.to_atom(string)} - do_url(ref, string, config) + do_url(ref, string, config, true) end defp url(kind, string, config) do @@ -327,31 +362,46 @@ defmodule ExDoc.Language.Erlang do name = String.to_atom(name) arity = String.to_integer(arity) - original_text = + if module == "" do + local_url(kind, name, arity, config) + else + remote_url(kind, String.to_atom(module), name, arity, config) + end + end + + defp remote_url(kind, module, name, arity, config) do + ref = {kind, module, name, arity} + + text = if kind == :type and arity == 0 do - "#{name}()" + "#{module}:#{name}()" else - "#{name}/#{arity}" + "#{module}:#{name}/#{arity}" end - if module == "" do - ref = {kind, config.current_module, name, arity} - visibility = Refs.get_visibility(ref) + do_url(ref, text, config, true) + end - if visibility == :public do - final_url({kind, name, arity}, config) - else - Autolink.maybe_warn(ref, config, visibility, %{original_text: original_text}) - nil - end + defp local_url(kind, name, arity, config) do + ref = {kind, config.current_module, name, arity} + visibility = Refs.get_visibility(ref) + + if visibility == :public do + final_url({kind, name, arity}, config) else - ref = {kind, String.to_atom(module), name, arity} - original_text = "#{module}:#{original_text}" - do_url(ref, original_text, config) + original_text = + if kind == :type and arity == 0 do + "#{name}()" + else + "#{name}/#{arity}" + end + + Autolink.maybe_warn(ref, config, visibility, %{original_text: original_text}) + nil end end - defp do_url(ref, original_text, config) do + defp do_url(ref, original_text, config, emit_warning) do visibility = Refs.get_visibility(ref) # TODO: type with content = %{} in otp xml is marked as :hidden, it should be :public @@ -359,7 +409,10 @@ defmodule ExDoc.Language.Erlang do if visibility == :public or (visibility == :hidden and elem(ref, 0) == :type) do final_url(ref, config) else - Autolink.maybe_warn(ref, config, visibility, %{original_text: original_text}) + if emit_warning do + Autolink.maybe_warn(ref, config, visibility, %{original_text: original_text}) + end + nil end end @@ -405,6 +458,86 @@ defmodule ExDoc.Language.Erlang do "#t:#{name}/#{arity}" end + defp kind("c:" <> rest), do: {:callback, rest} + defp kind("t:" <> rest), do: {:type, rest} + defp kind(rest), do: {:function, rest} + + defp parse_autolink(string) do + case Regex.run(~r{^(.+)(/\d+|\(\))$}, string) do + [_, left, right] -> + with {:ok, arity} <- parse_arity(right) do + {kind, rest} = kind(left) + + case parse_module_function(rest) do + {:local, name} -> + {:local, kind, name, arity} + + {:remote, module, name} -> + {:remote, kind, module, name, arity} + + :error -> + :error + end + end + + nil -> + parse_module(string) + + _ -> + :error + end + end + + # 0-arity types may take the form `t:module:type()`. + defp parse_arity("()") do + {:ok, 0} + end + + defp parse_arity("/" <> arity_string) do + case Integer.parse(arity_string) do + {arity, ""} -> {:ok, arity} + _ -> :error + end + end + + defp parse_module_function(string) do + case String.split(string, ":") do + [module_string, function_string] -> + with {:module, module} <- parse_module(module_string), + {:function, function} <- parse_function(function_string) do + {:remote, module, function} + end + + [function_string] -> + with {:function, function} <- parse_function(function_string) do + {:local, function} + end + + _ -> + :error + end + end + + defp parse_function(string) do + case Code.string_to_quoted("& #{string}/0") do + {:ok, {:&, _, [{:/, _, [{function, _, _}, 0]}]}} when is_atom(function) -> + {:function, function} + + _ -> + :error + end + end + + defp parse_module(string) do + case Code.string_to_quoted(":#{string}", warn_on_unnecessary_quotes: false) do + {:ok, module} when is_atom(module) -> + {:module, module} + + _ -> + :error + end + end + # Traverses quoted and formatted string of the typespec AST, replacing refs with links. # # Let's say we have this typespec: @@ -460,7 +593,10 @@ defmodule ExDoc.Language.Erlang do arity = length(args) cond do - name in [:"::", :when, :%{}, :{}, :|, :->, :record] -> + name == :record and acc != [] -> + {ast, acc} + + name in [:"::", :when, :%{}, :{}, :|, :->] -> {ast, acc} # %{required(...) => ..., optional(...) => ...} diff --git a/lib/ex_doc/nodes.ex b/lib/ex_doc/nodes.ex index 163c9264f..0d7f377f3 100644 --- a/lib/ex_doc/nodes.ex +++ b/lib/ex_doc/nodes.ex @@ -13,7 +13,7 @@ defmodule ExDoc.ModuleNode do doc: nil, rendered_doc: nil, doc_line: nil, - function_groups: [], + docs_groups: [], docs: [], typespecs: [], source_path: nil, @@ -35,7 +35,7 @@ defmodule ExDoc.ModuleNode do doc: ExDoc.DocAST.t() | nil, rendered_doc: String.t() | nil, doc_line: non_neg_integer(), - function_groups: [atom()], + docs_groups: [atom()], docs: [ExDoc.FunctionNode.t()], typespecs: [ExDoc.TypeNode.t()], source_path: String.t(), diff --git a/lib/ex_doc/retriever.ex b/lib/ex_doc/retriever.ex index 444aecbe9..ba627ed63 100644 --- a/lib/ex_doc/retriever.ex +++ b/lib/ex_doc/retriever.ex @@ -104,15 +104,22 @@ defmodule ExDoc.Retriever do {doc_line, moduledoc, metadata} = get_module_docs(module_data, source_path) # TODO: The default function groups must be returned by the language - groups_for_functions = - config.groups_for_functions ++ [Callbacks: & &1[:__callback__], Functions: fn _ -> true end] + groups_for_docs = + config.groups_for_docs ++ + [Callbacks: &(&1[:__doc__] == :callback), Functions: fn _ -> true end] + + annotations_for_docs = config.annotations_for_docs + + docs_groups = Enum.map(groups_for_docs, &elem(&1, 0)) + function_docs = get_docs(module_data, source, groups_for_docs, annotations_for_docs) + + docs = + function_docs ++ + get_callbacks(module_data, source, groups_for_docs, annotations_for_docs) - function_groups = Enum.map(groups_for_functions, &elem(&1, 0)) - function_docs = get_docs(module_data, source, groups_for_functions) - docs = function_docs ++ get_callbacks(module_data, source, groups_for_functions) types = get_types(module_data, source) - metadata = Map.put(metadata, :__type__, module_data.type) + metadata = Map.put(metadata, :__doc__, module_data.type) group = GroupMatcher.match_module(config.groups_for_modules, module, module_data.id, metadata) {nested_title, nested_context} = module_data.nesting_info || {nil, nil} @@ -125,7 +132,7 @@ defmodule ExDoc.Retriever do module: module, type: module_data.type, deprecated: metadata[:deprecated], - function_groups: function_groups, + docs_groups: docs_groups, docs: ExDoc.Utils.natural_sort_by(docs, &"#{&1.name}/#{&1.arity}"), doc: moduledoc, doc_line: doc_line, @@ -156,7 +163,7 @@ defmodule ExDoc.Retriever do ## Function helpers - defp get_docs(module_data, source, groups_for_functions) do + defp get_docs(module_data, source, groups_for_docs, annotations_for_docs) do {:docs_v1, _, _, _, _, _, doc_elements} = module_data.docs nodes = @@ -166,18 +173,38 @@ defmodule ExDoc.Retriever do [] function_data -> - [get_function(doc_element, function_data, source, module_data, groups_for_functions)] + [ + get_function( + doc_element, + function_data, + source, + module_data, + groups_for_docs, + annotations_for_docs + ) + ] end end) filter_defaults(nodes) end - defp get_function(doc_element, function_data, source, module_data, groups_for_functions) do + defp get_function( + doc_element, + function_data, + source, + module_data, + groups_for_docs, + annotations_for_docs + ) do {:docs_v1, _, _, content_type, _, _, _} = module_data.docs {{type, name, arity}, anno, signature, doc_content, metadata} = doc_element doc_line = anno_line(anno) - annotations = annotations_from_metadata(metadata) ++ function_data.extra_annotations + + annotations = + annotations_for_docs.(metadata) ++ + annotations_from_metadata(metadata) ++ function_data.extra_annotations + line = function_data.line || doc_line defaults = get_defaults(name, arity, Map.get(metadata, :defaults, 0)) @@ -185,7 +212,7 @@ defmodule ExDoc.Retriever do (doc_content && doc_ast(content_type, doc_content, file: source.path, line: doc_line + 1)) || function_data.doc_fallback.() - group = GroupMatcher.match_function(groups_for_functions, metadata) + group = GroupMatcher.match_function(groups_for_docs, metadata) %ExDoc.FunctionNode{ id: "#{name}/#{arity}", @@ -225,17 +252,22 @@ defmodule ExDoc.Retriever do ## Callback helpers - defp get_callbacks(%{type: :behaviour} = module_data, source, groups_for_functions) do + defp get_callbacks( + %{type: :behaviour} = module_data, + source, + groups_for_docs, + annotations_for_docs + ) do {:docs_v1, _, _, _, _, _, docs} = module_data.docs for {{kind, _, _}, _, _, _, _} = doc <- docs, kind in module_data.callback_types do - get_callback(doc, source, groups_for_functions, module_data) + get_callback(doc, source, groups_for_docs, module_data, annotations_for_docs) end end - defp get_callbacks(_, _, _), do: [] + defp get_callbacks(_, _, _, _), do: [] - defp get_callback(callback, source, groups_for_functions, module_data) do + defp get_callback(callback, source, groups_for_docs, module_data, annotations_for_docs) do callback_data = module_data.language.callback_data(callback, module_data) {:docs_v1, _, _, content_type, _, _, _} = module_data.docs @@ -244,11 +276,15 @@ defmodule ExDoc.Retriever do signature = signature(callback_data.signature) specs = callback_data.specs - annotations = callback_data.extra_annotations ++ annotations_from_metadata(metadata) + + annotations = + annotations_for_docs.(metadata) ++ + callback_data.extra_annotations ++ annotations_from_metadata(metadata) + doc_ast = doc_ast(content_type, doc, file: source.path, line: doc_line + 1) - metadata = Map.put(metadata, :__callback__, true) - group = GroupMatcher.match_function(groups_for_functions, metadata) + metadata = Map.put(metadata, :__doc__, :callback) + group = GroupMatcher.match_function(groups_for_docs, metadata) %ExDoc.FunctionNode{ id: "c:#{name}/#{arity}", diff --git a/lib/mix/tasks/docs.ex b/lib/mix/tasks/docs.ex index 24c7d25fc..8f15eb0c1 100644 --- a/lib/mix/tasks/docs.ex +++ b/lib/mix/tasks/docs.ex @@ -61,6 +61,9 @@ defmodule Mix.Tasks.Docs do be a keyword list or a function returning a keyword list that will be lazily executed. + * `:annotations_for_docs` - a function that receives metadata and returns a list + of annotations to be added to the signature. + * `:api_reference` - Whether to generate `api-reference.html`; default: `true`. If this is set to false, `:main` must also be set. @@ -98,9 +101,9 @@ defmodule Mix.Tasks.Docs do Markdown and plain text pages; default: "PAGES". Example: "GUIDES" * `:extras` - List of paths to additional Markdown (`.md` extension), Live Markdown - (`.livemd` extension), and plain text pages to add to the documentation. You can - also specify keyword pairs to customize the generated filename and title of each - extra page; default: `[]`. Example: + (`.livemd` extension), Cheatsheets (`.cheatmd` extension) and plain text pages to + add to the documentation. You can also specify keyword pairs to customize the + generated filename and title of each extra page; default: `[]`. Example: `["README.md", "LICENSE", "CONTRIBUTING.md": [filename: "contributing", title: "Contributing"]]` * `:filter_modules` - Include only modules that match the given value. The @@ -112,7 +115,7 @@ defmodule Mix.Tasks.Docs do * `:formatters` - Formatter to use; default: ["html", "epub"], options: "html", "epub". - * `:groups_for_extras`, `:groups_for_modules`, `:groups_for_functions` - See the "Groups" section + * `:groups_for_extras`, `:groups_for_modules`, `:groups_for_docs` - See the "Groups" section * `:ignore_apps` - Apps to be ignored when generating documentation in an umbrella project. Receives a list of atoms. Example: `[:first_app, :second_app]`. @@ -215,12 +218,12 @@ defmodule Mix.Tasks.Docs do A regex or the string name of the module is also supported. - ### Grouping functions + ### Grouping functions and callbacks - Functions inside a module can also be organized in groups. This is done via - the `:groups_for_functions` configuration which is a keyword list of group - titles and filtering functions that receive the documentation metadata of - functions as argument. + Functions and callbacks inside a module can also be organized in groups. + This is done via the `:groups_for_docs` configuration which is a + keyword list of group titles and filtering functions that receive the + documentation metadata of functions as argument. For example, imagine that you have an API client library with a large surface area for all the API endpoints you need to support. It would be helpful to @@ -240,15 +243,16 @@ defmodule Mix.Tasks.Docs do And then in the configuration you can group these with: - groups_for_functions: [ + groups_for_docs: [ Authentication: & &1[:section] == :auth, Resource: & &1[:subject] == :object, Admin: & &1[:permission] in [:grant, :write] ] A function can belong to a single group only. If multiple group filters match, - the first will take precedence. Functions that don't have a custom group will - be listed under the default "Functions" group. + the first will take precedence. Functions and callbacks that don't have a + custom group will be listed under the default "Functions" and "Callbacks" + group respectively. ## Additional JavaScript config @@ -368,11 +372,12 @@ defmodule Mix.Tasks.Docs do |> normalize_apps(config) |> normalize_main() |> normalize_deps() + |> normalize_formatters() |> put_package(config) Mix.shell().info("Generating docs...") - for formatter <- get_formatters(options) do + for formatter <- options[:formatters] do index = generator.(project, version, Keyword.put(options, :formatter, formatter)) Mix.shell().info([:green, "View #{inspect(formatter)} docs at #{inspect(index)}"]) @@ -384,11 +389,14 @@ defmodule Mix.Tasks.Docs do end end - defp get_formatters(options) do - case Keyword.get_values(options, :formatter) do - [] -> options[:formatters] || ["html", "epub"] - values -> values - end + defp normalize_formatters(options) do + formatters = + case Keyword.get_values(options, :formatter) do + [] -> options[:formatters] || ["html", "epub"] + values -> values + end + + Keyword.put(options, :formatters, formatters) end defp get_docs_opts(config) do diff --git a/mix.exs b/mix.exs index 4420d9a9f..0951cdfd0 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExDoc.Mixfile do use Mix.Project @source_url "https://github.com/elixir-lang/ex_doc" - @version "0.29.0" + @version "0.29.1" def project do [ @@ -15,9 +15,7 @@ defmodule ExDoc.Mixfile do escript: escript(), elixirc_paths: elixirc_paths(Mix.env()), source_url: @source_url, - test_coverage: [tool: ExCoveralls], test_elixirc_options: [docs: true, debug_info: true], - preferred_cli_env: [coveralls: :test], name: "ExDoc", description: "ExDoc is a documentation generation tool for Elixir", docs: docs() diff --git a/test/ex_doc/cli_test.exs b/test/ex_doc/cli_test.exs index 0d89c2289..4d0010af1 100644 --- a/test/ex_doc/cli_test.exs +++ b/test/ex_doc/cli_test.exs @@ -17,14 +17,46 @@ defmodule ExDoc.CLITest do test "minimum command-line options" do {[html, epub], _io} = run(["ExDoc", "1.2.3", @ebin]) - assert html == {"ExDoc", "1.2.3", [formatter: "html", apps: [:ex_doc], source_beam: @ebin]} - assert epub == {"ExDoc", "1.2.3", [formatter: "epub", apps: [:ex_doc], source_beam: @ebin]} + + assert html == + {"ExDoc", "1.2.3", + [ + formatter: "html", + formatters: ["html", "epub"], + apps: [:ex_doc], + source_beam: @ebin + ]} + + assert epub == + {"ExDoc", "1.2.3", + [ + formatter: "epub", + formatters: ["html", "epub"], + apps: [:ex_doc], + source_beam: @ebin + ]} end test "formatter option" do {[epub, html], _io} = run(["ExDoc", "1.2.3", @ebin, "-f", "epub", "-f", "html"]) - assert epub == {"ExDoc", "1.2.3", [formatter: "epub", apps: [:ex_doc], source_beam: @ebin]} - assert html == {"ExDoc", "1.2.3", [formatter: "html", apps: [:ex_doc], source_beam: @ebin]} + + assert epub == + {"ExDoc", "1.2.3", + [ + formatter: "epub", + formatters: ["epub", "html"], + apps: [:ex_doc], + source_beam: @ebin + ]} + + assert html == + {"ExDoc", "1.2.3", + [ + formatter: "html", + formatters: ["epub", "html"], + apps: [:ex_doc], + source_beam: @ebin + ]} end test "version" do @@ -67,6 +99,7 @@ defmodule ExDoc.CLITest do apps: [:ex_doc], canonical: "http://example.com/project", formatter: "html", + formatters: ["html"], homepage_url: "http://example.com", key: "val", logo: "logo.png", diff --git a/test/ex_doc/formatter/epub/templates_test.exs b/test/ex_doc/formatter/epub/templates_test.exs index 13ae585b9..1b456ee89 100644 --- a/test/ex_doc/formatter/epub/templates_test.exs +++ b/test/ex_doc/formatter/epub/templates_test.exs @@ -73,7 +73,7 @@ defmodule ExDoc.Formatter.EPUB.TemplatesTest do test "outputs function groups" do content = get_module_page([CompiledWithDocs], - groups_for_functions: [ + groups_for_docs: [ "Example functions": &(&1[:purpose] == :example), Legacy: &is_binary(&1[:deprecated]) ] diff --git a/test/ex_doc/formatter/epub_test.exs b/test/ex_doc/formatter/epub_test.exs index 38b2fb917..ae3435cf6 100644 --- a/test/ex_doc/formatter/epub_test.exs +++ b/test/ex_doc/formatter/epub_test.exs @@ -83,8 +83,14 @@ defmodule ExDoc.Formatter.EPUBTest do end test "generates an EPUB file with erlang as proglang", %{tmp_dir: tmp_dir} = context do - generate_docs(Keyword.put(doc_config(context), :proglang, :erlang)) - assert File.regular?(tmp_dir <> "/epub/#{doc_config(context)[:project]}.epub") + config = + context + |> doc_config() + |> Keyword.put(:proglang, :erlang) + |> Keyword.update!(:skip_undefined_reference_warnings_on, &["test/fixtures/README.md" | &1]) + + generate_docs(config) + assert File.regular?(tmp_dir <> "/epub/#{config[:project]}.epub") end test "generates an EPUB file in specified output directory", %{tmp_dir: tmp_dir} = context do diff --git a/test/ex_doc/formatter/html/templates_test.exs b/test/ex_doc/formatter/html/templates_test.exs index 7d4fef116..9f57bb231 100644 --- a/test/ex_doc/formatter/html/templates_test.exs +++ b/test/ex_doc/formatter/html/templates_test.exs @@ -270,8 +270,9 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do assert content =~ ~r("modules":\[\{.*"id":"CompiledWithDocs",.*"title":"CompiledWithDocs")ms assert content =~ ~r("id":"CompiledWithDocs".*"key":"functions".*"example/2")ms assert content =~ ~r("id":"CompiledWithDocs".*"key":"functions".*"example_without_docs/0")ms - assert content =~ ~r("id":"CompiledWithDocs.Nested")ms - assert content =~ ~r(\{"anchor":"__struct__/0","id":"%CompiledWithDocs\{\}"\})ms + assert content =~ ~s("id":"CompiledWithDocs.Nested") + assert content =~ ~s("anchor":"__struct__/0","id":"%CompiledWithDocs{}") + assert content =~ ~s("anchor":"is_zero/1","id":"is_zero/1","title":"is_zero\(number\)) end test "outputs nodes grouped based on metadata", context do @@ -279,7 +280,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do ExDoc.Retriever.docs_from_modules( [CompiledWithDocs, CompiledWithDocs.Nested], doc_config(context, - groups_for_functions: [ + groups_for_docs: [ "Example functions": &(&1[:purpose] == :example), Legacy: &is_binary(&1[:deprecated]) ] @@ -405,7 +406,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "outputs function groups", context do content = get_module_page([CompiledWithDocs], context, - groups_for_functions: [ + groups_for_docs: [ "Example functions": &(&1[:purpose] == :example), Legacy: &is_binary(&1[:deprecated]) ] diff --git a/test/ex_doc/language/erlang_test.exs b/test/ex_doc/language/erlang_test.exs index 82e8d1aa6..f8da9f35d 100644 --- a/test/ex_doc/language/erlang_test.exs +++ b/test/ex_doc/language/erlang_test.exs @@ -161,12 +161,68 @@ defmodule ExDoc.Language.ErlangTest do end end + describe "autolink_doc/2 for extras" do + test "function", c do + assert autolink_extra("`foo:foo/0`", c) == + ~s|foo:foo/0| + end + + test "OTP function", c do + assert autolink_extra("`lists:reverse/1`", c) == + ~s|lists:reverse/1| + end + + test "type", c do + assert autolink_extra("`t:bar:t()`", c) == + ~s|bar:t()| + end + + test "OTP type", c do + assert autolink_extra("`t:array:array()`", c) == + ~s|array:array()| + end + + test "module", c do + assert autolink_extra("`foo`", c) == + ~s|foo| + end + + test "OTP module", c do + assert autolink_extra("`rpc`", c) == + ~s|rpc| + end + + test "bad function", c do + assert ExUnit.CaptureIO.capture_io(:stderr, fn -> + assert autolink_extra("`bad:bad/0`", c) == + ~s|bad:bad/0| + end) =~ ~s|references function "bad:bad/0" but it is undefined or private| + end + + test "bad type", c do + assert ExUnit.CaptureIO.capture_io(:stderr, fn -> + assert autolink_extra("`t:bad:bad/0`", c) == + ~s|t:bad:bad/0| + end) =~ ~s|references type "bad:bad()" but it is undefined or private| + end + + test "bad module", c do + assert autolink_extra("`does_not_exist`", c) == + ~s|does_not_exist| + end + end + describe "autolink_spec/2" do test "spec", c do assert autolink_spec("-spec foo() -> t().", c) == ~s|foo() -> t().| end + test "spec when fun is called record", c do + assert autolink_spec("-spec record(module()) -> [[{module(), atom()}]].", c) == + ~s|record(module()) -> [[{module(), atom()}]].| + end + test "callback", c do assert autolink_spec("-callback foo() -> t().", c) == ~s|foo() -> t().| @@ -316,6 +372,15 @@ defmodule ExDoc.Language.ErlangTest do ExDoc.Language.Erlang.autolink_spec(ast, opts) end + defp autolink_extra(text, c) do + # Markdown is usually not valid EDoc + fixtures(c, "") + + [{:p, _, [ast], _}] = ExDoc.Markdown.to_ast(text, []) + + do_autolink_doc(ast) + end + defp fixtures(c, doc) do erlc(c, :foo, """ %% @doc diff --git a/test/ex_doc/retriever/erlang_test.exs b/test/ex_doc/retriever/erlang_test.exs index 5f78f9355..64f7ff9d2 100644 --- a/test/ex_doc/retriever/erlang_test.exs +++ b/test/ex_doc/retriever/erlang_test.exs @@ -30,7 +30,7 @@ defmodule ExDoc.Retriever.ErlangTest do deprecated: nil, doc_line: _, docs: [function1, function2], - function_groups: [:Callbacks, :Functions], + docs_groups: [:Callbacks, :Functions], group: nil, id: "mod", language: ExDoc.Language.Erlang, diff --git a/test/ex_doc/retriever_test.exs b/test/ex_doc/retriever_test.exs index 435bf2b1a..802022bba 100644 --- a/test/ex_doc/retriever_test.exs +++ b/test/ex_doc/retriever_test.exs @@ -77,7 +77,7 @@ defmodule ExDoc.RetrieverTest do """) config = %ExDoc.Config{ - groups_for_functions: [ + groups_for_docs: [ "Group 1": &(&1.group == 1), "Group 2": &(&1.group == 2) ] @@ -91,6 +91,57 @@ defmodule ExDoc.RetrieverTest do assert %{id: "baz/0", group: :"Group 2"} = baz end + test "custom function annotations", c do + elixirc(c, ~S""" + defmodule A do + @doc since: "1.0.0" + @doc deprecated: "deprecation message" + @doc foo: true + def foo(), do: :ok + end + """) + + [mod] = + Retriever.docs_from_modules([A], %ExDoc.Config{ + annotations_for_docs: fn metadata -> + if metadata[:foo] do + [:baz] + else + [] + end + end + }) + + [foo] = mod.docs + assert foo.id == "foo/0" + assert foo.annotations == [:baz, "since 1.0.0"] + assert foo.deprecated == "deprecation message" + end + + test "custom callback annotations", c do + elixirc(c, ~S""" + defmodule A do + @doc foo: true + @callback callback_name() :: :ok + end + """) + + [mod] = + Retriever.docs_from_modules([A], %ExDoc.Config{ + annotations_for_docs: fn metadata -> + if metadata[:foo] do + [:baz] + else + [] + end + end + }) + + [foo] = mod.docs + + assert foo.annotations == [:baz] + end + test "nesting", c do elixirc(c, ~S""" defmodule Nesting.Prefix.B.A do diff --git a/test/mix/tasks/docs_test.exs b/test/mix/tasks/docs_test.exs index 85956ae90..11f9bc511 100644 --- a/test/mix/tasks/docs_test.exs +++ b/test/mix/tasks/docs_test.exs @@ -15,18 +15,46 @@ defmodule Mix.Tasks.DocsTest do test "inflects values from app and version", context do assert [ {"ex_doc", "0.1.0", - [formatter: "html", deps: _, apps: _, source_beam: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: ["html", "epub"], + deps: _, + apps: _, + source_beam: _, + proglang: :elixir + ]}, {"ex_doc", "0.1.0", - [formatter: "epub", deps: _, apps: _, source_beam: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: ["html", "epub"], + deps: _, + apps: _, + source_beam: _, + proglang: :elixir + ]} ] = run(context, [], app: :ex_doc, version: "0.1.0") end test "accepts multiple formatters from CLI", context do assert [ {"ex_doc", "0.1.0", - [formatter: "html", deps: _, apps: _, source_beam: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: ["html", "epub"], + deps: _, + apps: _, + source_beam: _, + proglang: :elixir + ]}, {"ex_doc", "0.1.0", - [formatter: "epub", deps: _, apps: _, source_beam: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: ["html", "epub"], + deps: _, + apps: _, + source_beam: _, + proglang: :elixir + ]} ] = run(context, ["-f", "html", "-f", "epub"], app: :ex_doc, version: "0.1.0") end @@ -35,19 +63,19 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "0.1.0", [ formatter: "html", + formatters: ["html", "epub"], deps: _, apps: _, source_beam: _, - formatters: _, proglang: :elixir ]}, {"ex_doc", "0.1.0", [ formatter: "epub", + formatters: ["html", "epub"], deps: _, apps: _, source_beam: _, - formatters: _, proglang: :elixir ]} ] = @@ -61,9 +89,23 @@ defmodule Mix.Tasks.DocsTest do test "uses the given name", context do assert [ {"ExDoc", "0.1.0", - [formatter: "html", deps: _, apps: _, source_beam: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: _, + deps: _, + apps: _, + source_beam: _, + proglang: :elixir + ]}, {"ExDoc", "0.1.0", - [formatter: "epub", deps: _, apps: _, source_beam: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: _, + deps: _, + apps: _, + source_beam: _, + proglang: :elixir + ]} ] = run(context, [], app: :ex_doc, version: "0.1.0", name: "ExDoc") end @@ -72,6 +114,7 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "dev", [ formatter: "html", + formatters: _, deps: _, main: "Sample", apps: _, @@ -81,6 +124,7 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "dev", [ formatter: "epub", + formatters: _, deps: _, main: "Sample", apps: _, @@ -95,6 +139,7 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "dev", [ formatter: "html", + formatters: _, deps: _, apps: _, source_beam: _, @@ -104,6 +149,7 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "dev", [ formatter: "epub", + formatters: _, deps: _, apps: _, source_beam: _, @@ -119,9 +165,25 @@ defmodule Mix.Tasks.DocsTest do assert [ {"ex_doc", "dev", - [formatter: "html", deps: _, apps: _, source_beam: _, output: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: _, + deps: _, + apps: _, + source_beam: _, + output: _, + proglang: :elixir + ]}, {"ex_doc", "dev", - [formatter: "epub", deps: _, apps: _, source_beam: _, output: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: _, + deps: _, + apps: _, + source_beam: _, + output: _, + proglang: :elixir + ]} ] = run_results assert html_options[:output] == "#{tmp_dir}/hello" @@ -136,9 +198,25 @@ defmodule Mix.Tasks.DocsTest do assert [ {"ex_doc", "dev", - [formatter: "html", deps: _, apps: _, source_beam: _, output: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: _, + deps: _, + apps: _, + source_beam: _, + output: _, + proglang: :elixir + ]}, {"ex_doc", "dev", - [formatter: "epub", deps: _, apps: _, source_beam: _, output: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: _, + deps: _, + apps: _, + source_beam: _, + output: _, + proglang: :elixir + ]} ] = run_results assert html_options[:output] == "#{tmp_dir}/world" @@ -148,9 +226,23 @@ defmodule Mix.Tasks.DocsTest do test "includes dependencies", context do assert [ {"ex_doc", "dev", - [formatter: "html", deps: deps, apps: _, source_beam: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: _, + deps: deps, + apps: _, + source_beam: _, + proglang: :elixir + ]}, {"ex_doc", "dev", - [formatter: "epub", deps: deps, apps: _, source_beam: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: _, + deps: deps, + apps: _, + source_beam: _, + proglang: :elixir + ]} ] = run(context, [], app: :ex_doc, docs: []) assert List.keyfind(deps, :earmark_parser, 0) == @@ -161,9 +253,23 @@ defmodule Mix.Tasks.DocsTest do test "allows custom dependency paths", context do assert [ {"ex_doc", "dev", - [formatter: "html", deps: deps, apps: _, source_beam: _, proglang: :elixir]}, + [ + formatter: "html", + formatters: _, + deps: deps, + apps: _, + source_beam: _, + proglang: :elixir + ]}, {"ex_doc", "dev", - [formatter: "epub", deps: deps, apps: _, source_beam: _, proglang: :elixir]} + [ + formatter: "epub", + formatters: _, + deps: deps, + apps: _, + source_beam: _, + proglang: :elixir + ]} ] = run(context, [], app: :ex_doc, docs: [deps: [earmark_parser: "foo"]]) assert List.keyfind(deps, :earmark_parser, 0) == @@ -175,6 +281,7 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "dev", [ formatter: "html", + formatters: _, deps: _, apps: _, source_beam: _, @@ -184,6 +291,7 @@ defmodule Mix.Tasks.DocsTest do {"ex_doc", "dev", [ formatter: "epub", + formatters: _, deps: _, apps: _, source_beam: _, @@ -199,6 +307,7 @@ defmodule Mix.Tasks.DocsTest do {"ExDoc", "1.2.3-dev", [ formatter: "html", + formatters: _, deps: _, apps: _, source_beam: _, @@ -209,6 +318,7 @@ defmodule Mix.Tasks.DocsTest do {"ExDoc", "1.2.3-dev", [ formatter: "epub", + formatters: _, deps: _, apps: _, source_beam: _, @@ -231,49 +341,53 @@ defmodule Mix.Tasks.DocsTest do test "supports umbrella project", context do Mix.Project.in_project(:umbrella, "test/fixtures/umbrella", fn _mod -> - [ - {"umbrella", "dev", - [ - formatter: "html", - deps: _, - apps: [:bar, :foo], - source_beam: _, - proglang: :elixir - ]}, - {"umbrella", "dev", - [ - formatter: "epub", - deps: _, - apps: [:bar, :foo], - source_beam: _, - proglang: :elixir - ]} - ] = run(context, [], app: :umbrella, apps_path: "apps/", docs: []) + assert [ + {"umbrella", "dev", + [ + formatter: "html", + formatters: _, + deps: _, + apps: [:bar, :foo], + source_beam: _, + proglang: :elixir + ]}, + {"umbrella", "dev", + [ + formatter: "epub", + formatters: _, + deps: _, + apps: [:bar, :foo], + source_beam: _, + proglang: :elixir + ]} + ] = run(context, [], app: :umbrella, apps_path: "apps/", docs: []) end) end test "supports umbrella project with ignore_apps", context do Mix.Project.in_project(:umbrella, "test/fixtures/umbrella", fn _mod -> - [ - {"umbrella", "dev", - [ - formatter: "html", - deps: _, - apps: [:bar], - source_beam: _, - ignore_apps: [:foo], - proglang: :elixir - ]}, - {"umbrella", "dev", - [ - formatter: "epub", - deps: _, - apps: [:bar], - source_beam: _, - ignore_apps: [:foo], - proglang: :elixir - ]} - ] = run(context, [], app: :umbrella, apps_path: "apps/", docs: [ignore_apps: [:foo]]) + assert [ + {"umbrella", "dev", + [ + formatter: "html", + formatters: _, + deps: _, + apps: [:bar], + source_beam: _, + ignore_apps: [:foo], + proglang: :elixir + ]}, + {"umbrella", "dev", + [ + formatter: "epub", + formatters: _, + deps: _, + apps: [:bar], + source_beam: _, + ignore_apps: [:foo], + proglang: :elixir + ]} + ] = run(context, [], app: :umbrella, apps_path: "apps/", docs: [ignore_apps: [:foo]]) end) end end