Commit Diff


commit - 67f494057aa3a0a32cc4d948cff2f27ef9de2340
commit + 528f37cd2dbed6a7906e3adb96c12f44acba919d
blob - dec4b052c9d4aa4d15315484cb2afe448f64de79
blob + ac2dd192d74f0c1313605fe742f9460f1964dbc8
--- gmid.1
+++ gmid.1
@@ -156,7 +156,9 @@ block return 40 "temporary" "-" "failure"
 .Ed
 .Pp
 Furthermore, quoting is necessary only when a string needs to contain
-spaces, something that looks like a number or a reserved keyword.
+special characters
+.Pq like spaces or punctuation ,
+something that looks like a number or a reserved keyword.
 The last example could have been written also as:
 .Bd -literal -offset indent
 block return 40 temporary "-" failure
@@ -169,22 +171,44 @@ blocks.
 However, defining all the
 .Ic server
 blocks after the macros and the global options is recommended.
+.Pp
+Newlines are often optional, except around top-level instructions, and
+semicolons
+.Dq \&;
+can also be optionally used to separate options.
+.Pp
+Additional configuration files can be included with the
+.Ic include
+keyword, for example:
+.Bd -literal -offset indent
+include "/etc/gmid.conf.local"
+.Ed
 .Ss Macros
 Macros can be defined that will later be expanded in context.
 Macro names must start with a letter, digit or underscore and may
 contain any of those characters.
 Macros names may not be reserved words.
 Macros are not expanded inside quotes.
+.Pp
+Two kinds of macros are supported: variable-like and proper macros.
+When a macro is invoked with a
+.Dq $
+before its name its expanded as a string, whereas when it's invoked
+with a
+.Dq @
+its expanded in-place.
 .Pp
 For example:
 .Bd -literal -offset indent
 dir = "/var/gemini"
 cert = "/etc/keys"
+common = "lang it; auto index on"
 
 server "foo" {
 	root $dir "/foo"      # -> /var/gemini/foo
 	cert $cert "/foo.crt" # -> /etc/keys/foo.crt
 	key  $cert "/foo.pem" # -> /etc/keys/foo.pem
+	@common
 }
 .Ed
 .Ss Global Options