Skip to content
← Back to Community
I built a markup language in python called JAML!
Profile icon
HarperframeInc

JAML

Just Another Markup Language

JAML's grammar is just like JSON, but with a dash of XML. JAML is great for configuration files, but can still hold data.

Learn JAML

JAML isn't too hard to learn, with just 9 types of objects:

  • Dictionary
  • Array
  • Object
  • Label
  • String
  • Number
  • True
  • False
  • Empty

So this JAML Tutorial will be short for sure.

Dictionary

Acts like a python dictionary. The key name does not need strings.

{a:"b", 1:TRUE, 3:[4,5,6]}

Does not support Objects or Labels

Array

Acts like Python List.

[1, True, "a", {1 : 1}]

Does not support Objects or Labels

Object

Objects are great for configuration files. While can be replicated with dictionaries, Objects are much smaller and easier to read.

<python version="3.8.5" disable=FALSE>

The JAML Parser will return:

{"python": {"version":"3.8.5","disable":False}}

The point of objects is that the main object ("python") has attributes (version="3.8.5") which show how the main object should be configured

Label

Acts like a comment. Supposed to be used to separate sections.

<config>

Does not return anything.

String, Number, True, False, Empty

These Object Types should be self-explanatory, but some people might forget them.

Strings hold characters ("abc") but can hold numbers ("abc123")
Numbers hold floating points (2 and 2.5)
True and False is a boolean
Empty acts like Null or None. It has no value.

Extra: Silence jaml.jam()

Hate the Jamming Message? Just add the modifier silence=True.

What's next for JAML?

  • Optimization
  • Bugfixes
  • New Features
  • Support for other languages
  • Python to JAML
  • JSON to JAML? (maybe)
  • Overthrow YAML

You know, the norm. I plan to update JAML too.
I mean, it's just another markup language :)

Voters
Profile icon
HarperframeInc
Profile icon
programmeruser
Profile icon
DynamicSquid