exhibition.node module

exception exhibition.node.FrontMatterNotFound[source]

Bases: Exception

class exhibition.node.Node(path, parent, meta=None)[source]

Bases: object

A node represents a file or directory

Parameters
  • path – A pathlib.Path that is either the content_path or a child of it.

  • parent – Either another Node or None

  • meta – A dict-like object that will be passed to a Config instance

add_child(child)[source]

Add a child to the current Node

If the child doesn’t already have its parent set to this Node, then an AssertionError is raised.

property cache_bust
property content

Get the actual content of the Node

If filter has been specified in meta, that filter will be used to further process the content.

content_filters()[source]

Yields tuples in the form (filter_funct, glob pattern)

property data

Extracts data from contents of file

For example, a YAML file

classmethod from_path(path, parent=None, meta=None)[source]

Given a pathlib.Path, create a Node from that path as well as any children. Children are loaded in Unicode codepoint order - this order is preserved in Node.children if you’re unsure what that means.

If the path is not a file or a dir, an AssertionError is raised

Parameters
  • path – A pathlib.Path that is either the content_path or a child of it.

  • parent – Either another Node or None

  • meta – A dict-like object that will be passed to a Config instance

property full_path

Full path of node when deployed

property full_url

Get full URL for node, including trailing slash

get_from_path(path)[source]

Given a relative or absolute path, return the Node that represents that path.

Parameters

path – A str or pathlib.Path

property index_file
property marks

Marked sections from content

property meta

Configuration object

Finds and processes the YAML front matter at the top of a file

If the file does not start with ---\n, then it’s assumed the file does not contain any meta YAML for us to process

render()[source]

Process node and either create the directory or write contents of file to deploy_path

property siblings

Returns all children of the parent Node, except for itself

property strip_exts
walk(include_self=False)[source]

Walk through Node tree