updated components

This commit is contained in:
Sebastian Wendel 2024-04-23 18:46:19 +02:00
parent 46a1640036
commit 6ae2930d28
15 changed files with 826 additions and 363 deletions

2
.envrc
View file

@ -1,6 +1,6 @@
use flake use flake
watch_file **/*.nix *.lock package.json watch_file **/*.nix *.lock package.json src/content/*
yarn install yarn install
yarn astro sync yarn astro sync

View file

@ -7,7 +7,6 @@
"ecmel.vscode-html-css", "ecmel.vscode-html-css",
"formulahendry.auto-complete-tag", "formulahendry.auto-complete-tag",
"jnoortheen.nix-ide", "jnoortheen.nix-ide",
"kamadorueda.alejandra",
"mikestead.dotenv", "mikestead.dotenv",
"stylelint.vscode-stylelint", "stylelint.vscode-stylelint",
], ],

11
.vscode/settings.json vendored
View file

@ -6,8 +6,11 @@
"*.css": "tailwindcss", "*.css": "tailwindcss",
"flake.lock": "json" "flake.lock": "json"
}, },
"nix.serverPath": "nil",
"nix.enableLanguageServer": true,
"typescript.tsdk": "node_modules/typescript/lib",
"[nix]": { "[nix]": {
"editor.defaultFormatter": "kamadorueda.alejandra" "editor.defaultFormatter": "brettm12345.nixfmt-vscode"
}, },
"[html]": { "[html]": {
"editor.defaultFormatter": "vscode.html-language-features" "editor.defaultFormatter": "vscode.html-language-features"
@ -35,9 +38,5 @@
}, },
"[astro]": { "[astro]": {
"editor.defaultFormatter": "astro-build.astro-vscode" "editor.defaultFormatter": "astro-build.astro-vscode"
}, }
"nix.serverPath": "nil",
"nix.enableLanguageServer": true,
"alejandra.program": "alejandra",
"typescript.tsdk": "node_modules/typescript/lib"
} }

View file

@ -4,7 +4,7 @@ import tailwind from "@astrojs/tailwind";
import svgr from 'vite-plugin-svgr' import svgr from 'vite-plugin-svgr'
export default defineConfig({ export default defineConfig({
// https://astro.build/config devToolbar: { enabled: false },
site: "https://srx.digital", site: "https://srx.digital",
server: { port: 3001 }, server: { port: 3001 },
integrations: [ integrations: [
@ -16,5 +16,4 @@ export default defineConfig({
svgr() svgr()
], ],
}, },
devToolbar: { enabled: false },
}); });

View file

@ -21,11 +21,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1706830856, "lastModified": 1712014858,
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -39,11 +39,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1710146030,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,14 +54,17 @@
}, },
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": ["pre-commit", "nixpkgs"] "nixpkgs": [
"pre-commit",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1703887061, "lastModified": 1709087332,
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "gitignore.nix", "repo": "gitignore.nix",
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -72,11 +75,11 @@
}, },
"nix-filter": { "nix-filter": {
"locked": { "locked": {
"lastModified": 1705332318, "lastModified": 1710156097,
"narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=", "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
"owner": "numtide", "owner": "numtide",
"repo": "nix-filter", "repo": "nix-filter",
"rev": "3449dc925982ad46246cfc36469baf66e1b64f17", "rev": "3342559a24e85fc164b295c3444e8a139924675b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +90,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1709230475, "lastModified": 1713805509,
"narHash": "sha256-QI/0GiTvWxhBJ/bpredarfAUARnP6zE1vCOifsZ220A=", "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b5f6e3881acf8ca8a35b8cdb8d4021e5bd469a4e", "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -104,11 +107,11 @@
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
"lastModified": 1706550542, "lastModified": 1711703276,
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -121,11 +124,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1704874635, "lastModified": 1710695816,
"narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", "rev": "614b4613980a522ba49f0d194531beddbb7220d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -137,11 +140,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1704842529, "lastModified": 1710765496,
"narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", "rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -160,11 +163,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1708018599, "lastModified": 1713775815,
"narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,23 +1,40 @@
{ {
perSystem = { perSystem = { pkgs, config, ... }: {
pkgs,
config,
...
}: {
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
packages = with pkgs; [ nativeBuildInputs = with pkgs; [
cocogitto # ide
yarn (vscode-with-extensions.override {
yarn2nix vscode = vscodium;
alejandra vscodeExtensions = with vscode-extensions; [
arrterian.nix-env-selector
astro-build.astro-vscode
bradlc.vscode-tailwindcss
bbenoist.nix
jnoortheen.nix-ide
mkhl.direnv
ritwickdey.liveserver
];
})
# formater
nixfmt
nodePackages_latest.prettier
# lsp
nil nil
nodejs nodePackages_latest.typescript-language-server
nodePackages.typescript nodePackages_latest.vscode-css-languageserver-bin
nodePackages.typescript-language-server nodePackages_latest.vscode-html-languageserver-bin
vscodium tailwindcss-language-server
vscode-extensions.jnoortheen.nix-ide
vscode-extensions.kamadorueda.alejandra # node
vscode-extensions.astro-build.astro-vscode nodePackages_latest.nodejs
nodePackages_latest.typescript
nodePackages_latest.yarn
yarn2nix
# html
html5validator
]; ];
shellHook = config.pre-commit.installationScript; shellHook = config.pre-commit.installationScript;
}; };

View file

@ -26,23 +26,24 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/check": "^0.5.6", "@astrojs/check": "^0.5.10",
"@astrojs/react": "^3.0.10", "@astrojs/react": "^3.3.0",
"@astrojs/tailwind": "^5.1.0", "@astrojs/tailwind": "^5.1.0",
"@fontsource-variable/literata": "^5.0.20", "@fontsource-variable/literata": "^5.0.21",
"@fontsource-variable/manrope": "^5.0.19", "@fontsource-variable/manrope": "^5.0.20",
"@fontsource-variable/martian-mono": "^5.0.12", "@fontsource-variable/martian-mono": "^5.0.13",
"@tailwindcss/forms": "^0.5.7", "@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.10", "@tailwindcss/typography": "^0.5.12",
"@types/react": "^18.2.64", "@types/react": "^18.2.79",
"@types/react-dom": "^18.2.21", "@types/react-dom": "^18.2.25",
"astro": "^4.4.15", "astro": "^4.6.3",
"lucide-react": "^0.354.0", "lucide-react": "^0.372.0",
"lucide-static": "^0.372.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.3",
"typescript": "^5.4.2", "typescript": "^5.4.5",
"vite": "^5.1.5", "vite": "^5.2.10",
"vite-plugin-svgr": "^4.2.0" "vite-plugin-svgr": "^4.2.0"
} }
} }

View file

@ -1,7 +1,12 @@
--- ---
import Config from "@srx/config/page.json"; import Config from "@srx/config/page.json";
import Logo from "@srx/components/Logo.astro"; import Logo from "@srx/components/Logo.astro";
import { AtSign, GitFork, Linkedin, MessagesSquare } from "lucide-react"; import { AtSign } from "lucide-react";
import { getCollection } from "astro:content";
const allSocial = (await getCollection("social"))
.map((s) => s.data)
.sort((a, b) => (a.order || 0) - (b.order || 0));
--- ---
<footer <footer
@ -17,13 +22,13 @@ import { AtSign, GitFork, Linkedin, MessagesSquare } from "lucide-react";
`${encodeURIComponent(Config.contact.email.subject)}`} `${encodeURIComponent(Config.contact.email.subject)}`}
><AtSign /></a ><AtSign /></a
> >
<a href="https://matrix.to/#/@swendel:curious.bio" {
><MessagesSquare /></a allSocial?.map((item, i) => (
> <a href={item.url} target="_blank">
<a href="https://code.srx.digital/explore/repos"><GitFork /></a> <Fragment set:html={item.icon} class=´{item.title}´ />
<a href="https://www.linkedin.com/in/sebastian-wendel-935b8a9a/" </a>
><Linkedin /></a ))
> }
</p> </p>
</div> </div>

16
src/content/config.ts Normal file
View file

@ -0,0 +1,16 @@
import { z, defineCollection } from 'astro:content'
const socialCollection = defineCollection({
type: 'data',
schema: z.object({
title: z.string(),
url: z.string(),
icon: z.string().optional(),
enabled: z.boolean().optional(),
order: z.number().optional(),
}),
})
export const collections = {
socialmedias: socialCollection
}

View file

@ -0,0 +1,5 @@
{
"title": "Github",
"url": "https://code.srx.digital/explore/repos",
"icon": "<svg viewBox='0 0 98 97' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' fill='currentColor' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'><title>GitHub Logo</title><path d='M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a47.002 47.002 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0Z'/></svg>"
}

View file

@ -0,0 +1,5 @@
{
"title": "LinkedIn",
"url": "https://www.linkedin.com/in/sebastian-wendel-935b8a9a/",
"icon": "<svg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><title>LinkedIn</title><path d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/></svg>"
}

View file

@ -0,0 +1,6 @@
{
"title": "Mastodon",
"url": "https://mastodon.social/@srx_digital",
"icon": "<svg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><title>Mastodon</title><path d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/></svg>",
"enabled": false
}

View file

@ -0,0 +1,5 @@
{
"title": "Xing",
"link": "https://www.xing.com/profile/Sebastian_Wendel/",
"icon": ""
}

View file

@ -5,107 +5,96 @@ import Footer from "@srx/components/Footer.astro";
import Config from "@srx/config/page.json"; import Config from "@srx/config/page.json";
interface Props { interface Props {
metaTitle?: string; metaTitle?: string;
metaSubtitle?: string; metaSubtitle?: string;
metaDescription?: string; metaDescription?: string;
metaImage?: string; metaImage?: string;
metaImageWidth?: string; metaImageWidth?: string;
metaImageHeight?: string; metaImageHeight?: string;
metaImageType?: string; metaImageType?: string;
metaAuthors?: string[]; metaAuthors?: string[];
metaType?: string; metaType?: string;
metaDate?: string; metaDate?: string;
metaSchema?: string; metaSchema?: string;
analyticsUrl?: string; analyticsUrl?: string;
analyticsId?: string; analyticsId?: string;
} }
const { const {
metaTitle = Config.site.title, metaTitle = Config.site.title,
metaSubtitle = Config.site.subtitle, metaSubtitle = Config.site.subtitle,
metaDescription = Config.site.description, metaDescription = Config.site.description,
metaImage = `${Astro.url}srx_digital_opengraph.jpg`, metaImage = `${Astro.url}srx_digital_opengraph.jpg`,
metaAuthors = ["Sebastian Wendel"], metaAuthors = ["Sebastian Wendel"],
metaType = "website", metaType = "website",
metaDate, metaDate,
metaSchema, metaSchema,
analyticsUrl = "https://track.srx.dev/js/script.js", analyticsUrl = "https://analytics.srx.digital/js/script.js",
analyticsId = "srx.digital", analyticsId = "srx.digital",
} = Astro.props; } = Astro.props;
const isProduction = import.meta.env.MODE === "production"; const isProduction = import.meta.env.MODE === "production";
--- ---
<html lang="de" class="overflow-x-hidden scroll-smooth"> <html lang="de" class="overflow-x-hidden scroll-smooth">
<head> <head>
<title>{`${metaTitle} - ${metaSubtitle}`}</title> <title>{`${metaTitle} - ${metaSubtitle}`}</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content={metaDescription} /> <meta name="description" content={metaDescription} />
<meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content={Astro.generator} /> <meta name="generator" content={Astro.generator} />
<!-- Facebook Meta Tags --> <!-- Facebook Meta Tags -->
<meta property="og:url" content={Astro.url} /> <meta property="og:url" content={Astro.url} />
<meta property="og:type" content={metaType} /> <meta property="og:type" content={metaType} />
<meta property="og:title" content={`${metaTitle} - ${metaSubtitle}`} /> <meta property="og:title" content={`${metaTitle} - ${metaSubtitle}`} />
<meta property="og:description" content={metaDescription} /> <meta property="og:description" content={metaDescription} />
<meta property="og:image" content={metaImage} /> <meta property="og:image" content={metaImage} />
<meta property="og:image:alt" content={metaDescription} /> <meta property="og:image:alt" content={metaDescription} />
{ {
metaDate && ( metaDate && (
<meta property="og:article:published_time" content={metaDate} /> <meta property="og:article:published_time" content={metaDate} />
) )
} }
{ {
metaAuthors?.map((author) => ( metaAuthors?.map((author) => (
<meta <meta property="og:article:author" name="author" content={author} />
property="og:article:author" ))
name="author" }
content={author}
/>
))
}
<!-- Twitter Meta Tags --> <!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={`${metaTitle} - ${metaSubtitle}`} /> <meta name="twitter:title" content={`${metaTitle} - ${metaSubtitle}`} />
<meta name="twitter:description" content={metaDescription} /> <meta name="twitter:description" content={metaDescription} />
{ {
metaAuthors?.map((author) => ( metaAuthors?.map((author) => (
<meta name="twitter:creator" content={author} /> <meta name="twitter:creator" content={author} />
)) ))
} }
<meta property="twitter:url" content={Astro.url} /> <meta property="twitter:url" content={Astro.url} />
<meta property="twitter:domain" content={Astro.url.host} /> <meta property="twitter:domain" content={Astro.url.host} />
<meta property="twitter:image" content={metaImage} /> <meta property="twitter:image" content={metaImage} />
<!-- Linking Data --> <!-- Linking Data -->
{ {
metaSchema && ( metaSchema && (
<script <script type="application/ld+json" set:html={metaSchema} is:inline />
type="application/ld+json" )
set:html={metaSchema} }
is:inline
/>
)
}
<!-- Environment dependent Includes --> <!-- Environment dependent Includes -->
{ {
isProduction && ( isProduction && (
<script <script src={analyticsUrl} data-domain={analyticsId} is:inline defer />
src={analyticsUrl} )
data-domain={analyticsId} }
is:inline </head>
defer <main>
/>
)
}
</head>
<Navbar /> <Navbar />
<slot /> <slot />
<Footer /> <Footer />
</main>
</html> </html>

816
yarn.lock

File diff suppressed because it is too large Load diff