docs: Update homepage layout

This commit is contained in:
Jade Ellis
2025-11-22 22:41:53 +00:00
parent c1dc336c65
commit 3bf3c24d22
5 changed files with 95 additions and 44 deletions
+14 -22
View File
@@ -4,13 +4,16 @@ pageType: home
hero: hero:
name: Continuwuity name: Continuwuity
text: A community-driven Matrix homeserver text: A community-driven Matrix homeserver
tagline: Fast, lightweight, and written in Rust tagline: Fast, lightweight and open
actions: actions:
- theme: brand - theme: brand
text: Get Started text: Get Started
link: /introduction link: /introduction
- theme: alt - 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 link: https://github.com/continuwuity/continuwuity
image: image:
src: /assets/logo.svg src: /assets/logo.svg
@@ -29,31 +32,20 @@ features:
details: Multiple deployment options including Docker, NixOS, and traditional package managers. details: Multiple deployment options including Docker, NixOS, and traditional package managers.
- title: 🔌 Appservice Support - title: 🔌 Appservice Support
details: Bridge to other platforms like Discord, Telegram, and more with Matrix appservices. 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 Continuwuity receives and keeps track of all your messages, and delivers what you send to the right people.
- **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
## Quick Links ## Why is Continuwuity different?
- **[Introduction](/introduction)** - Learn more about the project 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.
- **[Deploying](/deploying)** - Get started with installation
- **[Configuration](/configuration)** - Configure your homeserver
- **[Contributing](/development/contributing)** - Help improve continuwuity
## Join the Community 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.
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)
+1 -1
View File
@@ -1,4 +1,4 @@
# continuwuity # Continuwuity
## A community-driven [Matrix](https://matrix.org/) homeserver in Rust ## A community-driven [Matrix](https://matrix.org/) homeserver in Rust
+12 -5
View File
@@ -14,11 +14,6 @@ export default defineConfig({
}, },
themeConfig: { themeConfig: {
socialLinks: [ socialLinks: [
{
icon: 'github',
mode: 'link',
content: 'https://github.com/continuwuity/continuwuity',
},
{ {
icon: { icon: {
svg: `<svg role="img" viewBox="0 0 24 24" width="100%" xmlns="http://www.w3.org/2000/svg"><title>Matrix</title><path fill="currentColor" d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></svg>` svg: `<svg role="img" viewBox="0 0 24 24" width="100%" xmlns="http://www.w3.org/2000/svg"><title>Matrix</title><path fill="currentColor" d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></svg>`
@@ -26,6 +21,18 @@ export default defineConfig({
mode: 'link', mode: 'link',
content: 'https://matrix.to/#/#continuwuity:continuwuity.org', content: 'https://matrix.to/#/#continuwuity:continuwuity.org',
}, },
{
icon: {
svg: `<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Forgejo</title><path fill="currentColor" d="M16.7773 0c1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.1175a7.0759 7.0759 0 0 1 4.148-1.4205l.1176-.001 1.3385.0002c.4973-.8827 1.4434-1.4788 2.5288-1.4788 1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.319c.8827.4973 1.4788 1.4434 1.4788 2.5287 0 1.602-1.2986 2.9005-2.9005 2.9005-1.6018 0-2.9004-1.2986-2.9004-2.9005 0-1.0853.596-2.0314 1.4788-2.5287l-.0002-9.9831c0-3.887 3.1195-7.0453 6.9915-7.108l.1176-.001h1.3385C14.7458.5962 15.692 0 16.7773 0ZM7.2227 19.9052c-.6596 0-1.1943.5347-1.1943 1.1943s.5347 1.1943 1.1943 1.1943 1.1944-.5347 1.1944-1.1943-.5348-1.1943-1.1944-1.1943Zm9.5546-10.4644c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Zm0-7.7346c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Z"/></svg>`
},
mode: 'link',
content: 'https://forgejo.ellis.link/continuwuation/continuwuity'
},
{
icon: 'github',
mode: 'link',
content: 'https://github.com/continuwuity/continuwuity',
},
], ],
lastUpdated: true, lastUpdated: true,
enableContentAnimation: true, enableContentAnimation: true,
+41 -14
View File
@@ -1,4 +1,3 @@
:root { :root {
--rp-c-brand: #8a5cd0; --rp-c-brand: #8a5cd0;
--rp-c-brand-light: oklch(from var(--rp-c-brand) 0.7197 c h); --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-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); --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); --c1: oklch(0.44 0.177 353.06);
--c2: oklch(0.59 0.158 150.88); --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-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-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-c-divider: rgba(0, 0, 0, 0.2); --rp-c-divider: rgba(0, 0, 0, 0.2);
--rp-c-divider-light: rgba(0, 0, 0, 0.1); --rp-c-divider-light: rgba(0, 0, 0, 0.1);
@@ -40,12 +39,16 @@
.dark { .dark {
--name-lightness: 0.8; --name-lightness: 0.8;
--background-lightness: 0.2;
--rp-c-bg: oklch(0.15 0.042 317.27); --rp-c-bg: oklch(0.15 0.042 317.27);
--rp-c-bg-soft: oklch(0.24 0.03 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-mute: oklch(0.28 0.035 317.27);
--rp-c-bg-alt: #000; --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: rgba(84, 84, 84, 0.65);
--rp-c-divider-light: rgba(84, 84, 84, 0.48); --rp-c-divider-light: rgba(84, 84, 84, 0.48);
@@ -62,10 +65,34 @@
} }
img { img {
display: inline-block display: inline-block;
} }
/* Override silly colours on code links */ /* 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); 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 */
}
+27 -2
View File
@@ -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<string, React.FC>;
}
import './index.css'; function HomeLayout(props: HomeLayoutProps) {
console.log(props)
const { frontmatter } = useFrontmatter();
return (
<BasicHomeLayout
afterFeatures={
(frontmatter.doc) ?
<main className="rp-doc-layout__doc-container">
<div className="rp-doc rspress-doc">
<DocContent components={props.components} />
</div>
</main>
: <></>
}
/>
);
}
export { HomeLayout };
export * from "@rspress/core/theme";
import "./index.css";