Struct parsoid::Wikicode

source ·
pub struct Wikicode { /* private fields */ }
Expand description

Container for HTML, usually represents the entire page

Implementations§

source§

impl Wikicode

source

pub fn new(body: &str) -> Self

Create a new Wikicode instance from raw Parsoid HTML.

source

pub fn new_node(tag: &str) -> Self

Create a new HTML node with the given tag

let node = Wikicode::new_node("b");
// Append your list items
node.append(&Wikicode::new_text("bolded text"));
assert_eq!(&node.to_string(), "<b>bolded text</b>")
source

pub fn new_text(text: &str) -> Self

Create a text node with the given contents

let node = Wikicode::new_text("foo bar");
assert_eq!(&node.to_string(), "foo bar");
// Tags will be escaped
let weird_node = Wikicode::new_text("foo <bar>");
assert_eq!(&weird_node.to_string(), "foo &lt;bar&gt;");
source

pub fn set_etag(&mut self, etag: &str)

👎Deprecated since 0.7.5: etag is an internal implementation detail

Set the etag that came with this request. This allows Parsoid to preserve formatting and avoid dirty diffs when converting modified HTML back to wikitext.

source

pub fn etag(&self) -> Option<&str>

👎Deprecated since 0.7.5: etag is an internal implementation detail

Get the etag that was set on this Wikicode instance.

source

pub fn spec_version(&self) -> Option<String>

Get the HTML spec version for this document, if it’s available

source

pub fn revision_id(&self) -> Option<u64>

Get the revision id associated with the Parsoid HTML, if it has one.

source

pub fn title(&self) -> Option<String>

Get the title associated with the Parsoid HTML, if it has one.

source

pub fn redirect(&self) -> Option<Redirect>

source

pub fn text_contents(&self) -> String

Get a plain text representation of the Parsoid HTML with all markup stripped.

source

pub fn into_immutable(self) -> ImmutableWikicode

Methods from Deref<Target = NodeRef>§

source

pub fn inclusive_ancestors(&self) -> Ancestors

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

source

pub fn ancestors(&self) -> Ancestors

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

source

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

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

source

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

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

source

pub fn inclusive_following_siblings(&self) -> Siblings

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

source

pub fn following_siblings(&self) -> Siblings

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

source

pub fn children(&self) -> Siblings

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

source

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().

source

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().

source

pub fn traverse_inclusive(&self) -> Traverse

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

source

pub fn traverse(&self) -> Traverse

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

source

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

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

source

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

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

source

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.

source

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.

source

pub fn text_contents(&self) -> String

Return the concatenation of all text nodes in this subtree.

source

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.

source

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.

source

pub fn insert_after(&self, new_sibling: NodeRef)

Insert a new sibling after this node.

The new sibling is detached from its previous position.

source

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>§

source

pub fn data(&self) -> &NodeData

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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

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

source

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 Wikicode

source§

fn clone(&self) -> Wikicode

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 Wikicode

source§

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

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

impl Deref for Wikicode

§

type Target = NodeRef

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl From<ImmutableWikicode> for Wikicode

source§

fn from(immutable: ImmutableWikicode) -> Self

Converts to this type from the input type.
source§

impl From<Wikicode> for ImmutableWikicode

source§

fn from(code: Wikicode) -> Self

Converts to this type from the input type.
source§

impl From<Wikinode> for Wikicode

source§

fn from(node: Wikinode) -> Self

Converts to this type from the input type.
source§

impl PartialEq<Wikicode> for Wikicode

source§

fn eq(&self, other: &Wikicode) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl WikinodeIterator for Wikicode

source§

fn as_node(&self) -> &NodeRef

source§

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

Get a list of all comments (<!-- example -->)
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_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.
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_simblings(&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 Eq for Wikicode

source§

impl StructuralEq for Wikicode

source§

impl StructuralPartialEq for Wikicode

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

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 Twhere
    U: From<T>,

const: unstable · 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<T> ToOwned for Twhere
    T: Clone,

§

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 Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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