This commit is contained in:
Trance-0
2025-10-27 11:56:32 -05:00
parent 0d93eb43d3
commit fb1ffcd040
17 changed files with 219 additions and 134 deletions

View File

@@ -82,7 +82,7 @@ export default async function RootLayout({ children }) {
sidebar={{ defaultMenuCollapseLevel: 1 }} sidebar={{ defaultMenuCollapseLevel: 1 }}
pageMap={pageMap} pageMap={pageMap}
// TODO: fix algolia search // TODO: fix algolia search
// search={<AlgoliaSearch />} search={<AlgoliaSearch />}
> >
{children} {children}
{/* SpeedInsights in vercel */} {/* SpeedInsights in vercel */}

View File

@@ -13,7 +13,8 @@ Ouput $(r,m\oplus f_i(r))$
$Dec_i(r,c):$ Output $c\oplus f_i(r)$ $Dec_i(r,c):$ Output $c\oplus f_i(r)$
Proof of security: <details>
<summary>Proof of security</summary>
Suppose $D$ distinguishes, for infinitly many $n$. Suppose $D$ distinguishes, for infinitly many $n$.
@@ -35,7 +36,7 @@ $(r_1,F(r_1)),\ldots, (r_q,F(r_q))$
So $D$ distinguishing output of $r_1,\ldots, r_q$ of PRF from the RF, this contradicts with definition of PRF. So $D$ distinguishing output of $r_1,\ldots, r_q$ of PRF from the RF, this contradicts with definition of PRF.
QED </details>
Noe we have Noe we have

View File

@@ -32,7 +32,8 @@ Proof of the validity of the decryption: Exercise.
The encryption scheme is secure under this construction (Trapdoor permutation (TDP), Hardcore bit (HCB)). The encryption scheme is secure under this construction (Trapdoor permutation (TDP), Hardcore bit (HCB)).
Proof: <details>
<summary>Proof</summary>
We proceed by contradiction. (Constructing contradiction with definition of hardcore bit.) We proceed by contradiction. (Constructing contradiction with definition of hardcore bit.)
@@ -76,7 +77,7 @@ $$
This contradicts the definition of hardcore bit. This contradicts the definition of hardcore bit.
QED </details>
### Public key encryption scheme (multi-bit) ### Public key encryption scheme (multi-bit)
@@ -144,7 +145,8 @@ Output: $m$
#### Security of El-Gamal encryption scheme #### Security of El-Gamal encryption scheme
Proof: <details>
<summary>Proof</summary>
If not secure, then there exists a distinguisher $\mathcal{D}$ that can distinguish the encryption of $m_1,m_2\in G_q$ with non-negligible probability $\mu(n)$. If not secure, then there exists a distinguisher $\mathcal{D}$ that can distinguish the encryption of $m_1,m_2\in G_q$ with non-negligible probability $\mu(n)$.
@@ -155,5 +157,5 @@ $$
And proceed by contradiction. This contradicts the DDH assumption. And proceed by contradiction. This contradicts the DDH assumption.
QED </details>

View File

@@ -26,7 +26,8 @@ Under the discrete log assumption, $H$ is a CRHF.
- It is easy to compute - It is easy to compute
- Compressing by 1 bit - Compressing by 1 bit
Proof: <details>
<summary>Proof</summary>
The hash function $h$ is a CRHF The hash function $h$ is a CRHF
@@ -72,7 +73,7 @@ So $\mathcal{B}$ can break the discrete log assumption with non-negligible proba
So $h$ is a CRHF. So $h$ is a CRHF.
QED </details>
To compress by more, say $h_k:{0,1}^n\to \{0,1\}^{n-k},k\geq 1$, then we can use $h: \{0,1\}^{n+1}\to \{0,1\}^n$ multiple times. To compress by more, say $h_k:{0,1}^n\to \{0,1\}^{n-k},k\geq 1$, then we can use $h: \{0,1\}^{n+1}\to \{0,1\}^n$ multiple times.
@@ -106,7 +107,8 @@ One-time secure:
Then ($Gen',Sign',Ver'$) is one-time secure. Then ($Gen',Sign',Ver'$) is one-time secure.
Ideas of Proof: <details>
<summary>Ideas of Proof</summary>
If the digital signature scheme ($Gen',Sign',Ver'$) is not one-time secure, then there exists an adversary $\mathcal{A}$ which can ask oracle for one signature on $m_1$ and receive $\sigma_1=Sign'_{sk'}(m_1)=Sign_{sk}(h_i(m_1))$. If the digital signature scheme ($Gen',Sign',Ver'$) is not one-time secure, then there exists an adversary $\mathcal{A}$ which can ask oracle for one signature on $m_1$ and receive $\sigma_1=Sign'_{sk'}(m_1)=Sign_{sk}(h_i(m_1))$.
@@ -119,7 +121,7 @@ Case 1: $h_i(m_1)=h_i(m_2)$, Then $\mathcal{A}$ finds a collision of $h$.
Case 2: $h_i(m_1)\neq h_i(m_2)$, Then $\mathcal{A}$ produced valid signature on $h_i(m_2)$ after only seeing $Sign'_{sk'}(m_1)\neq Sign'_{sk'}(m_2)$. This contradicts the one-time secure of ($Gen,Sign,Ver$). Case 2: $h_i(m_1)\neq h_i(m_2)$, Then $\mathcal{A}$ produced valid signature on $h_i(m_2)$ after only seeing $Sign'_{sk'}(m_1)\neq Sign'_{sk'}(m_2)$. This contradicts the one-time secure of ($Gen,Sign,Ver$).
QED </details>
### Many-time Secure Digital Signature ### Many-time Secure Digital Signature

View File

@@ -240,6 +240,9 @@ class Polynomial():
def as_number(self) -> int: def as_number(self) -> int:
return sum([coefficient.value * self.p ** i for i, coefficient in enumerate(self.coefficients)]) return sum([coefficient.value * self.p ** i for i, coefficient in enumerate(self.coefficients)])
``` ```
### Finite fields
```python ```python
class FiniteField(): class FiniteField():
def __init__(self, p: int, n: int = 1, value: Polynomial = None, irreducible_polynomial: Polynomial = None): def __init__(self, p: int, n: int = 1, value: Polynomial = None, irreducible_polynomial: Polynomial = None):

View File

@@ -202,8 +202,6 @@ $$
\end{aligned} \end{aligned}
$$ $$
QED
</details> </details>
#### Proof of the Levy's concentration theorem via the Maxwell-Boltzmann distribution law #### Proof of the Levy's concentration theorem via the Maxwell-Boltzmann distribution law

View File

@@ -187,7 +187,8 @@ $$
where $L(\mu)$ is the minimum mean code word length of all uniquely decipherable codes for $(A,\mu)$. where $L(\mu)$ is the minimum mean code word length of all uniquely decipherable codes for $(A,\mu)$.
Proof: <details>
<summary>Proof</summary>
First, we show that First, we show that
@@ -278,7 +279,7 @@ $$
\end{aligned} \end{aligned}
$$ $$
QED </details>
### Entropy ### Entropy
@@ -387,13 +388,9 @@ n1 symbols.
By the inductive hypothesis, the code on $A'$ is optimal. By the inductive hypothesis, the code on $A'$ is optimal.
is optimal. is optimal.
By Step 2 above, assigning the two merged symbols $a$ and $b$ codewords $w_0$ and $w_1$ (based on By Step 2 above, assigning the two merged symbols $a$ and $b$ codewords $w_0$ and $w_1$ (based on 1.1.4) results in the optimal solution for $A$.
1
$w_1$ (based on $c$'s codeword $w$) results in the optimal solution for $A$.
Therefore, by induction, Huffmans algorithm gives an optimal prefix code for any $n$. Therefore, by induction, Huffmans algorithm gives an optimal prefix code for any $n$.
</details>
QED

View File

@@ -24,7 +24,8 @@ $\equiv\cancel{\exist} p\in \mathbb{Q}, p^2=2$
$\equiv p\in \mathbb{Q},p^2\neq 2$ $\equiv p\in \mathbb{Q},p^2\neq 2$
#### Proof <details>
<summary>Proof</summary>
Suppose for contradiction, $\exist p\in \mathbb{Q}$ such that $p^2=\mathbb{Q}$. Suppose for contradiction, $\exist p\in \mathbb{Q}$ such that $p^2=\mathbb{Q}$.
@@ -36,7 +37,7 @@ So $m^2$ is divisible by 4, $2n^2$ is divisible by 4.
So $n^2$ is even. but they are not both even. So $n^2$ is even. but they are not both even.
QED </details>
### Theorem (No closest rational for a irrational number) ### Theorem (No closest rational for a irrational number)

View File

@@ -47,19 +47,18 @@ Let $S$ be an ordered set and $E\subset S$. We say $\alpha\in S$ is the LUB of $
1. $\alpha$ is the UB of $E$. ($\forall x\in E,x\leq \alpha$) 1. $\alpha$ is the UB of $E$. ($\forall x\in E,x\leq \alpha$)
2. if $\gamma<\alpha$, then $\gamma$ is not UB of $E$. ($\forall \gamma <\alpha, \exist x\in E$ such that $x>\gamma$ ) 2. if $\gamma<\alpha$, then $\gamma$ is not UB of $E$. ($\forall \gamma <\alpha, \exist x\in E$ such that $x>\gamma$ )
#### Lemma #### Lemma (Uniqueness of upper bounds)
Uniqueness of upper bounds.
If $\alpha$ and $\beta$ are LUBs of $E$, then $\alpha=\beta$. If $\alpha$ and $\beta$ are LUBs of $E$, then $\alpha=\beta$.
Proof: <details>
<summary>Proof</summary>
Suppose for contradiction $\alpha$ and $\beta$ are both LUB of $E$, then $\alpha\neq\beta$ Suppose for contradiction $\alpha$ and $\beta$ are both LUB of $E$, then $\alpha\neq\beta$
WLOG $\alpha>\beta$ and $\beta>\alpha$. WLOG $\alpha>\beta$ and $\beta>\alpha$.
QED </details>
We write $\sup E$ to denote the LUB of $E$. We write $\sup E$ to denote the LUB of $E$.

View File

@@ -26,7 +26,8 @@ Let $S=\mathbb{Z}$.
Proof that $LUBP\implies GLBP$. Proof that $LUBP\implies GLBP$.
Proof: <details>
<summary>Proof</summary>
Let $S$ be an ordered set with LUBP. Let $B<S$ be non-empty and bounded below. Let $S$ be an ordered set with LUBP. Let $B<S$ be non-empty and bounded below.
@@ -57,7 +58,7 @@ Let's say $\alpha=sup\ L$. We claim that $\alpha=inf\ B$. We need to show $2$ th
Thus $\alpha=inf\ B$ Thus $\alpha=inf\ B$
QED </details>
### Field ### Field

View File

@@ -27,7 +27,8 @@
(Archimedean property) If $x,y\in \mathbb{R}$ and $x>0$, then $\exists n\in \mathbb{N}$ such that $nx>y$. (Archimedean property) If $x,y\in \mathbb{R}$ and $x>0$, then $\exists n\in \mathbb{N}$ such that $nx>y$.
Proof <details>
<summary>Proof</summary>
Suppose the property is false, then $\exist x,y\in \mathbb{R}$ with $x>0$ such that $\forall v\in \mathbb{N}$, nx\leq y$ Suppose the property is false, then $\exist x,y\in \mathbb{R}$ with $x>0$ such that $\forall v\in \mathbb{N}$, nx\leq y$
@@ -39,7 +40,7 @@ This implies $(m+1)x>\alpha$
Since $(m+1)x\in \alpha$, this contradicts the fact that $\alpha$ is an upper bound of $A$. Since $(m+1)x\in \alpha$, this contradicts the fact that $\alpha$ is an upper bound of $A$.
QED </details>
### $\mathbb{Q}$ is dense in $\mathbb{R}$ ### $\mathbb{Q}$ is dense in $\mathbb{R}$
@@ -51,7 +52,8 @@ $$
x<\frac{m}{n}<y\iff nx<m<ny x<\frac{m}{n}<y\iff nx<m<ny
$$ $$
Proof: <details>
<summary>Proof</summary>
Let $x,y\in\mathbb{R}$, with $x<y$. We'll find $n\in \mathbb{N},\mathbb{m}\in \mathbb{Z}$ such that $nx<m<ny$. Let $x,y\in\mathbb{R}$, with $x<y$. We'll find $n\in \mathbb{N},\mathbb{m}\in \mathbb{Z}$ such that $nx<m<ny$.
@@ -59,7 +61,7 @@ By Archimedean property, $\exist n\in \mathbb{N}$ such that $n(y-x)>1$, and $\ex
So $-m_2<nx<m_1$. Thus $\exist m\in \mathbb{Z}$ such that $m-1\leq nx<m$ (Here we use a property of $\mathbb{Z}$) We have $ny>1+nx\geq 1+(m-1)=m$ So $-m_2<nx<m_1$. Thus $\exist m\in \mathbb{Z}$ such that $m-1\leq nx<m$ (Here we use a property of $\mathbb{Z}$) We have $ny>1+nx\geq 1+(m-1)=m$
QED </details>
### $\sqrt{2}\in \mathbb{R}$, $(\sqrt[n]{x}\in\mathbb{R})$ ### $\sqrt{2}\in \mathbb{R}$, $(\sqrt[n]{x}\in\mathbb{R})$

View File

@@ -30,7 +30,8 @@ $\forall x\in \mathbb{R}_{>0},\forall n\in \mathbb{N},\exist$ unique $y\in \math
(Because of this Theorem we can define $x^{1/x}=y$ and $\sqrt{x}=y$) (Because of this Theorem we can define $x^{1/x}=y$ and $\sqrt{x}=y$)
Proof: <details>
<summary>Proof</summary>
We cna assume $n\geq 2$ (For $n=1,y=x$) We cna assume $n\geq 2$ (For $n=1,y=x$)
@@ -94,7 +95,7 @@ So want $k\leq \frac{y^n-x}{ny^{n-1}}$
[For actual proof, see the text.] [For actual proof, see the text.]
QED </details>
### Complex numbers ### Complex numbers
@@ -151,7 +152,8 @@ $$
(\sum a_j b_j)^2=(\sum a_j^2)(\sum b_j^2) (\sum a_j b_j)^2=(\sum a_j^2)(\sum b_j^2)
$$ $$
Proof: <details>
<summary>Proof</summary>
For real numbers: For real numbers:
@@ -169,7 +171,7 @@ let $t=C/B$ to get $0\leq A-2(C/B)C+(C/B)^2B=A-\frac{C^2}{B}$
to generalize this to $\mathbb{C}$, $A=\sum |a_j|^2,B=\sum |b_j|^2,C=\sum |a_j \bar{b_j}|$. to generalize this to $\mathbb{C}$, $A=\sum |a_j|^2,B=\sum |b_j|^2,C=\sum |a_j \bar{b_j}|$.
QED </details>
### Euclidean spaces ### Euclidean spaces

View File

@@ -126,7 +126,8 @@ $A$ is countable, $n\in \mathbb{N}$,
$\implies A^n=\{(a_{1},...,a_{n}):a_1\in A, a_n\in A\}$, is countable. $\implies A^n=\{(a_{1},...,a_{n}):a_1\in A, a_n\in A\}$, is countable.
Proof: <details>
<summary>Proof</summary>
Induct on $n$, Induct on $n$,
@@ -138,7 +139,7 @@ Induction step: suppose $A^{n-1}$ is countable. Note $A^n=\{(b,a):b\in A^{n-1},a
Since $b$ is fixed, so this is in 1-1 correspondence with $A$, so it's countable by Theorem 2.12. Since $b$ is fixed, so this is in 1-1 correspondence with $A$, so it's countable by Theorem 2.12.
QED </details>
#### Theorem 2.14 #### Theorem 2.14

View File

@@ -80,7 +80,8 @@ Let $(X,d)$ be a metric space, $\forall p\in X,\forall r>0$, $B_r(p)$ is an ope
*every ball is an open set* *every ball is an open set*
Proof: <details>
<summary>Proof</summary>
Let $q\in B_r(p)$. Let $q\in B_r(p)$.
@@ -88,7 +89,7 @@ Let $h=r-d(p,q)$.
Since $q\in B_r(p),h>0$. We claim that $B_h(q)$. Then $d(q,s)<h$, so $d(p,s)\leq d(p,q)+d(q,s)<d(p,q)+h=r$. (using triangle inequality) So $S\in B_r(p)$. Since $q\in B_r(p),h>0$. We claim that $B_h(q)$. Then $d(q,s)<h$, so $d(p,s)\leq d(p,q)+d(q,s)<d(p,q)+h=r$. (using triangle inequality) So $S\in B_r(p)$.
QED </details>
### Closed sets ### Closed sets

View File

@@ -0,0 +1,166 @@
# Math4201 Topology I (Lecture 25)
## Continue on compact spaces
### Compact spaces
#### Definition of compact spaces
A compact space $X$ is a topological space such that any open covering of $X$ has a finite subcovering.
$$
X=\bigcup_{\alpha\in A} U_\alpha\implies \exists \alpha_1, ..., \alpha_n\in A \text{ such that } X=\bigcup_{i=1}^n U_{\alpha_i}
$$
<details>
<summary>Example of compact spaces</summary>
$(0,1)$ is not compact, consider the open cover $\{(0,1/n):n\in \mathbb{N}\}$ which does not have a finite subcover.
---
$\mathbb{R}$ is not compact, consider the open cover $\{(-n,n):n\in \mathbb{N}\}$ which does not have a finite subcover.
---
Later we will see that $[0,1]$ is compact. (more generally, any closed and bounded interval is compact)
</details>
> [!TIP]
>
> A property (or definition) is good for topologists if it is preserved by homeomorphism, or even better, by continuous maps.
#### Proposition of compact spaces preserved by continuous maps
Let $X$ be a compact space and $f:X\to Y$ be a continuous map. Then $f(X)$ is compact.
<details>
<summary>Proof</summary>
Consider an open covering of $f(X)$, So, there are open sets $\{f(x)\cap U_{\alpha}\}_{x\in X}$ such that $f(X)=\bigcup_{\alpha\in I} (f(x)\cap U_{\alpha})$.
This implies that $\{f^{-1}(f(x)\cap U_{\alpha})\}_{x\in X, \alpha\in I}$ consists of:
1. $f^{-1}(U_{\alpha})$ is open because $f$ is continuous.
2. $f^{-1}(f(x)\cap U_{\alpha})$ covers $X$ because $\forall x\in X, f(x)\in f(X)\subseteq \bigcup_{\alpha\in I} (f(x)\cap U_{\alpha})$ so $x\in f^{-1}( U_{\alpha})$.
Since $X$ is compact, there are finitely many $x_1, ..., x_n\in X$ such that $X=\bigcup_{i=1}^n f^{-1}(U_{\alpha_i})$.
So, $f(X)=\bigcup_{i=1}^n f(f^{-1}(U_{\alpha_i}))=\bigcup_{i=1}^n U_{\alpha_i}$.
This implies that $f(X)$ is compact.
</details>
#### Corollary of compact spaces preserved by homeomorphism
If $f:X\to Y$ is homeomorphism and $X$ is compact, then $Y$ is compact.
#### Lemma of compact subspaces
Let $X$ be a topological space and $Y\subseteq X$ be a subspace with subspace topology from $X$.
Then $Y$ is compact if and only if for any open cover $\{U_\alpha\}_{\alpha\in I}$ of $Y$, there exists a finite subcover $\{U_{\alpha_1}, ..., U_{\alpha_n}\}$ of $Y$.
#### Proposition of closed compact sets
Every closed subspace $Y$ of a compact space $Y\subseteq X$ is compact.
<details>
<summary>Proof</summary>
Let $\{U_\alpha\}_{\alpha\in I}$ be an open cover of $Y$. Since $Y$ is closed, $X-Y$ is open. So, $(X-Y)\cup \bigcup_{\alpha\in I} U_\alpha$ is an open cover of $X$.
Since $X$ is compact, there are finitely many $\alpha_1, ..., \alpha_n\in I$ such that $X=\bigcup_{i=1}^n U_{\alpha_i}$ and possibly $X-Y\subseteq U_{\alpha_m}$.
So, $Y=\bigcup_{i=1}^n (U_{\alpha_i}\cap Y)=\bigcup_{i=1}^n U_{\alpha_i}$.
This implies that $Y$ is compact.
</details>
> [!WARNING]
>
> The converse of the proposition is almost true.
#### Proposition of compact subspaces with Hausdorff property
If $Y$ is compact subspace of a **Hausdorff space** $X$, then $Y$ is closed in $X$.
<details>
<summary>Proof</summary>
To show the claim, we need to show $x$ outside $y$, there is an open neighborhood of $x$ that is disjoint from $Y$.
For any $y\in Y$, there are disjoint open neighborhoods $U_y$ and $V_y$ of $x$ and $y$ respectively (by the Hausdorff property of $X$).
So $\bigcup_{y\in Y} V_y\supseteq Y$ and $Y$ is a compact subspace of $X$, so there are finitely many $y_1, ..., y_n\in Y$ such that $Y\subseteq \bigcup_{i=1}^n V_{y_i}$.
Since for each $y_i\in V_{y_i}$, there exists an open neighborhood $U_{y_i}$ of $x$ such that $U_{y_i}\cap V_{y_i}=\emptyset$, we have $U_{y_i}\cap Y=\emptyset$.
So $\bigcap_{i=1}^n U_{y_i}$ is disjoint from $\bigcup_{i=1}^n V_{y_i}\supseteq Y$, so disjoint from $Y$.
Furthermore, $x\in \bigcap_{i=1}^n U_{y_i}$, so $\bigcap_{i=1}^n U_{y_i}$ is open in $X$ because it is an finite intersection of open sets.
This holds for any $x\in X-Y$, so $X-Y$ is open in $X$, so $Y$ is closed in $X$.
</details>
This the course of proving this proposition, we showed the following:
#### Proposition
If $X$ is Hausdorff and $Y\subseteq X$ is compact, and $x\in X-Y$, then there are disjoint open neighborhoods $U,V\subseteq X$ such that $x\in U$ and $Y\subseteq V$.
<details>
<summary>Proof</summary>
Use the proof from last proposition, take $U=\bigcap_{i=1}^n U_{y_i}$ and $V=\bigcup_{i=1}^n V_{y_i}$.
</details>
#### Theorem of closed maps from compact and Hausdorff spaces
If $f:X\to Y$ is continuous and $X$ is compact, $Y$ is Hausdorff, then $f$ is a closed map.
In particular, if $f:X\to Y$ is continuous and bijection with $X$ compact and $Y$ Hausdorff, then $f$ is a homeomorphism.
<details>
<summary>Example distinguishing these two properties</summary>
Consider the map $f:[0,2\pi)\to \mathbb{S}^1$ defined by $f(x)=(\cos x, \sin x)$. This is a continuous bijection.
$f$ is continuous bijection and $Y$ is Hausdorff, But $X$ is not compact.
Then $f$ is not a homeomorphism because $f^{-1}$ is not continuous.
</details>
<details>
<summary>Proof</summary>
Consider $Z\subseteq X$ is closed and $X$ is compact, so $Z$ is compact.
So $f(Z)$ is compact since $f$ is continuous. Note that $f(Z)\subseteq Y$ is Hausdorff, so $f(Z)$ is closed in $Y$.
So $f$ is a closed map.
</details>
#### Theorem of products of compact spaces
If $X,Y$ are compact spaces, then $X\times Y$ is compact. (More generalized version: Tychonoff's theorem)
<details>
<summary>Incomplete Proof</summary>
Let $\{U_\alpha\}_{\alpha\in I}$ be an open cover of $X\times Y$.
Step 1: For any $x\in X$, there are finitely many $\alpha_1, ..., \alpha_n\in I$ and open neighborhoods $x\in V\subseteq X$ such that $V\times Y\subseteq \bigcup_{i=1}^n U_{\alpha_i}\times Y$.
For any $y\in Y$, there is $U_\alpha$ and $x\in U_y\subseteq X$ and $y\in V_y\subseteq Y$ such that $(x,y)\in U_y\times V_y\subseteq U_\alpha$.
Continue next time...
</details>

View File

@@ -28,4 +28,5 @@ export default {
Math4201_L22: "Topology I (Lecture 22)", Math4201_L22: "Topology I (Lecture 22)",
Math4201_L23: "Topology I (Lecture 23)", Math4201_L23: "Topology I (Lecture 23)",
Math4201_L24: "Topology I (Lecture 24)", Math4201_L24: "Topology I (Lecture 24)",
Math4201_L25: "Topology I (Lecture 25)",
} }

View File

@@ -1,92 +0,0 @@
/* eslint-env node */
import { Footer, Layout} from 'nextra-theme-docs'
import { Banner, Head } from 'nextra/components'
import { getPageMap } from 'nextra/page-map'
import 'nextra-theme-docs/style.css'
import { SpeedInsights } from "@vercel/speed-insights/next"
import { Analytics } from "@vercel/analytics/react"
import { Navbar } from '../components/navbar'
export const metadata = {
metadataBase: new URL('https://notenextra.trance-0.com'),
title: {
template: '%s - NoteNextra'
},
description: 'A static note sharing site for minimum care',
applicationName: 'NoteNextra',
generator: 'Next.js',
appleWebApp: {
title: 'NoteNextra'
},
other: {
'msapplication-TileImage': '/ms-icon-144x144.png',
'msapplication-TileColor': '#fff'
},
twitter: {
site: 'https://notenextra.trance-0.com'
}
}
export default async function RootLayout({ children }) {
const pageMap = await getPageMap()
const navbar = (
<Navbar
pageMap={pageMap}
logo={
<>
<svg width="32" height="32" viewBox="0 0 16 16">
<path fillRule="evenodd" d="M1.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C2.25 2 1.49 2.759 1.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6M14.886 7.9v.164c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456v-1.3c-1.114 0-1.49-.362-1.49-1.456V4.352C14.51 2.759 13.75 2 12.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6M7.5 11.5V9.207l-1.621 1.621-.707-.707L6.792 8.5H4.5v-1h2.293L5.172 5.879l.707-.707L7.5 6.792V4.5h1v2.293l1.621-1.621.707.707L9.208 7.5H11.5v1H9.207l1.621 1.621-.707.707L8.5 9.208V11.5z"/>
</svg>
<span style={{ marginLeft: '.4em', fontWeight: 800 }}>
NoteNextra
</span>
</>
}
projectLink="https://github.com/Trance-0/NoteNextra"
/>
)
return (
<html lang="en" dir="ltr" suppressHydrationWarning>
<Head color={{
hue: {
dark: 336,
light: 164
},
saturation: {
dark: 72,
light: 49
},
lightness: {
dark: 59,
light: 35
}
}} />
<body>
<Layout
navbar={navbar}
footer={
<Footer>
<span>
MIT {new Date().getFullYear()} ©{' '}
<a href="https://github.com/Trance-0" target="_blank">
Trance-0
</a>
.
</span>
</Footer>
}
editLink="Edit this page on GitHub"
docsRepositoryBase="https://github.com/Trance-0/NoteNextra/tree/main"
sidebar={{ defaultMenuCollapseLevel: 1 }}
pageMap={pageMap}
>
{children}
{/* SpeedInsights in vercel */}
<SpeedInsights />
{/* Analytics in vercel */}
<Analytics />
</Layout>
</body>
</html>
)
}