# Include existing configuration
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:base/ContentBlocks" extensions="typoscript">
# Include constants
#<INCLUDE_TYPOSCRIPT: source="FILE:EXT:base/Configuration/Sets/SitePackage/TypoScript/constants.typoscript">

page = PAGE
page {
  typeNum = 0
  shortcutIcon = EXT:base/Resources/Public/Icons/favicon.ico
  10 = PAGEVIEW
  10 {
    paths {
        0 = EXT:base/Resources/Private/PageView/
        1 = {$page.pageview.paths}
    }
    dataProcessing {
        10 = files
        10 {
            references.fieldName = media
        }
        20 = menu
        20 {
            levels = 2
            includeSpacer = 1
            as = mainnavigation
        }
        30 = page-content
        40 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        40 {
            special = directory
            special.value = 7
            as = metanavigation
        }
    }
  }

  meta {
    viewport = {$page.meta.viewport}
    robots = {$page.meta.robots}
    apple-mobile-web-app-capable = {$page.meta.apple-mobile-web-app-capable}

    X-UA-Compatible = {$page.meta.compatible}
    X-UA-Compatible {
        attribute = http-equiv
    }
  }

  includeCSS {
    main = EXT:base/Resources/Public/Css/main.css
  }

  includeJSLibs {
    navigation = EXT:base/Resources/Public/JavaScript/navigation.js
  }

  includeJSFooter {
    test_scripts = EXT:base/Resources/Public/JavaScript/main.js
  }

  # Use includeAssets to properly preload fonts with TYPO3 v13 asset handling.
  includeAssets {
    hajimeSansTtf {
      path = EXT:base/Resources/Public/Fonts/Hajime-Sans.woff2
      type = font
      resourceType = font
      preload = 1
      as = font
      attributes {
        type = font/woff2
        crossorigin = anonymous
      }
    }

    interVariable {
      path = EXT:base/Resources/Public/Fonts/Inter.woff2
      type = font
      resourceType = font
      preload = 1
      as = font
      attributes {
        type = font/woff2
        crossorigin = anonymous
      }
    }
  }

  footerMenuPid = {$footerMenuPid}
}

lib.contentElement {
  layoutRootPaths {
    0 = EXT:base/Resources/Private/ContentElements/Layouts/
  }
}

lib.contentBlock {
  partialRootPaths.0 < lib.contentElement.partialRootPaths.0
  layoutRootPaths.0 < lib.contentElement.layoutRootPaths.0
  settings < lib.contentElement.settings
}

# Ensure parseFunc removes empty paragraphs and whitespace
lib.parseFunc_RTE {
  nonTypoTagStdWrap.encapsLines.stripEmptyLines = 1
  nonTypoTagStdWrap.trim = 1
  externalBlocks {
    p {
      stdWrap.stripNL = 1
    }
  }
}

# Define the footer menu to show subpages of the configured footerMenuPid
# special = directory will list all direct subpages of the given pid, not the page itself
lib.footerMenu = HMENU
lib.footerMenu {
  special = directory
  special.value = {$footerMenuPid}
  1 = TMENU
  1 {
    wrap = <ul>|</ul>
    NO = 1
    NO.wrapItemAndSub = <li>|</li>
  }
}
