Chalarangelo/30-seconds-of-code

View on GitHub
src/astro/layouts/Layout.astro

Summary

Maintainability
Test Coverage
---
import '../styles/index.scss';

import Meta from '#src/astro/components/Meta.astro';
import Footer from '#src/astro/components/Footer.astro';
import Header from '#src/astro/components/Header.astro';
import Omnisearch from '#src/astro/components/Omnisearch.astro';

// This is used to create an empty script to force HRM when content regenerates.
import timestamp from '#src/astro/timestamp.js';

const {
  title,
  description,
  logoSrc,
  pageType,
  structuredData,
  breadcrumbsData,
  canonical,
} = Astro.props;
---

<html lang='en'>
  <head>
    <Meta
      title={title}
      description={description}
      logoSrc={logoSrc}
      pageType={pageType}
      structuredData={structuredData}
      breadcrumbsData={breadcrumbsData}
      canonical={canonical}
    />
    <script define:vars={{timestamp}} />
  </head>
  <body>
    <a href='#skip-link-target' data-skip-link>Skip to content</a>
    <Header />
    <div id='skip-link-target'/>
    <slot name='main-content' />
    <slot name='side-bar' />
    <Footer />
    <Omnisearch />
  </body>
</html>