25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-10-19 15:32:08 +02:00

Add links in top-level options documentation to their Docs website sections

This commit is contained in:
Badlop 2024-08-12 12:43:30 +02:00
parent 918806006c
commit 15569d0b13

View File

@ -30,8 +30,9 @@ doc() ->
[{hosts,
#{value => ?T("[Domain1, Domain2, ...]"),
desc =>
?T("The option defines a list containing one or more "
"domains that 'ejabberd' will serve. This is a "
?T("List of one or more "
"_`../configuration/basic.md#host-names|host names`_ "
"(or domains) that 'ejabberd' will serve. This is a "
"**mandatory** option.")}},
{listen,
#{value => "[Options, ...]",
@ -42,15 +43,15 @@ doc() ->
{modules,
#{value => "{Module: Options}",
desc =>
?T("The option for modules configuration. See "
"_`modules.md|Modules`_ section "
"for details.")}},
?T("Set all the "
"_`modules.md|modules`_ configuration options.")}},
{loglevel,
#{value =>
"none | emergency | alert | critical | "
"error | warning | notice | info | debug",
desc =>
?T("Verbosity of log files generated by ejabberd. "
?T("Verbosity of ejabberd "
"_`../configuration/basic.md#logging|logging`_. "
"The default value is 'info'. "
"NOTE: previous versions of ejabberd had log levels "
"defined in numeric format ('0..5'). The numeric values "
@ -106,7 +107,8 @@ doc() ->
{default_db,
#{value => "mnesia | sql",
desc =>
?T("Default persistent storage for ejabberd. "
?T("_`database.md#default-database|Default database`_ "
"to store persistent data in ejabberd. "
"Modules and other components (e.g. authentication) "
"may have its own value. The default value is 'mnesia'.")}},
{default_ram_db,
@ -135,7 +137,9 @@ doc() ->
{acl,
#{value => "{ACLName: {ACLType: ACLValue}}",
desc =>
?T("The option defines access control lists: named sets "
?T("This option defines "
"_`../configuration/basic.md#acl|access control lists`_: "
"named sets "
"of rules which are used to match against different targets "
"(such as a JID or an IP address). Every set of rules "
"has name 'ACLName': it can be any string except 'all' or 'none' "
@ -317,7 +321,9 @@ doc() ->
{anonymous_protocol,
#{value => "login_anon | sasl_anon | both",
desc =>
[?T("Define what anonymous protocol will be used: "), "",
[?T("Define what "
"_`authentication.md#anonymous-login-and-sasl-anonymous|anonymous`_ "
"protocol will be used: "), "",
?T("* 'login_anon' means that the anonymous login method will be used. "), "",
?T("* 'sasl_anon' means that the SASL Anonymous method will be used. "), "",
?T("* 'both' means that SASL Anonymous and login anonymous are both "
@ -332,10 +338,8 @@ doc() ->
{append_host_config,
#{value => "{Host: Options}",
desc =>
?T("To define specific ejabberd modules in a virtual host, "
"you can define the global 'modules' option with the common modules, "
"and later add specific modules to certain virtual hosts. "
"To accomplish that, 'append_host_config' option can be used.")}},
?T("Add a few specific options to a certain "
"_`../configuration/basic.md#virtual-hosting|virtual host`_.")}},
{auth_cache_life_time,
#{value => "timeout()",
desc =>
@ -354,7 +358,7 @@ doc() ->
{auth_method,
#{value => "[mnesia | sql | anonymous | external | jwt | ldap | pam, ...]",
desc =>
?T("A list of authentication methods to use. "
?T("A list of _`authentication.md|authentication`_ methods to use. "
"If several methods are defined, authentication is "
"considered successful as long as authentication of "
"at least one of the methods succeeds. "
@ -533,7 +537,9 @@ doc() ->
{define_macro,
#{value => "{MacroName: MacroValue}",
desc =>
?T("Defines a macro. The value can be any valid arbitrary "
?T("Defines a "
"_`../configuration/file-format.md#macros-in-configuration-file|macro`_. "
"The value can be any valid arbitrary "
"YAML value. For convenience, it's recommended to define "
"a 'MacroName' in capital letters. Duplicated macros are not allowed. "
"Macros are processed after additional configuration files have "
@ -572,7 +578,9 @@ doc() ->
{domain_balancing,
#{value => "{Domain: Options}",
desc =>
?T("An algorithm to load balance the components that are plugged "
?T("An algorithm to "
"_`../guide/clustering.md#service-load-balancing|load-balance`_ "
"the components that are plugged "
"on an ejabberd cluster. It means that you can plug one or several "
"instances of the same component on each ejabberd node and that "
"the traffic will be automatically distributed. The algorithm "
@ -605,19 +613,23 @@ doc() ->
{extauth_pool_name,
#{value => ?T("Name"),
desc =>
?T("Define the pool name appendix, so the full pool name will be "
?T("Define the pool name appendix in "
"_`authentication.md#external-script|external auth`_, "
"so the full pool name will be "
"'extauth_pool_Name'. The default value is the hostname.")}},
{extauth_pool_size,
#{value => ?T("Size"),
desc =>
?T("The option defines the number of instances of the same "
"external program to start for better load balancing. "
"_`authentication.md#external-script|external auth`_ "
"program to start for better load balancing. "
"The default is the number of available CPU cores.")}},
{extauth_program,
#{value => ?T("Path"),
desc =>
?T("Indicate in this option the full path to the external "
"authentication script. The script must be executable by ejabberd.")}},
?T("Indicate in this option the full path to the "
"_`authentication.md#external-script|external authentication script`_. "
"The script must be executable by ejabberd.")}},
{ext_api_headers,
#{value => "Headers",
desc =>
@ -655,8 +667,10 @@ doc() ->
{host_config,
#{value => "{Host: Options}",
desc =>
?T("The option is used to redefine 'Options' for virtual host "
"'Host'. In the example below LDAP authentication method "
?T("The option is used to redefine 'Options' for "
"_`../configuration/basic.md#virtual-hosting|virtual host`_ "
"'Host'. "
"In the example below LDAP authentication method "
"will be used on virtual host 'domain.tld' and SQL method "
"will be used on virtual host 'example.org'."),
example =>
@ -674,7 +688,9 @@ doc() ->
{include_config_file,
#{value => "[Filename, ...\\] | {Filename: Options}",
desc =>
?T("Read additional configuration from 'Filename'. If the "
?T("Read and "
"_`../configuration/file-format.md#include-additional-files|include additional file`_ "
"from 'Filename'. If the "
"value is provided in 'pass:[{Filename: Options}]' format, the "
"'Options' must be one of the following:")},
[{disallow,
@ -701,7 +717,8 @@ doc() ->
{jwt_auth_only_rule,
#{value => ?T("AccessName"),
desc =>
?T("This ACL rule defines accounts that can use only this auth "
?T("This ACL rule defines accounts that can use only the "
"_`authentication.md#jwt-authentication|JWT`_ auth "
"method, even if others are also defined in the ejabberd "
"configuration file. In other words: if there are several auth "
"methods enabled for this host (JWT, SQL, ...), users that "
@ -711,20 +728,25 @@ doc() ->
#{value => ?T("FieldName"),
desc =>
?T("By default, the JID is defined in the '\"jid\"' JWT field. "
"In this option you can specify other JWT field name "
"In this option you can specify other "
"_`authentication.md#jwt-authentication|JWT`_ "
"field name "
"where the JID is defined.")}},
{jwt_key,
#{value => ?T("FilePath"),
desc =>
?T("Path to the file that contains the JWK Key. "
?T("Path to the file that contains the "
"_`authentication.md#jwt-authentication|JWT`_ key. "
"The default value is 'undefined'.")}},
{language,
#{value => ?T("Language"),
desc =>
?T("The option defines the default language of server strings "
?T("Define the "
"_`../configuration/basic.md#default-language|default language`_ "
"of server strings "
"that can be seen by XMPP clients. If an XMPP client does not "
"possess 'xml:lang' attribute, the specified language is used. "
"The default value is '\"en\"'.")}},
"The default value is '\"en\"'. ")}},
{ldap_servers,
#{value => "[Host, ...]",
desc =>
@ -909,7 +931,9 @@ doc() ->
{new_sql_schema,
#{value => "true | false",
desc =>
{?T("Whether to use 'new' SQL schema. All schemas are located "
{?T("Whether to use the "
"_`database.md#default-and-new-schemas|new SQL schema`_. "
"All schemas are located "
"at <https://github.com/processone/ejabberd/tree/~s/sql>. "
"There are two schemas available. The default legacy schema "
"stores one XMPP domain into one ejabberd database. "
@ -1049,14 +1073,18 @@ doc() ->
{pam_service,
#{value => ?T("Name"),
desc =>
?T("This option defines the PAM service name. Refer to the PAM "
?T("This option defines the "
"_`authentication.md#pam-authentication|PAM`_ "
"service name. Refer to the PAM "
"documentation of your operation system for more information. "
"The default value is 'ejabberd'.")}},
{pam_userinfotype,
#{value => "username | jid",
desc =>
?T("This option defines what type of information about the "
"user ejabberd provides to the PAM service: only the username, "
"user ejabberd provides to the "
"_`authentication.md#pam-authentication|PAM`_ "
"service: only the username, "
"or the user's JID. Default is 'username'.")}},
{pgsql_users_number_estimate,
#{value => "true | false",
@ -1073,36 +1101,42 @@ doc() ->
#{value => "timeout()",
desc =>
?T("A timeout to wait for the connection to be re-established "
"to the Redis server. The default is '1 second'.")}},
"to the _`database.md#redis|Redis`_ "
"server. The default is '1 second'.")}},
{redis_db,
#{value => ?T("Number"),
desc => ?T("Redis database number. The default is '0'.")}},
desc => ?T("_`database.md#redis|Redis`_ "
"database number. The default is '0'.")}},
{redis_password,
#{value => ?T("Password"),
desc =>
?T("The password to the Redis server. "
?T("The password to the _`database.md#redis|Redis`_ server. "
"The default is an empty string, i.e. no password.")}},
{redis_pool_size,
#{value => ?T("Number"),
desc =>
?T("The number of simultaneous connections to the Redis server. "
?T("The number of simultaneous connections to the "
"_`database.md#redis|Redis`_ server. "
"The default value is '10'.")}},
{redis_port,
#{value => "1..65535",
desc =>
?T("The port where the Redis server is accepting connections. "
?T("The port where the _`database.md#redis|Redis`_ "
" server is accepting connections. "
"The default is '6379'.")}},
{redis_queue_type,
#{value => "ram | file",
desc =>
?T("The type of request queue for the Redis server. "
?T("The type of request queue for the "
"_`database.md#redis|Redis`_ server. "
"See description of _`queue_type`_ option for the explanation. "
"The default value is the value defined in _`queue_type`_ "
"or 'ram' if the latter is not set.")}},
{redis_server,
#{value => ?T("Hostname"),
desc =>
?T("A hostname or an IP address of the Redis server. "
?T("A hostname or an IP address of the "
"_`database.md#redis|Redis`_ server."
"The default is 'localhost'.")}},
{registration_timeout,
#{value => "timeout()",
@ -1257,7 +1291,9 @@ doc() ->
{shaper,
#{value => "{ShaperName: Rate}",
desc =>
?T("The option defines a set of shapers. Every shaper is assigned "
?T("The option defines a set of "
"_`../configuration/basic.md#shapers|shapers`_. "
"Every shaper is assigned "
"a name 'ShaperName' that can be used in other parts of the "
"configuration file, such as _`shaper_rules`_ option. The shaper "
"itself is defined by its 'Rate', where 'Rate' stands for the "
@ -1274,7 +1310,9 @@ doc() ->
{shaper_rules,
#{value => "{ShaperRuleName: {Number|ShaperName: ACLRule|ACLName}}",
desc =>
?T("An entry allowing to declaring shaper to use for matching user/hosts. "
?T("This option defines "
"_`../configuration/basic.md#shaper-rules|shaper rules`_ "
"to use for matching user/hosts. "
"Semantics is similar to _`access_rules`_ option, the only difference is "
"that instead using 'allow' or 'deny', a name of a shaper (defined in "
"_`shaper`_ option) or a positive number should be used."),