Added README.
[erlang-eni.git] / src / overview.edoc
1 @author Stanislaw Klekot <dozzie@jarowit.net>
2 @version 0.0.1
3 @title Configuration file parser for Erlang.
4 @doc
5
6 ENI is a configuration format based on dead-simple INI known from DOS and
7 Windows. ENI is a superset of (one of the variants of) INI -- ENI additionally
8 supports Erlang terms in config.
9
10 ENI is not intended to be used inside typical Erlang application. There is
11 already well established practice of keeping default configuration in `*.app'
12 file and customizing it by setting environment.
13
14 ENI is meant mainly for maintainers writing tools that interact with system
15 administrator. Such tools usually are scripts for starting a daemon or
16 command line tools, standalone or for issuing commands to a daemon.
17
18 You can find detailed format description here: {@link file_format}.
19
20 == Examples ==
21
22 Usage examples:
23
24 ```
25 % loading config from file
26 {ok, Conf} = eni:file("file.eni"),
27 % loading config from in-memory string
28 {ok, Conf} = eni:string("..."),
29
30 {Opts, Sections} = Conf,
31 Foo = proplists:get_value(foo, Opts),
32 BarSect = proplists:get_value(bar, Sections),
33 Bar_Baz = proplists:get_value(baz, BarSect).
34 '''
35
36 Short example of ENI file:
37
38 ```
39 ; traditional INI comment
40 # more "unixish" comment
41 % and "erlangish" comment
42
43 pid_file = /var/run/erl_daemon.pid
44 enabled_services := [http, https].
45
46 [http]
47 bind = 127.0.0.1
48 port := [8080, 8880].
49
50 [https]
51 bind := any.
52 port = 8443
53 ssl_cert = /etc/erl_daemon/cert.pem
54 ssl_key  = /etc/erl_daemon/key.pem
55 '''
56
57 <!-- vim:set ft=edoc: -->