parsoid::node

Struct Section

Source
pub struct Section(/* private fields */);
Expand description

Section contains a Heading and its contents. This only covers sections generated by == headings ==, and not any <section> tag that might be present in the output (e.g. generated by an extension).

It is not expected that this node will be created manually.

See the spec for more details.

Implementations§

Source§

impl Section

Source

pub fn section_id(&self) -> i32

Get the section id (used by action=edit in section edits).

This could be 0 (lead) or a greater integer. -1 indicates an uneditable non-pseudo section, -2 is an uneditable pseudo section

Source

pub fn is_editable(&self) -> bool

Source

pub fn is_pseudo_section(&self) -> bool

Source

pub fn heading(&self) -> Option<Heading>

Methods from Deref<Target = NodeRef>§

pub fn inclusive_ancestors(&self) -> Ancestors

Return an iterator of references to this node and its ancestors.

pub fn ancestors(&self) -> Ancestors

Return an iterator of references to this node’s ancestors.

pub fn inclusive_preceding_siblings(&self) -> Rev<Siblings>

Return an iterator of references to this node and the siblings before it.

pub fn preceding_siblings(&self) -> Rev<Siblings>

Return an iterator of references to this node’s siblings before it.

pub fn inclusive_following_siblings(&self) -> Siblings

Return an iterator of references to this node and the siblings after it.

pub fn following_siblings(&self) -> Siblings

Return an iterator of references to this node’s siblings after it.

pub fn children(&self) -> Siblings

Return an iterator of references to this node’s children.

pub fn inclusive_descendants(&self) -> Descendants

Return an iterator of references to this node and its descendants, in tree order.

Parent nodes appear before the descendants.

Note: this is the NodeEdge::Start items from traverse().

pub fn descendants(&self) -> Descendants

Return an iterator of references to this node’s descendants, in tree order.

Parent nodes appear before the descendants.

Note: this is the NodeEdge::Start items from traverse().

pub fn traverse_inclusive(&self) -> Traverse

Return an iterator of the start and end edges of this node and its descendants, in tree order.

pub fn traverse(&self) -> Traverse

Return an iterator of the start and end edges of this node’s descendants, in tree order.

pub fn select( &self, selectors: &str, ) -> Result<Select<Elements<Descendants>>, ()>

Return an iterator of the inclusive descendants element that match the given selector list.

pub fn select_first( &self, selectors: &str, ) -> Result<NodeDataRef<ElementData>, ()>

Return the first inclusive descendants element that match the given selector list.

pub fn serialize<W>(&self, writer: &mut W) -> Result<(), Error>
where W: Write,

Serialize this node and its descendants in HTML syntax to the given stream.

pub fn serialize_to_file<P>(&self, path: P) -> Result<(), Error>
where P: AsRef<Path>,

Serialize this node and its descendants in HTML syntax to a new file at the given path.

pub fn text_contents(&self) -> String

Return the concatenation of all text nodes in this subtree.

pub fn append(&self, new_child: NodeRef)

Append a new child to this node, after existing children.

The new child is detached from its previous position.

pub fn prepend(&self, new_child: NodeRef)

Prepend a new child to this node, before existing children.

The new child is detached from its previous position.

pub fn insert_after(&self, new_sibling: NodeRef)

Insert a new sibling after this node.

The new sibling is detached from its previous position.

pub fn insert_before(&self, new_sibling: NodeRef)

Insert a new sibling before this node.

The new sibling is detached from its previous position.

Methods from Deref<Target = Node>§

pub fn data(&self) -> &NodeData

Return a reference to this node’s node-type-specific data.

pub fn as_element(&self) -> Option<&ElementData>

If this node is an element, return a reference to element-specific data.

pub fn as_text(&self) -> Option<&RefCell<String>>

If this node is a text node, return a reference to its contents.

pub fn as_comment(&self) -> Option<&RefCell<String>>

If this node is a comment, return a reference to its contents.

pub fn as_doctype(&self) -> Option<&Doctype>

If this node is a document, return a reference to doctype-specific data.

pub fn as_document(&self) -> Option<&DocumentData>

If this node is a document, return a reference to document-specific data.

pub fn parent(&self) -> Option<NodeRef>

Return a reference to the parent node, unless this node is the root of the tree.

pub fn first_child(&self) -> Option<NodeRef>

Return a reference to the first child of this node, unless it has no child.

pub fn last_child(&self) -> Option<NodeRef>

Return a reference to the last child of this node, unless it has no child.

pub fn previous_sibling(&self) -> Option<NodeRef>

Return a reference to the previous sibling of this node, unless it is a first child.

pub fn next_sibling(&self) -> Option<NodeRef>

Return a reference to the next sibling of this node, unless it is a last child.

pub fn detach(&self)

Detach a node from its parent and siblings. Children are not affected.

To remove a node and its descendants, detach it and drop any strong reference to it.

Trait Implementations§

Source§

impl Clone for Section

Source§

fn clone(&self) -> Section

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Section

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<Section> for Wikinode

Source§

fn from(node: Section) -> Self

Converts to this type from the input type.
Source§

impl WikinodeIterator for Section

Source§

fn as_node(&self) -> &NodeRef

Source§

fn append<N: WikiMultinode>(&self, code: &N)

Append a node as a child
Source§

fn prepend<N: WikiMultinode>(&self, code: &N)

Prepend a node as a child
Source§

fn insert_after<N: WikiMultinode>(&self, code: &N)

Insert a node after the current node, as a sibling
Source§

fn insert_before<N: WikiMultinode>(&self, code: &N)

Insert a node before the current node, as a sibling
Source§

fn select(&self, selector: &str) -> Vec<Wikinode>

Select some wiki nodes
Source§

fn select_first(&self, selector: &str) -> Option<Wikinode>

Get the first element that matches the selector, if possible
Get a list of all wikilinks ([[Foo|bar]])
Get a list of all external links ([https://example.org/ Example])
Source§

fn filter_categories(&self) -> Vec<Category>

Get a list of all categories
Source§

fn filter_comments(&self) -> Vec<Comment>

Get a list of all comments (<!-- example -->)
Source§

fn filter_images(&self) -> Vec<Image>

Get a list of all iamges
Source§

fn filter_templates(&self) -> Result<Vec<Template>>

Get a list of templates
Source§

fn filter_parser_functions(&self) -> Result<Vec<Template>>

Get a list of parser functions.
Get a list of all reference links on the page, e.g. [1]. Read more
Source§

fn filter_reference_lists(&self) -> Vec<ReferenceList>

Get a list of all reference lists on the page, e.g. <references>
Source§

fn filter_references(&self) -> Vec<Reference>

Get all references on the page. Read more
Source§

fn iter_sections(&self) -> Vec<Section>

Source§

fn filter_noinclude(&self) -> Vec<NoInclude>

Source§

fn filter_onlyinclude(&self) -> Vec<OnlyInclude>

Source§

fn parent(&self) -> Option<Wikinode>

Return the parent node, if it has one
Source§

fn next_sibling(&self) -> Option<Wikinode>

Return the next sibling node, if it has one
Source§

fn previous_sibling(&self) -> Option<Wikinode>

Return the previous sibling node, if it has one
Source§

fn inclusive_ancestors(&self) -> WikinodeMap<Ancestors>

Return an iterator of references to this node and its ancestors.
Source§

fn ancestors(&self) -> WikinodeMap<Ancestors>

Return an iterator of references to this node’s ancestors.
Source§

fn inclusive_preceding_siblings(&self) -> WikinodeMap<Rev<Siblings>>

Return an iterator of references to this node and the siblings before it.
Source§

fn preceding_siblings(&self) -> WikinodeMap<Rev<Siblings>>

Return an iterator of references to this node’s siblings before it.
Source§

fn inclusive_following_siblings(&self) -> WikinodeMap<Siblings>

Return an iterator of references to this node and the siblings after it.
Source§

fn following_siblings(&self) -> WikinodeMap<Siblings>

Return an iterator of references to this node’s siblings after it.
Source§

fn children(&self) -> WikinodeMap<Siblings>

Return an iterator of references to this node’s children.
Source§

fn inclusive_descendants(&self) -> WikinodeMap<Descendants>

Return an iterator of references to this node and its descendants, in tree order. Parent nodes appear before the descendants.
Source§

fn descendants(&self) -> WikinodeMap<Descendants>

Return an iterator of references to this node’s descendants, in tree order. Parent nodes appear before the descendants.
Source§

impl Deref for Section

Source§

type Target = NodeRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl Freeze for Section

§

impl !RefUnwindSafe for Section

§

impl !Send for Section

§

impl !Sync for Section

§

impl Unpin for Section

§

impl !UnwindSafe for Section

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WikiMultinode for T

Source§

fn as_nodes(&self) -> Vec<NodeRef>

Source§

fn as_wikinodes(&self) -> WikinodeMap<IntoIter<NodeRef>>

Source§

fn detach(&self)

Remove this from the document
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T