* Update documentation for ClassroomIO: change Fumadocs to Blume, revise MDX format conventions, and clarify sidebar navigation requirements. * docs: update README and scripts for improved preview and error handling * docs: update Discord link in configuration and documentation * docs: add token-auth route and update documentation formatting * Fix formatting in auto-comment-issues.yml * Fix JSON syntax by adding a comma * fix(docs): declare Blume's Astro build deps so Cloudflare build resolves them blume build generates an Astro project under apps/docs/.blume/ that imports astro, @astrojs/mdx, @tailwindcss/vite, tailwindcss, @tailwindcss/typography, @shikijs/twoslash and @scalar/astro. Under pnpm's isolated node_modules these are nested inside blume and not resolvable from the docs app, so a clean --frozen-lockfile build (Cloudflare) fails at 'Cannot find module astro/config'. Declare them directly in @cio/docs, pinned to blume's resolved versions. * refactor(docs): update API reference paths and documentation for clarity * fix: change platofrm url to docs home page * Refactor documentation for self-hosting ClassroomIO - Removed the Supabase Cloud setup guide as it is no longer needed. - Updated the Enterprise SSO documentation to include a reference link for SSO & licensing. - Added new documentation for Content Security Policy (CSP) configuration. - Created a new section for configuring SMTP for email notifications. - Introduced a comprehensive configuration index for self-hosted ClassroomIO, detailing environment variables and their usage. - Added documentation for optional integrations including Google OAuth, OpenAI, and Unsplash. - Documented the generation and usage of required secrets for ClassroomIO. - Created a section for SSO & licensing, detailing the requirements for Enterprise features. - Added object storage configuration documentation, covering both bundled MinIO and external S3-compatible services. - Documented versioning and upgrade processes for ClassroomIO. - Updated the Coolify and Docker self-hosting guides to streamline configuration references and upgrade instructions. - Enhanced the Railway self-hosting guide with links to relevant configuration sections. - Updated token authentication documentation to reference SSO & licensing. * Add comprehensive guides for ClassroomIO features and functionalities - Introduced a new guide for the Student Dashboard, detailing navigation and features available to students. - Added a guide on using Tags for organizing and filtering courses within ClassroomIO. - Created a guide on how to take attendance in courses, including marking attendance and related functionalities. - Developed a Terminology guide to clarify key terms used throughout ClassroomIO. - Implemented a Token Auth guide for signing users into ClassroomIO from external applications using JWT. - Added instructions for using math in the editor with LaTeX support. - Created a guide for customizing the welcome email sent to students upon enrollment in courses. - Added a guide explaining what ClassroomIO is and its key features. - Updated the home documentation to provide a clearer overview of ClassroomIO and its resources. - Enhanced self-hosted configuration documentation with a new guide for deploying ClassroomIO on Dokploy. - Updated links in the self-hosted configuration documentation for better navigation. - Added new images to support the Dokploy deployment guide. - Updated asset packaging script to handle redirects for the new guide structure. - Fixed footer link to point to the correct Getting Started guide. * chore: uprage version * feat(docs): add DigitalOcean deployment guide and flatten guides structure - Add a guide for deploying ClassroomIO on DigitalOcean using Docker Compose and Caddy for automatic HTTPS. - List DigitalOcean as a deployment option in the self-hosting index. - Move guides out of content/docs/guides into content/docs (student-dashboard, tags, terminology, token-auth, what-is-classroomio, audience, cohorts, community, course, enterprise-sso, mcp, organization, quickstart/*). - Rename home.mdx to index.mdx. - Update package-assets script to emit redirects for the old guides paths. --------- Co-authored-by: Rotimi Best <[email protected]>
199 lines
5.6 KiB
TypeScript
199 lines
5.6 KiB
TypeScript
import { defineConfig } from 'blume';
|
|
|
|
/**
|
|
* The site is served at classroomio.com/docs, proxied to this worker by the
|
|
* marketing site (apps/website/src/hooks.server.ts). `deployment.base` only
|
|
* rewrites URLs in the emitted HTML — it does not nest the build output, so
|
|
* scripts/package-assets.mjs moves dist/ under docs/ to match the served path.
|
|
*
|
|
* Redirects are NOT declared here: under a base, Astro prefixes a redirect's
|
|
* source but not its target, so it would emit `url=/guides` instead of
|
|
* `/docs/guides`. They live in scripts/package-assets.mjs as a `_redirects` file.
|
|
*/
|
|
export default defineConfig({
|
|
title: 'ClassroomIO Docs | Customer, Partner, and Employee Education',
|
|
description:
|
|
'Learn how to create customer academies, partner certification programs, and employee training workflows in ClassroomIO.',
|
|
logo: {
|
|
text: 'ClassroomIO',
|
|
image: '/docs/logo-192.png',
|
|
href: '/docs'
|
|
},
|
|
content: {
|
|
root: 'content/docs'
|
|
},
|
|
deployment: {
|
|
output: 'static',
|
|
site: 'https://classroomio.com',
|
|
base: '/docs'
|
|
},
|
|
github: {
|
|
owner: 'classroomio',
|
|
repo: 'classroomio',
|
|
dir: 'apps/docs'
|
|
},
|
|
theme: {
|
|
mode: 'system'
|
|
},
|
|
search: {
|
|
provider: 'orama'
|
|
},
|
|
ai: {
|
|
llmsTxt: true
|
|
},
|
|
seo: {
|
|
x: {
|
|
creator: '@classroomio',
|
|
handle: '@classroomio'
|
|
}
|
|
},
|
|
openapi: {
|
|
enabled: true,
|
|
renderer: 'scalar',
|
|
route: '/api',
|
|
sources: [{ label: 'API', spec: './openapi/public-api.json' }]
|
|
},
|
|
navigation: {
|
|
tabs: [
|
|
{ label: 'Platform', path: '/', icon: 'house' },
|
|
{ label: 'Guides', path: '/guides', icon: 'book-open' },
|
|
{ label: 'Self Hosting', path: '/self-hosted', icon: 'server' },
|
|
{ label: 'API', path: '/api', icon: 'code' }
|
|
],
|
|
sidebar: [
|
|
{
|
|
label: 'Platform',
|
|
items: [
|
|
'/',
|
|
{
|
|
label: 'Introduction',
|
|
items: [
|
|
'/what-is-classroomio',
|
|
'/terminology',
|
|
{
|
|
label: 'Quickstart',
|
|
items: ['/quickstart/signup', '/quickstart/onboarding']
|
|
}
|
|
]
|
|
},
|
|
{
|
|
label: 'Core Features',
|
|
items: [
|
|
'/course',
|
|
'/cohorts',
|
|
'/mcp',
|
|
'/tags',
|
|
'/audience',
|
|
'/community',
|
|
'/organization',
|
|
'/student-dashboard',
|
|
'/enterprise-sso',
|
|
'/token-auth'
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
label: 'Guides',
|
|
root: '/guides',
|
|
items: [
|
|
'/guides',
|
|
{
|
|
label: '', // User Guides
|
|
items: [
|
|
{
|
|
label: 'Get started',
|
|
items: ['/guides/create-first-course']
|
|
},
|
|
{
|
|
label: 'Build a course',
|
|
items: [
|
|
'/guides/course-types',
|
|
'/guides/create-exercise',
|
|
'/guides/grade-exercise',
|
|
'/guides/course-progression',
|
|
'/guides/use-math-in-editor',
|
|
'/guides/certificates'
|
|
]
|
|
},
|
|
{
|
|
label: 'Live classes',
|
|
items: ['/guides/live-class', '/guides/take-attendance']
|
|
},
|
|
{
|
|
label: 'Enrollment & students',
|
|
items: [
|
|
'/guides/course-enrollment',
|
|
'/guides/welcome-email',
|
|
'/guides/invite-students'
|
|
]
|
|
},
|
|
{
|
|
label: 'Publish your academy',
|
|
items: [
|
|
'/guides/course-landingpage',
|
|
'/guides/org-landing-page',
|
|
'/guides/academy-sharing-and-branding',
|
|
'/guides/custom-domain'
|
|
]
|
|
},
|
|
{
|
|
label: 'Organization & team',
|
|
items: [
|
|
'/guides/customize-organization',
|
|
'/guides/invite-team-member',
|
|
'/guides/roles-and-permissions'
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
label: 'Developer Guides',
|
|
items: [
|
|
'/guides/contributing',
|
|
'/guides/contributing/devs',
|
|
'/guides/contributing/design',
|
|
'/guides/contributing/cloudflare-setup',
|
|
'/guides/contributing/org-site-opengraph-and-favicon',
|
|
'/guides/contributing/gitpod',
|
|
'/guides/contributing/demo-accounts',
|
|
'/guides/contributing/student-dashboard',
|
|
'/guides/contributing/adding-translation-to-code'
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
label: 'Self Hosting',
|
|
root: '/self-hosted',
|
|
items: [
|
|
'/self-hosted',
|
|
{
|
|
label: 'Platforms',
|
|
items: [
|
|
'/self-hosted/docker',
|
|
'/self-hosted/digitalocean',
|
|
'/self-hosted/railway',
|
|
'/self-hosted/coolify',
|
|
'/self-hosted/dokploy'
|
|
]
|
|
},
|
|
{
|
|
label: 'Configuration',
|
|
items: [
|
|
'/self-hosted/configuration',
|
|
'/self-hosted/configuration/secrets',
|
|
'/self-hosted/configuration/email',
|
|
'/self-hosted/configuration/storage',
|
|
'/self-hosted/configuration/csp',
|
|
'/self-hosted/configuration/integrations',
|
|
'/self-hosted/configuration/sso',
|
|
'/self-hosted/configuration/versions'
|
|
]
|
|
},
|
|
]
|
|
}
|
|
]
|
|
}
|
|
});
|