[go: up one dir, main page]

Skip to content

Module paths should be configurable

Although we want to encourage the use of a standard project structure, especially for greenfield projects, this may not always be possible, particularly if Antora is applied to an existing documentation project. Therefore, the path of each module should be configurable.

The module paths could be specified in antora.yml.

name: core
version: 1.5.6
modules:
- syntax
- cli
- api
- ext

NOTE: This behavior is roughly equivalent to multi-project builds in Maven and Gradle.

The modules property could also be used to exclude certain modules.

modules:
- modules/*
- '!modules/extensions'

(What I'm not sure yet is whether this filter should apply during content aggregation or during content classification).

Implicitly, the value of the modules property is the glob modules/*.

We could take this one step further and allow the output path of the module to be specified.

modules:
  syntax: syntax-reference
  cli: cli
  api: api
  ext: extensions

My instinct is to say that users should not be customizing / messing with the output to this extent, but it might be important in a migration scenario.

A moduleless structure may be represented as:

modules:
  ROOT: .

and a component with a ROOT module as well as other modules might be (though not recommend):

modules:
- ROOT: .
- modules/*
Edited by Dan Allen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information