Skip to content
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

Fully committing core to the $genesis widget #7129

Merged
merged 1 commit into from Jan 19, 2023

Conversation

flibbles
Copy link
Contributor

I love the new genesis widget.

It's great. It provides a far better mechanism for dynamic widgets than the old way, which was to do placeholder widget like this: \define macro(tag:div) <$tag$>...

Placeholder widgets were bad for plugin developers like me. Take Uglify. It can't parse <$tag$>, so it actually saw it as plaintext containing a placeholder. And all it could do was stay away from it, because touching it was dangerous. As a result, Uglify becomes much less effective around them. But it can handle <$genesis> just fine. It's safer. It compresses better.

Even Relink prefers $genesis. If it encountered <$tag$ attribute=...>, it couldn't relink any of its attributes at all, because it couldn't parse it as a widget. With $genesis, it can. (It may still fail to identify some string-value attributes that require relinking in some cases, but it's still far better off with a $genesis widget).

In fact, my only complaint about the genesis widget is this:

Why aren't we fully embracing it?

This PR addresses that by migrating the few remaining places in core where dangerous placeholder widgets were still used.

@vercel
Copy link

vercel bot commented Dec 17, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
tiddlywiki5 ✅ Ready (Inspect) Visit Preview Dec 17, 2022 at 6:53PM (UTC)

@Jermolene
Copy link
Owner

That's great, thank you @flibbles. I'm deferring merging PRs until the bug fix release of v5.2.5, and in the meantime have added this PR to the list at #7100

@Jermolene
Copy link
Owner

I love the new genesis widget.

I meant to say thank you for the kind words!

@Jermolene Jermolene merged commit c20c35c into Jermolene:master Jan 19, 2023
@Jermolene
Copy link
Owner

Thank you for your patience @flibbles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants