-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpiml.txt
More file actions
66 lines (49 loc) · 1.95 KB
/
piml.txt
File metadata and controls
66 lines (49 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# PIML: Parenthesis Intended Markup Language

**PIML** is a data serialization format designed for humans first, machines second. It bridges the gap between the strictness of JSON and the ambiguity of YAML, offering a syntax that is readable, writable, and structurally obvious.
> "Data should be beautiful. Structure should be self-evident."
## Why PIML?
In a world of configuration hell, PIML offers a sanctuary of clarity.
* **No Quotes:** Keys and simple strings don't need them.
* **No Trailing Commas:** End of line means end of value.
* **Explicit Structure:** Parentheses `(key)` clearly denote fields, preventing the "whitespace anxiety" of YAML.
## Syntax Showcase
Compare the elegance of PIML against traditional formats:
### PIML
```piml
(server)
(host) localhost
(port) 8080
(ssl) true
(endpoints)
> /api/v1
> /health
```
### JSON
```json
{
"server": {
"host": "localhost",
"port": 8080,
"ssl": true,
"endpoints": [
"/api/v1",
"/health"
]
}
}
```
## Ecosystem & Tools
PIML is supported by a growing ecosystem of tools:
* **[go-piml](/projects/go-piml):** A high-performance Go parser and serializer.
* **[piml.js](/projects/piml.js):** Full support for JavaScript/TypeScript environments.
* **[VS Code Extension](/projects/piml-highlighter):** Syntax highlighting and snippets for visual clarity.
* **[PIML Lab](/apps/piml-lab):** A live playground to test and convert your data.
## Specification Highlights
* **Null Safety:** `nil` handles nulls, empty lists, and empty objects gracefully.
* **Lists:** Denoted by `>` for clear, vertical scanning.
* **Comments:** Native `#` support for documenting your configuration.
* **Multi-line Strings:** Indentation-based text blocks without escape character madness.
## Get Started
Adopt PIML for your next configuration file or data exchange format.
[Read the Full Spec](https://github.com/fezcode/piml)