Reference‎ > ‎


Appendix B: Flow of commands resolution

This is how OSB works with sections:

  1. When starting the build
    • read all the template files, determine a main list of sections in order of appearence;
  2. When entering new folder
    • create target directory if it does not exist
    • duplicate all the sections from a main list, store each one under its name in temporary list;
    • scan all the sections in temporary list to find undefined sections and add them to the temporary list;
    • repeat previous step until no new sections are found;
    • all sections are recorded with the link to containing template;
  3. When building particular content file
    • create a local list of sections corresponding to given template;
    • if .replace or .print commands provided in content files replace corresponding sections in local list in the order of appearance
    • put content file text in template;
    • for each section in local list put it in appropriate place in resulting template;
    • apply macros in order of appearance;
    • apply entities in order of appearance;
    • apply variables;
    • save the target file;
    • clear local list of sections;