Template:Gitlab url
Goal
This template is for creating direct URLs for the content of the version control repositories of the GitLab open source infrastructure. This is equivalent to the {{gitlab source}} template with the full parameter set to 1. It is a subtemplate of the master {{repo link}} template designed to be specific for the GitLab repositories.
Usage
{{gitlab url | cmd = | opt = | type = | user = | proj = | repo = | branch = | tag = | commit = | path = | line = | post = | view = }}
Either the user or proj parameter, as well as the repo parameter, must be supplied. All other parameters are optional.
Parameter | Description | Abbreviated parameter |
Numbered parameter |
Status |
---|---|---|---|---|
cmd | An optional command line tool name + options to prepend to the URL. For example git clone. | optional | ||
opt | Any additional options to show after cmd, but before the URL.
|
optional | ||
type | Choose between the web interface or a direct repository link. This can be one of git, git web. The default is git web. | optional | ||
user | The name of the user page for the open source infrastructure. This is notably different to the login parameter. This will have precedence over the proj parameter. The user page is treated in the same way as a project name. | u | 1 | mandatory |
proj | The name of the project, consisting of a grouping of repositories on the open source infrastructure. | p | 1 | mandatory |
repo | The name of the repository. A project registered on one of the open source infrastructures generally allows for multiple repositories under that project name. | r | 2 | mandatory |
branch | The branch name. This defaults to next. | b | 3 | optional |
tag | The repository tag name. | t | optional | |
commit | The commit identifier (git hash). This defaults to HEAD. | c | 5 | optional |
path | The file or directory path. | f | 4 | optional |
line | The line number(s) of the file to display. | l | optional | |
post | Text to append. This is forms a set with the parameter cmd and opt. For example it can represent any command line options that come after the URL. | optional | ||
view | View to display:
|
v | optional |
Design
In this section, the following notation will be used:
- Angular brackets + lower case text
<xyz>
- Template parameters.
- Angular brackets + upper case text
<XYZ>
- Template constructed text.
- Square brackets
[xyz]
- Optional text, only added if the parameter is set.
- Or symbol
|
- The value on the left, if present, otherwise the value on the right of the symbol.
Overview
The general design is:
<cmd> <opt> <URL> <post>
Site: GitLab
The base URL for GitLab repositories is:
<protocol>://gitlab.com/<proj>[/<repo>]
GitLab <URL> for 'type=git'
For this parameter value, the complete <URL>
value will be:
<protocol>://gitlab.com/<proj>[/<repo>].git
GitLab <URL> for 'type=git web'
This is not implemented yet. Please add new examples to allow this template to be extended.
GitLab <URL> for 'type=zip'
For this parameter value, the base zip file URL will be:
<protocol>://gitlab.com/<proj>/<repo>/repository/archive.zip
If a branch, tag, or commit is specified, this will be added as a query:
<protocol>://gitlab.com/<proj>/<repo>/repository/archive.zip[?ref=<commit|tag|branch>]
GitLab URL <TEXT>
This is not implemented yet. Please add new examples to allow this template to be extended.Plain text
To create a URL or link as plain text and avoid external links, simply use the {{#tag:tagname|content}}
magic word construct:
{{#tag:nowiki| {{repo link | full = 1 }} }}
https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/
To use the <code> tags:
{{#tag:code|{{#tag:nowiki| {{repo link | full = 1 }} }}}}
https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/
Examples
No parameters
{{gitlab url}}
Project
{{gitlab url|tortoisegit|tortoisegit}}
https://gitlab.com/tortoisegit/tortoisegit
User repository
This is for https://gitlab.com/emilianh/Lockheed-L10-Electra.
{{gitlab url | user = emilianh | repo = Lockheed-L10-Electra }}
https://gitlab.com/emilianh/Lockheed-L10-Electra
File
This is for https://gitlab.com/fg-radi/osm2city/blob/master/osm2city.py.
{{gitlab url | proj = fg-radi | repo = osm2city | path = osm2city.py }}.
https://gitlab.com/fg-radi/osm2city/blob/master/osm2city.py.
File and a branch
This is for https://gitlab.com/tortoisegit/tortoisegit/blob/REL_1.8.16.0_EXTERNAL/release.txt.
{{gitlab url | proj = tortoisegit | repo = tortoisegit | branch = REL_1.8.16.0_EXTERNAL | path = release.txt }}.
https://gitlab.com/tortoisegit/tortoisegit/blob/REL_1.8.16.0_EXTERNAL/release.txt.
File and a commit
This is for https://gitlab.com/extra500/extra500/blob/20ac59/extra500-set.xml.
{{gitlab url | proj = extra500 | repo = extra500 | commit = 20ac59ad | path = extra500-set.xml }}.
https://gitlab.com/extra500/extra500/blob/20ac59ad/extra500-set.xml.
File with line number
This is for https://gitlab.com/mdanil/Tu-144/blob/master/Models/Tu-144.xml#L8-14.
{{gitlab url | user = mdanil | repo = Tu-144 | view = blob | branch = master | path = Models/Tu-144.xml | line = 8-14 }}.
https://gitlab.com/mdanil/Tu-144/blob/master/Models/Tu-144.xml#L8-14.
The FlightGear Multiplayer server software
This is for https://gitlab.com/fgms/fgms-0-x.git.
{{gitlab url | proj = fgms | repo = fgms-0-x | type = git }}.
https://gitlab.com/fgms/fgms-0-x.git.
Git clone
Note For a simpler interface, see {{gitlab clone}}. |
This should produce git clone https://gitlab.com/extra500/extra500.git
.
{{#tag:syntaxhighlight| {{gitlab url | cmd = git clone | proj = extra500 | repo = extra500 | branch = FG/2016.1 | type = git }} | lang = "sh" }}
git clone https://gitlab.com/extra500/extra500.git
Raw view
This is for https://gitlab.com/extra500/extra500/raw/20ac59/extra500-set.xml.
{{gitlab url | proj = extra500 | repo = extra500 | view = raw | commit = 20ac59 | path = extra500-set.xml }}.
https://gitlab.com/extra500/extra500/raw/20ac59/extra500-set.xml.
Commit
This is for https://gitlab.com/extra500/extra500/commit/20ac59ad.
{{gitlab url | proj = extra500 | repo = extra500 | view = commit | commit = 20ac59ad }}.
https://gitlab.com/extra500/extra500/commit/20ac59ad.
Tree view at a given commit
This is for https://gitlab.com/extra500/extra500/tree/20ac59ad.
{{gitlab url | proj = extra500 | repo = extra500 | view = tree | commit = 20ac59ad }}.
https://gitlab.com/extra500/extra500/tree/20ac59ad.
Main views
History view
This is for https://gitlab.com/mailman/mailman/commits/master.
{{gitlab url | user = mailman | repo = mailman | view = commits }}.
https://gitlab.com/mailman/mailman/commits/master.
History view from a commit
This is for https://gitlab.com/mailman/mailman/commits/1236a9cf.
{{gitlab url | user = mailman | repo = mailman | view = commits | commit = 1236a9cf }}.
https://gitlab.com/mailman/mailman/commits/1236a9cf.
Zip archive download
Note For a simpler interface, see {{gitlab zip file}}. |
This is for https://gitlab.com/extra500/extra500/repository/archive.zip?ref=FG/2016.1.
{{gitlab url | proj = extra500 | repo = extra500 | branch = FG/2016.1 | type = zip }}
https://gitlab.com/extra500/extra500/repository/archive.zip?ref=FG/2016.1
Aliased parameters
This is for https://gitlab.com/extra500/extra500/repository/archive.zip?ref=FG/2016.1.
{{gitlab url | p = extra500 | r = extra500 | b = FG/2016.1 | type = zip }}.
https://gitlab.com/extra500/extra500/repository/archive.zip?ref=FG/2016.1.
Numbered parameters
This is for https://gitlab.com/extra500/extra500/repository/archive.zip?ref=FG/2016.1.
{{gitlab url | extra500 | extra500 | FG/2016.1 | type = zip }}.
https://gitlab.com/extra500/extra500/repository/archive.zip?ref=FG/2016.1.
Related templates
|