Skip to content

Support @ shorthand for v-on: directive #36

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 13, 2025
Merged

Support @ shorthand for v-on: directive #36

merged 2 commits into from
Jun 13, 2025

Conversation

lucaswerkmeister
Copy link
Member

This is used in some WikibaseLexeme templates (albeit never in the server-rendered path as far as I can tell), so we should support it. There are two related problems: old versions of libxml2 complain about @-prefixed attribute names, and our code only checked for v-on:. Both are fairly simple to resolve.

The libxml2 error doesn’t happen on my system, so I assume it was fixed in some recent-ish version; libxml2 2.14.0, which boasts a tokenizer “conform[ing] fully to HTML5” and “several non-standard syntax warnings […] removed”, seems like the most likely candidate, but I haven’t tested the behavior with different versions. But in any event, libxml2 is clearly able to parse the markup and produce a DOM that we can work with (as evidenced by the fact that the WikibaseLexeme template have worked for years before we started raising the libxml2 errors as exceptions in ba3f8e0 / #32), so we can just ignore the errors.

I assume this was meant to be “remove handler from output” rather than
whatever a “form output” is (<form> output?).
This is used in some WikibaseLexeme templates (albeit never in the
server-rendered path as far as I can tell), so we should support it.
There are two related problems: old versions of libxml2 complain about
@-prefixed attribute names, and our code only checked for v-on:. Both
are fairly simple to resolve.

The libxml2 error doesn’t happen on my system, so I assume it was fixed
in some recent-ish version; libxml2 2.14.0 [1], which boasts a tokenizer
“conform[ing] fully to HTML5” and “several non-standard syntax warnings
[…] removed”, seems like the most likely candidate, but I haven’t tested
the behavior with different versions. But in any event, libxml2 is
clearly able to parse the markup and produce a DOM that we can work with
(as evidenced by the fact that the WikibaseLexeme template have worked
for years before we started raising the libxml2 errors as exceptions in
ba3f8e0 / #32), so we can just ignore the errors.

[1]: https://download.gnome.org/sources/libxml2/2.14/libxml2-2.14.0.news
@lucaswerkmeister lucaswerkmeister requested a review from yerdua June 13, 2025 14:06
@yerdua yerdua merged commit 2d28b47 into master Jun 13, 2025
8 checks passed
@yerdua yerdua deleted the v-on-shorthand branch June 13, 2025 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants