https://github.com/mojombo/toml
Tom's Obvious, Minimal Language (TOML) とはgithubの中の人が提案している設定ファイルのためのミニ言語で、以下のような特徴があります。
例えば、YAMLを設定ファイルに使っているシステムは多いですが、YAMLの仕様書は80ページもあり正しく使うのは意外と大変です。1
またJSONはカッコやダブルクオートの割合が多すぎますし、コメントも使えません。2
TOMLをつかえばそのようなストレスはありません。
TOMLの書き方は本家のドキュメント をみてもらえばすぐわかると思います。
TOMLのライブラリは各種言語に対応したものが既にたくさんあります。 言語によっては複数の実装が存在するものもありますが、とりあえずはgithub上でのstarの数が一番多いものから試すといいと思います。
わざわざ説明するほどの内容でもないですが、ここでは一応rubyでの使い方を紹介します。
gem install toml
でインストールして、以下のようにするだけです。YAMLの場合と大体同じですね。
require 'toml' TOML.load("thing = 9") # => {"thing" => 9} TOML.load_file("my_file.toml") # => {"whatever" => "keys"}
M-x list-packages
からインストールできます。TOMLという設定ファイルのための新しいフォーマットを紹介しました。 設定ファイルにYAMLやJSONつかってるひとはTOMLに移行すると幸せになれるかもしれません。
仕様を正確に実装したYAMLパーサはほとんど存在しないとかいう話もちらほら ↩