-
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathLayout.astro
72 lines (69 loc) · 2.28 KB
/
Layout.astro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
import MainHero from './MainHero.astro';
import Navbar from './Navbar.astro';
import Sidebar from './Sidebar.astro';
import SectionSelector from './SectionSelector.astro';
import '../styles/main.css';
import '../styles/markdown.css';
const docs = await Astro.glob('../../../docs/**/*.md');
const guides = docs.flatMap((d) => {
const doc = { ...d.getHeadings()[0]! };
return { title: doc.text, href: '/docs/' + doc.slug + '#' + doc.slug, id: doc.slug };
});
const { sections } = Astro.props;
---
<html lang='en'>
<head>
<meta charset='utf-8' />
<link rel='icon' href=`/favicon.ico` type='image/x-icon' />
<meta name='viewport' content='width=device-width' />
<meta name='generator' content={Astro.generator} />
<meta
name='description'
content='Intuitive magical memoization library with Proxy and WeakMap'
/>
<title>Proxy Memoize</title>
<meta data-rh="true" property="og:title" content="Proxy Memoize">
<meta data-rh="true" name="twitter:card" content="summary_large_image">
<meta data-rh="true" property="og:image" content="/banner.png">
<meta data-rh="true" name="twitter:image" content="/banner.png">
</head>
<body>
<div
class='flex flex-col justify-start transition-all duration-300 ease-in-out dark:bg-hex-1e1e1e'
>
<Navbar guides={guides} />
<div
class='h-[calc(100vh-100px)] <lg:h-[calc(100vh-88px)] <md:h-[calc(100vh-65px)]'
>
<MainHero />
<div
class='container w-100% px-48px flex flex-row items-start gap-80px mt-10 max-w-1600px mx-auto <lg:mt-0 <md:mt-0 <md:px-20px'
>
<div class='top-100px sticky <lg:hidden'>
<Sidebar guides={guides} />
</div>
<div
class='flex-col mt-0.5rem w-70% relative -top-2.3rem <lg:w-100% <lg:mt-6vw <md:mt-0'
>
<SectionSelector sections={sections} />
<slot class='prose prose-violet' />
</div>
</div>
</div>
</div>
</body>
<script>
const htmlEl = document.getElementsByTagName('html')[0];
if (localStorage.getItem('theme') === 'dark') {
htmlEl.classList.add('dark');
}
</script>
<style>
@media (min-width: 2000px) {
.container {
margin-top: 10% !important;
}
}
</style>
</html>