Author of Mark Notation here.
Mark is a unified notation for both object and markup data, combining the best of JSON, HTML, and XML with a clean syntax and succinct data model.
I'm glad to announce the 1.0 Release of Mark. This release is just the start of a long journey to make web a better platform to store and exchange data.
Your feedback welcome!
gao_xing13 days ago
Dear author,
kudos! It's impressive to see so many rich scalar types supported under Mark, including: symbol, decimal number, datetime, binary, and even Element as a new container type. Excited to try this notation out!
Thank you.
henryluoop13 days ago
Glad you like it. I have bigger plan for what's currently released. My next goal is to unify the schema of all those data formats, like JSON, XML, HTML, etc. And make the new Mark Schema able to validate all those data formats.
gao_xing13 days ago
Wow, looking forward to the full-fledged version with unified support of features from JSON, XML, and HTML!
[deleted]13 days agocollapsed
FerkiHN13 days ago
The idea is cool, but in my opinion, the downside of many types of notation is the markup symbols, which are essentially useless, like they complicate the syntax with symbols, although everything worked without them anyway, I wanted them to solve this.
henryluoop13 days ago
Glad to see your comment. Not sure I get you right. I also do not like many data notations and formats floating around. I hope there's one notation that can unify all the data that I'm concerned with. That's why I created Mark.
FerkiHN13 days ago
Sorry for writing in a strange way, in short, your Mark is wonderful, but I don't like the symbols in the markup like "<" before each command, because without them, in fact, you can also make a working markup, maybe they use it for beauty?
henryluoop7 days ago
As for the '<' and '>' to open and close an element, there are two potential kinds of syntax design. Option 1 is to use some explicit delimiters. Mark 1.0 has settled on '<' and '>'. Mark 0.11 was using '{' and '}', which I felt confusing with map. So I changed to '<' and '>', to make it consistent with HTML/JSX and XML, which most developers are already used to. Option 2 is to use indentation to delimit the enclosed child content, like in Python and YAML.
Option 2 looks cleaner for configuration kind of usage. However, Mark is designed to be embedded in a scripting language, and used beyond just configuration files. Unless the scripting language uses indentation as delimiter, like Python, option 2 will not work.
Personally, I prefer C/Java/JS family of languages that has insignificant whitespace. So Mark is designed to use explicit delimiters '<' and '>' to enclose an element.
Hope that explains one of the most important syntax designs of Mark.
GOTO9513 days ago
Obligatory: https://xkcd.com/927/
henryluoop13 days ago
A new notation by itself won't be useful. It's the tool stack, the eco system around it that matters. That's why I'm building beyond that the format itself. I'm building the schema, the validator, the scripting and query language around it.
henryluoop13 days ago
Yes, it's a must! Have that posted in the 0.11 beta release as well. :-)
henryluoop13 days ago
Here's the XKCD 927 post from last beta release: https://news.ycombinator.com/item?id=16308803