Code#

Qualified name: rsm.nodes.Code

class rsm.nodes.Code(source='', lang='', **kwargs)[source]#

Bases: NodeWithChildren

Methods

Attributes

newmetakeys

Meta keys to add to those of the parent class.

nodeid

Node id - always exists (unlike label), automatically assigned, unique within the tree.

label

Unique identifier.

classes

CSS classes for this node.

handrail_depth

The number of ancestors of this node that have a handrail.

number

Node number.

nonum

Whether this node should be automatically given a number.

reftext_template

Reftext template, or "" to use classreftext.

start_point

The start point of the corresponding concrete syntax tree node.

end_point

The end point of the corresponding concrete syntax tree node.

newmetakeys: ClassVar[set] = {'lang'}[source]#

Meta keys to add to those of the parent class.

Important

Only use this when defining a new Node subclass. When dealing with Node isntances, do not access this attribute directly neither for reading nor writing. Always use metakeys() in that case.

See also

metakeys()

Examples

The keys in newmetakeys are added to the meta keys of the parent class.

>>> nodes.Heading.newmetakeys
{'title'}
>>> nodes.Heading.metakeys() == nodes.Node.metakeys() | {"title"}
True

The intended use, and only supported use, of newmetakeys is at the time of class definition.

>>> class NewNode(nodes.Node):
...     newmetakeys = {"newkey"}
>>> NewNode.metakeys() == nodes.Node.metakeys() | {"newkey"}
True