Use new shorthand to provide URLs relative to ejabberd Docs

This commit is contained in:
Badlop 2024-03-14 12:38:03 +01:00
parent 569f0b303b
commit 8be6dc7758
18 changed files with 50 additions and 56 deletions

View File

@ -131,7 +131,7 @@ get_commands_spec() ->
"only on log files generated by some modules.\n"
"This can be useful when an external tool is "
"used for log rotation. See "
"[Log Files](https://docs.ejabberd.im/admin/guide/troubleshooting/#log-files).",
"_`../../admin/guide/troubleshooting.md#log-files|Log Files`_.",
policy = admin,
module = ?MODULE, function = reopen_log,
args = [], result = {res, rescode}},

View File

@ -81,7 +81,7 @@
get_commands_spec() ->
[
#ejabberd_commands{name = oauth_issue_token, tags = [oauth],
desc = "Issue an [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) token for the given jid",
desc = "Issue an _`oauth.md|OAuth`_ token for the given jid",
module = ?MODULE, function = oauth_issue_token,
args = [{jid, string},{ttl, integer}, {scopes, string}],
policy = restricted,
@ -92,7 +92,7 @@ get_commands_spec() ->
result = {result, {tuple, [{token, string}, {scopes, string}, {expires_in, string}]}}
},
#ejabberd_commands{name = oauth_issue_token, tags = [oauth],
desc = "Issue an [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) token for the given jid",
desc = "Issue an _`oauth.md|OAuth`_ optionredir token for the given jid",
module = ?MODULE, function = oauth_issue_token,
version = 1,
note = "updated in 24.02",
@ -105,7 +105,7 @@ get_commands_spec() ->
result = {result, {tuple, [{token, string}, {scopes, {list, {scope, string}}}, {expires_in, string}]}}
},
#ejabberd_commands{name = oauth_list_tokens, tags = [oauth],
desc = "List [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) tokens, user, scope, and seconds to expire (only Mnesia)",
desc = "List _`oauth.md|OAuth`_ tokens, user, scope, and seconds to expire (only Mnesia)",
longdesc = "List OAuth tokens, their user and scope, and how many seconds remain until expirity",
module = ?MODULE, function = oauth_list_tokens,
args = [],
@ -113,7 +113,7 @@ get_commands_spec() ->
result = {tokens, {list, {token, {tuple, [{token, string}, {user, string}, {scope, string}, {expires_in, string}]}}}}
},
#ejabberd_commands{name = oauth_revoke_token, tags = [oauth],
desc = "Revoke authorization for an [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) token",
desc = "Revoke authorization for an _`oauth.md|OAuth`_ token",
note = "changed in 22.05",
module = ?MODULE, function = oauth_revoke_token,
args = [{token, binary}],
@ -122,7 +122,7 @@ get_commands_spec() ->
result_desc = "Result code"
},
#ejabberd_commands{name = oauth_add_client_password, tags = [oauth],
desc = "Add [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) client_id with password grant type",
desc = "Add _`oauth.md|OAuth`_ client_id with password grant type",
module = ?MODULE, function = oauth_add_client_password,
args = [{client_id, binary},
{client_name, binary},
@ -131,7 +131,7 @@ get_commands_spec() ->
result = {res, restuple}
},
#ejabberd_commands{name = oauth_add_client_implicit, tags = [oauth],
desc = "Add [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) client_id with implicit grant type",
desc = "Add _`oauth.md|OAuth`_ client_id with implicit grant type",
module = ?MODULE, function = oauth_add_client_implicit,
args = [{client_id, binary},
{client_name, binary},
@ -140,7 +140,7 @@ get_commands_spec() ->
result = {res, restuple}
},
#ejabberd_commands{name = oauth_remove_client, tags = [oauth],
desc = "Remove [OAuth](https://docs.ejabberd.im/developer/ejabberd-api/oauth/) client_id",
desc = "Remove _`oauth.md|OAuth`_ client_id",
module = ?MODULE, function = oauth_remove_client,
args = [{client_id, binary}],
policy = restricted,

View File

@ -37,13 +37,13 @@ doc() ->
#{value => "[Options, ...]",
desc =>
?T("The option for listeners configuration. See the "
"http://../listen/[Listen Modules] section "
"_`listen.md|Listen Modules`_ section "
"for details.")}},
{modules,
#{value => "{Module: Options}",
desc =>
?T("The option for modules configuration. See "
"http://../modules/[Modules] section "
"_`modules.md|Modules`_ section "
"for details.")}},
{loglevel,
#{value =>
@ -221,7 +221,7 @@ doc() ->
#{value => "{AccessName: {allow|deny: ACLRules|ACLName}}",
desc =>
?T("This option defines "
"http://../basic/#access-rules[Access Rules]. "
"_`basic.md#access-rules|Access Rules`_. "
"Each access rule is "
"assigned a name that can be referenced from other parts "
"of the configuration file (mostly from 'access' options of "
@ -255,7 +255,7 @@ doc() ->
{acme,
#{value => ?T("Options"),
desc =>
?T("http://../basic/#acme[ACME] configuration, to automatically "
?T("_`basic.md#acme|ACME`_ configuration, to automatically "
"obtain SSL certificates for the domains served by ejabberd, "
"which means that certificate requests and renewals are "
"performed to some CA server (aka \"ACME server\") in a fully "
@ -303,8 +303,8 @@ doc() ->
#{value => "true | false",
desc =>
?T("Whether to allow installation of third-party modules or not. "
"See https://docs.ejabberd.im/developer/extending-ejabberd/modules/#ejabberd-contrib"
"[ejabberd-contrib] documentation section. "
"See _`../../developer/extending-ejabberd/modules.md#ejabberd-contrib|ejabberd-contrib`_ "
"documentation section. "
"The default value is 'true'.")}},
{allow_multiple_connections,
#{value => "true | false",
@ -328,8 +328,7 @@ doc() ->
desc =>
?T("Define the permissions for API access. Please consult the "
"ejabberd Docs web -> For Developers -> ejabberd ReST API -> "
"https://docs.ejabberd.im/developer/ejabberd-api/permissions/"
"[API Permissions].")}},
"_`../../developer/ejabberd-api/permissions.md|API Permissions`_.")}},
{append_host_config,
#{value => "{Host: Options}",
desc =>
@ -373,7 +372,7 @@ doc() ->
note => "improved in 20.01",
desc =>
[?T("The option defines in what format the users passwords "
"are stored, plain text or in http://../authentication/#scram[SCRAM] format:"), "",
"are stored, plain text or in _`authentication.md#scram|SCRAM`_ format:"), "",
?T("* 'plain': The password is stored as plain text "
"in the database. This is risky because the passwords "
"can be read if your database gets compromised. "
@ -392,7 +391,7 @@ doc() ->
{auth_scram_hash,
#{value => "sha | sha256 | sha512",
desc =>
?T("Hash algorithm that should be used to store password in http://../authentication/#scram[SCRAM] format. "
?T("Hash algorithm that should be used to store password in _`authentication.md#scram|SCRAM`_ format. "
"You shouldn't change this if you already have passwords generated with "
"a different algorithm - users that have such passwords will not be able "
"to authenticate. The default value is 'sha'.")}},
@ -418,7 +417,7 @@ doc() ->
"corresponding JID(s) in 'subjectAltName' field. "
"There is no default value."), "",
?T("You can use _`host_config`_ to specify this option per-vhost."), "",
?T("To set a specific file per listener, use the listener's http://../listen-options/#cafile[cafile] option. Please notice that 'c2s_cafile' overrides the listener's 'cafile' option."), ""
?T("To set a specific file per listener, use the listener's _`listen-options.md#cafile|cafile`_ option. Please notice that 'c2s_cafile' overrides the listener's 'cafile' option."), ""
]}},
{c2s_ciphers,
#{value => "[Cipher, ...]",
@ -468,7 +467,7 @@ doc() ->
#{value => ?T("Path | ModuleName"),
note => "improved in 23.01",
desc =>
?T("Full path to a script that generates http://../basic/#captcha[CAPTCHA] images. "
?T("Full path to a script that generates _`basic.md#captcha|CAPTCHA`_ images. "
"'@VERSION@' is replaced with ejabberd version number in 'XX.YY' format. "
"'@SEMVER@' is replaced with ejabberd version number in semver format "
"when compiled with Elixir's mix, or XX.YY format otherwise. "
@ -481,7 +480,7 @@ doc() ->
{captcha_limit,
#{value => "pos_integer() | infinity",
desc =>
?T("Maximum number of http://../basic/#captcha[CAPTCHA] generated images per minute for "
?T("Maximum number of _`basic.md#captcha|CAPTCHA`_ generated images per minute for "
"any given JID. The option is intended to protect the server "
"from CAPTCHA DoS. The default value is 'infinity'.")}},
{captcha_host,
@ -491,7 +490,7 @@ doc() ->
#{value => ?T("URL | auto | undefined"),
note => "improved in 23.04",
desc =>
?T("An URL where http://../basic/#captcha[CAPTCHA] requests should be sent. NOTE: you need "
?T("An URL where _`basic.md#captcha|CAPTCHA`_ requests should be sent. NOTE: you need "
"to configure 'request_handlers' for 'ejabberd_http' listener "
"as well. "
"If set to 'auto', it builds the URL using a 'request_handler' "
@ -696,8 +695,8 @@ doc() ->
note => "added in 23.10",
desc =>
?T("Modules to install from "
"https://docs.ejabberd.im/developer/extending-ejabberd/modules/#ejabberd-contrib"
"[ejabberd-contrib] at start time. "
"_`../../developer/extending-ejabberd/modules.md#ejabberd-contrib|ejabberd-contrib`_ "
"at start time. "
"The default value is an empty list of modules: '[]'.")}},
{jwt_auth_only_rule,
#{value => ?T("AccessName"),
@ -1156,7 +1155,7 @@ doc() ->
{s2s_access,
#{value => ?T("Access"),
desc =>
?T("This http://../basic/#access-rules[Access Rule] defines to "
?T("This _`basic.md#access-rules|Access Rule`_ defines to "
"what remote servers can s2s connections be established. "
"The default value is 'all'; no restrictions are applied, it is"
" allowed to connect s2s to/from all remote servers.")}},

View File

@ -410,6 +410,5 @@ listen_options() ->
" method may be removed in a future ejabberd release. You are "
"encouraged to define ejabberd_xmlrpc inside request_handlers "
"option of ejabberd_http listen module. See the ejabberd "
"documentation for details: https://docs.ejabberd.im/admin/"
"configuration/listen/#ejabberd-xmlrpc", []),
"documentation for details: _`/admin/configuration/listen/#ejabberd-xmlrpc|ejabberd_xmlrpc listener`_.", []),
[].

View File

@ -632,6 +632,6 @@ mod_doc() ->
#{desc =>
?T("This module can be used to update existing SQL database "
"from the default to the new schema. Check the section "
"http://../database/#default-and-new-schemas[Default and New Schemas] for details. "
"_`database.md#default-and-new-schemas|Default and New Schemas`_ for details. "
"Please note that only MS SQL, MySQL, and PostgreSQL are supported. "
"When the module is loaded use _`update_sql`_ API.")}.

View File

@ -301,6 +301,6 @@ mod_doc() ->
desc =>
?T("Whether to generate CAPTCHA or not in response to "
"messages from strangers. See also section "
"http://../#captcha"
"[CAPTCHA] of the Configuration Guide. "
"_`basic.md#captcha|CAPTCHA`_"
" of the Configuration Guide. "
"The default value is 'false'.")}}]}.

View File

@ -256,9 +256,9 @@ mod_doc() ->
?T("Several options were improved in ejabberd 22.05."), "",
?T("To use this module, in addition to adding it to the 'modules' "
"section, you must also enable it in 'listen' -> 'ejabberd_http' -> "
"http://../listen-options/#request_handlers[request_handlers]."), "",
"_`listen-options.md#request_handlers|request_handlers`_."), "",
?T("Make sure either 'mod_bosh' or 'ejabberd_http_ws' "
"http://../listen-options/#request_handlers[request_handlers] "
"_`listen-options.md#request_handlers|request_handlers`_ "
"are enabled."), "",
?T("When 'conversejs_css' and 'conversejs_script' are 'auto', "
"by default they point to the public Converse client.")

View File

@ -214,7 +214,7 @@ mod_doc() ->
?T("This module is available since ejabberd 22.05."), "",
?T("To use this module, in addition to adding it to the 'modules' "
"section, you must also enable it in 'listen' -> 'ejabberd_http' -> "
"http://../listen-options/#request_handlers[request_handlers]."), "",
"_`listen-options.md#request_handlers|request_handlers`_."), "",
?T("Notice it only works if ejabberd_http has tls enabled.")],
example =>
["listen:",

View File

@ -534,11 +534,11 @@ mod_options(_) ->
mod_doc() ->
#{desc =>
[?T("This module provides a ReST interface to call "
"https://docs.ejabberd.im/developer/ejabberd-api[ejabberd API] "
"_`../../developer/ejabberd-api/index.md|ejabberd API`_ "
"commands using JSON data."), "",
?T("To use this module, in addition to adding it to the 'modules' "
"section, you must also enable it in 'listen' -> 'ejabberd_http' -> "
"http://../listen-options/#request_handlers[request_handlers]."), "",
"_`listen-options.md#request_handlers|request_handlers`_."), "",
?T("To use a specific API version N, when defining the URL path "
"in the request_handlers, add a 'vN'. "
"For example: '/api/v2: mod_http_api'"), "",

View File

@ -234,7 +234,7 @@ mod_doc() ->
"another URL from which that file can later be downloaded."), "",
?T("In order to use this module, it must be enabled "
"in 'listen' -> 'ejabberd_http' -> "
"http://../listen-options/#request_handlers[request_handlers].")],
"_`listen-options.md#request_handlers|request_handlers`_.")],
opts =>
[{host,
#{desc => ?T("Deprecated. Use 'hosts' instead.")}},

View File

@ -108,9 +108,7 @@ mod_doc() ->
"the MIX protocol is going to replace the MUC protocol "
"in the future (see _`mod_muc`_)."), "",
?T("To learn more about how to use that feature, you can refer to "
"our tutorial: https://docs.ejabberd.im/tutorials/mix-010/"
"[Getting started with XEP-0369: Mediated Information "
"eXchange (MIX) v0.1]."), "",
"our tutorial: _`../../tutorials/mix-010.md|Getting started with MIX`_"), "",
?T("The module depends on _`mod_mam`_.")],
opts =>
[{access_create,

View File

@ -282,7 +282,7 @@ listen_options() ->
mod_doc() ->
#{desc =>
?T("This module adds "
"https://docs.ejabberd.im/admin/guide/mqtt/[support for the MQTT] "
"_`../guide/mqtt/index.md|support for the MQTT`_ "
"protocol version '3.1.1' and '5.0'. Remember to configure "
"'mod_mqtt' in 'modules' and 'listen' sections."),
opts =>

View File

@ -1732,7 +1732,7 @@ mod_doc() ->
?T("When a user tries to join a room where they have no "
"affiliation (not owner, admin or member), the room "
"requires them to fill a CAPTCHA challenge (see section "
"http://../#captcha[CAPTCHA] "
"_`basic.md#captcha|CAPTCHA`_ "
"in order to accept their join in the room. "
"The default value is 'false'.")}},
{description,
@ -1824,8 +1824,7 @@ mod_doc() ->
#{value => "true | false",
desc =>
?T("Allow users to subscribe to room events as described in "
"https://docs.ejabberd.im/developer/xmpp-clients-bots/extensions/muc-sub/"
"[Multi-User Chat Subscriptions]. "
"_`../../developer/xmpp-clients-bots/extensions/muc-sub.md|Multi-User Chat Subscriptions`_. "
"The default value is 'false'.")}},
{title,
#{value => ?T("Room Title"),

View File

@ -1247,8 +1247,8 @@ mod_doc() ->
"are currently open."), "",
?T("NOTE: 'ejabberdctl' has a command to "
"delete expired messages (see chapter "
"https://docs.ejabberd.im/admin/guide/managing"
"[Managing an ejabberd server] in online documentation.")],
"_`../guide/managing.md|Managing an ejabberd server`_ "
"in online documentation.")],
opts =>
[{access_max_user_messages,
#{value => ?T("AccessName"),

View File

@ -671,7 +671,7 @@ mod_doc() ->
{captcha_protected,
#{value => "true | false",
desc =>
?T("Protect registrations with http://../basic/#captcha[CAPTCHA]. "
?T("Protect registrations with _`basic.md#captcha|CAPTCHA`_. "
"The default is 'false'.")}},
{ip_access,
#{value => ?T("AccessName"),

View File

@ -615,7 +615,7 @@ mod_doc() ->
?T("- Register a new account on the server."), "",
?T("- Change the password from an existing account on the server."), "",
?T("- Unregister an existing account on the server."), "",
?T("This module supports http://../basic/#captcha[CAPTCHA] "
?T("This module supports _`basic.md#captcha|CAPTCHA`_ "
"to register a new account. "
"To enable this feature, configure the "
"top-level _`captcha_cmd`_ and "
@ -625,7 +625,7 @@ mod_doc() ->
"important to include the last / character in the URL, "
"otherwise the subpages URL will be incorrect."), "",
?T("This module is enabled in 'listen' -> 'ejabberd_http' -> "
"http://../listen-options/#request_handlers[request_handlers], "
"_`listen-options.md#request_handlers|request_handlers`_, "
"no need to enable in 'modules'."),
?T("The module depends on _`mod_register`_ where all the "
"configuration is performed.")],

View File

@ -678,10 +678,10 @@ mod_doc() ->
?T("- Connection parameters: The module also accepts the "
"connection parameters, all of which default to the top-level "
"parameter of the same name, if unspecified. "
"See http://../ldap/#ldap-connection[LDAP Connection] "
"See _`ldap.md#ldap-connection|LDAP Connection`_ "
"section for more information about them."), "",
?T("Check also the http://../ldap/#ldap-examples"
"[Configuration examples] section to get details about "
?T("Check also the _`ldap.md#ldap-examples|Configuration examples`_ "
"section to get details about "
"retrieving the roster, "
"and configuration examples including Flat DIT and Deep DIT.")],
opts =>
@ -710,13 +710,13 @@ mod_doc() ->
"name of roster entries (usually full names of people in "
"the roster). See also the parameters 'ldap_userdesc' and "
"'ldap_useruid'. For more information check the LDAP "
"http://../ldap/#filters[Filters] section.")}},
"_`ldap.md#filters|Filters`_ section.")}},
{ldap_filter,
#{desc =>
?T("Additional filter which is AND-ed together "
"with \"User Filter\" and \"Group Filter\". "
"For more information check the LDAP "
"http://../ldap/#filters[Filters] section.")}},
"_`ldap.md#filters|Filters`_ section.")}},
%% Attributes:
{ldap_groupattr,
#{desc =>
@ -774,8 +774,7 @@ mod_doc() ->
#{desc =>
?T("A regex for extracting user ID from the value of the "
"attribute named by 'ldap_memberattr'. Check the LDAP "
"http://../ldap/#control-parameters"
"[Control Parameters] section.")}},
"_`ldap.md#control-parameters|Control Parameters`_ section.")}},
{ldap_auth_check,
#{value => "true | false",
desc =>

View File

@ -383,7 +383,7 @@ mod_doc() ->
?T("NOTE: It is not enough to just load this module. "
"You should also configure listeners and DNS records "
"properly. For details see the section about the "
"http://../listen/#ejabberd_sip[ejabberd_sip] listen module "
"_`listen.md#ejabberd_sip|ejabberd_sip`_ listen module "
"in the ejabberd Documentation.")],
opts =>
[{always_record_route,