summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--hjson.html.markdown94
1 files changed, 94 insertions, 0 deletions
diff --git a/hjson.html.markdown b/hjson.html.markdown
new file mode 100644
index 00000000..e000700a
--- /dev/null
+++ b/hjson.html.markdown
@@ -0,0 +1,94 @@
+---
+language: hjson
+filename: learnhjson.hjson
+contributors:
+ - ["MrTeferi", "https://github.com/MrTeferi"]
+lang: en
+---
+
+HJSON is an attempt to make [JSON](https://learnxinyminutes.com/docs/json/) more human readable.
+
+HJSON is a syntax extension to JSON.
+It's NOT a proposal to replace JSON or to incorporate it into the JSON spec itself.
+It's intended to be used like a user interface for humans,
+to read and edit before passing the JSON data to the machine.
+
+Let's take a look at examples to see the key syntax differences!
+
+```hjson
+{
+ # Comments are totally supported!
+
+ // With forward slashes too!
+
+ /*
+ Even block style comments, neat!
+ /*
+
+ # Strings do not require quotes!
+ # Just keep it to a single line
+ human: readable
+ quotes: "are fine too"
+
+ # Notice that commas are also not required!
+ # If using commas, strings DO require quotes!
+ object: {
+ name: hjson
+ properties: [
+ readable
+ exciting
+ fun
+ ]
+ with_commas: [
+ "quoted",
+ "quoty",
+ "quote"
+ ]
+ details: ["this", "is", "fine", "too"]
+ }
+
+ # Multiline quotes with proper whitespace handling are supported!
+ diary:
+ '''
+ I wish JSON was more human readable.
+ If only there was a JSON for my needs!
+ Oh wait.. there is! It's called HJSON.
+ '''
+
+ # Backslashes are interpretted as an escape character ONLY in quoted strings
+ slash: This will not have a new line\n
+ slash-quoted: "This will definitely have a new line\n"
+
+ # Make sure to use quotes when mixing whitespace with important punctuation
+ example1: "If, you're, going, to, comma in a string, use, quotes!"
+ example2: "Also if you want to use {} or [] or any JSON relevant punctuation!"
+ example3: [because, this, is, totally, BROKEN!]
+ example4: this is technically OK though: {}[],:
+
+ # Enjoy working with HJSON!
+ party-time: {
+ hjson-lovers: [
+ me
+ my mom
+ "my dad"
+ ]
+ hjson-power-level: 9000
+ supported: {
+ python: yes
+ java: yes
+ javascript: yes
+ c++: yes
+ Go: yes
+ C#: yes
+ Rust: yes
+ }
+ partial-support: ["C", "Kotlin", "Ruby", "Rust"]
+ }
+
+}
+```
+
+## Further Reading
+
+* [HJSON.github.io](https://hjson.github.io/) Main HJSON site including editor support, how-to, etc.
+* [HJSON Packages](https://github.com/hjson/) Various HJSON packages for different applications.