Added base content styling & definition list
This commit is contained in:
6
src/app/api/keystatic/[...params]/route.ts
Normal file
6
src/app/api/keystatic/[...params]/route.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { makeRouteHandler } from '@keystatic/next/route-handler'
|
||||
import config from '~/keystatic.config'
|
||||
|
||||
export const { POST, GET } = makeRouteHandler({
|
||||
config,
|
||||
})
|
||||
@@ -1,8 +1,17 @@
|
||||
@import url('../styles/base/variables.css');
|
||||
@import url('../styles/base/typography.css');
|
||||
@import url('../styles/base/lists.css');
|
||||
@import url('../styles/base/tables.css');
|
||||
@import url('../styles/base/inline.css');
|
||||
@import url('../styles/base/form.css');
|
||||
@import url('../styles/base/keyframes.css');
|
||||
@import url('../styles/base/helpers.css');
|
||||
@import url('../styles/settings.css');
|
||||
|
||||
html {
|
||||
font-size: var(--typo-size-base);
|
||||
}
|
||||
|
||||
body {
|
||||
font: 16px/1.5 var(--font-body);
|
||||
font-family: var(--font-body), sans-serif;
|
||||
font-feature-settings: "kern" 1;
|
||||
font-weight: var(--typo-weight-regular);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
color: var(--color-text-primary);
|
||||
|
||||
background-color: var(--color-surface-base);
|
||||
}
|
||||
|
||||
3
src/app/keystatic/[[...params]]/page.tsx
Normal file
3
src/app/keystatic/[[...params]]/page.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
export default function Page() {
|
||||
return null
|
||||
}
|
||||
6
src/app/keystatic/keystatic.ts
Normal file
6
src/app/keystatic/keystatic.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import { makePage } from '@keystatic/next/ui/app'
|
||||
import config from '../../../keystatic.config'
|
||||
|
||||
export default makePage(config)
|
||||
18
src/app/keystatic/layout.tsx
Normal file
18
src/app/keystatic/layout.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import KeystaticApp from './keystatic'
|
||||
|
||||
export default function KeystaticLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode
|
||||
}) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Keystatic Admin</title>
|
||||
</head>
|
||||
<body>
|
||||
<KeystaticApp />
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
30
src/app/the-metatron/[slug]/page.tsx
Normal file
30
src/app/the-metatron/[slug]/page.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
import MarkdocRenderer from '@/components/Markdoc/Renderer'
|
||||
import { getArticleBySlug, getArticles } from '@/lib/content/meta/articles'
|
||||
import { notFound } from 'next/navigation'
|
||||
|
||||
interface Props {
|
||||
params: Promise<{
|
||||
slug: string
|
||||
}>
|
||||
}
|
||||
|
||||
export async function generateStaticParams() {
|
||||
const articles = await getArticles()
|
||||
return articles.map(({ slug }) => ({ slug }))
|
||||
}
|
||||
|
||||
export default async function MetaArticlePage({ params }: Props) {
|
||||
const { slug } = await params
|
||||
const article = await getArticleBySlug(slug)
|
||||
|
||||
if (!article) {
|
||||
notFound()
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="page">
|
||||
<h1>{article.title}</h1>
|
||||
<MarkdocRenderer content={article.content} className="meta-content" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user