# SPDX-FileCopyrightText: 2023 Agathe Porte # # SPDX-License-Identifier: MIT 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)