diff --git a/LICENSE b/LICENSE
index 6e9e696f..bbeee5ba 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 Tohuhono ltd
+Copyright (c) 2024 Tohuhono ltd
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index d85d6133..1204987a 100644
--- a/README.md
+++ b/README.md
@@ -6,28 +6,48 @@ A monorepo for OberonCMS and the related packages and tooling.
## Quick start
-This monorepo uses [pNpm](https://pnpm.io/) for workspace support - if you choose to use npm or yarn ymmv.
+We use [pNpm](https://pnpm.io/) for workspace support - if you choose to use npm or yarn ymmv.
-```
+```sh
pnpm install
-pnpm build
+pnpm dev:oberon # Develop OberonCMS and all dependencies using the playground.
+
+pnpm dev:demo # Develop the demo app and all dependencies.
+
+pnpm dev:docs # Develop the documentation.
+
+pnpm dev:rich-text-demo # Develop the rich text demo app and all dependencies.
+
+pnpm tsc # Typecheck
-pnpm dev:oberon
+pnpm lint:fix # Run eslint, fixing any issues
-pnpm lint
+pnpm prettier:fix # Run prettier, fixing any issues
+
+pnpm build # Build all packages
+
+pnpm change # Add a changset entry
```
## What's inside?
-This Turborepo includes the following packages/apps:
+This [Turborepo](https://turbo.build/repo/) that includes the following packages and apps:
### Apps
+- `apps/demo`
+
+ A demo app showcasing OberonCMS.
+
- `apps/documentation`
- A Next.js app for the OberonCMS website.
- https://tohuhono.com
+ Landing page and documentation for OberonCMS.
+ https://oberoncms.com
+
+- `apps/playground`
+
+ A playground for developers to test OberonCMS. Mostly used for local development, there is also a [vercel deployment](https://playground.tohuhono.com) with access limited to core contributors.
- `apps/rich-text-demo`
@@ -35,18 +55,67 @@ This Turborepo includes the following packages/apps:
https://puck-rich-text.tohuhono.com
-### Utilities and Config
+### Packages
+
+#### OberonCMS
+
+- `packages/create-oberon-app`
+
+ A command line tool for creating new projects with OberonCMS.
+
+- `packages/oberoncms/core`
+
+ The core package for OberonCMS.
+
+#### Plugins
+
+- `packages/plugins/pgsql`
+
+ A PostgreSQL database plugin for OberonCMS.
+
+- `packages/plugins/turso`
+
+ A Turso libsql database plugin for OberonCMS.
+
+- `packages/plugins/uploadthing`
+
+ An Puck component and OberonCMS plugin for embeding uploadthing images.
+
+- `packages/plugins/vercel-postgres`
+
+ A Vercel PostgreSQL database plugin for OberonCMS.
+
+#### Utilities and Config
+
+- `packages/tohuhono/dev`
-- `packages/dev`
- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting
-- `packages/utils`
- - `cn` - tailwind classname merge function
+
+ Base config and scripts for building packages and apps.
+
+- `packages/tohuhono/utils`
+
+ A collection of utility functions shared across the monorepo. Particularly useful for testing.
+
+- `packages/tohuhono/ui`
+
+ Shared UI components and utilities including a [tailwindcss](https://tailwindcss.com/) theme and components for dynamicly loading and adjusting it.
+
+#### Puck components
+
+- `packages/tohuhono/puck-rich-text`
+
+ A puck component for rich text editing made for OberonCMS.
+
+- `packages/tohuhono/puck-blocks`
+
+ A collection of puck components for building pages in OberonCMS. _Not currently used or maintained_
## What next?
-Under heavy development.
+[Under heavy development.](https://github.com/orgs/Tohuhono/projects/1/views/1)
## Contributors
diff --git a/apps/documentation/package.json b/apps/documentation/package.json
index 1b823bd5..f3443790 100644
--- a/apps/documentation/package.json
+++ b/apps/documentation/package.json
@@ -21,7 +21,6 @@
"devDependencies": {
"@tailwindcss/typography": "^0.5.10",
"@tohuhono/dev": "workspace:*",
- "@tohuhono/utils": "workspace:*",
"@types/node": "^20",
"@types/react": "18.2.66",
"@types/react-dom": "18.2.22",
diff --git a/apps/documentation/public/robots.txt b/apps/documentation/public/robots.txt
new file mode 100644
index 00000000..34c9ca42
--- /dev/null
+++ b/apps/documentation/public/robots.txt
@@ -0,0 +1,2 @@
+User-Agent: *
+Disallow: /v/*
diff --git a/apps/documentation/public/social.png b/apps/documentation/public/social.png
new file mode 100644
index 00000000..a49f40ef
Binary files /dev/null and b/apps/documentation/public/social.png differ
diff --git a/apps/documentation/src/globals.css b/apps/documentation/src/globals.css
index b8bafa82..f26d2b8b 100644
--- a/apps/documentation/src/globals.css
+++ b/apps/documentation/src/globals.css
@@ -7,6 +7,8 @@
--nav-height: 3rem;
--radius: 0.25rem;
+ --logo: 182.5 100% 22%;
+
/* light */
--background: 0 0% 100%;
--foreground: 210 100% 4%;
diff --git a/apps/documentation/src/pages/_meta.tsx b/apps/documentation/src/pages/_meta.tsx
index ebbd9b54..5ad6c4d4 100644
--- a/apps/documentation/src/pages/_meta.tsx
+++ b/apps/documentation/src/pages/_meta.tsx
@@ -1,6 +1,11 @@
export default {
index: {
- title: "Home",
+ title: "OberonCMS",
+ type: "page",
+ display: "hidden",
+ },
+ developers: {
+ title: "Developers",
type: "page",
},
}
diff --git a/apps/documentation/src/pages/about.mdx b/apps/documentation/src/pages/about.mdx
deleted file mode 100644
index 87c4a4b1..00000000
--- a/apps/documentation/src/pages/about.mdx
+++ /dev/null
@@ -1,3 +0,0 @@
-# Welcome to Nextra
-
-Hello, world!
\ No newline at end of file
diff --git a/apps/documentation/src/pages/developers/_meta.tsx b/apps/documentation/src/pages/developers/_meta.tsx
new file mode 100644
index 00000000..d4dfbb20
--- /dev/null
+++ b/apps/documentation/src/pages/developers/_meta.tsx
@@ -0,0 +1,4 @@
+export default {
+ "quick-start": "Quick Start",
+ roadmap: "Roadmap",
+}
diff --git a/apps/documentation/src/pages/developers/quick-start.mdx b/apps/documentation/src/pages/developers/quick-start.mdx
new file mode 100644
index 00000000..b08b898a
--- /dev/null
+++ b/apps/documentation/src/pages/developers/quick-start.mdx
@@ -0,0 +1,15 @@
+# Quick Start Guide
+### Create a new project
+```sh npx2yarn copy
+npx create-oberon-app my-app
+```
+Prompts will guide you through the process of selecting core plugins and setting some sane defaults.
+
+
+### Manual installation
+
+This is not docemented yet.
+
+```sh npm2yarn copy
+npm i @oberoncms/core
+```
\ No newline at end of file
diff --git a/apps/documentation/src/pages/developers/roadmap.mdx b/apps/documentation/src/pages/developers/roadmap.mdx
new file mode 100644
index 00000000..3afa3655
--- /dev/null
+++ b/apps/documentation/src/pages/developers/roadmap.mdx
@@ -0,0 +1,7 @@
+## Roadmap
+
+We are currently under heavy development.
+
+Please post bug reports and feature requests on our [github issues board](https://github.com/tohuhono/oberon/issues).
+
+You can also see an overview of planned features on our [project board](https://github.com/orgs/Tohuhono/projects/1/views/1).
diff --git a/apps/documentation/tailwind.config.ts b/apps/documentation/tailwind.config.ts
index bac673be..36e0e004 100644
--- a/apps/documentation/tailwind.config.ts
+++ b/apps/documentation/tailwind.config.ts
@@ -11,6 +11,7 @@ const config: Config = {
"./node_modules/@tohuhono/dev/dist/**/*.{js,ts,jsx,tsx,mdx}",
"./node_modules/@tohuhono/puck-blocks/dist/**/*.{js,ts,jsx,tsx,mdx}",
"./src/**/*.{js,ts,jsx,tsx,mdx}",
+ "./theme.config.jsx",
"./tailwind.classes.txt",
],
theme: {
@@ -26,6 +27,7 @@ const config: Config = {
},
},
colors: {
+ logo: "hsl(var(--logo))",
border: "hsl(var(--border))",
input: "hsl(var(--input))",
ring: "hsl(var(--ring))",
diff --git a/apps/documentation/theme.config.jsx b/apps/documentation/theme.config.jsx
index 599235d6..32c2d66f 100644
--- a/apps/documentation/theme.config.jsx
+++ b/apps/documentation/theme.config.jsx
@@ -1,38 +1,71 @@
+/* eslint-disable react-hooks/rules-of-hooks */
import { useConfig } from "nextra-theme-docs"
import Image from "next/image"
+import { useRouter } from "next/router"
export default {
- logo: