diff --git a/scripts/check_repository.py b/scripts/check_repository.py index 10edb82..8c2c637 100644 --- a/scripts/check_repository.py +++ b/scripts/check_repository.py @@ -154,6 +154,8 @@ def check_render() -> None: raise AssertionError(f"brak adresu nagłówka {expected_url!r}") if tex.count(r"\qrcode[level=L,height=22mm]") < 2: raise AssertionError("TeX nie zawiera obu kodów QR nagłówka") + if tex.count(r"}{\qrcode[level=L,height=22mm]") < 2: + raise AssertionError("oba kody QR PDF muszą być aktywnymi hiperłączami") for marker in ("resource-qr-repository", "resource-qr-page"): if marker not in html: raise AssertionError(f"HTML nie zawiera komórki {marker!r}") diff --git a/tools/render_card.py b/tools/render_card.py index 6b7330c..f1c2864 100644 --- a/tools/render_card.py +++ b/tools/render_card.py @@ -4193,11 +4193,15 @@ def render_page_header_tex_macro(data: dict) -> list[str]: f"title_block.{field_name} zawiera znaki nieobsługiwane przez nagłówek TeX" ) page_qr = ( - rf"\qrcode[level=L,height=22mm]{{{url}}}" + rf"\href{{{url}}}{{\qrcode[level=L,height=22mm]{{{url}}}}}" if fields["show_qr"] else r"{\tiny QR wyłączony}" ) - source_qr = rf"\qrcode[level=L,height=22mm]{{{source_url}}}" if dual_qr else "" + source_qr = ( + rf"\href{{{source_url}}}{{\qrcode[level=L,height=22mm]{{{source_url}}}}}" + if dual_qr + else "" + ) layout = resource_header_layout(data, r"\thepage/\pageref{LastPage}") row_units = [3, 3, 3, 2, 2] unit_height_mm = ( @@ -5465,11 +5469,15 @@ def render_page_header_5x_tex(data: dict, page: int, total: int) -> list[str]: f"title_block.{field_name} zawiera znaki nieobsługiwane przez nagłówek TeX" ) page_qr = ( - rf"\qrcode[level=L,height=22mm]{{{url}}}" + rf"\href{{{url}}}{{\qrcode[level=L,height=22mm]{{{url}}}}}" if fields["show_qr"] else r"{\tiny QR wyłączony}" ) - source_qr = rf"\qrcode[level=L,height=22mm]{{{source_url}}}" if dual_qr else "" + source_qr = ( + rf"\href{{{source_url}}}{{\qrcode[level=L,height=22mm]{{{source_url}}}}}" + if dual_qr + else "" + ) title = f"{card_prefix(card)}: {card.get('title', '')}" card_number = f"{card.get('number', '')}/{card.get('count', '')}" primary_width = r"\dimexpr\linewidth-111mm\relax" if dual_qr else r"\dimexpr\linewidth-85mm\relax"