Skip to content

Commit 61ac081

Browse files
committed
Refactor docs and landing to platform/library split
Reorganized documentation to distinguish between Evolu as a TypeScript library and as a local-first platform. Updated navigation, landing page, and metadata to reflect this split. Added new docs entry points, removed unused components, and adjusted redirects and features for clarity.
1 parent 93a505e commit 61ac081

18 files changed

Lines changed: 91 additions & 512 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Evolu
22

3-
Evolu is TypeScript library and local-first framework.
3+
Evolu is TypeScript library and local-first platform.
44

55
## Documentation
66

apps/web/next.config.mjs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,24 @@ const nextConfig = {
2222
async redirects() {
2323
return [
2424
{
25-
source: "/docs",
26-
destination: "/docs/quickstart",
25+
source: "/docs/quickstart",
26+
destination: "/docs/local-first",
2727
permanent: true,
2828
},
29-
];
30-
},
31-
async rewrites() {
32-
return [
3329
{
3430
source: "/docs/installation",
35-
destination: "/docs/quickstart",
31+
destination: "/docs/local-first",
32+
permanent: true,
3633
},
3734
{
3835
source: "/docs/evolu-server",
3936
destination: "/docs/evolu-relay",
37+
permanent: true,
4038
},
4139
{
42-
source: "/examples/:path",
40+
source: "/examples/:path*",
4341
destination: "/docs/examples",
42+
permanent: true,
4443
},
4544
];
4645
},

apps/web/src/app/(docs)/docs/comparison/page.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
export const metadata = {
22
title: "Comparison",
33
description:
4-
"A comparison of Evolu with other local-first frameworks and solutions, exploring their trade-offs and use cases.",
4+
"A comparison of Evolu with other local-first platforms and solutions, exploring their trade-offs and use cases.",
55
};
66

77
# Comparison
88

9-
This page compares Evolu with other local-first frameworks and solutions to help you make an informed decision about which tool best fits your needs.
9+
This page compares Evolu with other local-first platforms and solutions to help you make an informed decision about which tool best fits your needs.
1010

1111
The goal of Evolu is to be as simple, stable, and private as possible. It uses SQLite because SQL is a must for business apps, providing the query flexibility and reliability that production applications require.
1212

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { IconBrandNpm } from "@tabler/icons-react";
2+
3+
export const metadata = {
4+
title: "Get started with the library",
5+
};
6+
7+
# Get started with the library
8+
9+
This guide will get you up and running with Evolu Library.
10+
11+
<Announcement>
12+
The new version of Evolu is now available on
13+
<span className="font-black">npm</span> under the
14+
<span className="font-black">preview</span> tag. 🎉
15+
</Announcement>
16+
17+
<Note>
18+
Requirements: `TypeScript 5.7` or later with the `strict` flag enabled in
19+
`tsconfig.json` file.
20+
</Note>
21+
22+
## Installation
23+
24+
```bash
25+
npm install @evolu/common@preview
26+
```

apps/web/src/app/(docs)/docs/quickstart/page.mdx renamed to apps/web/src/app/(docs)/docs/local-first/page.mdx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { IconBrandNpm } from "@tabler/icons-react";
22

33
export const metadata = {
4-
title: "Quickstart",
5-
description: "This guide will get you all set up and ready to use Evolu.",
4+
title: "Get started with local-first",
65
};
76

8-
# Quickstart
7+
# Get started with local-first
98

109
This guide will get you all set up and ready to use Evolu.
1110

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export const metadata = {
2+
title: "Documentation",
3+
description:
4+
"Learn how to use Evolu, whether you're building with the library or the local-first platform.",
5+
};
6+
7+
# Documentation
8+
9+
Evolu is both a **TypeScript library** and a **local-first platform**. Choose your path below.
10+
11+
## TypeScript library
12+
13+
For anyone who wants to write TypeScript code that scales. Built on proven design patterns like Result, dependency injection, immutability, and more. Created by someone who spent years with functional programming, but then decided to go back to the simple and idiomatic TypeScript code—no pipes, no black-box abstractions, no unreadable stacktraces.
14+
15+
[**Get started with the library**](/docs/library)
16+
17+
## Local-first platform
18+
19+
A complete platform for building apps where users own their data. Works offline-first with sync via self-hostable or cloud relays. End-to-end encrypted by default. Built on SQLite with a scalable sync protocol designed for real-world use. No vendor lock-in, no data hostage situations.
20+
21+
[**Get started with local-first**](/docs/local-first)

apps/web/src/app/(docs)/layout.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import "@/styles/tailwind.css";
1010
export const metadata: Metadata = {
1111
title: {
1212
template: "%s - Evolu",
13-
default:
14-
"Local-First Platform Designed for Privacy, Ease of Use, and No Vendor Lock-In",
13+
default: "TypeScript Library and Local-First Platform",
1514
},
1615
};
1716

apps/web/src/app/(landing)/layout.tsx

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ import { type Metadata } from "next";
33
import { Providers } from "@/app/providers";
44
import { Footer } from "@/components/Footer";
55
import { Header } from "@/components/Header";
6-
import LetterGlitch from "@/components/LetterGlitch";
76
import "@/styles/tailwind.css";
87

98
export const metadata: Metadata = {
109
title: {
1110
template: "%s - Evolu",
12-
default:
13-
"Local-First Platform Designed for Privacy, Ease of Use, and No Vendor Lock-In",
11+
default: "TypeScript Library and Local-First Platform",
1412
},
1513
};
1614

@@ -21,13 +19,6 @@ export default function RootLayout({
2119
}): React.ReactElement {
2220
return (
2321
<Providers>
24-
<LetterGlitch
25-
className="pointer-events-none fixed! inset-0 z-[-1] hidden transform-gpu opacity-[0.13] transition-opacity duration-300 sm:block dark:opacity-[0.05]"
26-
glitchSpeed={50}
27-
centerVignette={false}
28-
outerVignette={true}
29-
smooth={true}
30-
/>
3122
<div className="mx-auto h-full max-w-5xl">
3223
<Header variant="landing" />
3324

apps/web/src/app/(landing)/page.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
11
import { Button } from "@/components/Button";
22
import { Features } from "@/components/Features";
3-
import { Guides } from "@/components/Guides";
4-
import { HeroText } from "@/components/HeroText";
53
import { Logo } from "@/components/Logo";
6-
export const metadata = {
4+
import { Metadata } from "next";
5+
6+
export const metadata: Metadata = {
77
title: "Evolu",
8-
description: "Privacy-focused local-first platform that scales.",
8+
description: "TypeScript Library and Local-First Platform",
99
};
1010

1111
export default function Page(): React.ReactElement {
1212
return (
1313
<>
1414
<div className="flex flex-col gap-4 pt-14 xl:mx-auto xl:max-w-5xl">
1515
<Logo className="mx-auto h-9" />
16-
<HeroText className="text-center" />
16+
<p className="lead w-full text-center text-balance">
17+
TypeScript Library and Local&#8209;First Platform
18+
</p>
1719
<div className="flex justify-center gap-5">
1820
<Button
19-
href="/docs/quickstart"
21+
href="/docs"
2022
arrow="right"
2123
className="scale-105 hover:scale-110"
2224
>
23-
Quickstart
25+
Get started
2426
</Button>
2527
</div>
2628

2729
<Features />
28-
<Guides className="mt-10!" />
2930
</div>
3031
</>
3132
);

apps/web/src/app/layout.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import { type Metadata } from "next";
33
export const metadata: Metadata = {
44
title: {
55
template: "%s - Evolu",
6-
default:
7-
"Local-First Platform Designed for Privacy, Ease of Use, and No Vendor Lock-In",
6+
default: "TypeScript Library and Local-First Platform",
87
},
98
alternates: {
109
types: {

0 commit comments

Comments
 (0)