-
-
23 Jun 2022 22:50:10 UTC
- Distribution: Org-Parser
- Module version: 0.558
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (2)
- Testers (25 / 0 / 0)
- Kwalitee
Bus factor: 1- 85.55% Coverage
- License: perl_5
- Perl: v5.14.0
- Activity
24 month- Tools
- Download (62.92KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- ATTRIBUTES
- METHODS
- HOMEPAGE
- SOURCE
- AUTHOR
- CONTRIBUTING
- COPYRIGHT AND LICENSE
- BUGS
NAME
Org::Document - Represent an Org document
VERSION
This document describes version 0.558 of Org::Document (from Perl distribution Org-Parser), released on 2022-06-23.
SYNOPSIS
use Org::Document; # create a new Org document tree from string my $org = Org::Document->new(from_string => <<EOF); * heading 1a some text ** heading 2 * heading 1b EOF
DESCRIPTION
Derived from Org::Element.
ATTRIBUTES
tags => ARRAY
List of tags for this file, usually set via #+FILETAGS.
todo_states => ARRAY
List of known (action-requiring) todo states. Default is ['TODO'].
done_states => ARRAY
List of known done (non-action-requiring) states. Default is ['DONE'].
priorities => ARRAY
List of known priorities. Default is ['A', 'B', 'C'].
drawer_names => ARRAY
List of known drawer names. Default is [qw/CLOCK LOGBOOK PROPERTIES/].
properties => ARRAY
File-wide properties.
radio_targets => ARRAY
List of radio target text.
time_zone => ARRAY
If set, will be passed to DateTime->new() (e.g. by Org::Element::Timestamp).
ignore_unknown_settings => bool
If set to true, unknown settings will not cause a parse failure.
METHODS
new
Usage:
$doc = Org::Document->new(%args);
Create document object. If
from_string
argument is specified, will parse the string. Otherwise, will create an empty document object. Arguments:from_string
String. String to parse into document object tree content.
load_element_modules()
Load all Org::Element::* modules. This is useful when wanting to work with element objects retrieved from serialization, where the element modules have not been loaded.
cmp_priorities($p1, $p2) => -1|0|-1
Compare two priorities
$p1
and$p2
. Return result like Perl'scmp
: 0 if the two are the same, -1 if$p1
is of higher priority (since it's more to the left position in priority list, which is sorted highest-first) than$p2
, and 1 if$p2
is of lower priority than$p1
.If either
$p1
or$p2
has unknown priority, will return undef.Examples:
$doc->cmp_priorities('A', 'A') # -> 0 $doc->cmp_priorities('A', 'B') # -> -1 (A is higher than B) $doc->cmp_priorities('C', 'B') # -> 1 (C is lower than B) $doc->cmp_priorities('X', 'A') # -> undef (X is unknown)
Note that X could be known if there is a
#+PRIORITIES
setting which defines it.HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Org-Parser.
SOURCE
Source repository is at https://github.com/perlancar/perl-Org-Parser.
AUTHOR
perlancar <perlancar@cpan.org>
CONTRIBUTING
To contribute, you can send patches by email/via RT, or send pull requests on GitHub.
Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via:
% prove -l
If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla plugin and/or Pod::Weaver::Plugin. Any additional steps required beyond that are considered a bug and can be reported to me.
COPYRIGHT AND LICENSE
This software is copyright (c) 2022, 2021, 2020, 2019, 2017, 2016, 2015, 2014, 2013, 2012, 2011 by perlancar <perlancar@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
BUGS
Please report any bugs or feature requests on the bugtracker website https://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.
Module Install Instructions
To install Org::Parser, copy and paste the appropriate command in to your terminal.
cpanm Org::Parser
perl -MCPAN -e shell install Org::Parser
For more information on module installation, please visit the detailed CPAN module installation guide.