html-filter 0.2.2

Crate to parse, filter, search and edit an HTML file.
Documentation
<!>
<!DOCTYPE >
<!DOCTYPE html>
<html lang="en">
    <head>
        <!-- prettier-ignore -->
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Test HTML</title>
        <style>
            @keyframes a {
                0% {
                    --x: rotate(0deg);
                }
                100% {
                    --x: rotate(360deg);
                }
            }

            :is(div, span, [data-test]):not(.skip, :has(+ p)) {
                animation: a 2s infinite;
                transform: var(--x, scale(1)) perspective(500px) rotateY(30deg);
                display: grid;
                grid-template-areas: "a b" "c d";
            }

            @media (min-width: calc(100px + 2em)) {
                :where(.container) > :nth-child(even of .item, .box):hover {
                    colour: hsl(calc(360 * var(--hue, 1)), 50%, 50%);
                    content: counter(my-counter, upper-roman);
                }
            }

            @supports (display: flex) and (animation-name: a) {
                *::before {
                    content: "";
                    position: absolute;
                    inset: 10% auto auto 10%;
                }
            }
        </style>
    </head>
    <body>
        <header>
            <h1>Test Page</h1>
            <div class="some_class some_other_class">Secret</div>
            <nav>
                <ul>
                    <!--@<li> -->
                    <li><a xlink:href="#">About</a></li>
                    <li>
                        <!-- prettier-ignore -->
                        <a href="#">Contact<br> us</a>
                    </li>
                </ul>
            </nav>
        </header>
        <main class="container">
            <section>
                <h2>Forms</h2>
                <form action="#" method="post">
                    <input type="sub\mit" id="name" name="name" />
                    <input type='sub"mit' value="Submit" />
                    <!-- prettier-ignore -->
                    <button enabled/>
                </form>
            </section>

            <section>
                <h2><!--- Table --->Table</h2>
                <table border="1">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>Name</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>1</td>
                            <td>Alice</td>
                        </tr>
                        <tr>
                            <td>2</td>
                            <td>Bob</td>
                        </tr>
                    </tbody>
                </table>
            </section>

            <section>
                <h2>Lists</h2>
                <ul>
                    <li>Item 1</li>
                    <li>Item 2</li>
                </ul>
                <ol>
                    <li>First</li>
                    <li>Second</li>
                </ol>
                <input enabled />
            </section>

            <section>
                <h2>Divs & Spans</h2>
                <div class="box"></div>
                <div class="box"></div>
                <div class="box"></div>
                <span>Inline span</span>
            </section>

            <section>
                <h2>Media</h2>
                <img src="test.jpg" alt="Test Image" />
                <video controls>
                    <source src="test.mp4" type="video/mp4" />
                </video>
            </section>

            <section>
                <h2>Embedded Script</h2>
            </section>

            <section>
                <h2>Forms with Various Inputs</h2>
                <form>
                    <input type="checkbox" id="check" />
                    <label for="check">Check me</label>
                    <input radio type="radio" name="radio" id="radio1" />
                    <label for="radio1">Option 1</label>
                    <input radio type="radio" name="radio" id="radio2" />
                    <label for="radio2">Option 2</label>
                    <input type="date" />
                    <input type="file" />
                </form>
            </section>
        </main>

        <footer>
            <p>2025 Test Footer</p>
        </footer>

        <script>
                        (()=> {
              "use strict";

              class A extends (class { constructor() { return Object.setPrototypeOf(this, new.target.prototype); } }) {
                #x = (super(), 42);

                static {
                  const f = () => { try { return arguments.callee; } catch { return f; } };
                  this.y = f();
                }

                ["m" + "ethod"](...[a, b = (yield, this.#x)]) {
                  return { [Symbol.toPrimitive](hint) { return hint === "number" ? +b : a } };
                }
              }

              let [x, { [x ??= "method"]: y }] = [new A(), new A()];
              console.log(x[y]); // Triggers Symbol.toPrimitive
            })();
        </script>
    </body>
</html>