Integrate Keystatic to edit twenty.com content (#10709)

This PR introduces Keystatic to let us edit twenty.com's content with a
CMS. For now, we'll focus on creating release notes through Keystatic as
it uses quite simple Markdown. Other types of content will need some
refactoring to work with Keystatic.


https://github.com/user-attachments/assets/e9f85bbf-daff-4b41-bc97-d1baf63758b2

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
Baptiste Devessier
2025-03-07 07:59:06 +01:00
committed by GitHub
parent 6b4d3ed025
commit 2c465bd42e
52 changed files with 3059 additions and 63 deletions

View File

@ -0,0 +1,3 @@
export default function Page() {
return null;
}

View File

@ -0,0 +1,6 @@
'use client';
import { makePage } from '@keystatic/next/ui/app';
import config from '../../../../keystatic.config';
export default makePage(config);

View File

@ -0,0 +1,5 @@
import KeystaticApp from './keystatic';
export default function Layout() {
return <KeystaticApp />;
}

View File

@ -0,0 +1,21 @@
import { Metadata } from 'next';
export const metadata: Metadata = {
title: 'Twenty.com',
description: 'Open Source CRM',
icons: '/images/core/logo.svg',
};
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>
<div className="container">{children}</div>
</body>
</html>
);
}