mirror of
https://github.com/alex-shpak/hugo-book.git
synced 2025-07-16 19:51:22 +00:00
Merge branch 'master' of github.com:decentraland/documentation-theme
This commit is contained in:
commit
64ceb9d280
@ -1,5 +1,6 @@
|
|||||||
# Hugo Book Theme
|
# Hugo Book Theme
|
||||||
|
|
||||||
|
|
||||||
[](https://gohugo.io)
|
[](https://gohugo.io)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||

|

|
||||||
|
@ -17,7 +17,7 @@ $body-min-width: 20rem !default;
|
|||||||
$container-max-width: 1064px !default;
|
$container-max-width: 1064px !default;
|
||||||
|
|
||||||
$header-height: 3.5rem !default;
|
$header-height: 3.5rem !default;
|
||||||
$menu-width: 280px !default;
|
$menu-width: 248px + $padding-16 + $padding-16 !default;
|
||||||
$toc-width: 16rem !default;
|
$toc-width: 16rem !default;
|
||||||
|
|
||||||
$mobile-breakpoint: 768px;
|
$mobile-breakpoint: 768px;
|
||||||
@ -30,6 +30,7 @@ $hint-colors: (
|
|||||||
|
|
||||||
// Themes
|
// Themes
|
||||||
@mixin theme-light {
|
@mixin theme-light {
|
||||||
|
--gray: #736e7d;
|
||||||
--gray-100: #f8f9fa;
|
--gray-100: #f8f9fa;
|
||||||
--gray-200: #e9ecef;
|
--gray-200: #e9ecef;
|
||||||
--gray-500: #adb5bd;
|
--gray-500: #adb5bd;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url("fonts/Inter-UI-Regular.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-Regular.woff2") format("woff2"),
|
||||||
url("fonts/Inter-UI-Regular.woff") format("woff");
|
url("fonts/Inter-UI-Regular.woff") format("woff");
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url("fonts/Inter-UI-Italic.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-Italic.woff2") format("woff2"),
|
||||||
@ -14,14 +14,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
src: url("fonts/Inter-UI-Medium.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-Medium.woff2") format("woff2"),
|
||||||
url("fonts/Inter-UI-Medium.woff") format("woff");
|
url("fonts/Inter-UI-Medium.woff") format("woff");
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
src: url("fonts/Inter-UI-MediumItalic.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-MediumItalic.woff2") format("woff2"),
|
||||||
@ -29,14 +29,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: url("fonts/Inter-UI-Bold.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-Bold.woff2") format("woff2"),
|
||||||
url("fonts/Inter-UI-Bold.woff") format("woff");
|
url("fonts/Inter-UI-Bold.woff") format("woff");
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: url("fonts/Inter-UI-BoldItalic.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-BoldItalic.woff2") format("woff2"),
|
||||||
@ -44,14 +44,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
src: url("fonts/Inter-UI-Black.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-Black.woff2") format("woff2"),
|
||||||
url("fonts/Inter-UI-Black.woff") format("woff");
|
url("fonts/Inter-UI-Black.woff") format("woff");
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Inter UI';
|
font-family: 'Inter';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
src: url("fonts/Inter-UI-BlackItalic.woff2") format("woff2"),
|
src: url("fonts/Inter-UI-BlackItalic.woff2") format("woff2"),
|
||||||
@ -59,253 +59,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 100;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-thin.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-thin.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-thin.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 100;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-thinitalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-thinitalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-thinitalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 100;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-thinoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-thinoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-thinoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 100;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-thinoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-thinoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-thinoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 200;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extralight.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extralight.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extralight.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 200;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extralightitalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extralightitalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extralightitalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 200;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extralightoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extralightoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extralightoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 200;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extralightoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extralightoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extralightoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 300;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-light.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-light.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-light.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 300;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-lightitalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-lightitalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-lightitalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 300;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-lightoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-lightoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-lightoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 300;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-lightoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-lightoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-lightoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-regular.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-regular.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-regular.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-italic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-italic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-italic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-oblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-oblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-oblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 400;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-oblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-oblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-oblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 500;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-medium.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-medium.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-medium.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 500;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-mediumitalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-mediumitalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-mediumitalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 500;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-mediumoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-mediumoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-mediumoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 500;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-mediumoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-mediumoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-mediumoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 600;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-semibold.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-semibold.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-semibold.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 600;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-semibolditalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-semibolditalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-semibolditalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 600;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-semiboldoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-semiboldoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-semiboldoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 600;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-semiboldoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-semiboldoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-semiboldoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 700;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-bold.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-bold.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-bold.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 700;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-bolditalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-bolditalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-bolditalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 700;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-boldoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-boldoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-boldoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 700;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-boldoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-boldoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-boldoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 800;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extrabold.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extrabold.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extrabold.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 800;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extrabolditalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extrabolditalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extrabolditalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 800;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extraboldoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extraboldoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extraboldoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 800;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-extraboldoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-extraboldoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-extraboldoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 900;
|
|
||||||
font-style: normal;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-heavy.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-heavy.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-heavy.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 900;
|
|
||||||
font-style: italic;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-heavyitalic.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-heavyitalic.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-heavyitalic.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka';
|
|
||||||
font-weight: 900;
|
|
||||||
font-style: oblique;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-heavyoblique.woff2') format('woff2'), url('fonts/iosevka/woff/iosevka-mz-heavyoblique.woff') format('woff'), url('fonts/iosevka/ttf/iosevka-mz-heavyoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Iosevka Oblique';
|
|
||||||
font-weight: 900;
|
|
||||||
src: url('fonts/iosevka/woff2/iosevka-mz-heavyoblique.woff2') format('woff2'), url('woff/iosevka-mz-heavyoblique.woff') format('woff'), url('ttf/iosevka-mz-heavyoblique.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: 'Inter UI', sans-serif;
|
font-family: 'Inter', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-family: 'Iosevka', monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
|
100
assets/_home.scss
Normal file
100
assets/_home.scss
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
.main-home {
|
||||||
|
.home {
|
||||||
|
margin-top: 32px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.welcome-wrapper {
|
||||||
|
.welcome-header {
|
||||||
|
font-size: 48px;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 56px;
|
||||||
|
}
|
||||||
|
.welcome-subheader {
|
||||||
|
color: var(--gray);
|
||||||
|
font-size: 21px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.book-search {
|
||||||
|
width: 420px;
|
||||||
|
padding: unset;
|
||||||
|
margin-top: 16px;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
#book-search-hits {
|
||||||
|
max-height: calc(100vh - 400px) !important; // 130px -> uitopbar + titles + search input
|
||||||
|
}
|
||||||
|
#book-search-input img {
|
||||||
|
left: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.section-cards-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 30px;
|
||||||
|
.user-card {
|
||||||
|
font-weight: 500;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 10px 9px -8px rgba(0, 0, 0, 0.48);
|
||||||
|
flex: 1 1;
|
||||||
|
height: 280px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 20px;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
* {
|
||||||
|
color: white
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.card-img {
|
||||||
|
border-style: none;
|
||||||
|
padding: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-info {
|
||||||
|
flex: 1 1;
|
||||||
|
width: 100%;
|
||||||
|
padding-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-cta {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
span {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
box-shadow: 0 20px 18px -16px rgba(0, 0, 0, 0.48);
|
||||||
|
-webkit-filter: brightness(1.2);
|
||||||
|
filter: brightness(1.2);
|
||||||
|
margin-top: -10px;
|
||||||
|
}
|
||||||
|
transition: all .5s ease-in-out;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.home {
|
||||||
|
.book-search {
|
||||||
|
width: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-cards-container {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-card {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,32 @@
|
|||||||
@import "_dcl-ui.scss";
|
@import "_dcl-ui.scss";
|
||||||
|
@import "_home.scss";
|
||||||
html {
|
html {
|
||||||
font-size: $font-size-base;
|
font-size: $font-size-base;
|
||||||
scroll-behavior: smooth;
|
scroll-behavior: smooth;
|
||||||
touch-action: manipulation;
|
touch-action: manipulation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*, body {
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
height: 6px;
|
||||||
|
margin-left: 10px;
|
||||||
|
width: 6px ;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: #ededed;
|
||||||
|
border-radius: 2px
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: #b7b7b7;
|
||||||
|
border-radius: 2px
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: #999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
min-width: $body-min-width;
|
min-width: $body-min-width;
|
||||||
color: var(--body-font-color);
|
color: var(--body-font-color);
|
||||||
@ -62,10 +83,19 @@ aside nav ul {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.book-menu-content label a {
|
||||||
|
font-weight: 400 !important;
|
||||||
|
color: #736e7d !important;
|
||||||
|
}
|
||||||
|
|
||||||
.book-menu-content nav > ul {
|
.book-menu-content nav > ul {
|
||||||
padding-inline-start: 0;
|
padding-inline-start: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.book-menu ul li ul{
|
||||||
|
padding-inline-start: 16px !important;
|
||||||
|
}
|
||||||
|
|
||||||
ul.pagination {
|
ul.pagination {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -107,8 +137,8 @@ ul.pagination {
|
|||||||
|
|
||||||
.book-menu-content {
|
.book-menu-content {
|
||||||
width: $menu-width;
|
width: $menu-width;
|
||||||
padding: $padding-16;
|
|
||||||
background: var(--body-background);
|
background: var(--body-background);
|
||||||
|
padding: $padding-16;
|
||||||
}
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
@ -222,7 +252,7 @@ body[dir="rtl"] .book-menu {
|
|||||||
.book-page {
|
.book-page {
|
||||||
min-width: $body-min-width;
|
min-width: $body-min-width;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
padding: $padding-16;
|
padding: $padding-8
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-post {
|
.book-post {
|
||||||
@ -244,11 +274,68 @@ body[dir="rtl"] .book-menu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.book-search {
|
.book-search {
|
||||||
|
z-index: 2;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: $padding-16 0;
|
margin: $padding-16 0;
|
||||||
border-bottom: 1px solid transparent;
|
border-bottom: 1px solid transparent;
|
||||||
|
width: 356px;
|
||||||
|
#book-search-input {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
img {
|
||||||
|
z-index: 5;
|
||||||
|
position: absolute;
|
||||||
|
left: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#search-overlay {
|
||||||
|
background-color: #000;
|
||||||
|
pointer-events: auto;
|
||||||
|
opacity: 0.1;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
#book-search-results {
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 3;
|
||||||
|
#book-search-hits {
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
max-height: calc(100vh - 130px); // 130px -> uitopbar + content topbar
|
||||||
|
background-color: var(--body-background);
|
||||||
|
border-radius: 10px;
|
||||||
|
box-shadow: 0 16px 32px 16px rgba(0, 0, 0, 0.16);
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 16px;
|
||||||
|
position: relative;
|
||||||
|
ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
li {
|
||||||
|
box-sizing: border-box;
|
||||||
|
cursor: pointer;
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 10px;
|
||||||
|
h4 {
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--body-font-color);
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
background-color: var(--gray-100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
|
z-index: 4;
|
||||||
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 7px 20px 7px 48px;
|
padding: 7px 20px 7px 48px;
|
||||||
|
|
||||||
@ -303,12 +390,10 @@ body[dir="rtl"] .book-menu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#book-search-results {
|
|
||||||
position: absolute;
|
@media screen and (max-width: 991px) {
|
||||||
z-index: 9999;
|
.book-search {
|
||||||
background: cyan;
|
width: auto !important;
|
||||||
li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -454,17 +539,42 @@ body[dir="rtl"] .book-menu {
|
|||||||
|
|
||||||
// Extra space for big screens
|
// Extra space for big screens
|
||||||
@media screen and (min-width: $container-max-width) {
|
@media screen and (min-width: $container-max-width) {
|
||||||
.book-page,
|
|
||||||
.book-menu .book-menu-content,
|
|
||||||
.book-toc .book-toc-content {
|
.book-toc .book-toc-content {
|
||||||
padding: 8px $padding-16;
|
padding: $padding-16;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@import "syntax.scss";
|
@import "syntax.scss";
|
||||||
|
|
||||||
|
.sidebar > div > nav > ul > li > a {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #0d0d17;
|
||||||
|
&.external-link {
|
||||||
|
svg {
|
||||||
|
path {
|
||||||
|
fill: #0d0d17 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .external-link {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
svg {
|
||||||
|
path {
|
||||||
|
fill: #736e7d;
|
||||||
|
}
|
||||||
|
width: 12px;
|
||||||
|
margin-left: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.code {
|
||||||
|
font-family: 'monospace' !important;
|
||||||
|
}
|
||||||
.tabs-navigation {
|
.tabs-navigation {
|
||||||
font-family: "Inter UI";
|
font-family: "Inter";
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
|
@ -1,20 +1,6 @@
|
|||||||
@import "defaults";
|
@import "defaults";
|
||||||
@import "variables";
|
@import "variables";
|
||||||
|
|
||||||
// Webkit
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: $padding-8;
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
background: transparent;
|
|
||||||
border-radius: $padding-8;
|
|
||||||
}
|
|
||||||
|
|
||||||
:hover::-webkit-scrollbar-thumb {
|
|
||||||
background: var(--gray-500);
|
|
||||||
}
|
|
||||||
|
|
||||||
// MS
|
// MS
|
||||||
body {
|
body {
|
||||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||||
|
145
assets/search.js
145
assets/search.js
@ -2,29 +2,29 @@
|
|||||||
|
|
||||||
{{ $searchDataFile := printf "%s.search-data.json" .Language.Lang }}
|
{{ $searchDataFile := printf "%s.search-data.json" .Language.Lang }}
|
||||||
{{ $searchData := resources.Get "search-data.json" | resources.ExecuteAsTemplate $searchDataFile . | resources.Minify | resources.Fingerprint }}
|
{{ $searchData := resources.Get "search-data.json" | resources.ExecuteAsTemplate $searchDataFile . | resources.Minify | resources.Fingerprint }}
|
||||||
{{ $searchConfig := i18n "bookSearchConfig" | default "{}" }}
|
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
const searchDataURL = '{{ $searchData.RelPermalink }}';
|
const searchDataURL = '{{ $searchData.RelPermalink }}';
|
||||||
const indexConfig = Object.assign({{ $searchConfig }}, {
|
const input = document.querySelector('#book-search-input input');
|
||||||
doc: {
|
const searchOverlay = document.querySelector('#search-overlay')
|
||||||
id: 'id',
|
const resultsContainer = document.querySelector('#book-search-hits');
|
||||||
field: ['title', 'content'],
|
const results = document.querySelector('#book-search-results ul');
|
||||||
store: ['title', 'href', 'section']
|
const LIMIT_RESULTS = Infinity
|
||||||
}
|
const MIN_INPUT_SIZE = 2 // SDK ✅
|
||||||
});
|
const documents = new Map()
|
||||||
|
|
||||||
const input = document.querySelector('#book-search-input');
|
|
||||||
const results = document.querySelector('#book-search-results');
|
|
||||||
|
|
||||||
if (!input) {
|
if (!input) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Listeners
|
||||||
input.addEventListener('focus', init);
|
input.addEventListener('focus', init);
|
||||||
input.addEventListener('keyup', search);
|
input.addEventListener('keyup', search);
|
||||||
|
|
||||||
document.addEventListener('keypress', focusSearchFieldOnKeyPress);
|
document.addEventListener('keypress', focusSearchFieldOnKeyPress);
|
||||||
|
searchOverlay.addEventListener('click', () => {
|
||||||
|
hideSearchBox()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Event} event
|
* @param {Event} event
|
||||||
@ -59,39 +59,114 @@
|
|||||||
function init() {
|
function init() {
|
||||||
input.removeEventListener('focus', init); // init once
|
input.removeEventListener('focus', init); // init once
|
||||||
input.required = true;
|
input.required = true;
|
||||||
|
|
||||||
fetch(searchDataURL)
|
fetch(searchDataURL)
|
||||||
.then(pages => pages.json())
|
.then(pages => pages.json())
|
||||||
.then(pages => {
|
.then(pages => {
|
||||||
window.bookSearchIndex = FlexSearch.create('balance', indexConfig);
|
window.lunrIdx = lunr(function() {
|
||||||
window.bookSearchIndex.add(pages);
|
this.ref('id')
|
||||||
|
this.field('id')
|
||||||
|
this.field('content')
|
||||||
|
this.field('href')
|
||||||
|
this.metadataWhitelist = ['position']
|
||||||
|
for (const page of pages) {
|
||||||
|
documents.set(page.id, page)
|
||||||
|
this.add(page);
|
||||||
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.then(() => input.required = false)
|
.then(() => input.required = false)
|
||||||
.then(search);
|
.then(search);
|
||||||
}
|
}
|
||||||
|
|
||||||
function search() {
|
function search() {
|
||||||
|
const value = input.value?.trim()
|
||||||
|
if (input.required) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
while (results.firstChild) {
|
while (results.firstChild) {
|
||||||
results.removeChild(results.firstChild);
|
results.removeChild(results.firstChild);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!input.value) {
|
if (!value || value.length <= MIN_INPUT_SIZE) {
|
||||||
|
hideSearchBox()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const searchHits = window.bookSearchIndex.search(input.value, 10);
|
function searchValue(fuzzy) {
|
||||||
searchHits.forEach(function (page) {
|
// Operators:
|
||||||
const li = element('<li><a href></a><small></small></li>');
|
// +: means AND. i.e +sdk +metaverse will found words that contains sdk & metaverse
|
||||||
const a = li.querySelector('a'), small = li.querySelector('small');
|
// ~n: looks for N fuzzy words. i.e. metaverse~1 => metavese ✅
|
||||||
|
return value.split(' ').map(val => {
|
||||||
|
// Avoid blankspaces
|
||||||
|
if (!val) return
|
||||||
|
// if its a short word or fuzzy option is turned off, then return only the value with the +operator
|
||||||
|
if (val.length <= 4 || !fuzzy) return `+${val}`
|
||||||
|
|
||||||
a.href = page.href;
|
return `+${val}~1`
|
||||||
a.textContent = page.title;
|
}).filter(a => !!a).join(' ')
|
||||||
small.textContent = page.section;
|
}
|
||||||
|
|
||||||
results.appendChild(li);
|
function getSearchHits() {
|
||||||
|
// First search for the words without fuzzy, so we can have a more accurate result.
|
||||||
|
const hits = window.lunrIdx.search(searchValue()).slice(0, LIMIT_RESULTS);
|
||||||
|
if (hits.length) return hits
|
||||||
|
return window.lunrIdx.search(searchValue(true)).slice(0, LIMIT_RESULTS);
|
||||||
|
}
|
||||||
|
const searchHits = getSearchHits()
|
||||||
|
showSearchBox()
|
||||||
|
if (!searchHits.length) {
|
||||||
|
resultCard(`Not Found`, `Sorry, we couldn't find any matches. Try searching for a different keyword`)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
searchHits.forEach((hit) => {
|
||||||
|
const document = documents.get(Number(hit.ref))
|
||||||
|
if (!document) return
|
||||||
|
const highlightedContent = highlightContent(document.content, hit)
|
||||||
|
resultCard(document.title, highlightedContent, document.href)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function resultCard(title, content, href) {
|
||||||
|
const li = element('<li><a href><h4></h4><span></span></a></li>');
|
||||||
|
if (href) li.querySelector('a').href = href;
|
||||||
|
li.querySelector('h4').textContent = title;
|
||||||
|
li.querySelector('span').innerHTML = content
|
||||||
|
results.appendChild(li);
|
||||||
|
}
|
||||||
|
|
||||||
|
function highlightContent(content, hit) {
|
||||||
|
const amountLetters = 60
|
||||||
|
const { metadata } = hit.matchData
|
||||||
|
let from = 0
|
||||||
|
let to = 100
|
||||||
|
const keys = Object.keys(metadata).sort()
|
||||||
|
for (const key of keys) {
|
||||||
|
const positions = metadata[key]?.content?.position
|
||||||
|
if (!positions) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
for (const position of positions) {
|
||||||
|
const positionStart = position[0]
|
||||||
|
from = Math.max(0, content.length - positionStart <= amountLetters
|
||||||
|
? positionStart - amountLetters * 2
|
||||||
|
: positionStart - amountLetters)
|
||||||
|
to = positionStart + position[1] + amountLetters
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
let value = content.slice(from, to)
|
||||||
|
if (from !== 0) {
|
||||||
|
value = `...${value}`
|
||||||
|
}
|
||||||
|
for (const key of keys) {
|
||||||
|
value = value.replace(new RegExp(key, 'gi'), '<strong>$&</strong>')
|
||||||
|
}
|
||||||
|
|
||||||
|
return value + '...'
|
||||||
|
}
|
||||||
|
|
||||||
|
// HELPERS
|
||||||
/**
|
/**
|
||||||
* @param {String} content
|
* @param {String} content
|
||||||
* @returns {Node}
|
* @returns {Node}
|
||||||
@ -101,4 +176,26 @@
|
|||||||
div.innerHTML = content;
|
div.innerHTML = content;
|
||||||
return div.firstChild;
|
return div.firstChild;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hide(element) {
|
||||||
|
element.classList.add('hidden')
|
||||||
|
}
|
||||||
|
|
||||||
|
function show(element) {
|
||||||
|
element.classList.remove('hidden')
|
||||||
|
}
|
||||||
|
|
||||||
|
function showSearchBox() {
|
||||||
|
if (!resultsContainer.classList.contains('hidden')) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resultsContainer.scrollTop = 0
|
||||||
|
show(searchOverlay)
|
||||||
|
show(resultsContainer)
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideSearchBox() {
|
||||||
|
hide(searchOverlay)
|
||||||
|
hide(resultsContainer)
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
{{ partial "docs/html-head" . }}
|
{{ partial "docs/html-head" . }}
|
||||||
{{ partial "docs/inject/head" . }}
|
{{ partial "docs/inject/head" . }}
|
||||||
</head>
|
</head>
|
||||||
<body dir="{{ default "ltr" .Site.Language.LanguageDirection }}">
|
<body dir="{{ default "ltr" .Site.Language.LanguageDirection }}" >
|
||||||
<input type="checkbox" class="hidden toggle" id="menu-control" />
|
<input type="checkbox" class="hidden toggle" id="menu-control" />
|
||||||
<input type="checkbox" class="hidden toggle" id="toc-control" />
|
<input type="checkbox" class="hidden toggle" id="toc-control" />
|
||||||
<div class="dcl navbar fullscreen" role="navigation">
|
<div class="dcl navbar fullscreen" role="navigation">
|
||||||
@ -24,6 +24,44 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{ if .IsHome }}
|
||||||
|
<main class="main-home">
|
||||||
|
<div class="ui container">
|
||||||
|
<div class="home">
|
||||||
|
<div class="dcl section welcome-wrapper">
|
||||||
|
<h1 class="welcome-header">Decentraland Documentation</h1>
|
||||||
|
<p class="welcome-subheader">The first-ever virtual world owned by its users</p>
|
||||||
|
</div>
|
||||||
|
{{ partial "docs/search" . }}
|
||||||
|
<p class="welcome-description">
|
||||||
|
This site is maintained by the Decentraland Foundation.<br>
|
||||||
|
The content in this site is divided into sections for different user profiles. Choose a section that matches your needs.
|
||||||
|
</p>
|
||||||
|
<div class="section-cards-container">
|
||||||
|
{{ range $.Site.Data.sections }}
|
||||||
|
<div class="user-card" style="background: {{ .accent }}">
|
||||||
|
<a href="/{{.path}}">
|
||||||
|
<div class="card-img">
|
||||||
|
<img alt="{{.name}}" src="/{{.img}}" />
|
||||||
|
</div>
|
||||||
|
<div class="card-info">
|
||||||
|
<h3>For {{.name}}</h3>
|
||||||
|
<p>{{.description}}</p>
|
||||||
|
</div>
|
||||||
|
<div class="card-cta">
|
||||||
|
<span>VIEW MORE</span>
|
||||||
|
<img src="https://cdn.decentraland.org/@dcl/docs-site/1.0.0-3184947587.commit-74f4df1/caret.png" alt="View More"/>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{ if not .IsHome }}
|
||||||
<div class="tabs-header">
|
<div class="tabs-header">
|
||||||
<div class="dcl tabs ">
|
<div class="dcl tabs ">
|
||||||
<div class="ui container">
|
<div class="ui container">
|
||||||
@ -46,12 +84,9 @@
|
|||||||
{{ partial "docs/search" . }}
|
{{ partial "docs/search" . }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<main class="container flex">
|
<main class="container flex">
|
||||||
<aside class="book-menu">
|
<aside class="book-menu sidebar">
|
||||||
<div class="book-menu-content">
|
<div class="book-menu-content">
|
||||||
{{ template "menu" . }} <!-- Left menu Content -->
|
{{ template "menu" . }} <!-- Left menu Content -->
|
||||||
</div>
|
</div>
|
||||||
@ -73,9 +108,7 @@
|
|||||||
|
|
||||||
{{ template "comments" . }} <!-- Comments block -->
|
{{ template "comments" . }} <!-- Comments block -->
|
||||||
|
|
||||||
<label for="menu-control" class="hidden book-menu-overlay">
|
<label for="menu-control" class="hidden book-menu-overlay"></label>
|
||||||
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ if default true (default .Site.Params.BookToC .Params.BookToC) }}
|
{{ if default true (default .Site.Params.BookToC .Params.BookToC) }}
|
||||||
@ -86,7 +119,8 @@
|
|||||||
</aside>
|
</aside>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</main>
|
</main>
|
||||||
|
{{ end }}
|
||||||
|
{{ partial "docs/html-footer.html" . }}
|
||||||
{{ partial "docs/inject/body" . }}
|
{{ partial "docs/inject/body" . }}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
36
layouts/partials/docs/html-footer.html
Normal file
36
layouts/partials/docs/html-footer.html
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<div class="ui container dcl footer">
|
||||||
|
<div class="main-footer">
|
||||||
|
<div role="listbox" aria-expanded="false" class="ui upward dropdown dcl language-dropdown" tabindex="0">
|
||||||
|
<div aria-atomic="true" aria-live="polite" role="alert" class="divider text">
|
||||||
|
<div class="dcl language-icon-wrapper">
|
||||||
|
<i class="dcl language-icon en"> </i>
|
||||||
|
<div class="language-icon-label">English</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="links">
|
||||||
|
<a href="https://decentraland.org">Home</a>
|
||||||
|
<a href="https://decentraland.org/privacy">Privacy Policy</a>
|
||||||
|
<a href="https://decentraland.org/terms">Terms of Use</a>
|
||||||
|
<a href="https://decentraland.org/content">Content Policy</a>
|
||||||
|
<a href="https://decentraland.org/ethics">Code of Ethics</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="secondary-footer">
|
||||||
|
<div class="social-links">
|
||||||
|
<a href="https://dcl.gg/discord">
|
||||||
|
<i class="social-icon discord" ></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://reddit.com/r/decentraland">
|
||||||
|
<i class="social-icon reddit" ></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/decentraland">
|
||||||
|
<i class="social-icon github" ></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://twitter.com/decentraland">
|
||||||
|
<i class="social-icon twitter" ></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="copyright">© 2022 Decentraland</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -27,7 +27,7 @@
|
|||||||
{{- if default true .Site.Params.BookSearch -}}
|
{{- if default true .Site.Params.BookSearch -}}
|
||||||
{{- $searchJSFile := printf "%s.search.js" .Language.Lang }}
|
{{- $searchJSFile := printf "%s.search.js" .Language.Lang }}
|
||||||
{{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify | resources.Fingerprint }}
|
{{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify | resources.Fingerprint }}
|
||||||
<script defer src="{{ "flexsearch.min.js" | relURL }}"></script>
|
<script defer src="{{ "lunr.min.js" | relURL }}"></script>
|
||||||
<script defer src="{{ $searchJS.RelPermalink }}" {{ template "integrity" $searchJS }}></script>
|
<script defer src="{{ $searchJS.RelPermalink }}" {{ template "integrity" $searchJS }}></script>
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
@ -36,6 +36,10 @@
|
|||||||
<script defer src="{{ $swJS.RelPermalink }}" {{ template "integrity" $swJS }}></script>
|
<script defer src="{{ $swJS.RelPermalink }}" {{ template "integrity" $swJS }}></script>
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
|
{{- if .Site.Params.SegmentApiKey -}}
|
||||||
|
{{- partial "docs/segment.html" . -}}
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
{{- template "_internal/google_analytics.html" . -}}
|
{{- template "_internal/google_analytics.html" . -}}
|
||||||
|
|
||||||
<!-- RSS -->
|
<!-- RSS -->
|
||||||
|
@ -36,12 +36,17 @@
|
|||||||
</a>
|
</a>
|
||||||
</label>
|
</label>
|
||||||
{{ else if .Page.Params.BookHref }}
|
{{ else if .Page.Params.BookHref }}
|
||||||
<a href="{{ .Page.Params.BookHref }}" class="{{ if $current }}active{{ end }}" target="_blank" rel="noopener">
|
<a href="{{ .Page.Params.BookHref }}" class="external-link {{ if $current }}active{{ end }}" target="_blank" rel="noopener">
|
||||||
{{- partial "docs/title" .Page -}}
|
{{- partial "docs/title" .Page -}}
|
||||||
|
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||||
|
d="M8.311 0H11.6822C11.8577 0 12 0.142299 12 0.317821V3.68889C12 3.86441 11.8577 4.00671 11.6822 4.00671H10.8346C10.6591 4.00671 10.5168 3.86441 10.5168 3.68889V2.53189L6.16285 6.88583C6.10327 6.94545 6.02242 6.97893 5.93813 6.97893C5.8538 6.97893 5.77299 6.94545 5.71337 6.88583L5.11408 6.28651C4.98996 6.16234 4.98996 5.96114 5.11408 5.83702L9.46805 1.48317H8.311C8.13548 1.48317 7.99318 1.34087 7.99318 1.16534V0.317821C7.99318 0.142299 8.13548 0 8.311 0ZM9.95046 5.96288H10.798C10.9735 5.96288 11.1158 6.10518 11.1158 6.28074V10.1449C11.1158 11.1678 10.2835 12 9.26057 12H1.85503C0.832189 12 0 11.1678 0 10.1449V2.73941C0 1.71645 0.832147 0.884179 1.85503 0.884179H5.91703C6.09255 0.884179 6.23485 1.02648 6.23485 1.202V2.04952C6.23485 2.22505 6.09255 2.36734 5.91703 2.36734H1.85503C1.64997 2.36734 1.48318 2.53426 1.48318 2.73941V10.1448C1.48318 10.3499 1.64997 10.5168 1.85503 10.5168H9.26062C9.46572 10.5168 9.63264 10.3499 9.63264 10.1448V6.2807C9.63264 6.10518 9.77494 5.96288 9.95046 5.96288Z"
|
||||||
|
fill="#0d0d17" />
|
||||||
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
{{ else if .Page.Content }}
|
{{ else if .Page.Content }}
|
||||||
<a href="{{ .Page.RelPermalink }}" class="{{ if $current }}active{{ end }}">
|
<a href="{{ .Page.RelPermalink }}" class="{{ if $current }}active{{ end }}" >
|
||||||
{{- partial "docs/title" .Page -}}
|
{{- partial "docs/sidebar-title" .Page -}}
|
||||||
</a>
|
</a>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<span>{{- partial "docs/title" .Page -}}</span>
|
<span>{{- partial "docs/title" .Page -}}</span>
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
{{ if default true .Site.Params.BookSearch }}
|
{{ if default true .Site.Params.BookSearch }}
|
||||||
<div class="book-search">
|
<div class="book-search">
|
||||||
<input type="text" id="book-search-input" placeholder="{{ i18n "Search" }}" aria-label="{{ i18n "Search" }}" maxlength="64" data-hotkeys="s/" />
|
<div id="search-overlay" class="hidden"></div>
|
||||||
|
<div id="book-search-input">
|
||||||
|
<img src="{{ "svg/search.svg" | relURL }}" class="book-icon" alt="Search" />
|
||||||
|
<input type="text" placeholder="{{ i18n "Search" }}" aria-label="{{ i18n "Search" }}" maxlength="64" data-hotkeys="s/" />
|
||||||
|
</div>
|
||||||
<div class="book-search-spinner hidden"></div>
|
<div class="book-search-spinner hidden"></div>
|
||||||
<ul id="book-search-results"></ul>
|
<div id="book-search-results">
|
||||||
|
<div id="book-search-hits" class="hidden" tabindex="0">
|
||||||
|
<ul id="book-search-list"></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
6
layouts/partials/docs/segment.html
Normal file
6
layouts/partials/docs/segment.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<script>
|
||||||
|
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.src="https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey="{{ .Site.Params.SegmentApiKey }}";;analytics.SNIPPET_VERSION="4.15.3";
|
||||||
|
analytics.load("{{ .Site.Params.SegmentApiKey }}");
|
||||||
|
analytics.page();
|
||||||
|
}}();
|
||||||
|
</script>
|
17
layouts/partials/docs/sidebar-title.html
Normal file
17
layouts/partials/docs/sidebar-title.html
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
Partial to generate page name from Title or File name.
|
||||||
|
Accepts Page as context
|
||||||
|
-->
|
||||||
|
{{ $title := "" }}
|
||||||
|
|
||||||
|
{{ if .Params.sidebartitle }}
|
||||||
|
{{ $title = .Params.sidebartitle }}
|
||||||
|
{{ else if .Title }}
|
||||||
|
{{ $title = .Title }}
|
||||||
|
{{ else if and .IsSection .File }}
|
||||||
|
{{ $title = path.Base .File.Dir | humanize | title }}
|
||||||
|
{{ else if and .IsPage .File }}
|
||||||
|
{{ $title = .File.BaseFileName | humanize | title }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ return $title }}
|
@ -1,13 +0,0 @@
|
|||||||
{{ define "main" }}
|
|
||||||
<article class="markdown">
|
|
||||||
<h1>
|
|
||||||
<a href="{{ .RelPermalink }}">{{ partial "docs/title.html" . }}</a>
|
|
||||||
</h1>
|
|
||||||
{{ partial "docs/post-meta" . }}
|
|
||||||
{{- .Content -}}
|
|
||||||
</article>
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ define "toc" }}
|
|
||||||
{{ partial "docs/toc" . }}
|
|
||||||
{{ end }}
|
|
42
static/flexsearch.min.js
vendored
42
static/flexsearch.min.js
vendored
@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
FlexSearch v0.6.30
|
|
||||||
Copyright 2019 Nextapps GmbH
|
|
||||||
Author: Thomas Wilkerling
|
|
||||||
Released under the Apache 2.0 Licence
|
|
||||||
https://github.com/nextapps-de/flexsearch
|
|
||||||
*/
|
|
||||||
'use strict';(function(K,R,w){let L;(L=w.define)&&L.amd?L([],function(){return R}):(L=w.modules)?L[K.toLowerCase()]=R:"object"===typeof exports?module.exports=R:w[K]=R})("FlexSearch",function ma(K){function w(a,c){const b=c?c.id:a&&a.id;this.id=b||0===b?b:na++;this.init(a,c);fa(this,"index",function(){return this.a?Object.keys(this.a.index[this.a.keys[0]].c):Object.keys(this.c)});fa(this,"length",function(){return this.index.length})}function L(a,c,b,d){this.u!==this.g&&(this.o=this.o.concat(b),this.u++,
|
|
||||||
d&&this.o.length>=d&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(c,this.o),this.F&&this.F(this.o)));return this}function S(a){const c=B();for(const b in a)if(a.hasOwnProperty(b)){const d=a[b];F(d)?c[b]=d.slice(0):G(d)?c[b]=S(d):c[b]=d}return c}function W(a,c){const b=a.length,d=O(c),e=[];for(let f=0,h=0;f<b;f++){const g=a[f];if(d&&c(g)||!d&&!c[g])e[h++]=g}return e}function P(a,c,b,d,e,f,h,g,k,l){b=ha(b,h?0:e,g,f,c,k,l);let p;g&&(g=b.page,p=b.next,b=b.result);if(h)c=this.where(h,null,
|
|
||||||
e,b);else{c=b;b=this.l;e=c.length;f=Array(e);for(h=0;h<e;h++)f[h]=b[c[h]];c=f}b=c;d&&(O(d)||(M=d.split(":"),1<M.length?d=oa:(M=M[0],d=pa)),b.sort(d));b=T(g,p,b);this.cache&&this.j.set(a,b);return b}function fa(a,c,b){Object.defineProperty(a,c,{get:b})}function r(a){return new RegExp(a,"g")}function Q(a,c){for(let b=0;b<c.length;b+=2)a=a.replace(c[b],c[b+1]);return a}function V(a,c,b,d,e,f,h,g){if(c[b])return c[b];e=e?(g-(h||g/1.5))*f+(h||g/1.5)*e:f;c[b]=e;e>=h&&(a=a[g-(e+.5>>0)],a=a[b]||(a[b]=[]),
|
|
||||||
a[a.length]=d);return e}function ba(a,c){if(a){const b=Object.keys(a);for(let d=0,e=b.length;d<e;d++){const f=b[d],h=a[f];if(h)for(let g=0,k=h.length;g<k;g++)if(h[g]===c){1===k?delete a[f]:h.splice(g,1);break}else G(h[g])&&ba(h[g],c)}}}function ca(a){let c="",b="";var d="";for(let e=0;e<a.length;e++){const f=a[e];if(f!==b)if(e&&"h"===f){if(d="a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d,("a"===b||"e"===b||"i"===b||"o"===b||"u"===b||"y"===b)&&d||" "===b)c+=f}else c+=f;d=e===a.length-1?"":a[e+
|
|
||||||
1];b=f}return c}function qa(a,c){a=a.length-c.length;return 0>a?1:a?-1:0}function pa(a,c){a=a[M];c=c[M];return a<c?-1:a>c?1:0}function oa(a,c){const b=M.length;for(let d=0;d<b;d++)a=a[M[d]],c=c[M[d]];return a<c?-1:a>c?1:0}function T(a,c,b){return a?{page:a,next:c?""+c:null,result:b}:b}function ha(a,c,b,d,e,f,h){let g,k=[];if(!0===b){b="0";var l=""}else l=b&&b.split(":");const p=a.length;if(1<p){const y=B(),t=[];let v,x;var n=0,m;let I;var u=!0;let D,E=0,N,da,X,ea;l&&(2===l.length?(X=l,l=!1):l=ea=
|
|
||||||
parseInt(l[0],10));if(h){for(v=B();n<p;n++)if("not"===e[n])for(x=a[n],I=x.length,m=0;m<I;m++)v["@"+x[m]]=1;else da=n+1;if(C(da))return T(b,g,k);n=0}else N=J(e)&&e;let Y;for(;n<p;n++){const ra=n===(da||p)-1;if(!N||!n)if((m=N||e&&e[n])&&"and"!==m)if("or"===m)Y=!1;else continue;else Y=f=!0;x=a[n];if(I=x.length){if(u)if(D){var q=D.length;for(m=0;m<q;m++){u=D[m];var A="@"+u;h&&v[A]||(y[A]=1,f||(k[E++]=u))}D=null;u=!1}else{D=x;continue}A=!1;for(m=0;m<I;m++){q=x[m];var z="@"+q;const Z=f?y[z]||0:n;if(!(!Z&&
|
|
||||||
!d||h&&v[z]||!f&&y[z]))if(Z===n){if(ra){if(!ea||--ea<E)if(k[E++]=q,c&&E===c)return T(b,E+(l||0),k)}else y[z]=n+1;A=!0}else d&&(z=t[Z]||(t[Z]=[]),z[z.length]=q)}if(Y&&!A&&!d)break}else if(Y&&!d)return T(b,g,x)}if(D)if(n=D.length,h)for(m=l?parseInt(l,10):0;m<n;m++)a=D[m],v["@"+a]||(k[E++]=a);else k=D;if(d)for(E=k.length,X?(n=parseInt(X[0],10)+1,m=parseInt(X[1],10)+1):(n=t.length,m=0);n--;)if(q=t[n]){for(I=q.length;m<I;m++)if(d=q[m],!h||!v["@"+d])if(k[E++]=d,c&&E===c)return T(b,n+":"+m,k);m=0}}else!p||
|
|
||||||
e&&"not"===e[0]||(k=a[0],l&&(l=parseInt(l[0],10)));c&&(h=k.length,l&&l>h&&(l=0),l=l||0,g=l+c,g<h?k=k.slice(l,g):(g=0,l&&(k=k.slice(l))));return T(b,g,k)}function J(a){return"string"===typeof a}function F(a){return a.constructor===Array}function O(a){return"function"===typeof a}function G(a){return"object"===typeof a}function C(a){return"undefined"===typeof a}function ia(a){const c=Array(a);for(let b=0;b<a;b++)c[b]=B();return c}function B(){return Object.create(null)}function sa(){let a,c;self.onmessage=
|
|
||||||
function(b){if(b=b.data)if(b.search){const d=c.search(b.content,b.threshold?{limit:b.limit,threshold:b.threshold,where:b.where}:b.limit);self.postMessage({id:a,content:b.content,limit:b.limit,result:d})}else b.add?c.add(b.id,b.content):b.update?c.update(b.id,b.content):b.remove?c.remove(b.id):b.clear?c.clear():b.info?(b=c.info(),b.worker=a,console.log(b)):b.register&&(a=b.id,b.options.cache=!1,b.options.async=!1,b.options.worker=!1,c=(new Function(b.register.substring(b.register.indexOf("{")+1,b.register.lastIndexOf("}"))))(),
|
|
||||||
c=new c(b.options))}}function ta(a,c,b,d){a=K("flexsearch","id"+a,sa,function(f){(f=f.data)&&f.result&&d(f.id,f.content,f.result,f.limit,f.where,f.cursor,f.suggest)},c);const e=ma.toString();b.id=c;a.postMessage({register:e,options:b,id:c});return a}const H={encode:"icase",f:"forward",split:/\W+/,cache:!1,async:!1,g:!1,D:!1,a:!1,b:9,threshold:0,depth:0},ja={memory:{encode:"extra",f:"strict",threshold:0,b:1},speed:{encode:"icase",f:"strict",threshold:1,b:3,depth:2},match:{encode:"extra",f:"full",threshold:1,
|
|
||||||
b:3},score:{encode:"extra",f:"strict",threshold:1,b:9,depth:4},balance:{encode:"balance",f:"strict",threshold:0,b:3,depth:3},fast:{encode:"icase",f:"strict",threshold:8,b:9,depth:1}},aa=[];let na=0;const ka={},la={};w.create=function(a,c){return new w(a,c)};w.registerMatcher=function(a){for(const c in a)a.hasOwnProperty(c)&&aa.push(r(c),a[c]);return this};w.registerEncoder=function(a,c){U[a]=c.bind(U);return this};w.registerLanguage=function(a,c){ka[a]=c.filter;la[a]=c.stemmer;return this};w.encode=
|
|
||||||
function(a,c){return U[a](c)};w.prototype.init=function(a,c){this.v=[];if(c){var b=c.preset;a=c}else a||(a=H),b=a.preset;c={};J(a)?(c=ja[a],a={}):b&&(c=ja[b]);if(b=a.worker)if("undefined"===typeof Worker)a.worker=!1,this.m=null;else{var d=parseInt(b,10)||4;this.C=-1;this.u=0;this.o=[];this.F=null;this.m=Array(d);for(var e=0;e<d;e++)this.m[e]=ta(this.id,e,a,L.bind(this))}this.f=a.tokenize||c.f||this.f||H.f;this.split=C(b=a.split)?this.split||H.split:J(b)?r(b):b;this.D=a.rtl||this.D||H.D;this.async=
|
|
||||||
"undefined"===typeof Promise||C(b=a.async)?this.async||H.async:b;this.g=C(b=a.worker)?this.g||H.g:b;this.threshold=C(b=a.threshold)?c.threshold||this.threshold||H.threshold:b;this.b=C(b=a.resolution)?b=c.b||this.b||H.b:b;b<=this.threshold&&(this.b=this.threshold+1);this.depth="strict"!==this.f||C(b=a.depth)?c.depth||this.depth||H.depth:b;this.w=(b=C(b=a.encode)?c.encode||H.encode:b)&&U[b]&&U[b].bind(U)||(O(b)?b:this.w||!1);(b=a.matcher)&&this.addMatcher(b);if(b=(c=a.lang)||a.filter){J(b)&&(b=ka[b]);
|
|
||||||
if(F(b)){d=this.w;e=B();for(var f=0;f<b.length;f++){var h=d?d(b[f]):b[f];e[h]=1}b=e}this.filter=b}if(b=c||a.stemmer){var g;c=J(b)?la[b]:b;d=this.w;e=[];for(g in c)c.hasOwnProperty(g)&&(f=d?d(g):g,e.push(r(f+"($|\\W)"),d?d(c[g]):c[g]));this.stemmer=g=e}this.a=e=(b=a.doc)?S(b):this.a||H.a;this.i=ia(this.b-(this.threshold||0));this.h=B();this.c=B();if(e){this.l=B();a.doc=null;g=e.index={};c=e.keys=[];d=e.field;f=e.tag;h=e.store;F(e.id)||(e.id=e.id.split(":"));if(h){var k=B();if(J(h))k[h]=1;else if(F(h))for(let l=
|
|
||||||
0;l<h.length;l++)k[h[l]]=1;else G(h)&&(k=h);e.store=k}if(f){this.G=B();h=B();if(d)if(J(d))h[d]=a;else if(F(d))for(k=0;k<d.length;k++)h[d[k]]=a;else G(d)&&(h=d);F(f)||(e.tag=f=[f]);for(d=0;d<f.length;d++)this.G[f[d]]=B();this.I=f;d=h}if(d){let l;F(d)||(G(d)?(l=d,e.field=d=Object.keys(d)):e.field=d=[d]);for(e=0;e<d.length;e++)f=d[e],F(f)||(l&&(a=l[f]),c[e]=f,d[e]=f.split(":")),g[f]=new w(a)}a.doc=b}this.B=!0;this.j=(this.cache=b=C(b=a.cache)?this.cache||H.cache:b)?new ua(b):!1;return this};w.prototype.encode=
|
|
||||||
function(a){a&&(aa.length&&(a=Q(a,aa)),this.v.length&&(a=Q(a,this.v)),this.w&&(a=this.w(a)),this.stemmer&&(a=Q(a,this.stemmer)));return a};w.prototype.addMatcher=function(a){const c=this.v;for(const b in a)a.hasOwnProperty(b)&&c.push(r(b),a[b]);return this};w.prototype.add=function(a,c,b,d,e){if(this.a&&G(a))return this.A("add",a,c);if(c&&J(c)&&(a||0===a)){var f="@"+a;if(this.c[f]&&!d)return this.update(a,c);if(this.g)return++this.C>=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:a,
|
|
||||||
content:c}),this.c[f]=""+this.C,b&&b(),this;if(!e){if(this.async&&"function"!==typeof importScripts){let t=this;f=new Promise(function(v){setTimeout(function(){t.add(a,c,null,d,!0);t=null;v()})});if(b)f.then(b);else return f;return this}if(b)return this.add(a,c,null,d,!0),b(),this}c=this.encode(c);if(!c.length)return this;b=this.f;e=O(b)?b(c):c.split(this.split);this.filter&&(e=W(e,this.filter));const n=B();n._ctx=B();const m=e.length,u=this.threshold,q=this.depth,A=this.b,z=this.i,y=this.D;for(let t=
|
|
||||||
0;t<m;t++){var h=e[t];if(h){var g=h.length,k=(y?t+1:m-t)/m,l="";switch(b){case "reverse":case "both":for(var p=g;--p;)l=h[p]+l,V(z,n,l,a,y?1:(g-p)/g,k,u,A-1);l="";case "forward":for(p=0;p<g;p++)l+=h[p],V(z,n,l,a,y?(p+1)/g:1,k,u,A-1);break;case "full":for(p=0;p<g;p++){const v=(y?p+1:g-p)/g;for(let x=g;x>p;x--)l=h.substring(p,x),V(z,n,l,a,v,k,u,A-1)}break;default:if(g=V(z,n,h,a,1,k,u,A-1),q&&1<m&&g>=u)for(g=n._ctx[h]||(n._ctx[h]=B()),h=this.h[h]||(this.h[h]=ia(A-(u||0))),k=t-q,l=t+q+1,0>k&&(k=0),l>
|
|
||||||
m&&(l=m);k<l;k++)k!==t&&V(h,g,e[k],a,0,A-(k<t?t-k:k-t),u,A-1)}}}this.c[f]=1;this.B=!1}return this};w.prototype.A=function(a,c,b){if(F(c)){var d=c.length;if(d--){for(var e=0;e<d;e++)this.A(a,c[e]);return this.A(a,c[d],b)}}else{var f=this.a.index,h=this.a.keys,g=this.a.tag;e=this.a.store;var k;var l=this.a.id;d=c;for(var p=0;p<l.length;p++)d=d[l[p]];if("remove"===a&&(delete this.l[d],l=h.length,l--)){for(c=0;c<l;c++)f[h[c]].remove(d);return f[h[l]].remove(d,b)}if(g){for(k=0;k<g.length;k++){var n=g[k];
|
|
||||||
var m=c;l=n.split(":");for(p=0;p<l.length;p++)m=m[l[p]];m="@"+m}k=this.G[n];k=k[m]||(k[m]=[])}l=this.a.field;for(let u=0,q=l.length;u<q;u++){n=l[u];g=c;for(m=0;m<n.length;m++)g=g[n[m]];n=f[h[u]];m="add"===a?n.add:n.update;u===q-1?m.call(n,d,g,b):m.call(n,d,g)}if(e){b=Object.keys(e);a=B();for(f=0;f<b.length;f++)if(h=b[f],e[h]){h=h.split(":");let u,q;for(l=0;l<h.length;l++)g=h[l],u=(u||c)[g],q=(q||a)[g]=u}c=a}k&&(k[k.length]=c);this.l[d]=c}return this};w.prototype.update=function(a,c,b){if(this.a&&
|
|
||||||
G(a))return this.A("update",a,c);this.c["@"+a]&&J(c)&&(this.remove(a),this.add(a,c,b,!0));return this};w.prototype.remove=function(a,c,b){if(this.a&&G(a))return this.A("remove",a,c);var d="@"+a;if(this.c[d]){if(this.g)return this.m[this.c[d]].postMessage({remove:!0,id:a}),delete this.c[d],c&&c(),this;if(!b){if(this.async&&"function"!==typeof importScripts){let e=this;d=new Promise(function(f){setTimeout(function(){e.remove(a,null,!0);e=null;f()})});if(c)d.then(c);else return d;return this}if(c)return this.remove(a,
|
|
||||||
null,!0),c(),this}for(c=0;c<this.b-(this.threshold||0);c++)ba(this.i[c],a);this.depth&&ba(this.h,a);delete this.c[d];this.B=!1}return this};let M;w.prototype.search=function(a,c,b,d){if(G(c)){if(F(c))for(var e=0;e<c.length;e++)c[e].query=a;else c.query=a;a=c;c=1E3}else c&&O(c)?(b=c,c=1E3):c||0===c||(c=1E3);if(this.g){this.F=b;this.u=0;this.o=[];for(var f=0;f<this.g;f++)this.m[f].postMessage({search:!0,limit:c,content:a})}else{var h=[],g=a;if(G(a)&&!F(a)){b||(b=a.callback)&&(g.callback=null);var k=
|
|
||||||
a.sort;var l=a.page;c=a.limit;f=a.threshold;var p=a.suggest;a=a.query}if(this.a){f=this.a.index;const y=g.where;var n=g.bool||"or",m=g.field;let t=n;let v,x;if(m)F(m)||(m=[m]);else if(F(g)){var u=g;m=[];t=[];for(var q=0;q<g.length;q++)d=g[q],e=d.bool||n,m[q]=d.field,t[q]=e,"not"===e?v=!0:"and"===e&&(x=!0)}else m=this.a.keys;n=m.length;for(q=0;q<n;q++)u&&(g=u[q]),l&&!J(g)&&(g.page=null,g.limit=0),h[q]=f[m[q]].search(g,0);if(b)return b(P.call(this,a,t,h,k,c,p,y,l,x,v));if(this.async){const I=this;return new Promise(function(D){Promise.all(h).then(function(E){D(P.call(I,
|
|
||||||
a,t,E,k,c,p,y,l,x,v))})})}return P.call(this,a,t,h,k,c,p,y,l,x,v)}f||(f=this.threshold||0);if(!d){if(this.async&&"function"!==typeof importScripts){let y=this;f=new Promise(function(t){setTimeout(function(){t(y.search(g,c,null,!0));y=null})});if(b)f.then(b);else return f;return this}if(b)return b(this.search(g,c,null,!0)),this}if(!a||!J(a))return h;g=a;if(this.cache)if(this.B){if(b=this.j.get(a))return b}else this.j.clear(),this.B=!0;g=this.encode(g);if(!g.length)return h;b=this.f;b=O(b)?b(g):g.split(this.split);
|
|
||||||
this.filter&&(b=W(b,this.filter));u=b.length;d=!0;e=[];var A=B(),z=0;1<u&&(this.depth&&"strict"===this.f?n=!0:b.sort(qa));if(!n||(q=this.h)){const y=this.b;for(;z<u;z++){let t=b[z];if(t){if(n){if(!m)if(q[t])m=t,A[t]=1;else if(!p)return h;if(p&&z===u-1&&!e.length)n=!1,t=m||t,A[t]=0;else if(!m)continue}if(!A[t]){const v=[];let x=!1,I=0;const D=n?q[m]:this.i;if(D){let E;for(let N=0;N<y-f;N++)if(E=D[N]&&D[N][t])v[I++]=E,x=!0}if(x)m=t,e[e.length]=1<I?v.concat.apply([],v):v[0];else if(!p){d=!1;break}A[t]=
|
|
||||||
1}}}}else d=!1;d&&(h=ha(e,c,l,p));this.cache&&this.j.set(a,h);return h}};w.prototype.find=function(a,c){return this.where(a,c,1)[0]||null};w.prototype.where=function(a,c,b,d){const e=this.l,f=[];let h=0;let g;var k;let l;if(G(a)){b||(b=c);var p=Object.keys(a);var n=p.length;g=!1;if(1===n&&"id"===p[0])return[e[a.id]];if((k=this.I)&&!d)for(var m=0;m<k.length;m++){var u=k[m],q=a[u];if(!C(q)){l=this.G[u]["@"+q];if(0===--n)return l;p.splice(p.indexOf(u),1);delete a[u];break}}k=Array(n);for(m=0;m<n;m++)k[m]=
|
|
||||||
p[m].split(":")}else{if(O(a)){c=d||Object.keys(e);b=c.length;for(p=0;p<b;p++)n=e[c[p]],a(n)&&(f[h++]=n);return f}if(C(c))return[e[a]];if("id"===a)return[e[c]];p=[a];n=1;k=[a.split(":")];g=!0}d=l||d||Object.keys(e);m=d.length;for(u=0;u<m;u++){q=l?d[u]:e[d[u]];let A=!0;for(let z=0;z<n;z++){g||(c=a[p[z]]);const y=k[z],t=y.length;let v=q;if(1<t)for(let x=0;x<t;x++)v=v[y[x]];else v=v[y[0]];if(v!==c){A=!1;break}}if(A&&(f[h++]=q,b&&h===b))break}return f};w.prototype.info=function(){if(this.g)for(let a=0;a<
|
|
||||||
this.g;a++)this.m[a].postMessage({info:!0,id:this.id});else return{id:this.id,items:this.length,cache:this.cache&&this.cache.s?this.cache.s.length:!1,matcher:aa.length+(this.v?this.v.length:0),worker:this.g,threshold:this.threshold,depth:this.depth,resolution:this.b,contextual:this.depth&&"strict"===this.f}};w.prototype.clear=function(){return this.destroy().init()};w.prototype.destroy=function(){this.cache&&(this.j.clear(),this.j=null);this.i=this.h=this.c=null;if(this.a){const a=this.a.keys;for(let c=
|
|
||||||
0;c<a.length;c++)this.a.index[a[c]].destroy();this.a=this.l=null}return this};w.prototype.export=function(a){const c=!a||C(a.serialize)||a.serialize;if(this.a){const d=!a||C(a.doc)||a.doc;var b=!a||C(a.index)||a.index;a=[];let e=0;if(b)for(b=this.a.keys;e<b.length;e++){const f=this.a.index[b[e]];a[e]=[f.i,f.h,Object.keys(f.c)]}d&&(a[e]=this.l)}else a=[this.i,this.h,Object.keys(this.c)];c&&(a=JSON.stringify(a));return a};w.prototype.import=function(a,c){if(!c||C(c.serialize)||c.serialize)a=JSON.parse(a);
|
|
||||||
const b=B();if(this.a){var d=!c||C(c.doc)||c.doc,e=0;if(!c||C(c.index)||c.index){c=this.a.keys;const h=c.length;for(var f=a[0][2];e<f.length;e++)b[f[e]]=1;for(e=0;e<h;e++){f=this.a.index[c[e]];const g=a[e];g&&(f.i=g[0],f.h=g[1],f.c=b)}}d&&(this.l=G(d)?d:a[e])}else{d=a[2];for(e=0;e<d.length;e++)b[d[e]]=1;this.i=a[0];this.h=a[1];this.c=b}};const va=function(){const a=r("\\s+"),c=r("[^a-z0-9 ]"),b=[r("[-/]")," ",c,"",a," "];return function(d){return ca(Q(d.toLowerCase(),b))}}(),U={icase:function(a){return a.toLowerCase()},
|
|
||||||
simple:function(){const a=r("\\s+"),c=r("[^a-z0-9 ]"),b=r("[-/]"),d=r("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),e=r("[\u00e8\u00e9\u00ea\u00eb]"),f=r("[\u00ec\u00ed\u00ee\u00ef]"),h=r("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),g=r("[\u00f9\u00fa\u00fb\u00fc\u0171]"),k=r("[\u00fd\u0177\u00ff]"),l=r("\u00f1"),p=r("[\u00e7c]"),n=r("\u00df"),m=r(" & "),u=[d,"a",e,"e",f,"i",h,"o",g,"u",k,"y",l,"n",p,"k",n,"s",m," and ",b," ",c,"",a," "];return function(q){q=Q(q.toLowerCase(),u);return" "===q?"":q}}(),advanced:function(){const a=
|
|
||||||
r("ae"),c=r("ai"),b=r("ay"),d=r("ey"),e=r("oe"),f=r("ue"),h=r("ie"),g=r("sz"),k=r("zs"),l=r("ck"),p=r("cc"),n=r("sh"),m=r("th"),u=r("dt"),q=r("ph"),A=r("pf"),z=r("ou"),y=r("uo"),t=[a,"a",c,"ei",b,"ei",d,"ei",e,"o",f,"u",h,"i",g,"s",k,"s",n,"s",l,"k",p,"k",m,"t",u,"t",q,"f",A,"f",z,"o",y,"u"];return function(v,x){if(!v)return v;v=this.simple(v);2<v.length&&(v=Q(v,t));x||1<v.length&&(v=ca(v));return v}}(),extra:function(){const a=r("p"),c=r("z"),b=r("[cgq]"),d=r("n"),e=r("d"),f=r("[vw]"),h=r("[aeiouy]"),
|
|
||||||
g=[a,"b",c,"s",b,"k",d,"m",e,"t",f,"f",h,""];return function(k){if(!k)return k;k=this.advanced(k,!0);if(1<k.length){k=k.split(" ");for(let l=0;l<k.length;l++){const p=k[l];1<p.length&&(k[l]=p[0]+Q(p.substring(1),g))}k=k.join(" ");k=ca(k)}return k}}(),balance:va},ua=function(){function a(c){this.clear();this.H=!0!==c&&c}a.prototype.clear=function(){this.cache=B();this.count=B();this.index=B();this.s=[]};a.prototype.set=function(c,b){if(this.H&&C(this.cache[c])){let d=this.s.length;if(d===this.H){d--;
|
|
||||||
const e=this.s[d];delete this.cache[e];delete this.count[e];delete this.index[e]}this.index[c]=d;this.s[d]=c;this.count[c]=-1;this.cache[c]=b;this.get(c)}else this.cache[c]=b};a.prototype.get=function(c){const b=this.cache[c];if(this.H&&b){var d=++this.count[c];const f=this.index;let h=f[c];if(0<h){const g=this.s;for(var e=h;this.count[g[--h]]<=d&&-1!==h;);h++;if(h!==e){for(d=e;d>h;d--)e=g[d-1],g[d]=e,f[e]=d;g[h]=c;f[c]=h}}}return b};return a}();return w}(function(){const K={},R="undefined"!==typeof Blob&&
|
|
||||||
"undefined"!==typeof URL&&URL.createObjectURL;return function(w,L,S,W,P){S=R?URL.createObjectURL(new Blob(["("+S.toString()+")()"],{type:"text/javascript"})):w+".min.js";w+="-"+L;K[w]||(K[w]=[]);K[w][P]=new Worker(S);K[w][P].onmessage=W;return K[w][P]}}()),this);
|
|
6
static/lunr.min.js
vendored
Normal file
6
static/lunr.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
static/svg/contributor.svg
Normal file
4
static/svg/contributor.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle opacity="0.24" cx="24" cy="24" r="24" fill="black"/>
|
||||||
|
<path d="M18.8654 29.4072C18.5718 29.4076 18.2883 29.3055 18.069 29.1203L12 23.9994L18.406 18.5939C18.6448 18.4 18.9542 18.3028 19.2677 18.3232C19.5812 18.3436 19.8737 18.48 20.0824 18.7029C20.2911 18.9259 20.3992 19.2178 20.3836 19.5157C20.368 19.8136 20.2298 20.0937 19.9988 20.2959L15.6102 23.9994L19.6618 27.4172C19.8438 27.5705 19.9724 27.7727 20.0305 27.997C20.0885 28.2213 20.0734 28.4571 19.987 28.673C19.9005 28.889 19.747 29.0748 19.5467 29.206C19.3463 29.3371 19.1087 29.4073 18.8654 29.4072ZM29.594 29.4049L36 23.9994L29.931 18.8785C29.6933 18.678 29.3813 18.5754 29.0638 18.5933C28.7463 18.6111 28.4493 18.7479 28.2381 18.9736C28.0269 19.1993 27.9188 19.4954 27.9375 19.7968C27.9563 20.0981 28.1005 20.3801 28.3382 20.5806L32.3898 23.9994L28.0012 27.7018C27.7633 27.9023 27.619 28.1843 27.6001 28.4857C27.5812 28.7872 27.6892 29.0835 27.9005 29.3093C28.1117 29.5352 28.4088 29.6721 28.7264 29.6901C29.044 29.708 29.3561 29.6054 29.594 29.4049ZM23.9832 31.0182L26.382 17.3564C26.4127 17.2071 26.4115 17.0534 26.3786 16.9046C26.3457 16.7557 26.2816 16.6146 26.1903 16.4896C26.099 16.3646 25.9822 16.2583 25.8468 16.1768C25.7114 16.0954 25.5602 16.0406 25.4022 16.0155C25.2441 15.9905 25.0823 15.9958 24.9264 16.0311C24.7706 16.0664 24.6237 16.131 24.4946 16.2211C24.3654 16.3111 24.2566 16.4249 24.1745 16.5555C24.0925 16.6862 24.0388 16.8312 24.0168 16.9818L21.618 30.6436C21.5873 30.7929 21.5885 30.9466 21.6214 31.0954C21.6543 31.2443 21.7184 31.3854 21.8097 31.5104C21.901 31.6354 22.0178 31.7417 22.1532 31.8232C22.2886 31.9046 22.4398 31.9594 22.5978 31.9845C22.7559 32.0095 22.9177 32.0042 23.0736 31.9689C23.2294 31.9336 23.3763 31.869 23.5054 31.7789C23.6346 31.6889 23.7434 31.5751 23.8255 31.4445C23.9075 31.3138 23.9612 31.1688 23.9832 31.0182Z" fill="white"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
4
static/svg/creator.svg
Normal file
4
static/svg/creator.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle opacity="0.24" cx="24" cy="24" r="24" fill="black"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.9951 12C17.37 12.0026 12 17.3742 12 24C12 30.6274 17.3726 36 24 36H24.0128C24.6084 35.9994 25.0464 35.4356 24.9034 34.8575C24.7679 34.3097 24.6964 33.7366 24.6975 33.1467C24.6998 31.7934 25.0895 30.5258 25.7603 29.4492L23.9073 27.5961C23.0339 27.5654 22.217 27.2113 21.5957 26.59C21.2404 26.2347 20.7292 25.5154 20.393 23.3801C20.2239 22.3061 20.1788 21.3665 20.177 21.327L20.1268 20.2476L21.2063 20.2977C21.2458 20.2995 22.1853 20.3446 23.2593 20.5137C25.3946 20.8499 26.114 21.3612 26.4692 21.7164C27.0927 22.3399 27.4453 23.1622 27.4753 24.0279L29.8225 26.3751C30.4234 26.203 31.0565 26.1087 31.7099 26.105C32.7215 26.0991 33.6841 26.3062 34.5554 26.684C35.1079 26.9236 35.737 26.5793 35.8361 25.9853C35.945 25.3321 36.0013 24.6612 35.9999 23.9769C35.9874 17.3798 30.5919 11.9974 23.9951 12ZM16.8028 28.371C16.6336 28.4393 16.4588 28.4713 16.2871 28.4713C15.7382 28.4713 15.2188 28.1427 15.0016 27.6025C14.7167 26.8929 15.0607 26.0867 15.7708 25.8012C16.4804 25.5162 17.2865 25.8609 17.5714 26.5704C17.8564 27.28 17.5124 28.0861 16.8028 28.371ZM17.7708 20.9809C17.5308 21.4732 17.0379 21.7593 16.5253 21.7593C16.3216 21.7593 16.1148 21.7144 15.9198 21.619C15.2324 21.2843 14.9462 20.4553 15.2816 19.7679H15.281C15.6164 19.0806 16.4447 18.795 17.1327 19.1298C17.8201 19.4646 18.1056 20.2935 17.7708 20.9809ZM21.0933 30.3988C21.4582 30.3988 21.8145 30.5465 22.0724 30.8043C22.3302 31.0616 22.4779 31.4185 22.4779 31.7834C22.4779 32.1477 22.3302 32.5046 22.0724 32.7625C21.8145 33.0197 21.4582 33.1674 21.0933 33.1674C20.729 33.1674 20.3721 33.0197 20.1142 32.7625C19.8564 32.5046 19.7087 32.1477 19.7087 31.7834C19.7087 31.4185 19.8564 31.0616 20.1142 30.8043C20.3721 30.5465 20.729 30.3988 21.0933 30.3988ZM22.0428 17.3581C21.9117 17.3969 21.7801 17.4154 21.6496 17.4154C21.0521 17.4154 20.5007 17.0252 20.3228 16.4228C20.1062 15.6892 20.5247 14.9193 21.2582 14.7028C21.9917 14.4861 22.7616 14.9052 22.9782 15.6382C23.1948 16.3717 22.7764 17.1415 22.0428 17.3581ZM29.4884 17.6276C29.2268 18.0542 28.7721 18.2892 28.3062 18.2892C28.0594 18.2892 27.8096 18.2228 27.5844 18.0849C26.9321 17.6849 26.7277 16.8326 27.1271 16.1809C27.5265 15.5286 28.3788 15.3243 29.0311 15.7237C29.6834 16.1231 29.8877 16.9754 29.4884 17.6276ZM33.1357 23.3988C32.8779 23.6566 32.521 23.8043 32.1567 23.8043C31.7924 23.8043 31.4354 23.6567 31.1776 23.3988C30.9197 23.1415 30.7721 22.7847 30.7721 22.4197C30.7721 22.0554 30.9197 21.6985 31.1776 21.4406C31.4354 21.1834 31.7924 21.0351 32.1567 21.0351C32.521 21.0351 32.8779 21.1834 33.1357 21.4406C33.3936 21.6985 33.5413 22.0554 33.5413 22.4197C33.5413 22.7846 33.3936 23.1409 33.1357 23.3988ZM27.3004 25.2452C27.1318 25.7488 26.8478 26.2115 26.4693 26.5899C26.091 26.9684 25.6282 27.2523 25.1246 27.4209L31.8117 34.1079C32.4065 34.7028 33.3708 34.7028 33.9657 34.1079L33.9874 34.0861C34.5823 33.4913 34.5823 32.527 33.9874 31.9322L27.3004 25.2452ZM21.1606 21.2812C21.1606 21.2812 24.8115 21.4509 25.7731 22.4125C26.3227 22.9621 26.5581 23.7067 26.4789 24.4237C26.4198 24.9607 26.1847 25.482 25.7731 25.8936C25.3615 26.3053 24.8402 26.5402 24.3032 26.5994C23.5862 26.6786 22.8416 26.4432 22.292 25.8936C21.3303 24.932 21.1606 21.2812 21.1606 21.2812Z" fill="white"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.3 KiB |
4
static/svg/player.svg
Normal file
4
static/svg/player.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle opacity="0.24" cx="24" cy="24" r="24" fill="black"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M33.7961 13.2552C33.4919 12.9868 33.0572 12.9242 32.6894 13.0956L28.7855 14.9143C27.839 15.355 26.9937 15.987 26.3033 16.7697L22.252 21.3644C19.8005 20.779 17.1139 21.5311 15.3301 23.5542C14.6552 24.3194 14.1773 25.1911 13.8919 26.1056C13.817 26.3448 13.8698 26.6057 14.0313 26.7969C14.1928 26.9885 14.441 27.0841 14.6891 27.0512C16.6015 26.7978 18.6081 27.3375 20.1687 28.7135C21.7293 30.0895 22.5167 32.0127 22.5045 33.9425C22.503 34.1926 22.6292 34.4262 22.8393 34.5623C23.0493 34.6984 23.3149 34.7181 23.5428 34.6141C24.4145 34.2161 25.2188 33.6332 25.8927 32.8674C27.6765 30.8444 28.0857 28.0848 27.1976 25.7251L31.2475 21.1313C31.9383 20.3477 32.4601 19.4294 32.7784 18.4339L34.0923 14.3327C34.2171 13.9465 34.1003 13.5237 33.7961 13.2552ZM30.3537 19.913C29.6897 20.6665 28.5407 20.7385 27.7877 20.0746C27.0347 19.4106 26.9626 18.2615 27.6261 17.5085C28.2906 16.7551 29.4392 16.683 30.1922 17.347C30.9461 18.011 31.0177 19.16 30.3537 19.913ZM18.4866 28.486C18.0967 28.1422 17.5014 28.1799 17.1572 28.5693L14.6656 31.3948C14.3218 31.7852 14.359 32.38 14.7489 32.7242C14.9279 32.882 15.1501 32.9597 15.3715 32.9597C15.6324 32.9597 15.8923 32.8519 16.0783 32.6404L18.5699 29.8149C18.9142 29.4245 18.877 28.8293 18.4866 28.486ZM16.7852 33.2635L19.2768 30.4375C19.6206 30.0481 20.2158 30.0099 20.6062 30.3542C20.9961 30.6979 21.0333 31.2932 20.6895 31.6835L18.1979 34.5095C18.0119 34.7205 17.752 34.8283 17.4911 34.8283C17.2698 34.8283 17.0475 34.7506 16.8685 34.5929C16.4786 34.2486 16.4414 33.6539 16.7852 33.2635Z" fill="white"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
6
static/svg/search.svg
Normal file
6
static/svg/search.svg
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14">
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path d="M0 0H24V24H0z" transform="matrix(0 1 1 0 -5 -5)"/>
|
||||||
|
<path fill="#736E7D" fill-rule="nonzero" d="M18.657 17.003l-3.041-3.042c-.016-.016-.035-.027-.052-.042.598-.908.948-1.995.948-3.163C16.512 7.577 13.935 5 10.756 5 7.577 5 5 7.577 5 10.756c0 3.179 2.577 5.756 5.756 5.756 1.168 0 2.255-.35 3.163-.948.015.017.026.036.042.052l3.042 3.041c.457.457 1.197.457 1.654 0 .457-.457.457-1.197 0-1.654zm-7.901-2.487c-2.077 0-3.76-1.683-3.76-3.76s1.683-3.76 3.76-3.76 3.76 1.683 3.76 3.76-1.683 3.76-3.76 3.76z" transform="matrix(0 1 1 0 -5 -5)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 701 B |
Loading…
Reference in New Issue
Block a user