From 3bf3c24d22de5722c06740b6fe2a43b4bae52a71 Mon Sep 17 00:00:00 2001 From: Jade Ellis Date: Sat, 22 Nov 2025 22:41:53 +0000 Subject: [PATCH] docs: Update homepage layout --- docs/index.mdx | 36 +++++++++++----------------- docs/introduction.mdx | 2 +- rspress.config.ts | 17 +++++++++---- theme/index.css | 55 ++++++++++++++++++++++++++++++++----------- theme/index.tsx | 29 +++++++++++++++++++++-- 5 files changed, 95 insertions(+), 44 deletions(-) diff --git a/docs/index.mdx b/docs/index.mdx index 0bab4fd4..c6ce6ae2 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -4,13 +4,16 @@ pageType: home hero: name: Continuwuity text: A community-driven Matrix homeserver - tagline: Fast, lightweight, and written in Rust + tagline: Fast, lightweight and open actions: - theme: brand text: Get Started link: /introduction - theme: alt - text: View on GitHub + text: Contribute on Forgejo + link: https://forgejo.ellis.link/continuwuation/continuwuity + - theme: alt + text: Star on GitHub link: https://github.com/continuwuity/continuwuity image: src: /assets/logo.svg @@ -29,31 +32,20 @@ features: details: Multiple deployment options including Docker, NixOS, and traditional package managers. - title: 🔌 Appservice Support details: Bridge to other platforms like Discord, Telegram, and more with Matrix appservices. + +doc: true --- -## Why continuwuity? +## What is Continuwuity? -continuwuity is the official community continuation of the [conduwuit](https://github.com/girlbossceo/conduwuit) homeserver. When the original project was archived, we forked it to ensure this excellent Rust-based Matrix homeserver continues to thrive. +Continuwuity is a Matrix homeserver. -### Our Goals +Matrix is an open chat network that lets anyone talk to anyone, no matter what server or address they use - sort of like email. -- **Maintain stability**: Provide a reliable Matrix homeserver implementation -- **Improve compatibility**: Better Matrix specification compliance -- **Fix issues**: Address bugs and performance problems from the original -- **Add features**: Implement missing capabilities requested by administrators -- **Document thoroughly**: Comprehensive guides for setup and maintenance -- **Foster community**: Create a sustainable, welcoming development environment +Continuwuity receives and keeps track of all your messages, and delivers what you send to the right people. -## Quick Links +## Why is Continuwuity different? -- **[Introduction](/introduction)** - Learn more about the project -- **[Deploying](/deploying)** - Get started with installation -- **[Configuration](/configuration)** - Configure your homeserver -- **[Contributing](/development/contributing)** - Help improve continuwuity +Continuwuity is light and fast, using a fraction of the memory of other major homeservers. It's also simple to set up, and secure by default. -## Join the Community - -Have questions or want to contribute? Join us on Matrix! - -- **Main Room**: [#continuwuity:continuwuity.org](https://matrix.to/#/#continuwuity:continuwuity.org?via=continuwuity.org&via=ellis.link&via=explodie.org&via=matrix.org) -- **Space**: [#space:continuwuity.org](https://matrix.to/#/#space:continuwuity.org?via=continuwuity.org&via=ellis.link&via=explodie.org&via=matrix.org) +We are a community run project, filled with diverse and friendly people. Everything is built by people who care about the project volunteering their free time. diff --git a/docs/introduction.mdx b/docs/introduction.mdx index 684d694e..b1b5046f 100644 --- a/docs/introduction.mdx +++ b/docs/introduction.mdx @@ -1,4 +1,4 @@ -# continuwuity +# Continuwuity ## A community-driven [Matrix](https://matrix.org/) homeserver in Rust diff --git a/rspress.config.ts b/rspress.config.ts index 79585d32..24cc0ded 100644 --- a/rspress.config.ts +++ b/rspress.config.ts @@ -14,11 +14,6 @@ export default defineConfig({ }, themeConfig: { socialLinks: [ - { - icon: 'github', - mode: 'link', - content: 'https://github.com/continuwuity/continuwuity', - }, { icon: { svg: `Matrix` @@ -26,6 +21,18 @@ export default defineConfig({ mode: 'link', content: 'https://matrix.to/#/#continuwuity:continuwuity.org', }, + { + icon: { + svg: `Forgejo` + }, + mode: 'link', + content: 'https://forgejo.ellis.link/continuwuation/continuwuity' + }, + { + icon: 'github', + mode: 'link', + content: 'https://github.com/continuwuity/continuwuity', + }, ], lastUpdated: true, enableContentAnimation: true, diff --git a/theme/index.css b/theme/index.css index c6588f50..2e4e290b 100644 --- a/theme/index.css +++ b/theme/index.css @@ -1,4 +1,3 @@ - :root { --rp-c-brand: #8a5cd0; --rp-c-brand-light: oklch(from var(--rp-c-brand) 0.7197 c h); @@ -7,21 +6,21 @@ --rp-c-brand-darker: oklch(from var(--rp-c-brand) 0.5069 c h); --rp-c-brand-tint: oklch(from var(--rp-c-brand) 0.4 c h / 0.16); - --name-lightness: 0.45; + --name-lightness: 0.5; + --background-lightness: 0.9; + --c1: oklch(0.44 0.177 353.06); --c2: oklch(0.59 0.158 150.88); + .rp-home-hero__title-brand { + --rp-home-hero-title-bg: linear-gradient( + 130deg, + oklch(from var(--c1) var(--name-lightness) c h), + oklch(from var(--c2) var(--name-lightness) c h) + ); + } - --rp-home-hero-name-background: linear-gradient( - 130deg, - oklch(from var(--c1) var(--name-lightness) c h), - oklch(from var(--c2) var(--name-lightness) c h) - ); - --rp-home-mask-background-image: conic-gradient(from 180deg at 50% 50%, var(--c1) 0deg, 180deg, var(--c2) 1turn); - /*--rp-c-bg: #ffffff; - --rp-c-bg-soft: oklch(0.91 0.042 317.27); - --rp-c-bg-mute: oklch(0.88 0.035 317.27); - --rp-c-bg-alt: #fff;*/ + --rp-home-background-bg: radial-gradient(42.12% 56.13% at 100% 0%, oklch(from var(--c2) var(--background-lightness) c h) 0%, #fff0 100%), radial-gradient(42.01% 79.63% at 52.86% 0%, #d9ff5333 0%, #fff0 100%), radial-gradient(79.67% 58.09% at 0% 0%, oklch(from var(--c1) var(--background-lightness) c h) 0%, #fff0 100%), var(--rp-c-bg); --rp-c-divider: rgba(0, 0, 0, 0.2); --rp-c-divider-light: rgba(0, 0, 0, 0.1); @@ -40,12 +39,16 @@ .dark { --name-lightness: 0.8; + --background-lightness: 0.2; --rp-c-bg: oklch(0.15 0.042 317.27); --rp-c-bg-soft: oklch(0.24 0.03 317.27); --rp-c-bg-mute: oklch(0.28 0.035 317.27); --rp-c-bg-alt: #000; + --rp-home-background-bg: radial-gradient(42.12% 56.13% at 100% 0%, oklch(from var(--c2) var(--background-lightness) c h) 0%, #12121200 100%), radial-gradient(55.81% 87.78% at 48.37% 0%, #000 0%, #12121200 89.55%), radial-gradient(122.65% 88.24% at 0% 0%, oklch(from var(--c1) var(--background-lightness) c h) 0%, #12121200 100%), var(--rp-c-bg); + + --rp-c-divider: rgba(84, 84, 84, 0.65); --rp-c-divider-light: rgba(84, 84, 84, 0.48); @@ -62,10 +65,34 @@ } img { - display: inline-block + display: inline-block; } /* Override silly colours on code links */ -.rp-doc :not(:where(.rp-not-doc, .rp-not-doc *)):where(a > code), .rp-doc :not(:where(.rp-not-doc, .rp-not-doc *)):where(a > code), .rp-doc :not(:where(.rp-not-doc, .rp-not-doc *)):where(a:hover > code) { +.rp-doc :not(:where(.rp-not-doc, .rp-not-doc *)):where(a > code), +.rp-doc :not(:where(.rp-not-doc, .rp-not-doc *)):where(a > code), +.rp-doc :not(:where(.rp-not-doc, .rp-not-doc *)):where(a:hover > code) { color: var(--rp-c-link); } + +.rp-button--big { + padding-inline: 1.25em; +} + +/* Vertical layout */ + +.rp-home-hero { + flex-direction: column-reverse; + align-items: center; + margin: 0 auto; +} + +.rp-home-hero .rp-home-hero__container { + text-align: center; + align-items: center; +} + +.rp-home-hero__image { + max-height: 35vh; + max-width: none; /* Having this set causes slight aspect ratio breakage */ +} diff --git a/theme/index.tsx b/theme/index.tsx index c6830306..18c1ff37 100644 --- a/theme/index.tsx +++ b/theme/index.tsx @@ -1,4 +1,29 @@ +import { HomeLayout as BasicHomeLayout, DocContent } from "@rspress/core/theme"; -export * from '@rspress/core/theme'; +import { useFrontmatter } from '@rspress/core/runtime'; +interface HomeLayoutProps { + components?: Record; +} -import './index.css'; +function HomeLayout(props: HomeLayoutProps) { + console.log(props) + + const { frontmatter } = useFrontmatter(); + + return ( + +
+ +
+ + : <> + } + /> + ); +} +export { HomeLayout }; +export * from "@rspress/core/theme"; +import "./index.css";