- COPYRIGHT AND LICENSE
Web::Microformats2::Document - A parsed Microformats2 data structure
An object of this class represents a Microformats2 data structure that has been either parsed from an HTML document or deserialized from JSON.
The expected use-case is that you will construct document objects either via the "parse" in Web::Microformats2::Parser method of Web::Microformats2::Parser, or by this class's "new_from_json" method. Once constructed, we expect you to treat documents as read-only.
See Web::Microformats2 for further context and purpose.
$doc = Web::Microformats2->new_from_json( $json_string )
Given a JSON string containing a properly serialized Microformats2 data structure, returns a Web::Microformats2::Document object.
$json = $doc->as_json
Returns a JSON representation of this object, created according to Microformats2 serialization rules.
$mf2_data_ref = $doc->as_raw_data
Returns a hash reference containing unblessed data structures that map exactly to the JSON version of this object, as defined by Microformats2 serialization rules. In other words, it contains
rel-urls keys, and builds down from there.
Call this if you'd like to parse the Microformats2 metadata out of a document and then work with it at low level, as opposed to (or as well as) using the various convenience methods offered by this class.
Equivalent to calling
decode_json() (see "decode_json" in JSON) on the output of
@items = $doc->all_items;
Returns a list of all Web::Microformats2::Item objects this document contains at any level.
@items = $doc->all_top_level_items;
Returns a list of all Web::Microformats2::Item objects this document contains at the top level.
$item = $doc->get_first( $item_type ); # So: $entry = $doc->get_first( 'h-entry' ); # Or... $entry = $doc->get_first( 'entry' );
Given a Microformats2 item-type string -- e.g. "h-entry" (or just "entry") -- returns the first item of that type that this document contains (in document order, depth-first).
Jason McIntosh (email@example.com)
This software is Copyright (c) 2018 by Jason McIntosh.
This is free software, licensed under:
The MIT (X11) License