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
cache.interactA directory that contains temporary runtime information
builddistA directory where the build result is stored (static website and handler)
config fileinteract.config.jsonthe configuration file
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 config file path is defined in order of precedence as being the value of:

  • the confPath cli flag
  • the INTERACT_CONF_PATH environment variable if defined
  • the current directory with interact.config.json as default

You may configure the other paths in the paths node of the configuration file

How to check the actual values?

With the cli

bash
interact config --filter="paths"