ExpandraExpandra lets you synthesize PDML markup from a condensed representation. It uses a subset of Emmet syntax. Features
Unimplemented Emmet FeaturesMost of Emmet's features are not implemented in Expandra, and some are not planned. Below is a list of the important ones that might trip you up, along with brief notes on whether features are planned or not. Item Numbering: $Not sure - I've never used this, but I'd be interested to hear your thoughts. If you use this a lot, what do you use it for? ID and Class ShortcutsNot sure - this is useful, but it's tied to HTML. Knowing which attributes to resolve to in other languages later would need extra logic. Climb-Up: ^Not planned - you can already achieve this with groups. Maybe this would make things more readable if you're doing a lot of grouping, I don't know. If you disagree, I'd be interested to hear your thoughts. CSS-Specific TransformationsNot planned - modern code editors auto-complete these anyway so there's little benefit. HTML-Specific TransormationsNot planned - other languages are planned to be supported, and this could easily proliferate extension size and/or memory use. The benefit here might be worth it, but it might warrant extra syntax to accommodate languages that allow namespaces. That is, Emmet uses ':' for this, but to specify an XML or PDML namespace something else would need to be used. Implicit Tag NamesNot planned - I'm not sure it's worth it. Knowing which tag names to resolve to in other languages later would need extra logic. Tag Name AliasesNot planned - this could be useful if there are long tag names, which may be the case in languages other than HTML, but because several languages are planned to be supported, this might also not be worth it. Extension SettingsYou can configure settings for supported languages with the Example: Disable Expansion for PDML
A supported language might have its own settings. Example: Alternative PDML Attribute SyntaxPDML attributes are wrapped by delimiters, of which there are two variations. The
default is
Experimental JSON SupportOnly basic tests have been done. Also, the groups specified in an expansion string have an additional meaning for JSON. In nestable markup languages like PDML, a group is used in the expansion string to determine the parent for a group of elements, and nothing more. In JSON, it also means, "wrap these elements inside ExampleIn PDML, the expansion string
In JSON, that would be:
You can insert that into a JSON object, but if you need it to be its own JSON object, you could wrap the whole expansion string in
Known Issues
ContributingFile bugs, feature requests, or feedback at Github Issues. License |