% -*- coding: utf-8 -*-
%
% Some font hacks for my Sphinx PDF documents
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{my-doc-style}[%
  2026/05/15 v0.2 (Franz Glasner) Some style customizations (title et al.)]
\RequirePackage{xkeyval}

% A key compatible with options processing but bool (because DeclareBoolOptionX)
% If given than the Sphinx standard titlepage is used without changes.
\define@boolkey{my-doc-style.sty}{stdtitle}[true]{}

\ExecuteOptionsX{stdtitle=false}
\ProcessOptionsX\relax

%
% For the title page: "Last updated on ..."
%
\DeclareRobustCommand*\vcsrevision[1]{\gdef\mds@vcs@revision{#1}}
\DeclareRobustCommand*\builddate[1]{\gdef\mds@builddate{#1}}
\vcsrevision{}
\builddate{}
%
% If the option "stdtitle" was not enabled augment the titlepage with
% the documentation build date and the VCS revision id.
%
\csname ifKV@my-doc-style.sty@stdtitle\endcsname
  \relax
\else
  % \sphinxmaketitle calls the macro \@thanks: abuse this
  \gdef\@thanks{%
    \ifx\mds@builddate\@empty\relax%
      \ifx\mds@vcs@revision\@empty\relax%
      \else%
        \hfill\normalsize\textsf{(rev\ \mds@vcs@revision )}%
      \fi%
    \else%
      \hfill\normalsize\textsf{Last updated on \mds@builddate%
      \ifx\mds@vcs@revision\@empty\relax\else\enspace(rev\ \mds@vcs@revision )\fi}
    \fi%
  }
\fi

\endinput
