←back to thread

67 points hgs3 | 1 comments | | HN request time: 0.601s | 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.

1. buzzm ◴[] No.43605418[source]
Of late I have grown fond of ... brace yourself ... RDF in turtle format for config files. Supports comments, multiline literals, built-in support for references, and rich typing via xsd casting when necessary e.g. ex:subject ex:createdOn "2002-01-24T12:00:00.000Z"^^xsd:dateTime ; You can have no namespace (:subject :name "foo") or one or more to help separate metadata and structure (the config structure) from actual config data (ex:myInstance config:logfile "pathname to file"). And of course, all the metadata itself is labelable and can carry comments and descriptions so the config is essentially self-documenting. Or at least there is a standard, straightforward way to extract and organize the labels and comments if time has been taken to add them.