Roots provide the means to organize content hierarchically in a tree. Pages can have subpages, subpages can have sub-subpages and so on. This hierarchy starts at a root.

alinea.root('My root', {
  icon, contains, i18n



An icon can be used to label a root in the sidebar. Icons are implemented as a React component. You can find icons on Icones or install a package such as react-icons.


An array of strings containing the names of types that can be created at the root.

// only entries of type Page can be created at the top of the tree
contains: ['Page']


An object with internationalization configuration. Locales is an array of strings, containing locales described by a key that will, by default, show up in the url structure as well.

i18: {
  locales: ['en', 'fr', 'de']