CiceroneDocumentation

The Content Tree

The Content Tree is where everything about your project is stored.

Since the content tree covers your entire project its structure is used to organize your content at all levels: site sections, pages, article sections, paragraphs and so on...

Note:This bears repeating: in Cicerone every part of your document is a node. There is no special "page" node. What makes a page a page is how you configure that node.

This is what makes Cicerone so powerful and configurable regardless of the kind of content you are making.

A Content Tree Node

Each Node can have a parent node and possibly several children.

Each Node has a number of properties, such as whether it's a root, a slot, and what partial is responsible for rendering it.

In addition we can attach Definitions to each node. Definitions allow us to create something once and reuse it elsewhere in the tree.

Finally each node can optionally store configuration options, in particular options regarding Project Generation.

A content tree node showing generate and define props attached

Definitions on Content Tree Nodes

You can create Definitions on any node of the content tree. Definitions are named entities that represent a component, or some rules, or other things that can be reused by other nodes in the content tree.

For example you can create a Paragraph partial as a Definition on a node so that you can insert paragraphs elsewhere in your content.

Something defined on a node can only be used on that node and nodes below.

If you create an identically-named thing on a node that is a descendant, that definition replaces the upper one for all nodes at and below the second definition.

Content Tree with multiple identically named partials

In the current version of Cicerone you can define the following things: Partials, Text Styles, and Slot Rules.

Configurations on Content Tree Nodes

Generally speaking, setting a configuration on a Node only affects that Node and possibly its descendants. For example, setting a default output path for HTML files on a Node means all HTML files generated at that node and from any Node below will be output to that path. The rest of the content tree is unaffected.

More information is in the Output Generation page.