Template:Fgaddon source
Goal
This template is for creating links or URLs for the FGAddon svn version control repository. It is a subtemplate of the master {{repo link}} template designed to be specific for the FGAddon repository.
Usage
{{fgaddon source
| cmd =
| opt =
| protocol =
| login =
| type =
| branch =
| tag =
| commit =
| path =
| line =
| post =
| view =
| text =
| pre =
| simplepath =
| full =
}}
All 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 svn co. | optional | ||
| opt | Any additional options to show after cmd, but before the URL.
|
optional | ||
| protocol | The URL protocol, for example https, http, ssh, svn. This defaults to https. | optional | ||
| login | The optional user login. | optional | ||
| type | Choose between the web interface or a direct repository link. This can be one of svn, svn web. The default is svn web. | optional | ||
| branch | The branch name. As tags are simply branches in SVN repositories, this parameter can also be used for svn tags. This defaults to trunk. | b | optional | |
| tag | The repository tag name. | optional | ||
| commit | The commit identifier (svn revision number). This defaults to HEAD. | c | optional | |
| path | The file or directory path. | f | 1 | 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 | |
| text | Text to display as the link label. Overrides pre. | t | optional | |
| pre | Prefix to a link label. | optional | ||
| simplepath | If set, this strips off the repository name from the URL label, leaving just the contents of the path parameter.
|
optional | ||
| full | If set to 1, the full URL will be shown rather than any text label. | 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> <TEXT>] <post>
Here the square brackets do not denote optional text, but will instead produce a Mediawiki link. This can be modified by setting full = 1 to produce:
<cmd> <opt> <URL> <post>
Site: SourceForge
Project page
For a normal SourceForge project page, the base URL is respectively constructed as:
<protocol>://<DOMAIN>/p/<proj>/<repo>/
For the type parameter value of svn, a login is allowed:
<protocol>://[<login>@]<DOMAIN>/p/<proj>/<repo>/
SourceForge <URL> for 'type=svn'
For this parameter value, the <URL> value will instead be:
<protocol>://[<login>@]svn.code.sf.net/p/<proj>/<repo>/<branch>[/<path>][@<commit>]
SourceForge <URL> for 'type=svn web'
For this parameter value, the <URL> value will be:
<protocol>://sourceforge.net/p/<proj>/<repo>/<commit|HEAD>/<VIEW>/<branch>[/<path>][#l<line>]
The <VIEW> value for different values of view is:
- tree
tree/.- log
log/?path=.
If the parameter setting view=commit is used, a truncated <URL> value is produced:
<protocol>://sourceforge.net/p/<proj>/<repo>/<commit|HEAD>/
If the parameter setting view=rss is used, a different <URL> value is produced:
<protocol>://sourceforge.net/p/<proj>/<repo>/feed/
SourceForge URL <TEXT> for 'type=svn' and 'type=svn web'
The link text <TEXT>, if the full parameter is not set, will be:
<proj>/<repo>/<branch>[/<path>][#l<line>][@r<commit>] <DESC>
If the simplepath parameter is set, this changes to:
[/<path>][#l<line>][@r<commit>] <DESC>
If the pre parameter is supplied, this changes to:
<pre>[/<path>][#l<line>][@r<commit>] <DESC>
The RSS feed is a special case in that <TEXT> will be one of:
<proj>/<repo> <DESC>
<pre> <DESC>
The description <DESC> is dependent on the view parameter:
- tree
- Nothing.
- log
log view.- commit
commit view.- rss
RSS feed.
The text parameter trumps all, and <TEXT> is simply:
<text>
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://gitlab.com
To use the <code> tags:
{{#tag:code|{{#tag:nowiki|
{{repo link
| full = 1
}}
}}}}
https://gitlab.com
Examples
No parameters
{{fgaddon source}}
The repository
{{fgaddon source
| text = The official FGAddon aircraft repository
}}
The official FGAddon aircraft repository
File
{{fgaddon source
| path = Aircraft/wrightFlyer1903/wrightFlyer1903-set.xml
}}
flightgear/fgaddon/trunk/Aircraft/wrightFlyer1903/wrightFlyer1903-set.xml
File and a branch
{{fgaddon source
| path = Aircraft/wrightFlyer1903/wrightFlyer1903-set.xml
| branch = branches/release-2016.1
}}
flightgear/fgaddon/branches/release-2016.1/Aircraft/wrightFlyer1903/wrightFlyer1903-set.xml
File and a commit
{{fgaddon source
| path = Aircraft/787-8/Nasal/systems.nas
| commit = 1333
}}
flightgear/fgaddon/trunk/Aircraft/787-8/Nasal/systems.nas@r1333
Commit
{{fgaddon source
| commit = 1552
| view = commit
}}
flightgear/fgaddon@r1552 commit view
File and line number
{{fgaddon source
| path = Aircraft/ornithopter/ornithopter-set.xml
| line = 13
}}
flightgear/fgaddon/trunk/Aircraft/ornithopter/ornithopter-set.xml#l13
File, line number, and commit
{{fgaddon source
| path = Aircraft/ornithopter/ornithopter-set.xml
| commit = 3
| line = 10
}}
flightgear/fgaddon/trunk/Aircraft/ornithopter/ornithopter-set.xml#l10@r3
Custom label given
{{fgaddon source
| path = Aircraft/mirage2000/mirage2000-set.xml
| text = The Mirage 2000 *-set.xml file
}}
The Mirage 2000 *-set.xml file
Prefix of $FG_AIRCRAFT
{{fgaddon source
| path = Aircraft/SpaceShuttle/Sounds/SpaceShuttle-Sounds.xml
| pre = $FG_AIRCRAFT
}}
$FG_AIRCRAFT/Aircraft/SpaceShuttle/Sounds/SpaceShuttle-Sounds.xml
Full path
{{fgaddon source
| path = Aircraft/CRJ700-family/CRJ900-set.xml
| commit = 1418
| line = 10
| full = 1
}}
svn import
This should give:
svn import DaSH/ svn+ssh://<username>@svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/ -m "Initial import of the DaSH human powered aircraft.\n\nFor details see the forum thread at http://forum.flightgear.org/viewtopic.php?f=4&t=24495 ."
{{#tag:syntaxhighlight|
{{fgaddon source
| cmd = svn import DaSH/
| protocol = svn+ssh
| login = <username>
| type = svn
| path = Aircraft/
| post = -m "Initial import of the DaSH human powered aircraft.\n\nFor details see the forum thread at http://forum.flightgear.org/viewtopic.php?f=4&t=24495 ."
| full = 1
}}
| lang = "sh"
}}
svn import DaSH/ svn+ssh://<username>@svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/ -m "Initial import of the DaSH human powered aircraft.\n\nFor details see the forum thread at http://forum.flightgear.org/viewtopic.php?f=4&t=24495 ."
Aliased parameters
{{fgaddon source
| f = Aircraft/wrightFlyer1903/wrightFlyer1903-set.xml
| b = branches/release-2016.1
| full = 1
}}.
Numbered parameters
{{fgaddon source | Aircraft/wrightFlyer1903/wrightFlyer1903-set.xml | b = branches/release-2016.1 | full = 1 }}.
Related templates
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||