diff --git a/static/fonts/iosevka-aile.css b/static/fonts/iosevka-aile.css new file mode 100644 index 0000000..557a4c3 --- /dev/null +++ b/static/fonts/iosevka-aile.css @@ -0,0 +1,315 @@ + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-thin.ttf') format('truetype'), url('woff2/iosevka-aile-thin.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-thinoblique.ttf') format('truetype'), url('woff2/iosevka-aile-thinoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + src: url('ttf/iosevka-aile-thinoblique.ttf') format('truetype'), url('woff2/iosevka-aile-thinoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-thinitalic.ttf') format('truetype'), url('woff2/iosevka-aile-thinitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-extralight.ttf') format('truetype'), url('woff2/iosevka-aile-extralight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-extralightoblique.ttf') format('truetype'), url('woff2/iosevka-aile-extralightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + src: url('ttf/iosevka-aile-extralightoblique.ttf') format('truetype'), url('woff2/iosevka-aile-extralightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-extralightitalic.ttf') format('truetype'), url('woff2/iosevka-aile-extralightitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-light.ttf') format('truetype'), url('woff2/iosevka-aile-light.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-lightoblique.ttf') format('truetype'), url('woff2/iosevka-aile-lightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + src: url('ttf/iosevka-aile-lightoblique.ttf') format('truetype'), url('woff2/iosevka-aile-lightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-lightitalic.ttf') format('truetype'), url('woff2/iosevka-aile-lightitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-regular.ttf') format('truetype'), url('woff2/iosevka-aile-regular.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-oblique.ttf') format('truetype'), url('woff2/iosevka-aile-oblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + src: url('ttf/iosevka-aile-oblique.ttf') format('truetype'), url('woff2/iosevka-aile-oblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-italic.ttf') format('truetype'), url('woff2/iosevka-aile-italic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-medium.ttf') format('truetype'), url('woff2/iosevka-aile-medium.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-mediumoblique.ttf') format('truetype'), url('woff2/iosevka-aile-mediumoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + src: url('ttf/iosevka-aile-mediumoblique.ttf') format('truetype'), url('woff2/iosevka-aile-mediumoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-mediumitalic.ttf') format('truetype'), url('woff2/iosevka-aile-mediumitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-semibold.ttf') format('truetype'), url('woff2/iosevka-aile-semibold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-semiboldoblique.ttf') format('truetype'), url('woff2/iosevka-aile-semiboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + src: url('ttf/iosevka-aile-semiboldoblique.ttf') format('truetype'), url('woff2/iosevka-aile-semiboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-semibolditalic.ttf') format('truetype'), url('woff2/iosevka-aile-semibolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-bold.ttf') format('truetype'), url('woff2/iosevka-aile-bold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-boldoblique.ttf') format('truetype'), url('woff2/iosevka-aile-boldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + src: url('ttf/iosevka-aile-boldoblique.ttf') format('truetype'), url('woff2/iosevka-aile-boldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-bolditalic.ttf') format('truetype'), url('woff2/iosevka-aile-bolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-extrabold.ttf') format('truetype'), url('woff2/iosevka-aile-extrabold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-extraboldoblique.ttf') format('truetype'), url('woff2/iosevka-aile-extraboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + src: url('ttf/iosevka-aile-extraboldoblique.ttf') format('truetype'), url('woff2/iosevka-aile-extraboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-extrabolditalic.ttf') format('truetype'), url('woff2/iosevka-aile-extrabolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: normal; + src: url('ttf/iosevka-aile-heavy.ttf') format('truetype'), url('woff2/iosevka-aile-heavy.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: oblique; + src: url('ttf/iosevka-aile-heavyoblique.ttf') format('truetype'), url('woff2/iosevka-aile-heavyoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web Oblique'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + src: url('ttf/iosevka-aile-heavyoblique.ttf') format('truetype'), url('woff2/iosevka-aile-heavyoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Aile Web'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: italic; + src: url('ttf/iosevka-aile-heavyitalic.ttf') format('truetype'), url('woff2/iosevka-aile-heavyitalic.woff2') format('woff2'); +} diff --git a/static/fonts/ttf/iosevka-aile-bold.ttf b/static/fonts/ttf/iosevka-aile-bold.ttf new file mode 100644 index 0000000..4e9a23e Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-bold.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-bolditalic.ttf b/static/fonts/ttf/iosevka-aile-bolditalic.ttf new file mode 100644 index 0000000..b9762be Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-bolditalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-boldoblique.ttf b/static/fonts/ttf/iosevka-aile-boldoblique.ttf new file mode 100644 index 0000000..fa612e6 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-boldoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-extrabold.ttf b/static/fonts/ttf/iosevka-aile-extrabold.ttf new file mode 100644 index 0000000..9a90d31 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-extrabold.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-extrabolditalic.ttf b/static/fonts/ttf/iosevka-aile-extrabolditalic.ttf new file mode 100644 index 0000000..f83cdf8 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-extrabolditalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-extraboldoblique.ttf b/static/fonts/ttf/iosevka-aile-extraboldoblique.ttf new file mode 100644 index 0000000..67b4f9c Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-extraboldoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-extralight.ttf b/static/fonts/ttf/iosevka-aile-extralight.ttf new file mode 100644 index 0000000..127d6b1 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-extralight.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-extralightitalic.ttf b/static/fonts/ttf/iosevka-aile-extralightitalic.ttf new file mode 100644 index 0000000..eb377b8 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-extralightitalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-extralightoblique.ttf b/static/fonts/ttf/iosevka-aile-extralightoblique.ttf new file mode 100644 index 0000000..7dfdadb Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-extralightoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-heavy.ttf b/static/fonts/ttf/iosevka-aile-heavy.ttf new file mode 100644 index 0000000..50ff909 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-heavy.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-heavyitalic.ttf b/static/fonts/ttf/iosevka-aile-heavyitalic.ttf new file mode 100644 index 0000000..9dc17ae Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-heavyitalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-heavyoblique.ttf b/static/fonts/ttf/iosevka-aile-heavyoblique.ttf new file mode 100644 index 0000000..2a01aeb Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-heavyoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-italic.ttf b/static/fonts/ttf/iosevka-aile-italic.ttf new file mode 100644 index 0000000..8de930b Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-italic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-light.ttf b/static/fonts/ttf/iosevka-aile-light.ttf new file mode 100644 index 0000000..2357f99 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-light.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-lightitalic.ttf b/static/fonts/ttf/iosevka-aile-lightitalic.ttf new file mode 100644 index 0000000..0d5e46d Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-lightitalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-lightoblique.ttf b/static/fonts/ttf/iosevka-aile-lightoblique.ttf new file mode 100644 index 0000000..cf4fd23 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-lightoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-medium.ttf b/static/fonts/ttf/iosevka-aile-medium.ttf new file mode 100644 index 0000000..daa2078 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-medium.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-mediumitalic.ttf b/static/fonts/ttf/iosevka-aile-mediumitalic.ttf new file mode 100644 index 0000000..5d1ac11 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-mediumitalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-mediumoblique.ttf b/static/fonts/ttf/iosevka-aile-mediumoblique.ttf new file mode 100644 index 0000000..6ffceed Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-mediumoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-oblique.ttf b/static/fonts/ttf/iosevka-aile-oblique.ttf new file mode 100644 index 0000000..53b6885 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-oblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-regular.ttf b/static/fonts/ttf/iosevka-aile-regular.ttf new file mode 100644 index 0000000..dee9b94 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-regular.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-semibold.ttf b/static/fonts/ttf/iosevka-aile-semibold.ttf new file mode 100644 index 0000000..123f280 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-semibold.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-semibolditalic.ttf b/static/fonts/ttf/iosevka-aile-semibolditalic.ttf new file mode 100644 index 0000000..caada38 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-semibolditalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-semiboldoblique.ttf b/static/fonts/ttf/iosevka-aile-semiboldoblique.ttf new file mode 100644 index 0000000..7fae2bf Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-semiboldoblique.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-thin.ttf b/static/fonts/ttf/iosevka-aile-thin.ttf new file mode 100644 index 0000000..673a935 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-thin.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-thinitalic.ttf b/static/fonts/ttf/iosevka-aile-thinitalic.ttf new file mode 100644 index 0000000..d372937 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-thinitalic.ttf differ diff --git a/static/fonts/ttf/iosevka-aile-thinoblique.ttf b/static/fonts/ttf/iosevka-aile-thinoblique.ttf new file mode 100644 index 0000000..22617d5 Binary files /dev/null and b/static/fonts/ttf/iosevka-aile-thinoblique.ttf differ diff --git a/static/fonts/woff2/iosevka-aile-bold.woff2 b/static/fonts/woff2/iosevka-aile-bold.woff2 new file mode 100644 index 0000000..9ca6f18 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-bold.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-bolditalic.woff2 b/static/fonts/woff2/iosevka-aile-bolditalic.woff2 new file mode 100644 index 0000000..ee0b5be Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-bolditalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-boldoblique.woff2 b/static/fonts/woff2/iosevka-aile-boldoblique.woff2 new file mode 100644 index 0000000..6e4ff74 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-boldoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-extrabold.woff2 b/static/fonts/woff2/iosevka-aile-extrabold.woff2 new file mode 100644 index 0000000..d986042 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-extrabold.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-extrabolditalic.woff2 b/static/fonts/woff2/iosevka-aile-extrabolditalic.woff2 new file mode 100644 index 0000000..f5ba633 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-extrabolditalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-extraboldoblique.woff2 b/static/fonts/woff2/iosevka-aile-extraboldoblique.woff2 new file mode 100644 index 0000000..5f112a0 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-extraboldoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-extralight.woff2 b/static/fonts/woff2/iosevka-aile-extralight.woff2 new file mode 100644 index 0000000..137f14b Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-extralight.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-extralightitalic.woff2 b/static/fonts/woff2/iosevka-aile-extralightitalic.woff2 new file mode 100644 index 0000000..24931ca Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-extralightitalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-extralightoblique.woff2 b/static/fonts/woff2/iosevka-aile-extralightoblique.woff2 new file mode 100644 index 0000000..0bd37e4 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-extralightoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-heavy.woff2 b/static/fonts/woff2/iosevka-aile-heavy.woff2 new file mode 100644 index 0000000..e9b545c Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-heavy.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-heavyitalic.woff2 b/static/fonts/woff2/iosevka-aile-heavyitalic.woff2 new file mode 100644 index 0000000..fb1ea42 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-heavyitalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-heavyoblique.woff2 b/static/fonts/woff2/iosevka-aile-heavyoblique.woff2 new file mode 100644 index 0000000..c044eac Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-heavyoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-italic.woff2 b/static/fonts/woff2/iosevka-aile-italic.woff2 new file mode 100644 index 0000000..ee528bd Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-italic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-light.woff2 b/static/fonts/woff2/iosevka-aile-light.woff2 new file mode 100644 index 0000000..8762910 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-light.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-lightitalic.woff2 b/static/fonts/woff2/iosevka-aile-lightitalic.woff2 new file mode 100644 index 0000000..d57761f Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-lightitalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-lightoblique.woff2 b/static/fonts/woff2/iosevka-aile-lightoblique.woff2 new file mode 100644 index 0000000..9b695e4 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-lightoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-medium.woff2 b/static/fonts/woff2/iosevka-aile-medium.woff2 new file mode 100644 index 0000000..ff3948f Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-medium.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-mediumitalic.woff2 b/static/fonts/woff2/iosevka-aile-mediumitalic.woff2 new file mode 100644 index 0000000..37987a4 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-mediumitalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-mediumoblique.woff2 b/static/fonts/woff2/iosevka-aile-mediumoblique.woff2 new file mode 100644 index 0000000..1ea990f Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-mediumoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-oblique.woff2 b/static/fonts/woff2/iosevka-aile-oblique.woff2 new file mode 100644 index 0000000..a75ff49 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-oblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-regular.woff2 b/static/fonts/woff2/iosevka-aile-regular.woff2 new file mode 100644 index 0000000..a8f2dd4 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-regular.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-semibold.woff2 b/static/fonts/woff2/iosevka-aile-semibold.woff2 new file mode 100644 index 0000000..d8f3ed9 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-semibold.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-semibolditalic.woff2 b/static/fonts/woff2/iosevka-aile-semibolditalic.woff2 new file mode 100644 index 0000000..b6ba04e Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-semibolditalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-semiboldoblique.woff2 b/static/fonts/woff2/iosevka-aile-semiboldoblique.woff2 new file mode 100644 index 0000000..b9ff71b Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-semiboldoblique.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-thin.woff2 b/static/fonts/woff2/iosevka-aile-thin.woff2 new file mode 100644 index 0000000..be0dd0f Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-thin.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-thinitalic.woff2 b/static/fonts/woff2/iosevka-aile-thinitalic.woff2 new file mode 100644 index 0000000..86f98a3 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-thinitalic.woff2 differ diff --git a/static/fonts/woff2/iosevka-aile-thinoblique.woff2 b/static/fonts/woff2/iosevka-aile-thinoblique.woff2 new file mode 100644 index 0000000..b8f5426 Binary files /dev/null and b/static/fonts/woff2/iosevka-aile-thinoblique.woff2 differ diff --git a/static/index.html b/static/index.html index cf1ccbb..6919cb3 100644 --- a/static/index.html +++ b/static/index.html @@ -1,11 +1,30 @@ - - - - + + + + + + + NashBoard - - - Hello world! - - \ No newline at end of file + + + + + + + +
+

Dashboard protorype

+
+
+ + diff --git a/static/js/loginpage.js b/static/js/loginpage.js new file mode 100644 index 0000000..10a5592 --- /dev/null +++ b/static/js/loginpage.js @@ -0,0 +1,9 @@ +async function handleLogin(event) { + event.preventDefault(); + const username = document.getElementById("username").value; + const password = document.getElementById("password").value; + const result = await login(username, password); + if (result) { + window.location.href = "/"; + } +} diff --git a/static/js/mainpage.js b/static/js/mainpage.js new file mode 100644 index 0000000..43ea1dc --- /dev/null +++ b/static/js/mainpage.js @@ -0,0 +1,30 @@ +window.addEventListener("load", async () => { + console.log("loading..."); + const rootFolder = await getFolder(); + const bm = document.getElementById("bookmarks"); + if (!rootFolder.success) { + bm.textContent = "Нет закладок"; + return; + } + const template = document.querySelector("#bookmark"); + const tagtempl = document.querySelector("#booktag"); + if (!template) { + return; + } + for (let b of rootFolder.folder.ChildBookmarks) { + const clone = template.content.cloneNode(true); + clone.querySelector("#bookmark_name").textContent = b.Name; + const link = clone.querySelector("#bookmark_link"); + link.setAttribute("href", b.Url); + link.textContent = b.Url; + for (let tag of b.Tags) { + const t = tagtempl.content.cloneNode(true); + const el = t.querySelector("span"); + el.addEventListener("onclick", () => alert(tag)); + el.textContent = "#" + tag; + clone.querySelector("#bookmark_tags").appendChild(t); + } + + bm.appendChild(clone); + } +}); diff --git a/static/js/nashboard.js b/static/js/nashboard.js new file mode 100644 index 0000000..902d1ca --- /dev/null +++ b/static/js/nashboard.js @@ -0,0 +1,57 @@ +const baseUrl = "/api/"; + +function getSession() { + return localStorage.getItem("SessionID"); +} + +function request(url, method = "GET", data) { + let headers = [{ "Content-Type": "application/json" }]; + const token = getSession(); + if (token) headers.push({ SessionID: token }); + let body = null; + if (method != "GET") { + body = JSON.stringify(data); + } + const r = new Request(baseUrl + url, { + method, + body, + headers: { + "Content-Type": "application/json", + SessionID: token, + }, + }); + return r; +} + +function get(request) {} + +async function login(username, password) { + const r = request("auth/login", "POST", { username, password }); + try { + const result = await fetch(r); + if (result.status == 200) { + const token = await result.json(); + localStorage.setItem("SessionID", token); + return true; + } + console.error({ status: result.status, body: await result.json() }); + return false; + } catch (err) { + console.error(err); + return false; + } +} + +async function getFolder(id) { + let url = "f"; + if (id) url = `f/{id}`; + const r = request(url); + try { + const result = await fetch(r); + const folder = await result.json(); + return { success: true, folder }; + } catch (err) { + console.error(err); + return { success: false, err }; + } +} diff --git a/static/login.html b/static/login.html new file mode 100644 index 0000000..a83d498 --- /dev/null +++ b/static/login.html @@ -0,0 +1,36 @@ + + + + + + + + + + Document + + +
+
+

Login

+
+ + + +
+
+
+ + diff --git a/static/register.html b/static/register.html new file mode 100644 index 0000000..4735f5a --- /dev/null +++ b/static/register.html @@ -0,0 +1,23 @@ + + + + + + + + Document + + +
+
+

Login

+
+ + + + +
+
+
+ + \ No newline at end of file diff --git a/static/styles/main.css b/static/styles/main.css new file mode 100644 index 0000000..8605128 --- /dev/null +++ b/static/styles/main.css @@ -0,0 +1,111 @@ +@import url("../fonts/iosevka-aile.css"); + +:root { + --col-gr-100: #012; + --col-gr-200: #234; + --col-gr-300: #456; + --col-gr-400: #678; + --col-gr-500: #89a; + --col-gr-600: #abc; + --col-gr-700: #cde; + --col-gr-800: #def; + --col-acc-1: #d15c5c; + --col-acc-2: #f36d6d; + --col-acc-0: #993d3d; + + --col-bg-1: var(--col-gr-600); + --col-bg-2: var(--col-gr-700); + --col-bg-3: var(--col-gr-800); +} +h1, +h2, +h3, +h4, +h5, +h6 { + padding: 0; + margin: 0; +} + +body { + min-height: 100vh; + color: var(--col-main); + background-color: var(--col-bg-1); + font-family: "Iosevka Aile Web"; + box-sizing: border-box; + font-size: 1.3rem; + margin: 0; + padding: 0; +} + +.wrapper { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + min-height: 100vh; +} + +.panel { + display: flex; + flex-direction: column; + border-radius: 1em; + background-color: var(--col-bg-2); + box-shadow: 2px 2px 100px #1115; + text-align: center; +} + +#bookmarks { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; +} +.card { + display: flex; + flex-direction: column; + border-radius: 1em; + background-color: var(--col-bg-2); + box-shadow: 2px 2px 100px #1115; + text-align: left; + padding: 1em; + margin: 1em; +} + +form { + display: flex; + flex-direction: column; + margin: 20px; +} + +input { + background-color: var(--col-bg-3); + border: none; + border-radius: 5px; + padding: 1em 1em; + font-size: 1em; + margin: 1em 0; +} + +input[type="submit"], +button, +.btn { + background-color: var(--col-acc-1); + transition: background-color 150ms ease; + color: white; +} +input[type="submit"]:hover, +button:hover, +.btn:hover { + background-color: var(--col-acc-2); +} + +input[type="submit"]:focus, +button:focus, +.btn:focus { + background-color: var(--col-acc-0); +} +.accent { + background-color: var(--col-acc-1); + color: white; +}