aboutsummaryrefslogtreecommitdiff
path: root/docs/index.css
diff options
context:
space:
mode:
Diffstat (limited to 'docs/index.css')
-rw-r--r--docs/index.css698
1 files changed, 698 insertions, 0 deletions
diff --git a/docs/index.css b/docs/index.css
new file mode 100644
index 0000000..ce095d6
--- /dev/null
+++ b/docs/index.css
@@ -0,0 +1,698 @@
+@import url("https://fonts.googleapis.com/css2?family=Karla:wght@400;700&family=Ubuntu+Mono&display=swap");
+
+:root {
+ /* Colours */
+ --black: #2a2020;
+ --hard-black: #000;
+ --pink: #ffaff3;
+ --hot-pink: #d900b8;
+ --white: #fff;
+ --pink-white: #fff8fe;
+ --mid-grey: #dfe2e5;
+ --light-grey: #f5f5f5;
+ --boi-blue: #a6f0fc;
+
+ /* Derived colours */
+ --text: var(--black);
+ --background: var(--white);
+ --accented-background: var(--pink-white);
+ --code-border: var(--pink);
+ --code-background: var(--light-grey);
+ --table-border: var(--mid-grey);
+ --table-background: var(--pink-white);
+ --links: var(--hot-pink);
+ --accent: var(--pink);
+
+ /* Sizes */
+ --content-width: 680px;
+ --header-height: 60px;
+ --hash-offset: calc(var(--header-height) * 1.67);
+ --sidebar-width: 240px;
+ --gap: 24px;
+ --small-gap: calc(var(--gap) / 2);
+ --tiny-gap: calc(var(--small-gap) / 2);
+ --large-gap: calc(var(--gap) * 2);
+ --sidebar-toggle-size: 33px;
+
+ /* etc */
+ --shadow:
+ 0 0 0 1px rgba(50, 50, 93, .075),
+ 0 0 1px #e9ecef,
+ 0 2px 4px -2px rgba(138, 141, 151, .6);
+ --nav-shadow: 0 0 6px 2px rgba(0, 0, 0, .1);
+}
+
+* {
+ box-sizing: border-box;
+}
+
+body,
+html {
+ padding: 0;
+ margin: 0;
+ font-family: "Karla", sans-serif;
+ font-size: 17px;
+ line-height: 1.4;
+ position: relative;
+ min-height: 100vh;
+ word-break: break-word;
+}
+
+html {
+ /* This is necessary so hash targets appear below the fixed header */
+ scroll-padding-top: var(--hash-offset);
+}
+
+a,
+a:visited {
+ color: var(--links);
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+button,
+select {
+ background: transparent;
+ border: 0 none;
+ cursor: pointer;
+ font-family: inherit;
+ font-size: 100%;
+ line-height: 1.15;
+ margin: 0;
+ text-transform: none;
+}
+
+button::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+button:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+button {
+ -webkit-appearance: button;
+ line-height: 1;
+ margin: 0;
+ overflow: visible;
+ padding: 0;
+}
+
+button:active,
+select:active {
+ outline: 0 none;
+}
+
+li {
+ margin-bottom: 4px;
+}
+
+p {
+ margin: var(--small-gap) 0;
+}
+
+.rendered-markdown h1,
+.rendered-markdown h2,
+.rendered-markdown h3,
+.rendered-markdown h4,
+.rendered-markdown h5 {
+ font-size: 1.3rem;
+}
+
+/* Code */
+
+pre,
+code {
+ font-family: "Ubuntu Mono", monospace;
+ line-height: 1.2;
+ background-color: var(--code-background);
+}
+
+pre {
+ margin: var(--gap) 0;
+ border-radius: 1px;
+ overflow: auto;
+ box-shadow: var(--shadow);
+}
+
+pre > code,
+code.hljs {
+ padding: var(--small-gap) var(--gap);
+ background: transparent;
+}
+
+p code {
+ margin: 0 2px;
+ border-radius: 3px;
+ padding: 0 0.2em;
+ color: var(--inline-code);
+}
+
+/* Page layout */
+
+.page {
+ display: flex;
+}
+
+.content {
+ margin-left: var(--sidebar-width);
+ padding: calc(var(--header-height) + var(--gap)) var(--gap) 0 var(--gap);
+ width: calc(100% - var(--sidebar-width));
+ max-width: var(--content-width);
+}
+
+/* Page header */
+
+.page-header {
+ box-shadow: var(--nav-shadow);
+ height: var(--header-height);
+ color: black;
+ color: var(--hard-black);
+ background-color: var(--pink);
+ display: flex;
+ padding: var(--small-gap) var(--gap);
+ position: fixed;
+ left: 0;
+ right: 0;
+ top: 0;
+ z-index: 300;
+}
+
+.page-header h2 {
+ align-items: baseline;
+ display: flex;
+ margin: 0;
+ max-width: 100%;
+}
+
+.page-header a,
+.page-header a:visited {
+ color: black;
+ color: var(--hard-black);
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.sidebar-toggle {
+ display: none;
+ font-size: var(--sidebar-toggle-size);
+ opacity: 0;
+ transition: opacity 1s ease;
+}
+
+.page-header .sidebar-toggle {
+ color: white;
+ color: var(--white);
+ margin: 0 var(--small-gap) 0 0;
+}
+
+/* Version selector */
+
+#project-version {
+ --half-small-gap: calc(var(--small-gap) / 2);
+ --icon-size: .75em;
+ flex-shrink: 0;
+ font-size: .9rem;
+ font-weight: normal;
+ margin-left: var(--half-small-gap);
+}
+
+#project-version > span {
+ padding-left: var(--half-small-gap);
+}
+
+#project-version form {
+ align-items: center;
+ display: inline-flex;
+ justify-content: flex-end;
+}
+
+#project-version select {
+ appearance: none;
+ -webkit-appearance: none;
+ padding: .6rem calc(1.3 * var(--icon-size)) .6rem var(--half-small-gap);
+ position: relative;
+ z-index: 1;
+}
+
+#project-version option {
+ background-color: var(--code-background);
+}
+
+#project-version .icon {
+ font-size: var(--icon-size);
+ margin-left: calc(-1.65 * var(--icon-size));
+}
+
+/* Module doc */
+
+.module-name > a,
+.module-member-kind > a {
+ color: inherit;
+}
+
+.module-name > a:hover,
+.module-member-kind > a:hover {
+ text-decoration: none;
+}
+
+.module-name > .icon-gleam-chasse,
+.module-member-kind > .icon-gleam-chasse,
+.module-member-kind > .icon-gleam-chasse-2 {
+ color: var(--pink);
+ display: block;
+ font-size: 1rem;
+ margin: var(--small-gap) 0 0;
+}
+
+.module-name {
+ color: var(--hard-black);
+ margin: 0 0 var(--gap);
+ font-weight: 700;
+}
+
+/* Sidebar */
+
+.sidebar {
+ background-color: var(--background);
+ font-size: .95rem;
+ max-height: calc(100vh - var(--header-height));
+ overflow-y: auto;
+ overscroll-behavior: contain;
+ padding-top: var(--gap);
+ padding-bottom: calc(3 * var(--gap));
+ padding-left: var(--gap);
+ position: fixed;
+ top: var(--header-height);
+ transition: transform .5s ease;
+ width: var(--sidebar-width);
+ z-index: 100;
+}
+
+.sidebar h2 {
+ margin: 0;
+}
+
+.sidebar ul {
+ list-style: none;
+ margin: var(--small-gap) 0;
+ padding: 0;
+}
+
+.sidebar li {
+ line-height: 1.2;
+ margin-bottom: 4px;
+}
+
+.sidebar .sidebar-toggle {
+ color: var(--pink);
+ font-size: calc(.8 * var(--sidebar-toggle-size));
+}
+
+body.drawer-closed .label-open,
+body.drawer-open .label-closed {
+ display: none;
+}
+
+.display-controls {
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: var(--small-gap);
+ padding-right: var(--gap);
+}
+
+.display-controls .control {
+ margin: .5rem 0;
+}
+
+.display-controls .control:not(:first-child) {
+ margin-left: 1rem;
+}
+
+.toggle {
+ align-items: center;
+ display: flex;
+ font-size: .96rem;
+}
+
+.toggle-0 .label:not(.label-0),
+.toggle-1 .label:not(.label-1) {
+ display: none;
+}
+
+.label {
+ display: flex;
+}
+
+.label .icon {
+ margin: 0 .28rem;
+}
+
+/* Module members (types, functions) */
+
+.module-members {
+ margin-top: var(--large-gap);
+}
+
+.module-member-kind {
+ font-size: 2rem;
+ color: var(--text);
+}
+
+.member {
+ margin: var(--large-gap) 0;
+ padding-bottom: var(--gap);
+}
+
+.member-name {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-left: 4px solid var(--accent);
+ padding: var(--small-gap) var(--gap);
+ background-color: var(--accented-background);
+}
+
+.member-name h2 {
+ display: flex;
+ font-size: 1.5rem;
+ margin: 0;
+}
+
+.member-name h2 a {
+ color: var(--text);
+}
+
+.member-source {
+ align-self: baseline;
+ flex-shrink: 0;
+ line-height: calc(1.4 * 1.5rem);
+ margin: 0 0 0 var(--small-gap);
+}
+
+/* Custom type constructors */
+
+.constructor-list {
+ list-style: none;
+ padding: 0;
+}
+
+.constructor-row {
+ align-items: center;
+ display: flex;
+}
+
+.constructor-item {
+ margin-bottom: var(--small-gap);
+}
+
+.constructor-argument-item {
+ display: flex;
+}
+
+.constructor-argument-label {
+ flex-shrink: 0;
+}
+
+.constructor-argument-doc {
+ margin-left: var(--gap);
+}
+
+.constructor-argument-list {
+ margin-bottom: var(--small-gap);
+}
+
+.constructor-item-docs {
+ margin-left: var(--large-gap);
+ margin-bottom: var(--gap);
+}
+
+.constructor-item .icon {
+ flex-shrink: 0;
+ font-size: .7rem;
+ margin: 0 .88rem;
+}
+
+.constructor-name {
+ box-shadow: unset;
+ margin: 0;
+}
+
+.constructor-name > code {
+ padding: var(--small-gap);
+}
+
+/* Tables */
+
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+
+table td,
+table th {
+ padding: 6px 13px;
+ border: 1px solid var(--table-border);
+}
+
+table tr:nth-child(2n) {
+ background-color: var(--table-background);
+}
+
+/* Footer */
+
+.pride {
+ width: 100%;
+ display: none;
+ flex-direction: row;
+ position: absolute;
+ bottom: 0;
+ z-index: 100;
+}
+
+.show-pride .pride {
+ display: flex;
+}
+
+.show-pride .sidebar {
+ margin-bottom: var(--gap);
+}
+
+.pride div {
+ flex: 1;
+ text-align: center;
+ padding: var(--tiny-gap);
+}
+
+.pride .white {
+ background-color: var(--white);
+}
+.pride .pink {
+ background-color: var(--pink);
+}
+.pride .blue {
+ background-color: var(--boi-blue);
+}
+
+.pride-button {
+ position: absolute;
+ right: 2px;
+ bottom: 2px;
+ opacity: .2;
+ font-size: .9rem;
+}
+
+.pride-button {
+ text-decoration: none;
+ cursor: default;
+}
+
+/* Icons */
+
+.svg-lib {
+ height: 0;
+ overflow: hidden;
+ position: absolute;
+ width: 0;
+}
+
+.icon {
+ display: inline-block;
+ fill: currentColor;
+ height: 1em;
+ stroke: currentColor;
+ stroke-width: 0;
+ width: 1em;
+}
+
+.icon-gleam-chasse {
+ width: 8.182em;
+}
+
+.icon-gleam-chasse-2 {
+ width: 4.909em;
+}
+
+/* Pre-Wrap Option */
+
+body.prewrap-on code,
+body.prewrap-on pre {
+ white-space: pre-wrap;
+}
+
+/* Dark Theme Option */
+
+body.theme-dark {
+ /* Colour palette adapted from:
+ * https://github.com/dustypomerleau/yarra-valley
+ */
+
+ --argument-atom: #c651e5;
+ --class-module: #ff89b5;
+ --comment: #7e818b;
+ --escape: #7cdf89;
+ --function-call: #abb8c0;
+ --function-definition: #8af899;
+ --interpolation-regex: #ee37aa;
+ --keyword-operator: #ff9d35;
+ --number-boolean: #f14360;
+ --object: #99c2eb;
+ --punctuation: #4ce7ff;
+ --string: #aecc00;
+
+ --inline-code: #ff9d35;
+
+ --bg: #292d3e;
+ --bg-tint-1: #3e4251; --bg-tint-2: #535664; --bg-tint-3: #696c77; --bg-tint-4: #7e818b;
+ --bg-shade-1: #242837; --bg-shade-2: #202431; --bg-shade-3: #1c1f2b;
+ --bg-mono-1: #33384d; --bg-mono-2: #3d435d; --bg-mono-3: #474e6c; --bg-mono-4: #51597b;
+
+ --fg: #cac0a9;
+ --fg-tint-1: #fdf2d8; --fg-tint-2: #fdf3dc; --fg-tint-3: #fdf5e0;
+ --fg-shade-1: #e3d8be; --fg-shade-2: #cac0a9; --fg-shade-3: #b1a894; --fg-shade-4: #97907f;
+
+ --orange-shade-1: #e58d2f; --orange-shade-2: #cc7d2a; --orange-shade-3: #b26d25;
+
+ --taupe-mono-1: #fdf1d4; --taupe-mono-2: #fce9bc; --taupe-mono-3: #fbe1a3;
+
+ /* Theme Overrides */
+
+ --accent: var(--pink);
+ --accented-background: var(--bg-shade-1);
+ --background: var(--bg);
+ --code-background: var(--bg-shade-2);
+ --table-background: var(--bg-mono-1);
+ --hard-black: var(--taupe-mono-1);
+ --links: var(--pink);
+ --text: var(--taupe-mono-1);
+
+ --shadow:
+ 0 0 0 1px rgba(50, 50, 93, .075),
+ 0 0 1px var(--fg-shade-3),
+ 0 2px 4px -2px rgba(138, 141, 151, .2);
+ --nav-shadow: 0 0 5px 5px rgba(0, 0, 0, .1);
+}
+
+body.theme-dark {
+ background-color: var(--bg);
+ color: var(--fg-shade-1);
+}
+
+body.theme-dark .page-header {
+ background-color: var(--bg-mono-1);
+}
+
+body.theme-dark .page-header h2 {
+ color: var(--fg-shade-1);
+}
+
+
+body.theme-dark .page-header a,
+body.theme-dark .page-header a:visited {
+ color: var(--pink);
+}
+
+body.theme-dark .page-header .sidebar-toggle {
+ color: var(--fg-shade-1);
+}
+
+body.theme-dark #project-version select,
+body.theme-dark .control {
+ color: var(--fg-shade-1);
+}
+
+body.theme-dark .module-name {
+ color: var(--taupe-mono-1);
+}
+
+body.theme-dark .pride {
+ color: var(--bg-shade-3);
+}
+
+body.theme-dark .pride .white {
+ background-color: var(--fg-shade-1);
+}
+
+body.theme-dark .pride .pink {
+ background-color: var(--argument-atom);
+}
+
+body.theme-dark .pride .blue {
+ background-color: var(--punctuation);
+}
+
+/* Medium and larger displays */
+@media (min-width: 680px) {
+ #prewrap-toggle {
+ display: none;
+ }
+}
+
+/* Small displays */
+@media (max-width: 920px) {
+ .page-header {
+ padding-left: var(--small-gap);
+ padding-right: var(--small-gap);
+ }
+
+ .page-header h2 {
+ max-width: calc(100% - var(--sidebar-toggle-size) - var(--small-gap));
+ }
+
+ .content {
+ width: 100%;
+ max-width: unset;
+ margin-left: unset;
+ }
+
+ .sidebar {
+ box-shadow: var(--nav-shadow);
+ height: 100vh;
+ max-height: unset;
+ top: 0;
+ transform: translate(calc(-10px - var(--sidebar-width)));
+ z-index: 500;
+ }
+
+ body.drawer-open .sidebar {
+ transform: translate(0);
+ }
+
+ .sidebar-toggle {
+ display: block;
+ opacity: 1;
+ }
+
+ .sidebar .sidebar-toggle {
+ height: var(--sidebar-toggle-size);
+ position: absolute;
+ right: var(--small-gap);
+ top: var(--small-gap);
+ width: var(--sidebar-toggle-size);
+ }
+}