Template:Demo source

From relax wiki
Jump to navigation Jump to search

nmr-relax/relax-demo/master

Template documentation

Goal

This template is for creating links or URLs for the relax demo git version control repository. It is a subtemplate of the master {{repo link}} template designed to be specific for the relax demo repository.

Usage

{{demo 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 git clone. optional
opt Any additional options to show after cmd, but before the URL.
Note The separation of cmd and opt is for future non-CLI handling of a standardised set of cmd parameter values
optional
protocol The URL protocol, for example https, http, ssh, git. 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 git, git web. The default is git web. optional
branch The branch name. This defaults to next. For SourceForge git repositories, if the character / is present in the branch name, the text /~ must be appended to the branch. b optional
tag The repository tag name. For SourceForge git repositories, if the character / is present in the tag name, the text /~ must be appended to the tag. optional
commit The commit identifier (git hash). 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.
  • For SourceForge: Use a single line number.
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:
  • For SourceForge use one of tree, log, commit, or rss. If a commit is specified (the commit parameter is set and path is not), the default is commit. Otherwise the default is tree.
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.
Note The text parameter will override this.
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 git, a login is allowed:

<protocol>://[<login>@]<DOMAIN>/p/<proj>/<repo>/

SourceForge <URL> for 'type=git'

For this parameter value, the complete <URL> value will be:

<protocol>://[<login>@]git.code.sf.net/p/<proj>/<repo>/

SourceForge <URL> for 'type=git web'

For this parameter value, the <URL> value will be:

<protocol>://sourceforge.net/p/<proj>/<repo>/ci/<commit|branch>/<VIEW>/<path>[#l<line>]

The <VIEW> value for different values of view is:

tree
tree/.
log
log/?path=.
commit
nothing.

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=git' and 'type=git web'

The link text <TEXT>, if the full parameter is not set, will be:

<proj>/<repo>/<commit|branch>[/<path>][#l<line>] <DESC>

If the simplepath parameter is set, this changes to:

[/<path>][#l<line>] <DESC>

If the pre parameter is supplied, this changes to:

<pre>[/<path>][#l<line>] <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://sourceforge.net/p/nmr-relax/code/ci/master/tree/

To use the <code> tags:

{{#tag:code|{{#tag:nowiki|
  {{repo link
  | full = 1
  }}
}}}}

https://sourceforge.net/p/nmr-relax/code/ci/master/tree/

Examples

No parameters

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/.

{{demo source}}.

nmr-relax/relax-demo/master.

Text link

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/.

{{demo source
| text = The demo source repository
}}.

The demo source repository.

File

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/NOE/Ap4Aase/README.

{{demo source
| path = NOE/Ap4Aase/README
}}.

nmr-relax/relax-demo/master/NOE/Ap4Aase/README.

File and a branch

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/NOE/Ap4Aase/README.

{{demo source
| path   = NOE/Ap4Aase/README
| branch = master
}}.

nmr-relax/relax-demo/master/NOE/Ap4Aase/README.

File and a commit

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/8bd191/tree/R2/Ap4Aase/README.

{{demo source
| path   = R2/Ap4Aase/README 
| commit = 8bd191
}}.

nmr-relax/relax-demo/8bd191/R2/Ap4Aase/README.

{{demo source
| path   = R2/Ap4Aase/README 
| commit = 8bd191b2e8518de3be8a9de440531c2a39c745eb
}}.

nmr-relax/relax-demo/8bd191b2e8518de3be8a9de440531c2a39c745eb/R2/Ap4Aase/README.

Commit

Note  For a simpler interface for this specific example, see {{demo commit}}.

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/af8071/.

{{demo source
| commit = af8071
| view   = commit
}}.

nmr-relax/relax-demo/af8071 commit view.

File and line number

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py#l154.

{{demo source
| path = model_free/OMP/analysis/dauvergne_protocol.py
| line = 154
}}.

nmr-relax/relax-demo/master/model_free/OMP/analysis/dauvergne_protocol.py#l154.

File, line number, and commit

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/40bde227dbc66a648844eb317dcd44b2898b0116/tree/model_free/OMP/analysis/dauvergne_protocol.py#l154.

{{demo source
| path   = model_free/OMP/analysis/dauvergne_protocol.py
| commit = 40bde227dbc66a648844eb317dcd44b2898b0116
| line   = 154
}}.

nmr-relax/relax-demo/40bde227dbc66a648844eb317dcd44b2898b0116/model_free/OMP/analysis/dauvergne_protocol.py#l154.

Custom label given

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py.

{{demo source
| path = model_free/OMP/analysis/dauvergne_protocol.py
| text = The d'Auvergne model-free analysis protocol script.
}}.

The d'Auvergne model-free analysis protocol script..

Prefix of $DEMO_SRC

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py.

{{demo source
| path = model_free/OMP/analysis/dauvergne_protocol.py
| pre  = $DEMO_SRC
}}.

$DEMO_SRC/model_free/OMP/analysis/dauvergne_protocol.py.

Full path

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/40bde227dbc66a648844eb317dcd44b2898b0116/tree/model_free/OMP/analysis/dauvergne_protocol.py#l154.

{{demo source
| path   = model_free/OMP/analysis/dauvergne_protocol.py
| commit = 40bde227dbc66a648844eb317dcd44b2898b0116
| line   = 154
| full   = 1
}}.

https://sourceforge.net/p/nmr-relax/relax-demo/ci/40bde227dbc66a648844eb317dcd44b2898b0116/tree/model_free/OMP/analysis/dauvergne_protocol.py#l154.

Git clone

Note  For a simpler interface for this specific example, see {{demo clone}}.

This is for git clone git://git.code.sf.net/p/nmr-relax/relax-demo.

{{#tag:code|{{#tag:nowiki|{{demo source
  | cmd      = git clone
  | protocol = git
  | type     = git
  | full     = 1
}}}}}}.

git clone git://git.code.sf.net/p/nmr-relax/relax-demo/.

Aliased parameters

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py#l154.

{{demo source
| f    = model_free/OMP/analysis/dauvergne_protocol.py
| b    = master
| l    = 154
| full = 1
}}.

https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py#l154.

Numbered parameters

This is a link to https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py.

{{demo source | model_free/OMP/analysis/dauvergne_protocol.py | b = master | full = 1 }}.

https://sourceforge.net/p/nmr-relax/relax-demo/ci/master/tree/model_free/OMP/analysis/dauvergne_protocol.py.

Related templates