Skip to content

Commit 00bc83b

Browse files
committed
feat: piml updates.
1 parent 3bec4de commit 00bc83b

File tree

8 files changed

+37
-15
lines changed

8 files changed

+37
-15
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fezcodex",
3-
"version": "0.1.0",
3+
"version": "0.2.1",
44
"private": true,
55
"homepage": "https://fezcode.com",
66
"dependencies": {
@@ -13,7 +13,7 @@
1313
"framer-motion": "^12.23.24",
1414
"front-matter": "^4.0.2",
1515
"marked": "^16.4.1",
16-
"piml": "^1.0.4",
16+
"piml": "^1.1.0",
1717
"qrcode.react": "^4.2.0",
1818
"react": "^19.2.0",
1919
"react-dom": "^19.2.0",

public/posts/piml.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# piml
22

3+
**Spec version**: v1.1.0
4+
35
[Available Libraries](https://github.com/fezcode/piml/blob/main/LIBRARIES.md)
46

57
[JSON<->PIML Converter](/#/apps::jpc)
@@ -36,16 +38,20 @@ Indentation is fundamental to PIML's structure, defining hierarchical relationsh
3638

3739
PIML supports single-line comments using the `#` symbol. Anything from `#` to the end of the line is ignored by parsers, allowing for clear inline documentation.
3840

41+
* **Rule:** Only lines that *start* with `#` are treated as comments. Inline comments (e.g., `(key) value # comment`) are not supported and will be considered part of the value.
42+
3943
```piml
40-
(data) value # This explains the data
44+
# This explains the data
45+
(data) value # This entire line is the value, not a comment
4146
```
4247

4348
### Escaping
4449

4550
The backslash (`\`) character is used to escape special characters within string values, ensuring that characters like `(` or `#` can be part of the data itself.
4651

4752
* Common escapes include `\n` (newline), `\t` (tab), and `\\` (literal backslash).
48-
* Example: `(title) My \(Awesome\) Title
53+
* Example: `(title) My \(Awesome\) Title`
54+
* To include a `#` character at the beginning of a line within a multi-line string, escape it with a backslash (`\`), e.g., `\# This is not a comment`.
4955

5056
## Data Types: Representing Information in PIML
5157

public/posts/posts.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"slug": "piml",
2424
"title": "Parenthesis Intended Markup Language",
2525
"date": "2025-11-12",
26-
"updated": "2025-11-13",
26+
"updated": "2025-11-14",
2727
"description": "A deep dive into PIML, a human-readable data serialization format, its syntax, data types, and comparison with JSON, YAML, and TOML.",
2828
"tags": ["piml", "data-format", "serialization", "markup", "dev"],
2929
"category": "dev",

public/projects/go-piml.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ go-piml is a Go package that provides functionality to marshal and unmarshal dat
22
---
33
# go-piml
44

5+
**Spec version**: v1.1.0
6+
57
`go-piml` is a Go package that provides functionality to marshal and unmarshal data to and from the PIML (Parenthesis Intended Markup Language) format. PIML is a human-readable, indentation-based data serialization format designed for configuration files and simple data structures.
68

79
## Features
@@ -12,7 +14,7 @@ go-piml is a Go package that provides functionality to marshal and unmarshal dat
1214
- **Complex Types:** Handles structs, slices (arrays), and maps.
1315
- **Nil Handling:** Explicitly represents `nil` for pointers, empty slices, and empty maps.
1416
- **Multi-line Strings:** Supports multi-line string values with indentation.
15-
- **Comments:** Allows single-line and inline comments using `#`.
17+
- **Comments:** Allows single-line comments using `#` (only lines starting with `#` are treated as comments).
1618
- **Time Support:** Marshals and unmarshals `time.Time` values using RFC3339Nano format.
1719

1820
## PIML Format Overview

public/projects/piml.js.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ piml.js is a JavaScript library for parsing and stringifying data in the PIML fo
22
---
33
# piml.js
44

5+
**Spec version**: v1.1.0
6+
57
`piml.js` is a JavaScript library for parsing and stringifying data in the PIML (Parenthesis Intended Markup Language) format. PIML is a human-readable, indentation-based data serialization format designed for configuration files and simple data structures.
68

79
## Features
@@ -10,7 +12,7 @@ piml.js is a JavaScript library for parsing and stringifying data in the PIML fo
1012
- **Primitive Types:** Supports strings, numbers, booleans, and null.
1113
- **Complex Types:** Handles objects and arrays.
1214
- **Multi-line Strings:** Supports multi-line string values with indentation.
13-
- **Comments:** Allows single-line and inline comments using `#`.
15+
- **Comments:** Allows single-line comments using `#` (only lines starting with `#` are treated as comments).
1416

1517
## PIML Format Overview
1618

public/projects/piml.txt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ piml is a data serialization format designed to be exceptionally human-readable
22
---
33
## 1. Introduction
44

5+
**Spec version**: v1.1.0
6+
57
### 1.1 Apps
68

79
- [JSON<->PIML Converter](/#/apps::jpc)
@@ -37,16 +39,26 @@ Consistent indentation is crucial for defining structure.
3739

3840
Comments are denoted by `#`. Everything from `#` to the end of the line is considered a comment and is ignored by parsers.
3941

42+
* **Rule:** Only lines that *start* with `#` are treated as comments. Inline comments (e.g., `(key) value # comment`) are not supported and will be considered part of the value.
43+
4044
```piml
41-
(key) value # This is a comment
45+
# This is a comment
46+
(key) value # This entire line is the value, not a comment
4247
```
4348

4449
### 2.4. Escaping
4550

51+
52+
4653
Backslash (`\`) is used for escaping characters within string values.
4754

48-
* Common escapes: `\n` (newline), `\t` (tab), `\\` (literal backslash).
49-
* If a string value needs to contain `(` or `#`, it can be escaped, e.g., `(title) My \(Awesome\) Title`.
55+
56+
57+
* Common escapes: `\n` (newline), `\t` (tab), `\\` (literal backslash).
58+
59+
* If a string value needs to contain `(` or `#`, it can be escaped, e.g., `(title) My \(Awesome\) Title`.
60+
61+
* To include a `#` character at the beginning of a line within a multi-line string, escape it with a backslash (`\`), e.g., `\# This is not a comment`.
5062

5163
## 3. Data Types
5264

src/version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const version = '0.2.0';
1+
export const version = '0.2.1';

0 commit comments

Comments
 (0)