←back to thread

67 points hgs3 | 1 comments | | HN request time: 0s | source

Hello everyone, I created Confetti: a simple, typeless, and localization-friendly configuration language designed for human-editable configuration files.

In my opinion, JSON works well for data interchange, but it's overused for configuration, it's not localization-friendly, and it's too syntactically noisy. INI is simple but lacks hierarchical structures and doesn't have a formal specification. Confetti is intended to bridge the gap.

I aim to keep Confetti simple and minimalistic, while encouraging others to extend it. Think of it like Markdown for configuration files: there's a core specification, but your welcome to create your own variations that suit your needs.

Show context
IshKebab ◴[] No.43554999[source]
> Confetti does not compete with JSON or XML, it competes with INI.

It clearly competes with JSON.

I think I would still much rather use JSON5 over this. It's quite similar in terms of structure and terseness, but I don't have to learn anything.

    // This is a comment.
    {
        probe_device: ["eth0", "eth1"],
        users: [
            {
                user: "*",
                login: "anonymous",
                password: "${ENV:ANONPASS}",
                machine: "167.89.14.1",
                proxy: {
                    try_ports: [582, 583, 584],
                },
            },
            {
                user: "Joe Williams",
                login: "joe",
                machine "167.89.14.1",
            },
        ],
    }
Still, it seems fairly well designed and elegant. Way better than YAML or TOML for example. Typeless seems like a bad decision in some ways but I can see the advantages.

Top marks on the name!

replies(3): >>43555025 #>>43556049 #>>43556229 #
1. eviks ◴[] No.43556229[source]
Market quote, commas, and colons aren't that terse, and it seems too simple to have to learn much of anything