From f85fe1260eb3f37cc82506112fd761c0d7831660 Mon Sep 17 00:00:00 2001 From: Jon Vivian <2586037+4leite@users.noreply.github.com> Date: Sun, 2 Jun 2024 03:18:05 +1200 Subject: [PATCH] incrementally update documentation (#142) --- LICENSE | 2 +- README.md | 95 +++++++++++++++--- apps/documentation/package.json | 1 - apps/documentation/public/robots.txt | 2 + apps/documentation/public/social.png | Bin 0 -> 41946 bytes apps/documentation/src/globals.css | 2 + apps/documentation/src/pages/_meta.tsx | 7 +- apps/documentation/src/pages/about.mdx | 3 - .../src/pages/developers/_meta.tsx | 4 + .../src/pages/developers/quick-start.mdx | 15 +++ .../src/pages/developers/roadmap.mdx | 7 ++ apps/documentation/tailwind.config.ts | 2 + apps/documentation/theme.config.jsx | 61 ++++++++--- pnpm-lock.yaml | 3 - 14 files changed, 168 insertions(+), 36 deletions(-) create mode 100644 apps/documentation/public/robots.txt create mode 100644 apps/documentation/public/social.png delete mode 100644 apps/documentation/src/pages/about.mdx create mode 100644 apps/documentation/src/pages/developers/_meta.tsx create mode 100644 apps/documentation/src/pages/developers/quick-start.mdx create mode 100644 apps/documentation/src/pages/developers/roadmap.mdx 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 0000000000000000000000000000000000000000..a49f40ef895ef9b9e43e1432ae708da8ee6c8c86 GIT binary patch literal 41946 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%0A~ST+K^6!X3!&?rYU82m`dM)35f)>p+o7 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, + logo: ( +

+ OberonCMS logo +
OberonCMS
+
+ ), project: { link: "https://github.com/tohuhono/oberon", }, docsRepositoryBase: - "https://github.com/tohuhono/oberon/tree/main/apps/documentation/", + "https://github.com/tohuhono/oberon/tree/main/apps/documentation", useNextSeoProps() { return { - titleTemplate: "%s – SWR", + titleTemplate: "%s - OberonCMS", } }, head: () => { - // eslint-disable-next-line react-hooks/rules-of-hooks - const { frontMatter } = useConfig() + const { asPath, defaultLocale, locale } = useRouter() + const { frontMatter, title } = useConfig() + + const siteUrl = "https://tohuhono.com" + const url = + siteUrl + (defaultLocale === locale ? asPath : `/${locale}${asPath}`) + + const defaultTitle = `OberonCMS - The NextJS Content Management System` + const description = + frontMatter.description || + `A CMS for developers, designers and content creators. Get started quickly, build beautiful performant websites.` return ( <> + + + + + + + + + + + + + + + + + + + + + - + + + ) }, - - // ... other theme options } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3b9984a..bf42868d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -140,9 +140,6 @@ importers: '@tohuhono/dev': specifier: workspace:* version: link:../../packages/tohuhono/dev - '@tohuhono/utils': - specifier: workspace:* - version: link:../../packages/tohuhono/utils '@types/node': specifier: ^20 version: 20.11.30