Welcome to rst.linker documentation!

Sphinx plugin to add links and timestamps to the changelog.

class rst.linker.Repl(defn)

Bases: object

classmethod from_defn(defn)

Return the first Repl subclass that works with this

matches(text)
class rst.linker.Replacer

Bases: list

classmethod from_definition(defn)

A definition may contain the following members:

  • using: a dictionary of variables available for substitution
  • replace: a list of replacement definitions.
static load(filename)
replace(match)
run(source)
class rst.linker.SCMTimestamp(defn)

Bases: rst.linker.Repl

Replace content with a version number to include the date stamp from the SCM.

For example, consider a changelog with the following:

Changed something.

The following replacement definition would add a datestamp after the heading:

{
pattern: r”^(?m)((?P<scm_version>d+(.d+){1,2})

-+ )”,

with_scm: “{text}

Tagged {rev[timestamp]} ”,

}

If the scm_version is detected, a timestamp will be added to the namespace.

If detected, the rev[timestamp] is a datetime-aware timestamp, so arbitrary formatting operators may be applied to it, such as the following which will render as “Dec 2000”:

{
with_scm: “{rev[timestamp]:%b %Y}”,

}

replace(match, replacer_vars)
class rst.linker.URLLinker(defn)

Bases: rst.linker.Repl

Each replacement should have the form:

{
pattern: “Issue #?(?P<number>d+)”, url: “{bitbucket}/jaraco/rst.linker/issues/{number}”, bitbucket: https://bitbucket.org

}

Currently, each named group must be unique across all Repl objects used in a replacement.

replace(match, replacer_vars)
rst.linker.setup(app)

Indices and tables