Releases: awolverp/markupever
Releases · awolverp/markupever
v0.3.1 - 2025-05-22
Changed
- Fixed crash when connecting an element to itself (#3, Thanks to @cmdlineluser)
tag = markupever.parse("<p>").root().first_child
tag.attach(tag)
# thread '<unnamed>' panicked at lib.rs:553:9:
# assertion `left != right` failed: Cannot append node as a child to itself
# left: NodeId(2)
# right: NodeId(2)
- Rust dependencies updated
v0.3.0 - 2025-05-11
Changed
- Fix .text() parameter names - rename seperator to separator (#2, thanks to @cmdlineluser).
- Accept "html" and "xml" values as
options
in parsing. - Set default value for
options
as "html".
Added
- Make
Parser
compatible withBytesIO
andTextIO
by adding new methods.write()
and.writable()
.
Full Changelog: v0.2.1...v0.3.0
v0.2.1 - 2025-03-25
Changed
- Improve docstrings and make them cleaner
- Update dependencies
Full Changelog: v0.2.0...v0.2.1
v0.2.0 - 2025-03-16
Changed
- We have new parameters for
serialize()
andserialize_bytes()
methods:indent
andinclude_self
- Now the serializer has moved away from its rigid state and is producing beautiful outputs.
dom.serialize()
# <html>
# <head></head>
# <body>
# <p>New Release</p>
# </body>
# </html>
- Now
Parser.finish()
andParser.process()
methods returns self to make easier coding for you
result = markupever.Parser(options).process("Hello").finish()
Full Changelog: v0.1.1...v0.2.0
v0.1.1 - 2025-03-09
Changed
- Change format of
QualName.__repr__
; From now on, if both thens
andprefix
are empty, they will not be return.
>>> QualName("html")
QualName(local="html")
>>> QualName("html", "html")
QualName(local="html", ns="http://www.w3.org/1999/xhtml", prefix=None)
- Change format of
Element.__repr__
; From now on, instead of the long namemathml_annotation_xml_integration_point
will returnintegration_point
in output
# Example output:
Element(name=QualName(local="html"), attrs=[], template=false, integration_point=false)
v0.1.0 - Initial Release - 2025-03-06
Added
- Initial release of MarkupEver
Fixed
- Fix known issues and improve some performance
- Rewrite
TreeDom.__repr__
andTreeDom.__str__
methods
Example:
dom = markupever.parse("<book>Thinking</book>", markupever.XmlOptions())
repr(dom)
# TreeDom(len=3, namespaces={'': ''})
str(dom)
# Document
# └── Element(name=QualName(local="book", ns="", prefix=None), attrs=[], template=false, mathml_annotation_xml_integration_point=false)
# └── Text(content="Thinking")
v0.1.0b1 - Beta Release - 2025-03-04
Added
- Beta release of MarkupEver
- Core functionality: A library for creating, managing, and parsing markup language specially HTML and XML.
- Documentation: https://awolverp.github.io/markupever
Known Issues
- printing
TreeDom
has a busy output; will be fixed in future updates