diff options
Diffstat (limited to 'git_describe.py')
-rw-r--r-- | git_describe.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/git_describe.py b/git_describe.py new file mode 100644 index 0000000..d33cc0b --- /dev/null +++ b/git_describe.py @@ -0,0 +1,22 @@ +import subprocess + +from pelican import signals + + +def git_describe(): + """Check and return git describe --tags value.""" + return subprocess \ + .run(["git", "describe", "--tags"], + stdout=subprocess.PIPE, check=True) \ + .stdout.decode('utf-8').strip() + + +def expand_context(generators): + desc = git_describe() + for gen in generators: + gen.context['git_describe'] = desc + + +def register(): + """Register Pelican signals to dedicated functions.""" + signals.all_generators_finalized.connect(expand_context) |