## 6.6.2 Renderable MixIn

class `Renderable``(``)`

  The `Renderable` mixin is mixed into the `Node` namespace prior to the rendering process. The methods mixed in assist in the rendering process.

`filename`

  the filename that this object will create. Objects that don’t create new files should simply return None. The configuration determines which nodes should create new files.

`image`

  generate an image of the object and return the image filename. See the `Imager` documentation in section 6.7 for more information.

`vectorImage`

  generate a vector image of the object and return the image filename. See the `Imager` documentation in section 6.7 for more information.

`url`

  return the relative URL of the object.

  If the object actually creates a file, just the filename will be returned (e.g. ‘foo.html’). If the object is within a file, both the filename and the anchor will be returned (e.g. ‘foo.html#bar’).

`__str__``(``)`

  same as `__unicode__()`.

`__unicode__``(``)`

  invoke the rendering process on all of the child nodes. The rendering process includes walking through the child nodes, looking up the appropriate rendering method from the renderer, and calling the method with the child node as its argument.

  In addition to the actual rendering process, this method also prints out some status information about the rendering process. For example, if the node being rendered has a non-empty `filename` attribute, that means that the node is generating a new file. This filename information is printed to the log. One problem with this methodology is that the filename is not actually created at this time. It is assumed that the rendering method will check for the `filename` attribute and actually create the file.