As discussed in the previous page, all content in QuHelp is made up of text files which are separated in two parts: the title and the body, which contains html formatted text.
QuHelp will wrap the template's page.html file around the content file's code in order to make a complete page (the template page contains style code and partial navigation code). The page will be added in an appropriate node based on its location on the disk and all pages will be sorted later based on their title and weight.
A page's weight (which by default is 100000 and can be altered using the weight directive) specifies where in the parent folder (or node) the page will be placed. If a page has greater weight than others, it will be placed lower. If two pages have the same weight (as is the case will all pages not using the weight directive), their order will be determined using the page's title.
By default pages have a template-provided icon (which in the default template is a bluish page icon with some lines), however a page can use the icon directive to specify a different icon. In this case, the icon must be placed inside the content directory regardless of the page's location in the directory tree.
Pages can also reference (link to) several other files, such as images. These files must be placed at the same location as the page's .txt file. For folders, the files must be placed inside the directory for that folder, right where the info.txt file is located.
A page can be set as conditional and be included only when specific conditions are met. Conditions are simple strings defined using the @condition directive. The directive's value is a single string which contains all the required conditions for a page. For example, if a page is to be included only when the macosx and shareware conditions are met, it should have a @condition=macosx,shareware directive. The page will be omitted unless quhelp is called with the arguments -C macosx -C shareware. Note that conditions from arguments are checked by doing a simple string search (via the C strstr function) so a page condition shareware_only will match an argument condition -C only. Note that if an empty condition is set (that is, @condition= is specified but without any value), the page will never be included.