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
watch_file **/*.nix *.lock package.json
watch_file **/*.nix *.lock package.json src/content/*
yarn install
yarn astro sync

View file

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

11
.vscode/settings.json vendored
View file

@ -6,8 +6,11 @@
"*.css": "tailwindcss",
"flake.lock": "json"
},
"nix.serverPath": "nil",
"nix.enableLanguageServer": true,
"typescript.tsdk": "node_modules/typescript/lib",
"[nix]": {
"editor.defaultFormatter": "kamadorueda.alejandra"
"editor.defaultFormatter": "brettm12345.nixfmt-vscode"
},
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
@ -35,9 +38,5 @@
},
"[astro]": {
"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'
export default defineConfig({
// https://astro.build/config
devToolbar: { enabled: false },
site: "https://srx.digital",
server: { port: 3001 },
integrations: [
@ -16,5 +16,4 @@ export default defineConfig({
svgr()
],
},
devToolbar: { enabled: false },
});

View file

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

View file

@ -1,23 +1,40 @@
{
perSystem = {
pkgs,
config,
...
}: {
perSystem = { pkgs, config, ... }: {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
cocogitto
yarn
yarn2nix
alejandra
nativeBuildInputs = with pkgs; [
# ide
(vscode-with-extensions.override {
vscode = vscodium;
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
nodejs
nodePackages.typescript
nodePackages.typescript-language-server
vscodium
vscode-extensions.jnoortheen.nix-ide
vscode-extensions.kamadorueda.alejandra
vscode-extensions.astro-build.astro-vscode
nodePackages_latest.typescript-language-server
nodePackages_latest.vscode-css-languageserver-bin
nodePackages_latest.vscode-html-languageserver-bin
tailwindcss-language-server
# node
nodePackages_latest.nodejs
nodePackages_latest.typescript
nodePackages_latest.yarn
yarn2nix
# html
html5validator
];
shellHook = config.pre-commit.installationScript;
};

View file

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

View file

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

@ -29,7 +29,7 @@ const {
metaType = "website",
metaDate,
metaSchema,
analyticsUrl = "https://track.srx.dev/js/script.js",
analyticsUrl = "https://analytics.srx.digital/js/script.js",
analyticsId = "srx.digital",
} = Astro.props;
@ -59,11 +59,7 @@ const isProduction = import.meta.env.MODE === "production";
}
{
metaAuthors?.map((author) => (
<meta
property="og:article:author"
name="author"
content={author}
/>
<meta property="og:article:author" name="author" content={author} />
))
}
@ -83,29 +79,22 @@ const isProduction = import.meta.env.MODE === "production";
<!-- Linking Data -->
{
metaSchema && (
<script
type="application/ld+json"
set:html={metaSchema}
is:inline
/>
<script type="application/ld+json" set:html={metaSchema} is:inline />
)
}
<!-- Environment dependent Includes -->
{
isProduction && (
<script
src={analyticsUrl}
data-domain={analyticsId}
is:inline
defer
/>
<script src={analyticsUrl} data-domain={analyticsId} is:inline defer />
)
}
</head>
<main>
<Navbar />
<slot />
<Footer />
</main>
</html>

816
yarn.lock

File diff suppressed because it is too large Load diff