Cleanups + a bunch of new features based on production usage#9
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a significant update to YDNATL, focusing on expanding HTML tag support, enhancing documentation, improving developer tooling, and adding new features for building HTML UIs in Python. The changes make the library more versatile and developer-friendly, especially for use cases involving UI serialization, drag-and-drop builders, and readable HTML generation.
Documentation and Feature Additions
README.mdto document new features: JSON serialization/deserialization, pretty printing, CSS style helpers, method chaining, context manager support, and fragment support for wrapper-free grouping. Also added detailed usage examples and clarified element/class method lists. [1] [2] [3]API and Tag Support
__all__exports for many new HTML elements (e.g.,Fragment,Legend,Output,Progress,Meter,Base,Noscript,Article,Aside,Details,Summary,Dialog,Track,Embed,Object,Param,Map,Area,Caption,Col,Colgroup,Bold,Del,Ins,Strikethrough,Underline,Kbd,Samp,Var,Mark,Dfn,Br,Wbr) insrc/ydnatl/__init__.py. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]Developer Experience and Tooling
pyproject.tomlto version 1.0.6, improved the project description, and addedblackandflake8for code formatting and linting in the development dependencies. [1] [2]run_tests.pyscript in favor of standardpytestusage, streamlining testing instructions and tooling. [1] [2]Core Improvements
src/ydnatl/core/element.pyto clean up imports, add type hints, and prepare for new features such as JSON serialization.Minor Fixes and Text Improvements
These changes collectively make YDNATL more robust, easier to use, and ready for advanced UI-building scenarios.