:py:mod:`myst_parser.parsers.parse_html`
========================================

.. py:module:: myst_parser.parsers.parse_html

.. autodoc2-docstring:: myst_parser.parsers.parse_html
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`Attribute <myst_parser.parsers.parse_html.Attribute>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Attribute
          :summary:
   * - :py:obj:`Element <myst_parser.parsers.parse_html.Element>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element
          :summary:
   * - :py:obj:`Root <myst_parser.parsers.parse_html.Root>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Root
          :summary:
   * - :py:obj:`Tag <myst_parser.parsers.parse_html.Tag>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tag
          :summary:
   * - :py:obj:`XTag <myst_parser.parsers.parse_html.XTag>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.XTag
          :summary:
   * - :py:obj:`VoidTag <myst_parser.parsers.parse_html.VoidTag>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.VoidTag
          :summary:
   * - :py:obj:`TerminalElement <myst_parser.parsers.parse_html.TerminalElement>`
     -
   * - :py:obj:`Data <myst_parser.parsers.parse_html.Data>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Data
          :summary:
   * - :py:obj:`Declaration <myst_parser.parsers.parse_html.Declaration>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Declaration
          :summary:
   * - :py:obj:`Comment <myst_parser.parsers.parse_html.Comment>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Comment
          :summary:
   * - :py:obj:`Pi <myst_parser.parsers.parse_html.Pi>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Pi
          :summary:
   * - :py:obj:`Char <myst_parser.parsers.parse_html.Char>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Char
          :summary:
   * - :py:obj:`Entity <myst_parser.parsers.parse_html.Entity>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Entity
          :summary:
   * - :py:obj:`Tree <myst_parser.parsers.parse_html.Tree>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree
          :summary:
   * - :py:obj:`HtmlToAst <myst_parser.parsers.parse_html.HtmlToAst>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst
          :summary:

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`tokenize_html <myst_parser.parsers.parse_html.tokenize_html>`
     - .. autodoc2-docstring:: myst_parser.parsers.parse_html.tokenize_html
          :summary:

API
~~~

.. py:class:: Attribute()
   :canonical: myst_parser.parsers.parse_html.Attribute

   Bases: :py:obj:`dict`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Attribute

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Attribute.__init__

   .. py:property:: classes
      :canonical: myst_parser.parsers.parse_html.Attribute.classes
      :type: list[str]

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Attribute.classes

.. py:class:: Element(name: str = '', attr: dict | None = None)
   :canonical: myst_parser.parsers.parse_html.Element

   Bases: :py:obj:`collections.abc.MutableSequence`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.__init__

   .. py:property:: parent
      :canonical: myst_parser.parsers.parse_html.Element.parent
      :type: myst_parser.parsers.parse_html.Element | None

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.parent

   .. py:property:: children
      :canonical: myst_parser.parsers.parse_html.Element.children
      :type: list[myst_parser.parsers.parse_html.Element]

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.children

   .. py:method:: reset_children(children: list[myst_parser.parsers.parse_html.Element], deepcopy: bool = False)
      :canonical: myst_parser.parsers.parse_html.Element.reset_children

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.reset_children

   .. py:method:: insert(index: int, item: myst_parser.parsers.parse_html.Element)
      :canonical: myst_parser.parsers.parse_html.Element.insert

   .. py:method:: deepcopy() -> myst_parser.parsers.parse_html.Element
      :canonical: myst_parser.parsers.parse_html.Element.deepcopy

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.deepcopy

   .. py:method:: render(tag_overrides: dict[str, collections.abc.Callable[[myst_parser.parsers.parse_html.Element, dict], str]] | None = None, **kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Element.render
      :abstractmethod:

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.render

   .. py:method:: walk(include_self: bool = False) -> collections.abc.Iterator[myst_parser.parsers.parse_html.Element]
      :canonical: myst_parser.parsers.parse_html.Element.walk

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.walk

   .. py:method:: strip(inplace: bool = False, recurse: bool = False) -> myst_parser.parsers.parse_html.Element
      :canonical: myst_parser.parsers.parse_html.Element.strip

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.strip

   .. py:method:: find(identifier: str | type[myst_parser.parsers.parse_html.Element], attrs: dict | None = None, classes: collections.abc.Iterable[str] | None = None, include_self: bool = False, recurse: bool = True) -> collections.abc.Iterator[myst_parser.parsers.parse_html.Element]
      :canonical: myst_parser.parsers.parse_html.Element.find

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Element.find

.. py:class:: Root(name: str = '', attr: dict | None = None)
   :canonical: myst_parser.parsers.parse_html.Root

   Bases: :py:obj:`myst_parser.parsers.parse_html.Element`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Root

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Root.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Root.render

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Root.render

.. py:class:: Tag(name: str = '', attr: dict | None = None)
   :canonical: myst_parser.parsers.parse_html.Tag

   Bases: :py:obj:`myst_parser.parsers.parse_html.Element`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tag

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tag.__init__

   .. py:method:: render(tag_overrides: dict[str, collections.abc.Callable[[myst_parser.parsers.parse_html.Element, dict], str]] | None = None, **kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Tag.render

.. py:class:: XTag(name: str = '', attr: dict | None = None)
   :canonical: myst_parser.parsers.parse_html.XTag

   Bases: :py:obj:`myst_parser.parsers.parse_html.Element`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.XTag

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.XTag.__init__

   .. py:method:: render(tag_overrides: dict[str, collections.abc.Callable[[myst_parser.parsers.parse_html.Element, dict], str]] | None = None, **kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.XTag.render

.. py:class:: VoidTag(name: str = '', attr: dict | None = None)
   :canonical: myst_parser.parsers.parse_html.VoidTag

   Bases: :py:obj:`myst_parser.parsers.parse_html.Element`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.VoidTag

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.VoidTag.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.VoidTag.render

.. py:class:: TerminalElement(data: str)
   :canonical: myst_parser.parsers.parse_html.TerminalElement

   Bases: :py:obj:`myst_parser.parsers.parse_html.Element`

   .. py:method:: deepcopy() -> myst_parser.parsers.parse_html.TerminalElement
      :canonical: myst_parser.parsers.parse_html.TerminalElement.deepcopy

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.TerminalElement.deepcopy

.. py:class:: Data(data: str)
   :canonical: myst_parser.parsers.parse_html.Data

   Bases: :py:obj:`myst_parser.parsers.parse_html.TerminalElement`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Data

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Data.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Data.render

.. py:class:: Declaration(data: str)
   :canonical: myst_parser.parsers.parse_html.Declaration

   Bases: :py:obj:`myst_parser.parsers.parse_html.TerminalElement`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Declaration

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Declaration.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Declaration.render

.. py:class:: Comment(data: str)
   :canonical: myst_parser.parsers.parse_html.Comment

   Bases: :py:obj:`myst_parser.parsers.parse_html.TerminalElement`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Comment

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Comment.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Comment.render

.. py:class:: Pi(data: str)
   :canonical: myst_parser.parsers.parse_html.Pi

   Bases: :py:obj:`myst_parser.parsers.parse_html.TerminalElement`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Pi

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Pi.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Pi.render

.. py:class:: Char(data: str)
   :canonical: myst_parser.parsers.parse_html.Char

   Bases: :py:obj:`myst_parser.parsers.parse_html.TerminalElement`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Char

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Char.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Char.render

.. py:class:: Entity(data: str)
   :canonical: myst_parser.parsers.parse_html.Entity

   Bases: :py:obj:`myst_parser.parsers.parse_html.TerminalElement`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Entity

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Entity.__init__

   .. py:method:: render(**kwargs) -> str
      :canonical: myst_parser.parsers.parse_html.Entity.render

.. py:class:: Tree(name: str = '')
   :canonical: myst_parser.parsers.parse_html.Tree

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.__init__

   .. py:method:: clear()
      :canonical: myst_parser.parsers.parse_html.Tree.clear

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.clear

   .. py:method:: last() -> myst_parser.parsers.parse_html.Element
      :canonical: myst_parser.parsers.parse_html.Tree.last

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.last

   .. py:method:: nest_tag(name: str, attrs: dict)
      :canonical: myst_parser.parsers.parse_html.Tree.nest_tag

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.nest_tag

   .. py:method:: nest_xtag(name: str, attrs: dict)
      :canonical: myst_parser.parsers.parse_html.Tree.nest_xtag

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.nest_xtag

   .. py:method:: nest_vtag(name: str, attrs: dict)
      :canonical: myst_parser.parsers.parse_html.Tree.nest_vtag

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.nest_vtag

   .. py:method:: nest_terminal(klass: type[myst_parser.parsers.parse_html.TerminalElement], data: str)
      :canonical: myst_parser.parsers.parse_html.Tree.nest_terminal

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.nest_terminal

   .. py:method:: enclose(name: str)
      :canonical: myst_parser.parsers.parse_html.Tree.enclose

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.Tree.enclose

.. py:class:: HtmlToAst(name: str = '', convert_charrefs: bool = False)
   :canonical: myst_parser.parsers.parse_html.HtmlToAst

   Bases: :py:obj:`html.parser.HTMLParser`

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst

   .. rubric:: Initialization

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.__init__

   .. py:attribute:: void_elements
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.void_elements
      :value: None

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.void_elements

   .. py:method:: feed(source: str) -> myst_parser.parsers.parse_html.Root
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.feed

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.feed

   .. py:method:: handle_starttag(name: str, attr)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_starttag

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_starttag

   .. py:method:: handle_startendtag(name: str, attr)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_startendtag

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_startendtag

   .. py:method:: handle_endtag(name: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_endtag

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_endtag

   .. py:method:: handle_data(data: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_data

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_data

   .. py:method:: handle_decl(decl: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_decl

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_decl

   .. py:method:: unknown_decl(decl: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.unknown_decl

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.unknown_decl

   .. py:method:: handle_charref(data: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_charref

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_charref

   .. py:method:: handle_entityref(data: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_entityref

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_entityref

   .. py:method:: handle_pi(data: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_pi

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_pi

   .. py:method:: handle_comment(data: str)
      :canonical: myst_parser.parsers.parse_html.HtmlToAst.handle_comment

      .. autodoc2-docstring:: myst_parser.parsers.parse_html.HtmlToAst.handle_comment

.. py:function:: tokenize_html(text: str, name: str = '', convert_charrefs: bool = False) -> myst_parser.parsers.parse_html.Root
   :canonical: myst_parser.parsers.parse_html.tokenize_html

   .. autodoc2-docstring:: myst_parser.parsers.parse_html.tokenize_html
