Like HTML (not really but similar I guess)? Like Lua? Don’t like Instance.new'ng 50 things one after the other for 300 lines? Alas, I come in your aid.
This took me like 4 hours so if you don’t like it catch me outside behind HQ.
Anyhow, I got bored and decided to rewrite an old-ish work of mine for handling instancing in an HTML/XML/anyML like fashion because laziness.
I also decided to share it here because besides the fact that haha I finished praise me thanks it took me forever to get working. It supports the ability to parse/compile guis so you ideally won’t ever need to worry about replicating them manually via .Parent or any of that hipster stuff.
Did you hear that? Compile server side and just send bytecode to client so your guis can both be created locally and be handled server side.
Yeah, although CSS might be used more for event handling or “default properties” because of how instances are handled.
@sparker22 this was more of a quick couple hour project I got working on since I noticed the older version I made ages ago was very bad. Been getting into language design related things more recently and decided this was easy enough to tackle in a day.
Yes, never released and I discontinued the work when I saw the updates made to our current GUI editor and I found them to be sufficient. I highly discouraged the use of style attributes in HTML in line, that’s just not how things are doesn’t anymore since… Ohhh 2006-7?
Here’s the source for any HTML parsing that needs be done. Parsed per the W3 consortium standards.
You can literally throw any HTML in it, and it’ll work.
I strayed away from “real HTML” due to the issue I’d find setting specific properties, since this project can instantiate any instance that Instance.new can. As an example, the usage of ! to negate a bool property or f(x) notation to make a function call result set a property have been added, but I believe it should be able to fully support the standard HTML format.
Also, there’s not as much fun in just remaking something without adding a bit of, uh, “spice”.
isn’t really a valid argument against “real HTML.” I’m not out saying you should implement HTML, but there’s nothing saying you can add on to it to make those things work - in fact that’s how mine works in the first place. Parsing attribute values and adding support for different attributes is trivial and isn’t really “HTML” specific.
I guess I was just being lazy and wanted fun at the same time. My main issue was having things like Color3 generated, due to the fact that I just hooked everything up to Instance.new, and making extra checks would mean that the project would become harder to implement in other, non-ROBLOX environments.
I hate to be that guy, but it’s probably more accurate to say that you’ve parsed the creation of Roblox GUIs into a customized XML format, since HTML refers solely to markup for web applications and pages.
It’s still really awesome, and I’d love to see a stylesheet language akin to CSS for GUI design.
Once I get some time I’ll see if I can get the CSS down. Could just add an extra arg when interpreting the HTML/XML that would be a table of data generated by the CSS, containing default values, class info, and events/connections.