# How Ogredoc Is Organized

Ogredoc has pages corresponding to the items in the navigation bar, described as follows:

### Main

> The Main page is the front page of this API document and provides a list of all documented elements with a summary for each. This page also contains an overall description of the API.

### Nodes

> A Node is a logical grouping of functionality. Each node has a page that contains a list of its methods, constants, event handlers and attributes, with detailed description for each.

### Extensions

> An Extension adds functionality to a native object (e.g. `String.escapeForHTML`). Each extension has its own separate page. Each of these pages has a list of methods with a detailed description for each.

### Classes

> A Class defines the API of objects returned by factory methods (e.g. `dig.pipe.create`). Each class has its own page which describes in detail all its methods, attributes, constants and event handlers.

### Loaders

> A Loader is a method that activates functionality in Ogre. The API in Ogre is grouped into nodes and each node needs activation before it can be used. The loader functions perform this activation. Loader functions cannot be called directly. They need to be called by using the `dig.load` function which takes a string as an argument. The string is the name of the loader to be called.

> For example:

> Assume we want to use the `dig.css.addStyle()` function. It is defined as being part of the `dig.css` node. The loaders entry in the Ogredoc documentation of the `dig.css` node lists 'css' as a loader. That means that before we can use the function, we need to call `dig.load('css');`
> Sometimes more than one loader is listed in the Ogredoc documentation of a node (or class or extension). In that case any of the loaders will activate that node. A loader loads more than just the node currently displayed. To decide which loader to use, go to each loader's Ogredoc entry and look at all the things activated by that loader. The first loader in the loader list is in bolded style because it is the minimal loader. All the other loaders implicitly call this loader.

### Index

> The Index contains an alphabetic list of all nodes, extensions, classes, loaders, methods, and attributes.

Note: JavaScript allows optional parameters to functions. These are documented in Ogredoc with a slightly different appearance (italicized and gray) than normal parameters.