Directory Layout

A typical interact project is composed of the following paths:

NameDefault ValueDescription
@ aliassrcA directory that is mapped to the @ alias
configconfiga directory that contains extra configuration such as the markdown config
runtime.interactA directory that contains temporary runtime information such as cache, schema
builddistA directory where the build result is stored (static website and handler)
config fileinteract.config.jsonthe configuration file
contextssrc/components/contextsa directory that contains your context components
headssrc/components/headsa directory that contains your head components
imagessrc/imagesa directory that contains raster image or Svg
markdown componentssrc/components/markdowna directory that contains your custom markdown component
layoutssrc/components/layoutsa directory that contains your custom layouts
middlewaressrc/middlewaresa directory that contains the middlewares for auto-registration
publicpublicA directory that contains non-processed resources such as pdf that your pages may reference.
pagessrc/pagesA directory that contains pages
rootconfig file directoryThe base directory of your project

If the path values are relative (ie without starting slash), they are all relative to the root directory which is the directory of your project.

Configuration

The location of the config file can only be set via flag or environment variable

All other paths may be configured in the paths node of the configuration file

How to check the actual values?

With the cli

bash
interact config --filter="paths"