From f5c4671bfbad96bf346bd7e9a21fc4317b4959df Mon Sep 17 00:00:00 2001
From: Indrajith K L
Date: Sat, 3 Dec 2022 17:00:20 +0530
Subject: Adds most of the tools
---
v_windows/v/cmd/tools/vdoc/resources/arrow.svg | 1 +
v_windows/v/cmd/tools/vdoc/resources/dark-mode.js | 6 +
v_windows/v/cmd/tools/vdoc/resources/dark.svg | 1 +
v_windows/v/cmd/tools/vdoc/resources/doc.css | 732 +++++++++++++++++++++
v_windows/v/cmd/tools/vdoc/resources/doc.js | 235 +++++++
.../resources/favicons/android-chrome-192x192.png | Bin 0 -> 6083 bytes
.../resources/favicons/android-chrome-512x512.png | Bin 0 -> 18209 bytes
.../vdoc/resources/favicons/apple-touch-icon.png | Bin 0 -> 5707 bytes
.../vdoc/resources/favicons/browserconfig.xml | 9 +
.../vdoc/resources/favicons/favicon-16x16.png | Bin 0 -> 853 bytes
.../vdoc/resources/favicons/favicon-32x32.png | Bin 0 -> 1305 bytes
.../cmd/tools/vdoc/resources/favicons/favicon.ico | Bin 0 -> 15086 bytes
.../vdoc/resources/favicons/mstile-144x144.png | Bin 0 -> 4512 bytes
.../vdoc/resources/favicons/mstile-150x150.png | Bin 0 -> 4360 bytes
.../vdoc/resources/favicons/mstile-310x150.png | Bin 0 -> 4927 bytes
.../vdoc/resources/favicons/mstile-310x310.png | Bin 0 -> 10195 bytes
.../tools/vdoc/resources/favicons/mstile-70x70.png | Bin 0 -> 3093 bytes
.../vdoc/resources/favicons/safari-pinned-tab.svg | 39 ++
.../tools/vdoc/resources/favicons/site.webmanifest | 19 +
v_windows/v/cmd/tools/vdoc/resources/light.svg | 1 +
v_windows/v/cmd/tools/vdoc/resources/link.svg | 1 +
v_windows/v/cmd/tools/vdoc/resources/menu.svg | 1 +
v_windows/v/cmd/tools/vdoc/resources/normalize.css | 171 +++++
23 files changed, 1216 insertions(+)
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/arrow.svg
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/dark-mode.js
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/dark.svg
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/doc.css
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/doc.js
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-192x192.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-512x512.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/apple-touch-icon.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/browserconfig.xml
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-16x16.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-32x32.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/favicon.ico
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-144x144.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-150x150.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x150.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x310.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-70x70.png
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/safari-pinned-tab.svg
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/favicons/site.webmanifest
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/light.svg
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/link.svg
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/menu.svg
create mode 100644 v_windows/v/cmd/tools/vdoc/resources/normalize.css
(limited to 'v_windows/v/cmd/tools/vdoc/resources')
diff --git a/v_windows/v/cmd/tools/vdoc/resources/arrow.svg b/v_windows/v/cmd/tools/vdoc/resources/arrow.svg
new file mode 100644
index 0000000..2a0456f
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/arrow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/v_windows/v/cmd/tools/vdoc/resources/dark-mode.js b/v_windows/v/cmd/tools/vdoc/resources/dark-mode.js
new file mode 100644
index 0000000..075dbb5
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/dark-mode.js
@@ -0,0 +1,6 @@
+(function() {
+ var html = document.getElementsByTagName('html')[0];
+ if (localStorage.getItem('dark-mode') === 'true') {
+ html.classList.add('dark');
+ }
+})();
diff --git a/v_windows/v/cmd/tools/vdoc/resources/dark.svg b/v_windows/v/cmd/tools/vdoc/resources/dark.svg
new file mode 100644
index 0000000..2067d05
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/dark.svg
@@ -0,0 +1 @@
+
diff --git a/v_windows/v/cmd/tools/vdoc/resources/doc.css b/v_windows/v/cmd/tools/vdoc/resources/doc.css
new file mode 100644
index 0000000..5f7058e
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/doc.css
@@ -0,0 +1,732 @@
+:root {
+ --background-color: #fff;
+ --link-color: #2779bd;
+ --text-color: #000;
+ --ref-symbol-color: #dae1e7;
+ --ref-symbol-hover-color: #b8c2cc;
+ --title-bottom-line-color: #f1f5f8;
+ --footer-top-line-color: #f1f5f8;
+ --footer-text-color: #616161;
+ --code-signature-border-color: #a0aec0;
+ --menu-background-color: #4b6c88;
+ --menu-text-color: #fff;
+ --menu-indent-line-color: #3b3b3b66;
+ --menu-indent-line-active-color: #00000066;
+ --menu-scrollbar-color: #a0aec0;
+ --menu-toggle-icon-color: #fff;
+ --menu-toggle-icon-hover-color: #00000044;
+ --menu-search-background-color: #00000044;
+ --menu-search-font-color: #fff;
+ --menu-search-result-background-hover-color: #00000021;
+ --menu-search-separator-color: #00000044;
+ --menu-search-title-text-color: #d5efff;
+ --menu-search-badge-background-color: #00000044;
+ --menu-search-badge-background-hover-color: #0000004d;
+ --toc-text-color: #2779bd;
+ --toc-indicator-color: #4299e1;
+ --code-default-text-color: #5c6e74;
+ --code-background-color: #edf2f7;
+ --code-keyword-text-color: #2b6cb0;
+ --code-builtin-text-color: #0a0a0a;
+ --code-function-text-color: #319795;
+ --code-comment-text-color: #93a1a1;
+ --code-punctuation-text-color: #999999;
+ --code-symbol-text-color: #702459;
+ --code-operator-text-color: #a67f59;
+ --attribute-deprecated-background-color: #f59f0b48;
+ --attribute-deprecated-text-color: #92400e;
+ --attribute-text-color: #000000af;
+}
+:root.dark .dark-icon {
+ display: none;
+}
+:root:not(.dark) .light-icon {
+ display: none;
+}
+
+.dark body {
+ --background-color: #1a202c;
+ --text-color: #fff;
+ --link-color: #90cdf4;
+ --ref-symbol-color: #2d3748;
+ --ref-symbol-hover-color: #4a5568;
+ --title-bottom-line-color: #2d3748;
+ --footer-top-line-color: #2d3748;
+ --footer-text-color: #bbd3e1;
+ --code-signature-border-color: #4a5568;
+ --menu-background-color: #2d3748;
+ --menu-text-color: #fff;
+ --menu-indent-line-color: #4a5568;
+ --menu-indent-line-active-color: #90cdf4; /*#4a5568*/
+ --menu-scrollbar-color: #4a5568;
+ --menu-toggle-icon-color: #fff;
+ --menu-search-background-color: #4a5568;
+ --menu-search-font-color: #fff;
+ --menu-search-separator-color: #4a5568;
+ --menu-search-title-text-color: #90cdf4;
+ --menu-search-badge-background-color: #4a5568;
+ --menu-search-badge-background-hover-color: #4a5568;
+ --toc-text-color: #90cdf4;
+ --toc-indicator-color: #4299e1;
+ --code-default-text-color: #cbd5e0;
+ --code-background-color: #2d3748;
+ --code-builtin-text-color: #68d391;
+ --code-keyword-text-color: #63b3ed;
+ --code-function-text-color: #4fd1c5;
+ --code-comment-text-color: #a0aec0;
+ --code-punctuation-text-color: #a0aec0;
+ --code-symbol-text-color: #ed64a6;
+ --attribute-background-color: #ffffff20;
+ --attribute-text-color: #ffffffaf;
+ --attribute-deprecated-text-color: #fef3c7;
+}
+html {
+ height: 100%;
+}
+body {
+ margin: 0;
+ font-family: Jost, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica,
+ Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ background-color: #fff;
+ background-color: var(--background-color);
+ color: #000;
+ color: var(--text-color);
+ height: 100%;
+}
+#page {
+ height: 100%;
+ padding-top: 56px;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+/** Reset for menus */
+.doc-nav ul,
+.doc-toc ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+/* Left nav */
+.doc-nav {
+ position: fixed;
+ width: 100%;
+ left: 0;
+ right: 0;
+ top: 0;
+ display: flex;
+ background-color: #4b6c88;
+ background-color: var(--menu-background-color);
+ color: #fff;
+ color: var(--menu-text-color);
+ flex-direction: column;
+ overflow-y: auto;
+ height: 100vh;
+ z-index: 10;
+ scrollbar-width: thin;
+ scrollbar-color: #a0aec0 transparent;
+ scrollbar-color: var(--menu-scrollbar-color) transparent;
+ font-family: Jost, sans-serif;
+}
+*::-webkit-scrollbar {
+ width: 4px;
+ height: 4px;
+}
+*::-webkit-scrollbar-track {
+ background: transparent;
+}
+*::-webkit-scrollbar-thumb {
+ background-color: #a0aec0;
+ background-color: var(--menu-scrollbar-color);
+ border: 3px solid transparent;
+}
+.doc-nav .content li {
+ line-height: 1.8;
+}
+.doc-nav .content.show {
+ display: flex;
+}
+.doc-nav .content.hidden {
+ display: none;
+}
+.doc-nav #toggle-menu {
+ cursor: pointer;
+ padding: 0.3rem;
+ fill: #fff;
+ fill: var(--menu-toggle-icon-color);
+}
+.doc-nav > .heading-container {
+ position: relative;
+ /* IE11 */
+ position: sticky;
+ position: -webkit-sticky;
+ top: 0;
+ background-color: #4b6c88;
+ background-color: var(--menu-background-color);
+ z-index: 10;
+}
+.doc-nav > .heading-container > .heading {
+ display: flex;
+ flex-direction: column;
+}
+.doc-nav > .heading-container > .heading > .info {
+ display: flex;
+ padding: 0 1rem;
+ height: 56px;
+}
+.doc-nav > .heading-container > .heading > .info > .module {
+ font-size: 1.6rem;
+ font-weight: 500;
+ margin: 0;
+}
+.doc-nav > .heading-container > .heading > .info > .toggle-version-container {
+ display: flex;
+ align-items: center;
+}
+.doc-nav
+ > .heading-container
+ > .heading
+ > .info
+ > .toggle-version-container
+ > #dark-mode-toggle {
+ cursor: pointer;
+ fill: #fff;
+ display: flex;
+ visibility: hidden;
+}
+.doc-nav
+ > .heading-container
+ > .heading
+ > .info
+ > .toggle-version-container
+ > #dark-mode-toggle
+ > svg {
+ width: 1.2rem;
+ height: 1.2rem;
+}
+.doc-nav > .heading-container > .heading > #search {
+ margin: 0.6rem 1.2rem 1rem 1.2rem;
+ border: none;
+ border-radius: 0.2rem;
+ padding: 0.5rem 1rem;
+ outline: none;
+ background-color: #00000044;
+ background-color: var(--menu-search-background-color);
+ color: #fff;
+ color: var(--menu-search-text-color);
+}
+.doc-nav > .heading-container > .heading > #search::placeholder {
+ color: #edf2f7;
+ text-transform: uppercase;
+ font-size: 12px;
+ font-weight: 600;
+}
+.doc-nav > .heading-container > .heading > #search:-ms-input-placeholder {
+ color: #edf2f7;
+ text-transform: uppercase;
+ font-size: 12px;
+ font-weight: 600;
+}
+.doc-nav > .content {
+ padding: 0 2rem 2rem 2rem;
+ display: flex;
+ flex-direction: column;
+}
+.doc-nav > .content > ul > li.active {
+ font-weight: 600;
+}
+.doc-nav > .content > ul > li.open ul {
+ display: initial;
+}
+.doc-nav > .content > ul > li.open > .menu-row > .dropdown-arrow {
+ transform: initial;
+}
+.doc-nav > .content > ul > li > .menu-row {
+ display: flex;
+ align-items: center;
+}
+.doc-nav > .content > ul > li > .menu-row > .dropdown-arrow {
+ transform: rotate(-90deg);
+ height: 18px;
+ width: 18px;
+ margin-left: calc(-18px - 0.3rem);
+ margin-right: 0.3rem;
+ cursor: pointer;
+ fill: #fff;
+ pointer-events: all;
+}
+.doc-nav > .content > ul > li > ul {
+ margin: 0.4rem 0;
+ display: none;
+}
+.doc-nav > .content > ul > li > ul > li {
+ border-color: #ffffff66;
+ border-color: var(--menu-indent-line-color);
+ border-left-width: 1.7px;
+ border-left-style: solid;
+ padding-left: 0.7rem;
+}
+.doc-nav > .content > ul > li > ul > li.active {
+ border-color: #00000066;
+ border-color: var(--menu-search-result-hover-background-color);
+}
+.doc-nav > .content a {
+ color: #fff;
+ color: var(--menu-text-color);
+ text-decoration: none;
+ user-select: none;
+}
+.doc-nav > .content a:hover {
+ text-decoration: underline;
+}
+.doc-nav .search.hidden {
+ display: none;
+}
+.doc-nav .search li {
+ line-height: 1.5;
+}
+.doc-nav > .search .result:hover {
+ background-color: #00000021;
+ background-color: var(--menu-search-result-background-hover-color);
+}
+.doc-nav > .search .result:hover > .link > .definition > .badge {
+ background-color: #0000004d;
+ background-color: var(--menu-search-badge-background-hover-color);
+}
+.doc-nav > .search .result > .link {
+ padding: 0.5rem 1.4rem;
+ text-decoration: none;
+ color: #fff;
+ color: var(--menu-text-color);
+ display: block;
+}
+.doc-nav > .search .result > .link > .definition {
+ display: flex;
+}
+.doc-nav > .search .result > .link > .definition > .title {
+ color: #90cdf4;
+ color: var(--menu-search-title-text-color);
+ font-size: 0.875rem;
+ font-weight: 500;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+.doc-nav > .search .result > .link > .definition > .badge {
+ font-size: 0.75rem;
+ display: inline-flex;
+ padding: 0 0.5rem;
+ background-color: #00000044;
+ background-color: var(--menu-search-badge-background-color);
+ margin-left: auto;
+ align-items: center;
+ border-radius: 9999px;
+ font-weight: 500;
+}
+.doc-nav > .search .result > .link > .description {
+ font-family: Jost, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica,
+ Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ font-size: 0.75rem;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ margin-top: 0.25rem;
+}
+.doc-nav > .search > hr.separator {
+ margin: 0.5rem 0;
+ border-color: #00000044;
+ border-color: var(--menu-search-separator-color);
+ box-sizing: content-box;
+ height: 0;
+ border-width: 0;
+ border-top-width: 1px;
+ border-style: solid;
+ overflow: visible;
+}
+
+/* Main content */
+.doc-scrollview {
+ height: 100%;
+ overflow-y: scroll;
+}
+.doc-container {
+ display: flex;
+ flex-direction: column-reverse;
+}
+.doc-content {
+ display: flex;
+ flex-direction: column;
+ padding: 1rem;
+ overflow: hidden;
+}
+.doc-content img {
+ width: auto;
+ max-width: 100%;
+}
+.doc-content p {
+ font-size: 1rem;
+ line-height: 1.6;
+ letter-spacing: 0.025em;
+}
+.doc-content a {
+ color: #2779bd;
+ color: var(--link-color);
+}
+.doc-content p code {
+ font-size: 0.85rem;
+}
+.doc-content > .doc-node {
+ padding: 5rem 0 2rem 0;
+ margin-top: -4rem;
+ overflow: hidden;
+ word-break: break-all; /* IE11 */
+ word-break: break-word;
+}
+.doc-content > .doc-node.const:nth-child(2) {
+ padding-bottom: 0 !important;
+}
+.doc-content > .doc-node.const:not(:first-child) {
+ padding-top: 4rem;
+}
+.doc-content > .doc-node.const:not(:last-child) {
+ padding-bottom: 2rem;
+}
+.doc-content > .timestamp {
+ font-size: 0.8rem;
+ color: #b8c2cc;
+ color: var(--timestamp-color);
+}
+.doc-content > .doc-node > .title {
+ display: flex;
+ font-family: Jost, sans-serif;
+ font-weight: 500;
+ padding: 0.3rem;
+ align-items: center;
+ margin-bottom: 1rem;
+ border-bottom: 1px solid #f1f5f8;
+ border-bottom: 1px solid var(--title-bottom-line-color);
+}
+.doc-content > .doc-node > .attributes {
+ margin-bottom: 0.6rem;
+}
+.doc-content > .doc-node > .attributes > .attribute {
+ display: inline-block;
+ border-radius: 100px;
+ padding: 0.3rem 0.6rem;
+ background-color: var(--code-background-color);
+ color: var(--attribute-text-color);
+ margin-right: 0.8rem;
+}
+.doc-content > .doc-node > .attributes > .attribute-deprecated {
+ background-color: var(--attribute-deprecated-background-color);
+ color: var(--attribute-deprecated-text-color);
+}
+.doc-content > .doc-node > .title > .link {
+ display: flex;
+ margin-left: auto;
+ fill: #dae1e7;
+ fill: var(--ref-symbol-color);
+}
+.doc-content > .doc-node > .title > .link:hover {
+ fill: #b8c2cc;
+ fill: var(--ref-symbol-hover-color);
+}
+.doc-content > .doc-node h1 {
+ font-size: 2rem;
+}
+.doc-content > .doc-node h2 {
+ font-size: 1.3rem;
+}
+.doc-content > .doc-node .signature {
+ border-color: #a0aec0;
+ border-color: var(--code-signature-border-color);
+ border-left-width: 3px;
+ border-left-style: solid;
+}
+.doc-content > .doc-node > ul > li .task-list-item-checkbox {
+ margin-right: 0.5rem;
+}
+.doc-content > .doc-node > .title h1,
+.doc-content > .doc-node > .title h2,
+.doc-content > .doc-node > .title h3,
+.doc-content > .doc-node > .title h4,
+.doc-content > .doc-node > .title h5,
+.doc-content > .doc-node > .title h6 {
+ font-weight: 500;
+ margin: 0;
+}
+.doc-content > .doc-node > .title h1 a,
+.doc-content > .doc-node > .title h2 a,
+.doc-content > .doc-node > .title h3 a,
+.doc-content > .doc-node > .title h4 a,
+.doc-content > .doc-node > .title h5 a,
+.doc-content > .doc-node > .title h6 a {
+ text-decoration: none;
+ color: #dae1e7;
+ color: var(--ref-symbol-color);
+}
+.doc-content > .doc-node > .title h1 a:hover,
+.doc-content > .doc-node > .title h2 a:hover,
+.doc-content > .doc-node > .title h3 a:hover,
+.doc-content > .doc-node > .title h4 a:hover,
+.doc-content > .doc-node > .title h5 a:hover,
+.doc-content > .doc-node > .title h6 a:hover {
+ color: #b8c2cc;
+ color: var(--ref-symbol-hover-color);
+}
+.doc-content > .footer {
+ padding-top: 1rem;
+ margin-top: auto;
+ bottom: 1rem;
+ color: 616161;
+ color: var(--footer-text-color);
+ border-color: #f1f5f8;
+ border-color: var(--footer-top-line-color);
+ border-top-style: solid;
+ border-top-width: 1px;
+ font-size: 0.8rem;
+ font-weight: 500;
+}
+
+/* Right menu */
+.doc-toc {
+ right: 0;
+ top: 0;
+ height: 100%;
+ overflow-y: auto;
+ padding: 1rem 1rem 0 1rem;
+ width: 100%;
+ box-sizing: border-box;
+ -ms-overflow-style: none;
+ scrollbar-width: none;
+ font-family: Jost, sans-serif;
+}
+.doc-toc::-webkit-scrollbar {
+ display: none;
+}
+.doc-toc li {
+ line-height: 1.5;
+}
+.doc-toc a {
+ color: #2779bd;
+ color: var(--toc-text-color);
+ font-size: 0.9rem;
+ font-weight: 600;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: block;
+ text-decoration: none;
+ border-left-width: 2px;
+ border-left-style: solid;
+ border-color: transparent;
+ padding-left: 0.4rem;
+}
+.doc-toc a:hover {
+ text-decoration: underline;
+}
+.doc-toc a.active {
+ border-color: #4299e1;
+ border-color: var(--toc-indicator-color);
+}
+.doc-toc li ul {
+ margin: 0.2rem 0 0.2rem;
+ font-size: 0.7rem;
+ list-style: none;
+}
+.doc-toc li ul a {
+ font-weight: 400;
+ padding-left: 0.8rem;
+}
+
+/* Code highlight */
+pre,
+code,
+pre code {
+ color: #5c6e74;
+ color: var(--code-default-text-color);
+ font-size: 0.948em;
+ text-shadow: none;
+ font-family: "Jetbrains Mono", monospace;
+ background-color: #edf2f7;
+ background-color: var(--code-background-color);
+ border-radius: 0.25rem;
+}
+pre code {
+ direction: ltr;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+ display: block;
+ overflow-x: auto;
+ padding: 1rem;
+}
+code {
+ padding: 0 0.2rem;
+}
+pre {
+ overflow: auto;
+ margin: 0;
+}
+.namespace {
+ opacity: 0.7;
+}
+.token.comment {
+ color: #93a1a1;
+ color: var(--code-comment-text-color);
+}
+.token.punctuation {
+ color: #999999;
+ color: var(--code-punctuation-text-color);
+}
+.token.number,
+.token.symbol {
+ color: #702459;
+ color: var(--code-symbol-text-color);
+}
+.token.string,
+.token.char,
+.token.builtin {
+ color: #38a169;
+ color: var(--code-builtin-text-color);
+}
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #a67f59;
+ color: var(--code-operator-text-color);
+ background: transparent;
+}
+.token.boolean,
+.token.keyword {
+ color: #2b6cb0;
+ color: var(--code-keyword-text-color);
+}
+.token.function {
+ color: #319795;
+ color: var(--code-function-text-color);
+}
+.examples > h4 {
+ margin: 0 0 0.4rem 0;
+}
+
+/* Medium screen and up */
+@media (min-width: 768px) {
+ *::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+ }
+ *::-webkit-scrollbar-thumb {
+ border: 3px solid transparent;
+ }
+ .doc-container {
+ flex-direction: row;
+ }
+ .doc-content {
+ font-size: 0.95rem;
+ flex: 1;
+ padding: 0rem 2rem 1rem 2rem;
+ }
+ .doc-toc {
+ position: relative;
+ /* IE11 */
+ position: sticky;
+ position: -webkit-sticky;
+ align-self: flex-start;
+ top: 56px;
+ height: auto;
+ height: 100vh;
+ min-width: 200px;
+ width: auto;
+ max-width: 300px;
+ }
+ .doc-toc > ul {
+ padding-bottom: 1rem;
+ }
+}
+
+@media (max-width: 1023px) {
+ .doc-nav.hidden {
+ height: auto;
+ }
+ .doc-nav.hidden #search {
+ display: none;
+ }
+ .doc-nav .search.mobile-hidden {
+ display: none;
+ }
+ .doc-nav > .heading-container > .heading > .info {
+ align-items: center;
+ }
+ .doc-nav > .heading-container > .heading > .info > .toggle-version-container {
+ flex-grow: 1;
+ padding: 0 1rem;
+ justify-content: space-between;
+ }
+}
+
+@media (min-width: 1024px) {
+ #page {
+ padding-top: 0;
+ }
+ .doc-nav {
+ width: 300px;
+ }
+ .doc-nav #toggle-menu {
+ display: none;
+ }
+ .doc-nav > .heading-container > .heading > .info {
+ height: auto;
+ padding: 1rem 2rem 0 2rem;
+ flex-direction: column-reverse;
+ justify-content: center;
+ }
+ .doc-nav > .heading-container > .heading > .info > .toggle-version-container {
+ align-items: center;
+ margin-bottom: 0.2rem;
+ display: flex;
+ flex-direction: row-reverse;
+ }
+ .doc-nav
+ > .heading-container
+ > .heading
+ > .info
+ > .toggle-version-container
+ > #dark-mode-toggle {
+ margin-right: auto;
+ }
+ .doc-nav .content.show,
+ .doc-nav .content.hidden {
+ display: flex;
+ }
+ .doc-content > .doc-node.const:nth-child(2) {
+ padding-bottom: 0 !important;
+ }
+ .doc-content > .doc-node.const:not(:first-child) {
+ padding-top: 0;
+ }
+ .doc-content > .doc-node.const:not(:last-child) {
+ padding-bottom: 1rem;
+ }
+ .doc-container {
+ margin-left: 300px;
+ }
+ .doc-node {
+ padding-top: 1rem !important;
+ margin-top: 0 !important;
+ }
+ .doc-toc {
+ top: 0;
+ }
+}
diff --git a/v_windows/v/cmd/tools/vdoc/resources/doc.js b/v_windows/v/cmd/tools/vdoc/resources/doc.js
new file mode 100644
index 0000000..c355d7e
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/doc.js
@@ -0,0 +1,235 @@
+(function () {
+ if (document.body.scrollIntoView) {
+ var docnav = document.querySelector('.doc-nav');
+ var active = docnav.querySelector('li.active');
+ if (active) {
+ active.scrollIntoView({ block: 'center', inline: 'nearest' });
+ }
+ }
+ setupScrollSpy();
+ setupMobileToggle();
+ setupDarkMode();
+ setupSearch();
+ setupCollapse();
+})();
+
+function setupScrollSpy() {
+ var sectionPositions = [];
+ var sections = document.querySelectorAll('section');
+ sections.forEach(function (section) {
+ sectionPositions.push(section.offsetTop);
+ });
+ var scrollPos = 0;
+ window.addEventListener('scroll', function (_) {
+ // Reset classes
+ document.querySelectorAll('.doc-toc a[class="active"]').forEach(function (link) {
+ link.classList.remove('active');
+ });
+ // Set current menu link as active
+ var scrollPosition = document.documentElement.scrollTop || document.body.scrollTop;
+ for (var i = 0; i < sectionPositions.length; i++) {
+ var section = sections[i];
+ var position = sectionPositions[i];
+ if (position >= scrollPosition) {
+ var link = document.querySelector('.doc-toc a[href="#' + section.id + '"]');
+ if (link) {
+ link.classList.add('active');
+ var docToc = document.querySelector('.doc-toc');
+ var tocHeight = docToc.clientHeight;
+ var scrollTop = docToc.scrollTop;
+ if ((document.body.getBoundingClientRect()).top < scrollPos && scrollTop < link.offsetTop - 10) {
+ docToc.scrollTop = link.clientHeight + link.offsetTop - tocHeight + 10;
+ } else if (scrollTop > link.offsetTop - 10) {
+ docToc.scrollTop = link.offsetTop - 10;
+ }
+ }
+ break;
+ }
+ }
+ scrollPos = (document.body.getBoundingClientRect()).top;
+ });
+}
+
+function setupMobileToggle() {
+ var toggle = document.getElementById('toggle-menu');
+ toggle.addEventListener('click', function (_) {
+ var docNav = document.querySelector('.doc-nav');
+ var isHidden = docNav.classList.contains('hidden');
+ docNav.classList.toggle('hidden');
+ var search = document.querySelector('.doc-nav > .search');
+ console.log(search);
+ var searchHasResults = search.classList.contains('has-results');
+ if (isHidden && searchHasResults) {
+ search.classList.remove('mobile-hidden');
+ } else {
+ search.classList.add('mobile-hidden');
+ }
+ var content = document.querySelector('.doc-nav .content');
+ content.classList.toggle('hidden');
+ content.classList.toggle('show');
+ });
+}
+
+function setupDarkMode() {
+ var html = document.getElementsByTagName('html')[0];
+ var darkModeToggle = document.getElementById('dark-mode-toggle');
+ darkModeToggle.addEventListener('click', function () {
+ html.classList.toggle('dark');
+ var isDarkModeEnabled = html.classList.contains('dark');
+ localStorage.setItem('dark-mode', isDarkModeEnabled);
+ darkModeToggle.setAttribute('aria-checked', isDarkModeEnabled)
+ });
+ // Check if css var() is supported and enable dark mode toggle
+ if (window.CSS && CSS.supports('color', 'var(--fake-var)')) {
+ darkModeToggle.style.visibility = 'unset';
+ }
+}
+
+function setupSearch() {
+ var searchInput = document.getElementById('search');
+ var onInputChange = debounce(function (e) {
+ var searchValue = e.target.value.toLowerCase();
+ var menu = document.querySelector('.doc-nav > .content');
+ var search = document.querySelector('.doc-nav > .search');
+ if (searchValue === '') {
+ // reset to default
+ menu.style.display = '';
+ if (!search.classList.contains('hidden')) {
+ search.classList.add('hidden');
+ search.classList.remove('has-results');
+ }
+ } else if (searchValue.length >= 2) {
+ // search for less than 2 characters can display too much results
+ search.innerHTML = '';
+ menu.style.display = 'none';
+ if (search.classList.contains('hidden')) {
+ search.classList.remove('hidden');
+ search.classList.remove('mobile-hidden');
+ search.classList.add('has-results');
+ }
+ // cache length for performance
+ var foundModule = false;
+ var searchModuleIndexLength = searchModuleIndex.length;
+ var ul = document.createElement('ul');
+ search.appendChild(ul);
+ for (var i = 0; i < searchModuleIndexLength; i++) {
+ // no toLowerCase needed because modules are always lowercase
+ var title = searchModuleIndex[i];
+ if (title.indexOf(searchValue) === -1) {
+ continue
+ }
+ foundModule = true;
+ // [description, link]
+ var data = searchModuleData[i];
+ var description = data[0];
+ var link = data[1];
+ var el = createSearchResult({
+ link: link,
+ title: title,
+ description: description,
+ badge: 'module',
+ });
+ ul.appendChild(el);
+ }
+ if (foundModule) {
+ var hr = document.createElement('hr');
+ hr.classList.add('separator');
+ search.appendChild(hr);
+ }
+ var searchIndexLength = searchIndex.length;
+ var results = [];
+ for (var i = 0; i < searchIndexLength; i++) {
+ var title = searchIndex[i];
+ if (title.toLowerCase().indexOf(searchValue) === -1) {
+ continue
+ }
+ // [badge, description, link]
+ var data = searchData[i];
+ var badge = data[0];
+ var description = data[1];
+ var link = data[2];
+ var prefix = data[3];
+ results.push({
+ badge: badge,
+ description: description,
+ link: link,
+ title: prefix + ' ' + title,
+ });
+ }
+ results.sort(function (a, b) {
+ if (a.title < b.title) {
+ return -1;
+ }
+ if (a.title > b.title) {
+ return 1;
+ }
+ return 0;
+ });
+ var ul = document.createElement('ul');
+ search.appendChild(ul);
+ for (var i = 0; i < results.length; i++) {
+ var result = results[i];
+ var el = createSearchResult(result);
+ ul.appendChild(el);
+ }
+ }
+ });
+ searchInput.addEventListener('input', onInputChange);
+}
+
+function createSearchResult(data) {
+ var li = document.createElement('li');
+ li.classList.add('result');
+ var a = document.createElement('a');
+ a.href = data.link;
+ a.classList.add('link');
+ li.appendChild(a);
+ var defintion = document.createElement('div');
+ defintion.classList.add('definition');
+ a.appendChild(defintion);
+ if (data.description) {
+ var description = document.createElement('div');
+ description.classList.add('description');
+ description.textContent = data.description;
+ a.appendChild(description);
+ }
+ var title = document.createElement('span');
+ title.classList.add('title');
+ title.textContent = data.title;
+ defintion.appendChild(title);
+ var badge = document.createElement('badge');
+ badge.classList.add('badge');
+ badge.textContent = data.badge;
+ defintion.appendChild(badge);
+ return li;
+}
+
+function setupCollapse() {
+ var dropdownArrows = document.querySelectorAll('.dropdown-arrow');
+ for (var i = 0; i < dropdownArrows.length; i++) {
+ var dropdownArrow = dropdownArrows[i];
+ dropdownArrow.addEventListener('click', function (e) {
+ var parent = e.target.parentElement.parentElement.parentElement;
+ parent.classList.toggle('open');
+ });
+ }
+}
+
+function debounce(func, timeout) {
+ var timer;
+ return (...args) => {
+ const next = () => func(...args);
+ if (timer) {
+ clearTimeout(timer);
+ }
+ timer = setTimeout(next, timeout > 0 ? timeout : 300);
+ }
+}
+
+document.addEventListener('keypress', (ev) => {
+ if (ev.key == '/') {
+ let search = document.getElementById('search');
+ ev.preventDefault();
+ search.focus();
+ }
+});
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-192x192.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-192x192.png
new file mode 100644
index 0000000..a674500
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-192x192.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-512x512.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-512x512.png
new file mode 100644
index 0000000..fe7294e
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/android-chrome-512x512.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/apple-touch-icon.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/apple-touch-icon.png
new file mode 100644
index 0000000..d2bedd5
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/apple-touch-icon.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/browserconfig.xml b/v_windows/v/cmd/tools/vdoc/resources/favicons/browserconfig.xml
new file mode 100644
index 0000000..b3930d0
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/favicons/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #da532c
+
+
+
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-16x16.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-16x16.png
new file mode 100644
index 0000000..ed11964
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-16x16.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-32x32.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-32x32.png
new file mode 100644
index 0000000..083808f
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon-32x32.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon.ico b/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon.ico
new file mode 100644
index 0000000..5123c5e
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/favicon.ico differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-144x144.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-144x144.png
new file mode 100644
index 0000000..f34f872
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-144x144.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-150x150.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-150x150.png
new file mode 100644
index 0000000..d511595
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-150x150.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x150.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x150.png
new file mode 100644
index 0000000..ec8e25f
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x150.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x310.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x310.png
new file mode 100644
index 0000000..8b98e30
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-310x310.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-70x70.png b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-70x70.png
new file mode 100644
index 0000000..4740338
Binary files /dev/null and b/v_windows/v/cmd/tools/vdoc/resources/favicons/mstile-70x70.png differ
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/safari-pinned-tab.svg b/v_windows/v/cmd/tools/vdoc/resources/favicons/safari-pinned-tab.svg
new file mode 100644
index 0000000..8580c38
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/favicons/safari-pinned-tab.svg
@@ -0,0 +1,39 @@
+
+
+
diff --git a/v_windows/v/cmd/tools/vdoc/resources/favicons/site.webmanifest b/v_windows/v/cmd/tools/vdoc/resources/favicons/site.webmanifest
new file mode 100644
index 0000000..b20abb7
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/favicons/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/v_windows/v/cmd/tools/vdoc/resources/light.svg b/v_windows/v/cmd/tools/vdoc/resources/light.svg
new file mode 100644
index 0000000..21606c9
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/light.svg
@@ -0,0 +1 @@
+
diff --git a/v_windows/v/cmd/tools/vdoc/resources/link.svg b/v_windows/v/cmd/tools/vdoc/resources/link.svg
new file mode 100644
index 0000000..60d93bb
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/link.svg
@@ -0,0 +1 @@
+
diff --git a/v_windows/v/cmd/tools/vdoc/resources/menu.svg b/v_windows/v/cmd/tools/vdoc/resources/menu.svg
new file mode 100644
index 0000000..c069b00
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/menu.svg
@@ -0,0 +1 @@
+
diff --git a/v_windows/v/cmd/tools/vdoc/resources/normalize.css b/v_windows/v/cmd/tools/vdoc/resources/normalize.css
new file mode 100644
index 0000000..d9fbe67
--- /dev/null
+++ b/v_windows/v/cmd/tools/vdoc/resources/normalize.css
@@ -0,0 +1,171 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+html {
+ line-height: 1.15;
+ -webkit-text-size-adjust: 100%;
+}
+
+main {
+ display: block;
+}
+
+h1 {
+ font-size: 2em;
+ margin: 0.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;
+}
+
+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: -0.25em;
+}
+
+sup {
+ top: -0.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: 0.35em 0.75em 0.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;
+}
+
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
+[hidden] {
+ display: none;
+}
--
cgit v1.2.3