|
1 | 1 | <!DOCTYPE html>
|
2 | 2 | <html>
|
3 | 3 | <head>
|
4 |
| - <title>{{ .Title }}</title> |
5 |
| - <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 4 | + <title>{{ .Title }}</title> |
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1"> |
6 | 6 |
|
7 |
| -<link rel="preconnect" href="https://fonts.googleapis.com"> |
8 |
| -<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
9 |
| -<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap" rel="stylesheet"> |
10 |
| -{{ $CSS := resources.Match "css/*.css" | resources.Concat "spaces.css" }} |
11 |
| -<link rel="stylesheet" href="{{ $CSS.RelPermalink }}" media="all"> |
12 |
| -<meta name="description" content="Scalable & Permissionless Bitcoin Identities"> |
| 7 | + <link rel="preconnect" href="https://fonts.googleapis.com"> |
| 8 | + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| 9 | + <link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap" rel="stylesheet"> |
| 10 | + {{ $CSS := resources.Match "css/*.css" | resources.Concat "spaces.css" }} |
| 11 | + <link rel="stylesheet" href="{{ $CSS.RelPermalink }}" media="all"> |
| 12 | + <meta name="description" content="Scalable & Permissionless Bitcoin Identities"> |
13 | 13 |
|
14 |
| - <meta property="og:type" content="website"> |
15 |
| - <meta property="og:url" content="https://spacesprotocol.org"> |
16 |
| - <meta property="og:title" content="Spaces Protocol"> |
17 |
| - <meta property="og:description" content="Scalable & Permissionless Bitcoin Identities"> |
18 |
| - <meta property="og:image" content="https://spacesprotocol.org/images/card.png"> |
19 |
| - <meta name="twitter:card" content="summary_large_image"> |
20 |
| - <meta name="twitter:url" content="https://spacesprotocol.org"> |
21 |
| - <meta name="twitter:title" content="Spaces Protocol"> |
22 |
| - <meta name="twitter:description" content="Scalable & Permissionless Bitcoin Identities"> |
23 |
| - <meta name="twitter:image" content="https://spacesprotocol.org/images/card.png"> |
24 |
| - <script defer data-domain="spacesprotocol.org" src="https://plausible.io/js/script.js"></script> |
| 14 | + <meta property="og:type" content="website"> |
| 15 | + <meta property="og:url" content="https://spacesprotocol.org"> |
| 16 | + <meta property="og:title" content="Spaces Protocol"> |
| 17 | + <meta property="og:description" content="Scalable & Permissionless Bitcoin Identities"> |
| 18 | + <meta property="og:image" content="https://spacesprotocol.org/images/card.png"> |
| 19 | + <meta name="twitter:card" content="summary_large_image"> |
| 20 | + <meta name="twitter:url" content="https://spacesprotocol.org"> |
| 21 | + <meta name="twitter:title" content="Spaces Protocol"> |
| 22 | + <meta name="twitter:description" content="Scalable & Permissionless Bitcoin Identities"> |
| 23 | + <meta name="twitter:image" content="https://spacesprotocol.org/images/card.png"> |
| 24 | + <script defer data-domain="spacesprotocol.org" src="https://plausible.io/js/script.js"></script> |
25 | 25 | </head>
|
26 | 26 | <body>
|
27 |
| - <div class="header"> |
28 |
| - <nav class="header-nav"> |
29 |
| - <a target="_blank" href="https://github.com/spacesprotocol"> |
30 |
| - <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> |
31 |
| - <path fill-rule="evenodd" clip-rule="evenodd" d="M24.0432 0.179932C10.8147 0.179932 0.0876465 11.0878 0.0876465 24.5445C0.0876465 35.3096 6.95165 44.4426 16.4699 47.6643C17.6671 47.8899 18.1067 47.1358 18.1067 46.4922C18.1067 45.9112 18.0845 43.9919 18.0742 41.956C11.4097 43.4299 10.0034 39.0812 10.0034 39.0812C8.9137 36.265 7.34358 35.5161 7.34358 35.5161C5.17009 34.0039 7.50742 34.035 7.50742 34.035C9.91297 34.2065 11.1796 36.5458 11.1796 36.5458C13.3162 40.2707 16.7837 39.1938 18.1507 38.5712C18.3657 36.9969 18.9866 35.9212 19.6716 35.3132C14.3508 34.6971 8.7574 32.6079 8.7574 23.2719C8.7574 20.6118 9.6932 18.4383 11.2256 16.732C10.9769 16.1179 10.1569 13.6402 11.4577 10.2841C11.4577 10.2841 13.4693 9.62928 18.0472 12.7816C19.9581 12.2418 22.0074 11.971 24.0432 11.9618C26.0791 11.971 28.13 12.2418 30.0444 12.7816C34.6167 9.62928 36.6256 10.2841 36.6256 10.2841C37.9295 13.6402 37.1091 16.1179 36.8604 16.732C38.3964 18.4383 39.3259 20.6118 39.3259 23.2719C39.3259 32.6301 33.7218 34.6906 28.3874 35.2938C29.2467 36.0499 30.0123 37.5327 30.0123 39.8059C30.0123 43.0655 29.9845 45.6893 29.9845 46.4922C29.9845 47.1406 30.4157 47.9003 31.63 47.6611C41.1431 44.4357 47.9984 35.3059 47.9984 24.5445C47.9984 11.0878 37.273 0.179932 24.0432 0.179932Z" class="nav-icon"/> |
32 |
| - </svg> |
33 |
| - |
34 |
| - </a> |
35 |
| - |
36 |
| - <a target="_blank" href="https://t.me/spacesprotocol"> |
37 |
| - <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> |
38 |
| - <g clip-path="url(#clip0_179_23)"> |
| 27 | +<div class="header"> |
| 28 | + <nav class="header-nav"> |
| 29 | + <a target="_blank" href="https://github.com/spacesprotocol"> |
| 30 | + <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 31 | + <path fill-rule="evenodd" clip-rule="evenodd" d="M24.0432 0.179932C10.8147 0.179932 0.0876465 11.0878 0.0876465 24.5445C0.0876465 35.3096 6.95165 44.4426 16.4699 47.6643C17.6671 47.8899 18.1067 47.1358 18.1067 46.4922C18.1067 45.9112 18.0845 43.9919 18.0742 41.956C11.4097 43.4299 10.0034 39.0812 10.0034 39.0812C8.9137 36.265 7.34358 35.5161 7.34358 35.5161C5.17009 34.0039 7.50742 34.035 7.50742 34.035C9.91297 34.2065 11.1796 36.5458 11.1796 36.5458C13.3162 40.2707 16.7837 39.1938 18.1507 38.5712C18.3657 36.9969 18.9866 35.9212 19.6716 35.3132C14.3508 34.6971 8.7574 32.6079 8.7574 23.2719C8.7574 20.6118 9.6932 18.4383 11.2256 16.732C10.9769 16.1179 10.1569 13.6402 11.4577 10.2841C11.4577 10.2841 13.4693 9.62928 18.0472 12.7816C19.9581 12.2418 22.0074 11.971 24.0432 11.9618C26.0791 11.971 28.13 12.2418 30.0444 12.7816C34.6167 9.62928 36.6256 10.2841 36.6256 10.2841C37.9295 13.6402 37.1091 16.1179 36.8604 16.732C38.3964 18.4383 39.3259 20.6118 39.3259 23.2719C39.3259 32.6301 33.7218 34.6906 28.3874 35.2938C29.2467 36.0499 30.0123 37.5327 30.0123 39.8059C30.0123 43.0655 29.9845 45.6893 29.9845 46.4922C29.9845 47.1406 30.4157 47.9003 31.63 47.6611C41.1431 44.4357 47.9984 35.3059 47.9984 24.5445C47.9984 11.0878 37.273 0.179932 24.0432 0.179932Z" class="nav-icon"/> |
| 32 | + </svg> |
| 33 | + |
| 34 | + </a> |
| 35 | + |
| 36 | + <a target="_blank" href="https://t.me/spacesprotocol"> |
| 37 | + <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 38 | + <g clip-path="url(#clip0_179_23)"> |
39 | 39 | <path fill-rule="evenodd" clip-rule="evenodd" d="M48 24C48 37.2548 37.2548 48 24 48C10.7452 48 0 37.2548 0 24C0 10.7452 10.7452 0 24 0C37.2548 0 48 10.7452 48 24ZM16.0715 21.8015C13.6673 22.8512 11.1971 23.9298 8.93825 25.174C7.75877 26.0376 9.32638 26.6485 10.7971 27.2215C11.0309 27.3126 11.2622 27.4027 11.4797 27.4927C11.6607 27.5484 11.8447 27.607 12.0312 27.6664C13.6669 28.1875 15.4907 28.7686 17.0787 27.8945C19.6873 26.396 22.149 24.6636 24.6089 22.9325C25.4148 22.3653 26.2205 21.7983 27.0311 21.2397C27.0691 21.2154 27.1119 21.1876 27.1588 21.1573C27.8493 20.7096 29.4024 19.7029 28.8279 21.0901C27.4695 22.5757 26.0144 23.8907 24.5515 25.213C23.5655 26.1041 22.5759 26.9985 21.6099 27.9505C20.7686 28.6341 19.8949 30.0088 20.837 30.9661C23.0069 32.4851 25.2107 33.9673 27.4132 35.4487C28.1299 35.9307 28.8466 36.4127 29.5618 36.8959C30.774 37.8637 32.6685 37.0808 32.935 35.5685C33.0535 34.8728 33.1725 34.1772 33.2915 33.4815C33.9491 29.6368 34.6069 25.7907 35.188 21.9335C35.267 21.3284 35.3565 20.7234 35.4461 20.1181C35.6632 18.651 35.8806 17.1821 35.9485 15.7071C35.7735 14.2351 33.9887 14.5588 32.9955 14.8898C27.8903 16.8324 22.8361 18.919 17.8019 21.0424C17.2316 21.295 16.6535 21.5474 16.0715 21.8015Z" class="nav-icon"/>
|
40 |
| - </g> |
41 |
| - <defs> |
| 40 | + </g> |
| 41 | + <defs> |
42 | 42 | <clipPath id="clip0_179_23">
|
43 |
| - <rect width="48" height="48" fill="white"/> |
| 43 | + <rect width="48" height="48" fill="white"/> |
44 | 44 | </clipPath>
|
45 |
| - </defs> |
46 |
| - </svg> |
47 |
| - </a> |
48 |
| - |
49 |
| - |
50 |
| - </nav> |
51 |
| - </div> |
| 45 | + </defs> |
| 46 | + </svg> |
| 47 | + </a> |
| 48 | + |
| 49 | + |
| 50 | + </nav> |
| 51 | +</div> |
52 | 52 | <div class="container">
|
53 |
| - |
54 |
| - <div class="sidebar"> |
55 | 53 |
|
56 |
| - {{ .TableOfContents }} |
| 54 | + <div class="sidebar"> |
57 | 55 |
|
58 |
| - </div> |
59 |
| - <div id="content" class="main"> |
60 |
| - <div style="display: flex; list-style: none;"> |
61 |
| - <a style="margin-right:12px;" href="/">Home</a> <span>|</span> <a style="margin-left:12px;" href="/pages/paper">Paper</a> |
62 |
| - </div> |
| 56 | + {{ .TableOfContents }} |
63 | 57 |
|
64 |
| - {{ .Content }} |
65 |
| - </div> |
66 |
| -</div> |
| 58 | + </div> |
| 59 | + <div id="content" class="main"> |
| 60 | + {{ partial "navbar.html" . }} |
| 61 | + |
| 62 | + {{ .Content }} |
| 63 | + </div> |
| 64 | +</div> |
67 | 65 |
|
68 | 66 | <script>
|
69 |
| -document.addEventListener('DOMContentLoaded', (event) => { |
70 |
| - const observer = new IntersectionObserver((entries) => { |
71 |
| - let entry = entries.findLast(entry => entry.isIntersecting); |
72 |
| - if (!entry) return; |
73 |
| - document.querySelectorAll('li > a').forEach(link => { link.classList.remove('active'); }); |
74 |
| - |
75 |
| - const id = entry.target.getAttribute('id'); |
76 |
| - const tocLink = document.querySelector(`a[href="#${id}"]`); |
77 |
| - |
78 |
| - if (tocLink) { |
79 |
| - tocLink.classList.add('active'); |
80 |
| - } |
81 |
| - }, { |
82 |
| - rootMargin: '0px', |
83 |
| - threshold: 1, |
84 |
| - }); |
| 67 | + document.addEventListener('DOMContentLoaded', (event) => { |
| 68 | + const observer = new IntersectionObserver((entries) => { |
| 69 | + let entry = entries.findLast(entry => entry.isIntersecting); |
| 70 | + if (!entry) return; |
| 71 | + document.querySelectorAll('li > a').forEach(link => { link.classList.remove('active'); }); |
| 72 | + |
| 73 | + const id = entry.target.getAttribute('id'); |
| 74 | + const tocLink = document.querySelector(`a[href="#${id}"]`); |
| 75 | + |
| 76 | + if (tocLink) { |
| 77 | + tocLink.classList.add('active'); |
| 78 | + } |
| 79 | + }, { |
| 80 | + rootMargin: '0px', |
| 81 | + threshold: 1, |
| 82 | + }); |
85 | 83 |
|
86 | 84 |
|
87 |
| - document.querySelectorAll('h1, h2').forEach(section => { |
88 |
| - observer.observe(section); |
| 85 | + document.querySelectorAll('h1, h2').forEach(section => { |
| 86 | + observer.observe(section); |
| 87 | + }); |
89 | 88 | });
|
90 |
| -}); |
91 | 89 | </script>
|
92 | 90 | </body>
|
93 | 91 | </html>
|
0 commit comments