TOML -> Tom’s Obvious, Minimal Language.
TOML 类似 INI 配置的语法,但更好!TOML 的目标是成为一个极简的配置文件格式。TOML 被设计成可以无歧义地被映射为哈希表,从而被多种语言解析。
示例代码:
# This is a TOML document. Boom.title = "TOML Example"[owner]name = "Tom Preston-Werner"organization = "GitHub"bio = "GitHub Cofounder & CEO\nLikes tater tots and beer."dob = 1979-05-27T07:32:00Z # First class dates? Why not?[database]server = "192.168.1.1"ports = [ 8001, 8001, 8002 ]connection_max = 5000enabled = true[servers] # You can indent as you please. Tabs or spaces. TOML don't care. [servers.alpha] ip = "10.0.0.1" dc = "eqdc10" [servers.beta] ip = "10.0.0.2" dc = "eqdc10"[clients]data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it
各种语言对 TOML 的支持如下:
C++ - https://github.com/skystrife/cpptoml
C#/.NET - https://github.com/LBreedlove/Toml.net
C#/.NET - https://github.com/rossipedia/toml-net
Clojure (@lantiga) - https://github.com/lantiga/clj-toml
Clojure (@manicolosi) - https://github.com/manicolosi/clojoml
Go (@thompelletier) - https://github.com/pelletier/go-toml
Java (@agrison) - https://github.com/agrison/jtoml
node.js - https://github.com/aaronblohowiak/toml
node.js/browser - https://github.com/ricardobeat/toml
node.js - https://github.com/BinaryMuse/toml-node
Objective C - https://github.com/mneorr/toml-objc.git
Objective-C (@SteveStreza) - https://github.com/amazingsyco/TOML
Perl (@alexkalderimis) - https://github.com/alexkalderimis/config-toml.pl
PHP (@leonelquinteros) - https://github.com/leonelquinteros/php-toml.git
PHP (@jimbomoss) - https://github.com/jamesmoss/toml
PHP (@coop182) - https://github.com/coop182/toml-php
Python (@f03lipe) - https://github.com/f03lipe/toml-python
Python (@uiri) - https://github.com/uiri/toml
Python - https://github.com/bryant/pytoml
Ruby (@jm) - https://github.com/jm/toml (toml gem)
Ruby (@dirk) - https://github.com/dirk/toml-ruby (toml-ruby gem)
Ruby (@eMancu) - https://github.com/eMancu/toml_parser-ruby (toml_parser-ruby gem)
Ruby (@charliesome) - https://github.com/charliesome/toml2 (toml2 gem)
编辑器支持:
Atom - https://github.com/atom/language-toml
Emacs - https://github.com/dryman/toml-mode.el
Notepad++ - https://github.com/fireforge/toml-notepadplusplus
Sublime Text 2 & 3 - https://github.com/Gakai/sublime_toml_highlighting
Synwrite - http://uvviewsoft.com/synwrite/download.html
TextMate - https://github.com/textmate/toml.tmbundle
Vim - https://github.com/cespare/vim-toml