Template:Form-url
Documentation
This template forms full URLs from individual parts. It mostly exists to be called by other templates, but can be used to display a "bare URL" on a page, if that seems necessary. (Sometimes trying to "save" a page that has a bare URL on it can cause MediaWiki to flag the edit as spam. This may or may not be true on this wiki. In any case, if you have that problem, you can "hide" the URL from the spam filter by breaking it up and using this template.)
Usage
{{form-url|protocol|domain|path|query}}{{form-url|protocol=|domain=|path=|query=|url=}}
Note that the first positional parameter is the protocol to be used, not the domain (see the errors below). The protocol can be either https or http (or, well, other things, but nevermind). Notice how the protocol should not include the final colon (:), as that is provided by the template.
The url parameter, which would contain a full URL already, is here just for convenience, to allow templates that call this one to accept either a full URL or one specified in pieces, without needing to have the if-then-else logic necessary to support that.
Technically, none of the parameters are required, but at minimum a domain is necessary to result in a valid URL.
Examples
{{form-url||www.angelinajordanofficial.com}}⇒ //www.angelinajordanofficial.com/{{form-url||www.angelinajordanofficial.com|book}}⇒ //www.angelinajordanofficial.com/book{{form-url|domain=www.angelinajordanofficial.com|path=book}}⇒ //www.angelinajordanofficial.com/book{{form-url|protocol=http|domain=www.angelinajordanofficial.com|path=book}}⇒ http://www.angelinajordanofficial.com/book{{form-url|https|youtube.com|watch|v{{=}}nwFloCPXzCs}}⇒ https://youtube.com/watch?v=nwFloCPXzCs{{form-url|https|youtube.com|watch|{{qs|v|nwFloCPXzCs}}}}⇒ https://youtube.com/watch?v=nwFloCPXzCs{{form-url|https|youtube.com|watch|4=v=nwFloCPXzCs}}⇒ https://youtube.com/watch?v=nwFloCPXzCs{{form-url|https|youtube.com|watch{{?|v|nwFloCPXzCs}}}}⇒ https://youtube.com/watch?v=nwFloCPXzCs{{form-url|protocol=https|domain=youtube.com|path=watch|query=v=nwFloCPXzCs}}⇒ https://youtube.com/watch?v=nwFloCPXzCs
Note the empty first positional parameter in the first two examples. This means the protocol is not being specified, which results in protocol-relative↗ URLs. As you can see, these are not automatically linked by MediaWiki, as bare HTTP and HTTPS URLs are.
The examples forming YouTube URLs show several ways you can specify a query string containing an equal sign. The second-to-last one, which is calling {{?}}, is actually passing the path and query string information together in the 3rd positional parameter (i.e., as the path value). See also the documentation of {{qs}} and {{?}}.
Bad calls
{{form-url}}⇒ ///{{form-url|www.angelinajordanofficial.com|book}}⇒ www.angelinajordanofficial.com://book/
The first example doesn't give a working URL. The second accidentally uses a domain in the position where the template expects a protocol.