https://github.com/emmathemartian/maple
Because JSON was overkill
https://github.com/emmathemartian/maple
vlang vlang-package
Last synced: 8 months ago
JSON representation
Because JSON was overkill
- Host: GitHub
- URL: https://github.com/emmathemartian/maple
- Owner: EmmaTheMartian
- License: mit
- Created: 2024-08-21T13:23:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-21T12:50:47.000Z (10 months ago)
- Last Synced: 2025-01-24T14:02:25.717Z (10 months ago)
- Topics: vlang, vlang-package
- Language: V
- Homepage:
- Size: 42 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license-mit.txt
Awesome Lists containing this project
- trackawesomelist - maple (⭐7) - A very simple key-value config format wrote in V. (Recently Updated / [Who Wants to Be a Millionare](https://www.boardgamecapital.com/who-wants-to-be-a-millionaire-rules.htm))
- awesome-v - maple - A very simple key-value config format wrote in V. (Applications / Serialization)
README
# maple
> Literally just a key-value (aka map) based config language. That's it.
Yes, there are loads more of these types of config languages, but I wanted to
make my own because the other options are overkill for my projects.
## What It Looks Like
`maple` is inspired by TOML and can be thought of almost* as a subset of it. The
major differences being:
- `maple` does not use `[these.things]` for maps
- `maple` uses `//` for comments instead of `#`
TL;DR: this:
```maple
key = value;
// allowed values:
// strings have to use single-quotes
my_string = 'Some string'
my_int = 1273
my_float = 12.34
my_bool = false
my_map = {
my_name = 'Emma'
more_values = 1273
}
my_array = [
1,
'uno',
3,
'cuatro'
]
```
What, did you think it was going to be a complex monstrosity?
> For a more comprehensive example, see [`example.maple`](example.maple).
## `maplecli/`
You may notice the `maplecli` folder. It contains a CLI tool to parse and read
Maple files. For the most part it is completely useless to most, but I use it
to test erroneous Maple files.
It can also be used in shell scripts to read Maple files for configuration, if
you want to do that for whatever reason.
## License
`maple` is dual-licensed under MIT and the Unlicense. Pick whichever you prefer :P