{% extends "base.html" %} {#- Keyword-rich on the homepage only; every other page keeps Material's "{page} - {site_name}" title. The nav label and the hero H1 are untouched. -#} {% block htmltitle %} {% if page and page.is_homepage %} <title>lgtmaybe — Provider-agnostic AI PR reviewer (keyless cloud, self-hosted) {% else %} {{ super() }} {% endif %} {% endblock %} {% block extrahead %} {#- Per-page title/description/url, reused by the social tags and JSON-LD below. The homepage gets the same keyword-rich title as . -#} {% set home_title = "lgtmaybe — Provider-agnostic AI PR reviewer (keyless cloud, self-hosted)" %} {% set page_title = home_title if (page and page.is_homepage) else ((page.title ~ " — " ~ config.site_name) if (page and page.title) else config.site_name) %} {% set page_desc = page.meta.description if page and page.meta and page.meta.description else config.site_description %} {% set page_url = page.canonical_url if page and page.canonical_url else config.site_url %} {% set og_image = config.site_url ~ "assets/og-card.png" %} {#- Crawl + snippet directives: index everything, and let search / AI answer engines pull large previews and unlimited-length snippets. -#} <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"> <meta name="author" content="Matt Coles"> <meta name="keywords" content="AI PR reviewer, AI code review, LLM code review, GitHub Action code review, automated pull request review, keyless OIDC code review, AWS Bedrock code review, Vertex AI code review, Azure OpenAI code review, ollama code review, self-hosted code reviewer, provider-agnostic code review, local LLM code review"> {#- SEO / social: Open Graph + Twitter card, sharing one static preview image. -#} <meta property="og:type" content="website"> <meta property="og:site_name" content="{{ config.site_name }}"> <meta property="og:title" content="{{ page_title }}"> <meta property="og:description" content="{{ page_desc }}"> <meta property="og:url" content="{{ page_url }}"> <meta property="og:locale" content="en_GB"> <meta property="og:image" content="{{ og_image }}"> <meta property="og:image:alt" content="lgtmaybe — provider-agnostic AI PR reviewer"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="{{ page_title }}"> <meta name="twitter:description" content="{{ page_desc }}"> <meta name="twitter:image" content="{{ og_image }}"> <meta name="twitter:image:alt" content="lgtmaybe — provider-agnostic AI PR reviewer"> {#- Discoverability for LLM crawlers / coding agents: the plain-text index. -#} <link rel="alternate" type="text/plain" title="llms.txt" href="{{ 'llms.txt' | url }}"> {#- Structured data: the tool itself, plus the docs site. Site-wide. -#} <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "lgtmaybe", "applicationCategory": "DeveloperApplication", "operatingSystem": "Linux, macOS, Windows", "description": {{ config.site_description | tojson }}, "url": "{{ config.site_url }}", "downloadUrl": "https://pypi.org/project/lgtmaybe/", "codeRepository": "{{ config.repo_url }}", "license": "{{ config.repo_url }}/blob/main/LICENSE", "programmingLanguage": "Python", "isAccessibleForFree": true, "offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }, "author": { "@type": "Person", "name": "Matt Coles" } } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "{{ config.site_name }}", "url": "{{ config.site_url }}", "description": {{ config.site_description | tojson }} } </script> {#- Per-page structured data: the article itself + a breadcrumb trail from the nav, so search results can show the page's place in the docs. -#} {% if page and not page.is_homepage %} <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "TechArticle", "headline": {{ (page.title or config.site_name) | tojson }}, "description": {{ page_desc | tojson }}, "url": "{{ page_url }}", "isPartOf": { "@type": "WebSite", "name": {{ config.site_name | tojson }}, "url": "{{ config.site_url }}" }, "author": { "@type": "Person", "name": "Matt Coles" }, "publisher": { "@type": "Organization", "name": {{ config.site_name | tojson }}, "url": "{{ config.site_url }}" } } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "{{ config.site_url }}" } {%- set ns = namespace(pos = 1) -%} {%- for crumb in page.ancestors | reverse -%} {%- set ns.pos = ns.pos + 1 -%} ,{ "@type": "ListItem", "position": {{ ns.pos }}, "name": {{ crumb.title | tojson }} {%- if crumb.canonical_url is defined and crumb.canonical_url %}, "item": "{{ crumb.canonical_url }}"{% endif -%} } {%- endfor -%} {%- set ns.pos = ns.pos + 1 -%} ,{ "@type": "ListItem", "position": {{ ns.pos }}, "name": {{ page.title | tojson }}, "item": "{{ page_url }}" } ] } </script> {% endif %} {% endblock %}