Saturday, January 4, 2014 at 6:08 PM

How Fargo builds a site

With Fargo you're not just editing individual web pages, you're editing an entire website in a single outline file.

Each headline with subs corresponds to a folder in the web hierarchy.

The attributes are inherited in an object-oriented way. The attributes of a headline are accessible to all the pages it contains. But any one can override its parent's attributes by specifying different values.

In other words, at each step of the site-building process, we add all the atts from the node to the pagetable. If we encounter two nodes with the same attribute, the inner one wins. You can refer to any of the atts in the page as a macro.

The path is generated by taking the text of the headline and "normalizing" it, by removing spaces and innerCasing. So "Technical docs" becomes technicalDocs.

We also look for a name attribute. You can use this feature to give a node a fixed name, allowing the text of the headline to change, without breaking URLs. So if you prefer "docs" to "technicalDocs" just set the name attribute of the node to "docs."

The site-building process goes through include nodes transparently.

The HTML text resulting from the rendering is stored in a sub-folder of the html folder in your Small Picture folder. There's one sub-folder for each outline.


Last built: Tue, Dec 9, 2014 at 3:29 PM

By Dave Winer, Saturday, January 4, 2014 at 6:08 PM. We don't need no stinkin rock stars.