NAME
Org::Element - Base class for Org document elements
SYNOPSIS
# Don't use directly, use the other Org::Element::* classes.
DESCRIPTION
This is the base class for all the other Org element classes.
ATTRIBUTES
document => DOCUMENT
Link to document object. Elements need this to access file-wide settings, properties, etc.
parent => undef | ELEMENT
Link to parent element. Undef if this element is the root element.
children => undef | ARRAY_OF_ELEMENTS
METHODS
$el->children_as_string() => STR
Return a concatenation of children's as_string(), or "" if there are no children.
$el->as_string() => STR
Return the string representation of element. The default implementation will just use _str (if defined) concatenated with children_as_string().
$el->seniority => INT
Find out the ranking of brothers/sisters of all sibling. If we are the first child of parent, return 0. If we are the second child, return 1, and so on.
$el->prev_sibling() => ELEMENT | undef
$el->next_sibling() => ELEMENT | undef
$el->extra_walkables => LIST
Return extra walkable elements. The default is to return an empty list, but some elements can have this, for Org::Element::Headline's title is also a walkable element.
$el->walk(CODEREF)
Call CODEREF for node and all descendent nodes (and extra walkables), depth-first. Code will be given the element object as argument.
$el->find(CRITERIA) => ELEMENTS
Find subelements. CRITERIA can be a word (e.g. 'Headline' meaning of class 'Org::Element::Headline') or a class name ('Org::Element::ListItem') or a coderef (which will be given the element to test). Will return matched elements.
$el->walk_parents(CODE)
Run CODEREF for parent, and its parent, and so on until the root element (the document), or until CODEREF returns a false value. CODEREF will be supplied ($el, $parent). Will return the last parent walked.
$el->headline() => ELEMENT
Get current headline.
$el->field_name() => STR
Try to extract "field name", being defined as either some text on the left side:
DEADLINE: <2011-06-09 >
or a description term in a description list:
- wedding anniversary :: <2011-06-10 >
$el->remove()
Remove element from the tree. Basically just remove the element from its parent.
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Org-Parser.
SOURCE
Source repository is at https://github.com/sharyanto/perl-Org-Parser.
BUGS
Please report any bugs or feature requests on the bugtracker website http://rt.cpan.org/Public/Dist/Display.html?Name=Org-Parser
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.