Workspaces allow you to structure content into logical categories. For example it is possible to power multiple websites with a single CMS dashboard by using a workspace per website. Editors can easily switch workspaces in the dashboard.

import {Config} from 'alinea'

Config.workspace('Main workspace', {
  source: 'content',
  color: '#3F61E8',
  mediaDir: 'public',
  roots: {
    // Website pages can be managed within this Root
    pages: Config.root('Pages'),
    // Image and file uploads will end up here


Workspaces should be defined in your CMS config.


An object containing Roots.


Pick a theme color this workspace.


A directory in which published content is stored.

// content is stored in the `content` directory
source: './content'


A directory in which uploaded files are placed. In case you're using Alinea to manage web content this will often point to a directory that is made publicly available so an url can be created to download or display the file.

// uploaded files are placed in the `public` folder
mediaDir: './public'