While the mustache templates are rendered in execution time, the generator templates are executed before the server starts and produces all the needed versions of the mustache templates.
The generator needs to have a known folder structure in order to operate properly. Let’s see a typical directory structure the generator knows to use:
your_project/
├── config
│ ├── ca-ES
│ │ ├── config.ini
│ │ └── routes.ini
│ └── global
│ ├── config.ini
│ └── routes.ini
├── i18n
│ ├── ca-ES.ini
│ ├── en-US.ini
│ └── zh-CN.ini
└── sources
├── ca-ES
│ └── static
│ ├── 1234567890.txt
│ └── 505
└── global
├── Dockerfile
├── config.json
├── static
│ ├── 404
│ ├── robots.txt
│ └── sitemap.xml
└── tmpl
└── home.mustache
config
directory stores all the data that will be injected in the meta-templates.i18n
directory stores all the translationssources
directory contains all the meta-templates. Notice that there are .txt files, Dockerfile or .json files. These are meta-templates too. (Yes, you can create Dockerfiles by using variables)Notice that there is a global
folder inside sources
and config
. These files will be present in any language but if a folder with an ISO code declares the same file it will be overwritten, if it is new, it will be added to the language only.
After running the generator the following output will be created:
your_project/
...
└── output
├── ca-ES
│ ├── Dockerfile
│ ├── config.json
│ ├── static
│ │ ├── 1234567890.txt
│ │ ├── 404
│ │ ├── 505
│ │ ├── robots.txt
│ │ └── sitemap.xml
│ └── tmpl
│ └── home.mustache
├── en-US
│ ├── Dockerfile
│ ├── config.json
│ ├── static
│ │ ├── 404
│ │ ├── robots.txt
│ │ └── sitemap.xml
│ └── tmpl
│ └── home.mustache
└── zh-CN
├── Dockerfile
├── config.json
├── static
│ ├── 404
│ ├── robots.txt
│ └── sitemap.xml
└── tmpl
└── home.mustache
Now all this files are final templates (and not meta-templates). Notice how the 505
and 1234567890.txt
files exist only in the ISO ca-ES
.
Continue to Running the generator →
← Back to Multi site generator