#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

site:
  title: Apache Log4j
  url: "https://logging.apache.org/log4j/2.x"
  start_page: "ROOT::index.adoc"

content:
  sources:
    - url: .
      branches: HEAD
      start_paths:
        - target/generated-site/antora
      edit_url:

runtime:
  log:
    # Do not fail on errors until we upgrade to `log4j-docgen` 0.10.0,
    # which has support for table captions.
    failure_level: fatal

asciidoc:
  attributes:
    # JSON Template Layout manual page has a deep sectioning, support it.
    # The trailing `@` is added so the attribute can still can be overridden in the header of a page.
    # For instance, we override this value in release notes page.
    page-toclevels: "4@"
    log4j-docgen-descriptor-directory: target/plugin-descriptors
    log4j-docgen-type-filter-exclude-pattern: ^java\..+
    log4j-docgen-type-target-template: |
      #{{{replaceAll sourcedType.groupId "." "-"}}}_{{{replaceAll sourcedType.artifactId "." "-"}}}_{{{replaceAll sourcedType.type.className "." "-"}}}
    tabs-sync-option: true
    # Force Kroki to download images at build time
    kroki-fetch-diagram: true
  extensions:
    - "@asciidoctor/tabs"
    - asciidoctor-kroki
    - src/docgen/apiref-macro.js

ui:

  bundle:
    url: "https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable"
    snapshot: true

  # Template files: https://github.com/asciidoctor/asciidoctor-docs-ui/blob/main/src
  # Template variables: https://docs.antora.org/antora-ui-default/templates
  supplemental_files:

    # Add `@asciidoctor/tabs` extension styles
    - path: css/vendor/tabs.css
      contents: ./node_modules/@asciidoctor/tabs/dist/css/tabs.css

    # Add `@asciidoctor/tabs` extension scripts
    - path: js/vendor/tabs.js
      contents: ./node_modules/@asciidoctor/tabs/dist/js/tabs.js

    - path: partials/footer-scripts.hbs
      contents: |
        <!-- Matomo -->
        <script>
          var _paq = window._paq = window._paq || [];
          _paq.push(["disableCookies"]);
          _paq.push(['trackPageView']);
          _paq.push(['enableLinkTracking']);
          (function() {
            var u="https://analytics.apache.org/";
            _paq.push(['setTrackerUrl', u+'matomo.php']);
            _paq.push(['setSiteId', '42']);
            var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
            g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
          })();
        </script>
        <noscript><p><img src="https://analytics.apache.org/matomo.php?idsite=42&amp;rec=1" style="border:0;" alt="" /></p></noscript>
        <!-- End Matomo Code -->
        <script id="site-script" src="{{{uiRootPath}}}/js/site.js" data-ui-root-path="{{{uiRootPath}}}"></script>
        <script async src="{{{uiRootPath}}}/js/vendor/highlight.js"></script>
        <!-- `@asciidoctor/tabs` extension scripts -->
        <script async src="{{{uiRootPath}}}/js/vendor/tabs.js"></script>
        {{#if env.SITE_SEARCH_PROVIDER}}
        {{> search-scripts}}
        {{/if}}

    - path: partials/head-styles.hbs
      contents: |
        <link rel="stylesheet" href="{{{uiRootPath}}}/css/site.css">
        <link rel="icon" href="{{{uiRootPath}}}/../_images/favicon.ico" type="image/x-icon">
        <!-- `@asciidoctor/tabs` extension styles -->
        <link rel="stylesheet" href="{{{uiRootPath}}}/css/vendor/tabs.css">
        <style>
          /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
          .doc .admonitionblock.important .icon { background-color: #f70; }
          .doc .admonitionblock.warning .icon { background-color: #e40046; }
          /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
          .doc h1 { font-size: 1.9rem; }
          .doc h2 { font-size: 1.7rem; }
          .doc h3 { font-size: 1.5rem; font-weight: 400; }
          .doc h4 { font-size: 1.3rem; font-weight: 500; }
          .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
          .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
          /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
          .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
          .doc pre { font-size: 0.7rem; }
          .doc .colist { font-size: 0.75rem; }
          /* Make links more visible: */
          .doc a { text-decoration: underline; }
          .doc a code { text-decoration: underline; color: #1565c0; }
          /* Tab header fonts aren't rendered good, adjusting the font weight: */
          .tablist > ul li { font-weight: 500; }
          /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
          .toc .toc-menu li[data-level="4"] a {
            padding-left: 2.75rem;
          }
          /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
          .hljs-string {
            color: #0f8532;
          }
          /* Colors for maintenance policies */
          .development { color: #8A4FFF; }
          .active { color: #28A745; }
          .eom { color: #FFC107; }
          .eol { color: #DC3545; }
        </style>

    - path: partials/header-content.hbs
      contents: |
        <header class="header">
          <nav class="navbar">
            <div class="navbar-brand">
              <div class="navbar-item">
                <img src="{{{uiRootPath}}}/../_images/logo-small-white.png" alt="Apache Log4j"/>
              </div>
            </div>
            <div id="topbar-nav" class="navbar-menu">
              <div class="navbar-end">
                <a class="navbar-item" href="https://logging.apache.org">a subproject of&nbsp;<strong>Apache Logging Services</strong></a>
              </div>
            </div>
          </nav>
        </header>

    - path: partials/footer-content.hbs
      contents: |
        <footer class="footer">
          <p>
            Copyright © 1999-{{{year}}} <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
            Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
          </p>
          <p>
            Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
            Oracle and Java are registered trademarks of Oracle and/or its affiliates.
            Other names may be trademarks of their respective owners.
          </p>
        </footer>

    # Disable component version selector
    - path: partials/nav-explore.hbs
      contents: ""

    # Fix the `Edit this page` link
    - path: partials/edit-this-page.hbs
      contents: |
        <div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/2.x/src/site/antora/modules/{{page.module}}/pages/{{page.relativeSrcPath}}">Edit this Page</a></div>
