upgraded astro config and packes to latest version
This commit is contained in:
parent
a0cf3805e9
commit
65f4134c82
6
.envrc
6
.envrc
|
@ -1,7 +1,5 @@
|
||||||
watch_file flake.nix flake.lock package.json yarn.lock nix/*.nix
|
|
||||||
|
|
||||||
use flake
|
use flake
|
||||||
|
|
||||||
yarn install
|
watch_file **/*.nix *.lock package.json
|
||||||
|
|
||||||
yarn sync
|
yarn2nix > nix/yarn.nix
|
||||||
|
|
42
.eslintrc.js
42
.eslintrc.js
|
@ -1,31 +1,43 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
env: {
|
env: {
|
||||||
|
node: true,
|
||||||
browser: true,
|
browser: true,
|
||||||
es2021: true,
|
es2021: true,
|
||||||
},
|
},
|
||||||
extends: ['plugin:astro/all'],
|
extends: [
|
||||||
parser: '@typescript-eslint/parser',
|
"eslint:recommended",
|
||||||
|
"plugin:astro/recommended",
|
||||||
|
"plugin:astro/jsx-a11y-strict",
|
||||||
|
],
|
||||||
|
parser: "@typescript-eslint/parser",
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
ecmaVersion: 'latest',
|
ecmaVersion: "latest",
|
||||||
sourceType: 'module',
|
sourceType: "module",
|
||||||
},
|
},
|
||||||
plugins: ['@typescript-eslint'],
|
plugins: ["@typescript-eslint"],
|
||||||
rules: {},
|
rules: {},
|
||||||
overrides: [
|
overrides: [
|
||||||
{
|
{
|
||||||
// Define the configuration for `.astro` file.
|
files: ["*.ts"],
|
||||||
files: ['*.astro'],
|
parser: "@typescript-eslint/parser",
|
||||||
// Allows Astro components to be parsed.
|
extends: ["plugin:@typescript-eslint/recommended"],
|
||||||
parser: 'astro-eslint-parser',
|
rules: {
|
||||||
// Parse the script in `.astro` as TypeScript by adding the following configuration.
|
"@typescript-eslint/no-unused-vars": [
|
||||||
// It's the setting you need when using TypeScript.
|
"error",
|
||||||
|
{ argsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_" },
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-non-null-assertion": "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ["*.astro"],
|
||||||
|
parser: "astro-eslint-parser",
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
parser: '@typescript-eslint/parser',
|
parser: "@typescript-eslint/parser",
|
||||||
extraFileExtensions: ['.astro'],
|
extraFileExtensions: [".astro"],
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
// override/add rules settings here, such as:
|
"astro/no-set-html-directive": "off",
|
||||||
'astro/no-set-html-directive': 'off',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
2
.npmrc
2
.npmrc
|
@ -1,2 +0,0 @@
|
||||||
# Expose Astro dependencies for `pnpm` users
|
|
||||||
shamefully-hoist=true
|
|
|
@ -1,30 +0,0 @@
|
||||||
/** @type {import("@types/prettier").Options} */
|
|
||||||
module.exports = {
|
|
||||||
printWidth: 100,
|
|
||||||
semi: true,
|
|
||||||
singleQuote: true,
|
|
||||||
tabWidth: 4,
|
|
||||||
trailingComma: 'es5',
|
|
||||||
useTabs: true,
|
|
||||||
plugins: ['./node_modules/prettier-plugin-astro'],
|
|
||||||
overrides: [
|
|
||||||
{
|
|
||||||
files: '*.astro',
|
|
||||||
options: {
|
|
||||||
parser: 'astro',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
files: ['.*', '*.md', '*.toml'],
|
|
||||||
options: {
|
|
||||||
useTabs: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
files: ['*.yaml', '*.yml', '*.json'],
|
|
||||||
options: {
|
|
||||||
tabWidth: 2,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
24
.prettierrc.mjs
Normal file
24
.prettierrc.mjs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/** @type {import("prettier").Config} */
|
||||||
|
export default {
|
||||||
|
plugins: ["prettier-plugin-astro"],
|
||||||
|
overrides: [
|
||||||
|
{
|
||||||
|
files: "*.astro",
|
||||||
|
options: {
|
||||||
|
parser: "astro",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ["*.md", "*.toml"],
|
||||||
|
options: {
|
||||||
|
useTabs: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ["*.yaml", "*.yml", "*.json"],
|
||||||
|
options: {
|
||||||
|
tabWidth: 2,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
5
.vscode/extensions.json
vendored
5
.vscode/extensions.json
vendored
|
@ -1,7 +1,4 @@
|
||||||
{
|
{
|
||||||
"recommendations": [
|
"recommendations": ["astro-build.astro-vscode", "kamadorueda.alejandra"],
|
||||||
"astro-build.astro-vscode",
|
|
||||||
"kamadorueda.alejandra",
|
|
||||||
],
|
|
||||||
"unwantedRecommendations": []
|
"unwantedRecommendations": []
|
||||||
}
|
}
|
25
.vscode/settings.json
vendored
25
.vscode/settings.json
vendored
|
@ -1,12 +1,21 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
"alejandra.program": "alejandra",
|
"eslint.validate": [
|
||||||
|
"astro",
|
||||||
|
"javascript",
|
||||||
|
"javascriptreact",
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact"
|
||||||
|
],
|
||||||
|
"files.associations": {
|
||||||
|
"*.mdx": "markdown"
|
||||||
|
},
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.formatOnPaste": true,
|
||||||
|
"[astro]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
"[nix]": {
|
"[nix]": {
|
||||||
"editor.defaultFormatter": "kamadorueda.alejandra",
|
"editor.defaultFormatter": "kamadorueda.alejandra",
|
||||||
"editor.formatOnPaste": true,
|
"editor.tabSize": 2
|
||||||
"editor.formatOnSave": true,
|
}
|
||||||
"editor.insertSpaces": true,
|
|
||||||
"editor.tabSize": 2,
|
|
||||||
"editor.codeLens": true
|
|
||||||
},
|
|
||||||
}
|
}
|
18
.vscode/tasks.json
vendored
18
.vscode/tasks.json
vendored
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "watch tests",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "watch --color 'nix-build test --no-out-link | xargs cat'",
|
|
||||||
"presentation": {
|
|
||||||
"echo": false,
|
|
||||||
"reveal": "always",
|
|
||||||
"focus": false,
|
|
||||||
"panel": "dedicated",
|
|
||||||
"showReuseMessage": false
|
|
||||||
},
|
|
||||||
"problemMatcher": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
6
astro-i18next.config.mjs
Normal file
6
astro-i18next.config.mjs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/** @type {import('astro-i18next').AstroI18nextConfig} */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
defaultLocale: "de",
|
||||||
|
locales: ["en", "de"],
|
||||||
|
};
|
|
@ -1,32 +1,66 @@
|
||||||
import { defineConfig } from 'astro/config';
|
import path from "path";
|
||||||
import path from 'path';
|
import { defineConfig } from "astro/config";
|
||||||
import mdx from '@astrojs/mdx';
|
import react from "@astrojs/react";
|
||||||
import robotsTxt from 'astro-robots-txt';
|
import vue from "@astrojs/vue";
|
||||||
import tailwind from '@astrojs/tailwind';
|
import mdx from "@astrojs/mdx";
|
||||||
import sitemap from '@astrojs/sitemap';
|
import tailwind from "@astrojs/tailwind";
|
||||||
|
import astroI18next from "astro-i18next";
|
||||||
|
import remarkToc from "remark-toc";
|
||||||
|
import robotsTxt from "astro-robots-txt";
|
||||||
|
import sitemap from "@astrojs/sitemap";
|
||||||
|
import { astroImageTools } from "astro-imagetools";
|
||||||
|
|
||||||
const mkPath = (name) => path.resolve(`./src/${name}`);
|
const mkPath = (name) => path.resolve(`./src/${name}`);
|
||||||
const cacheDir = process.env.VITE_CACHE ? process.env.VITE_CACHE : 'node_modules/.vite';
|
const tailwindConfig = {
|
||||||
const tailwindConfig = { config: { applyBaseStyles: false } };
|
config: {
|
||||||
const external = ['svgo'];
|
applyBaseStyles: false,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const external = ["svgo"];
|
||||||
const mdxConfig = {};
|
const mdxConfig = {};
|
||||||
const alias = {
|
const alias = {
|
||||||
'@srx-components': mkPath('components'),
|
"@srx-components": mkPath("components"),
|
||||||
'@srx-layouts': mkPath('layouts'),
|
"@srx-layouts": mkPath("layouts"),
|
||||||
'@srx-pages': mkPath('pages'),
|
"@srx-pages": mkPath("pages"),
|
||||||
'@srx-scripts': mkPath('scripts'),
|
"@srx-scripts": mkPath("scripts"),
|
||||||
'@srx-styles': mkPath('styles'),
|
"@srx-styles": mkPath("styles"),
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
integrations: [sitemap(), mdx(mdxConfig), tailwind(tailwindConfig), robotsTxt()],
|
site: "https://srx.dev",
|
||||||
site: 'https://srx.dev',
|
server: {
|
||||||
server: { port: 3001 },
|
port: 3001,
|
||||||
experimental: {
|
|
||||||
contentCollections: true,
|
|
||||||
},
|
},
|
||||||
|
integrations: [
|
||||||
|
react(),
|
||||||
|
vue(),
|
||||||
|
tailwind(tailwindConfig),
|
||||||
|
mdx(mdxConfig),
|
||||||
|
astroI18next(),
|
||||||
|
sitemap(),
|
||||||
|
robotsTxt(),
|
||||||
|
astroImageTools,
|
||||||
|
],
|
||||||
|
markdown: {
|
||||||
|
remarkPlugins: [
|
||||||
|
[
|
||||||
|
remarkToc,
|
||||||
|
{
|
||||||
|
heading: "contents",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// experimental: {
|
||||||
|
// contentCollections: true,
|
||||||
|
// },
|
||||||
vite: {
|
vite: {
|
||||||
ssr: { external },
|
ssr: {
|
||||||
resolve: { alias },
|
external,
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
alias,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
builds:
|
|
||||||
exclude:
|
|
||||||
- 'checks.*.pre-commit'
|
|
35
nix/site.nix
35
nix/site.nix
|
@ -1,35 +0,0 @@
|
||||||
{inputs, ...}: let
|
|
||||||
inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
|
||||||
in {
|
|
||||||
perSystem = {config, ...}: {
|
|
||||||
dream2nix.inputs.self = {
|
|
||||||
source = filter {
|
|
||||||
root = ./..;
|
|
||||||
include = [
|
|
||||||
(inDirectory "src")
|
|
||||||
(inDirectory "public")
|
|
||||||
(matchExt "js")
|
|
||||||
(matchExt "cjs")
|
|
||||||
(matchExt "mjs")
|
|
||||||
../package.json
|
|
||||||
../yarn.lock
|
|
||||||
];
|
|
||||||
};
|
|
||||||
projects.srx_dev = {
|
|
||||||
name = "srx_dev";
|
|
||||||
subsystem = "nodejs";
|
|
||||||
translator = "yarn-lock";
|
|
||||||
subsystemInfo.nodejs = 18;
|
|
||||||
};
|
|
||||||
|
|
||||||
packageOverrides.srx_dev.copySrx_dev = {
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out
|
|
||||||
cp -rv ./dist/* $out
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
packages.srx_dev = config.dream2nix.outputs.self.packages.srx_dev;
|
|
||||||
};
|
|
||||||
}
|
|
58
package.json
58
package.json
|
@ -1,43 +1,79 @@
|
||||||
{
|
{
|
||||||
"name": "srx.dev",
|
"name": "srx.dev",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
|
"description": "Astro Website",
|
||||||
|
"author": "Sebastian Wendel",
|
||||||
|
"license": "MIT",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://code.srx.dev/swendel/srx.astro.nix"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "astro build",
|
"build": "astro build",
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
"start": "astro dev",
|
"start": "astro dev",
|
||||||
"sync": "astro sync"
|
"sync": "astro sync",
|
||||||
|
"format": "prettier -w .",
|
||||||
|
"lint": "eslint . --ext .js,.ts,.astro"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@astrojs/mdx": "^0.18.2",
|
"@astrojs/mdx": "^0.18.2",
|
||||||
|
"@astrojs/partytown": "^2.0.1",
|
||||||
|
"@astrojs/prism": "^3.0.0",
|
||||||
|
"@astrojs/react": "^3.0.4",
|
||||||
"@astrojs/rss": "^2.3.1",
|
"@astrojs/rss": "^2.3.1",
|
||||||
"@astrojs/sitemap": "^1.2.1",
|
"@astrojs/sitemap": "^1.2.1",
|
||||||
"@astrojs/tailwind": "^3.1.1",
|
"@astrojs/tailwind": "^3.1.1",
|
||||||
|
"@astrojs/vue": "^3.0.2",
|
||||||
|
"@tailwindcss/forms": "^0.5.6",
|
||||||
|
"@tailwindcss/typography": "^0.5.10",
|
||||||
"@types/lodash": "^4.14.192",
|
"@types/lodash": "^4.14.192",
|
||||||
"@types/luxon": "^3.2.0",
|
"@types/luxon": "^3.2.0",
|
||||||
"@types/marked": "^4.0.8",
|
"@types/marked": "^6.0.0",
|
||||||
|
"@types/react": "^18.0.21",
|
||||||
"@types/seedrandom": "^3.0.2",
|
"@types/seedrandom": "^3.0.2",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.46.0",
|
"@typescript-eslint/eslint-plugin": "^5.46.0",
|
||||||
"@typescript-eslint/parser": "^5.46.0",
|
"@typescript-eslint/parser": "^5.46.0",
|
||||||
"astro-forms": "^1.0.11",
|
|
||||||
"astro-icon": "^0.8.0",
|
|
||||||
"astro-robots-txt": "^0.4.0",
|
|
||||||
"astro": "^2.1.8",
|
"astro": "^2.1.8",
|
||||||
|
"astro-auto-import": "^0.3.1",
|
||||||
|
"astro-compressor": "^0.4.1",
|
||||||
|
"astro-forms": "^1.0.11",
|
||||||
|
"astro-i18next": "^1.0.0-beta.21",
|
||||||
|
"astro-icon": "^0.8.1",
|
||||||
|
"astro-imagetools": "^0.9.0",
|
||||||
|
"astro-robots-txt": "^0.4.0",
|
||||||
|
"astro-seo": "^0.8.0",
|
||||||
|
"eslint": "^8.29.0",
|
||||||
"eslint-config-standard": "^17.0.0",
|
"eslint-config-standard": "^17.0.0",
|
||||||
"eslint-plugin-astro": "^0.26.0",
|
"eslint-plugin-astro": "^0.26.0",
|
||||||
"eslint-plugin-import": "^2.25.2",
|
"eslint-plugin-import": "^2.25.2",
|
||||||
|
"eslint-plugin-jsx-a11y": "^6.7.1",
|
||||||
"eslint-plugin-n": "^15.6.0",
|
"eslint-plugin-n": "^15.6.0",
|
||||||
"eslint-plugin-promise": "^6.1.0",
|
"eslint-plugin-promise": "^6.1.0",
|
||||||
"eslint": "^8.29.0",
|
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"luxon": "^3.0.4",
|
"luxon": "^3.0.4",
|
||||||
"marked": "^4.2.4",
|
"marked": "^9.1.4",
|
||||||
"prettier-plugin-astro": "^0.8.0",
|
"postcss": "^8.4.31",
|
||||||
"prettier": "^2.8.1",
|
"prettier": "^3.0.3",
|
||||||
|
"prettier-plugin-astro": "^0.12.1",
|
||||||
|
"prettier-plugin-tailwind": "^2.2.12",
|
||||||
|
"remark-toc": "^9.0.0",
|
||||||
"sanitize-html": "^2.8.0",
|
"sanitize-html": "^2.8.0",
|
||||||
"seedrandom": "^3.0.5",
|
"seedrandom": "^3.0.5",
|
||||||
"tailwindcss": "^3.0.24"
|
"svgo": "^3.0.2",
|
||||||
|
"tailwindcss": "^3.0.24",
|
||||||
|
"typescript": "^5.2.2"
|
||||||
},
|
},
|
||||||
"dependencies": {}
|
"engines": {
|
||||||
|
"node": ">=18.14.1"
|
||||||
|
},
|
||||||
|
"packageManager": "yarn@1.22.19",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/react-dom": "^18.0.6",
|
||||||
|
"react": "^18.0.0",
|
||||||
|
"react-dom": "^18.0.0",
|
||||||
|
"vue": "^3.2.30"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"extends": ["config:base"],
|
|
||||||
"assignees": ["Nobbz"],
|
|
||||||
"rangeStrategy": "update-lockfile",
|
|
||||||
"schedule": ["* 0-5 * * *"],
|
|
||||||
"nix": { "enabled": true }
|
|
||||||
}
|
|
|
@ -11,28 +11,28 @@
|
||||||
* (or add `stroke="none"` on shapes with no `fill` or `stroke` specified).
|
* (or add `stroke="none"` on shapes with no `fill` or `stroke` specified).
|
||||||
*/
|
*/
|
||||||
export const iconPaths = {
|
export const iconPaths = {
|
||||||
'terminal-window': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m80 96 40 32-40 32m56 0h40"/><rect width="192" height="160" x="32" y="48" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16.97" rx="8.5"/>`,
|
"terminal-window": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m80 96 40 32-40 32m56 0h40"/><rect width="192" height="160" x="32" y="48" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16.97" rx="8.5"/>`,
|
||||||
trophy: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M56 56v55.1c0 39.7 31.8 72.6 71.5 72.9a72 72 0 0 0 72.5-72V56a8 8 0 0 0-8-8H64a8 8 0 0 0-8 8Zm40 168h64m-32-40v40"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M198.2 128h9.8a32 32 0 0 0 32-32V80a8 8 0 0 0-8-8h-32M58 128H47.9a32 32 0 0 1-32-32V80a8 8 0 0 1 8-8h32"/>`,
|
trophy: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M56 56v55.1c0 39.7 31.8 72.6 71.5 72.9a72 72 0 0 0 72.5-72V56a8 8 0 0 0-8-8H64a8 8 0 0 0-8 8Zm40 168h64m-32-40v40"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M198.2 128h9.8a32 32 0 0 0 32-32V80a8 8 0 0 0-8-8h-32M58 128H47.9a32 32 0 0 1-32-32V80a8 8 0 0 1 8-8h32"/>`,
|
||||||
strategy: `<circle cx="68" cy="188" r="28" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m40 72 40 40m0-40-40 40m136 56 40 40m0-40-40 40M136 80V40h40"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m136 40 16 16c40 40 8 88-24 96"/>`,
|
strategy: `<circle cx="68" cy="188" r="28" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m40 72 40 40m0-40-40 40m136 56 40 40m0-40-40 40M136 80V40h40"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m136 40 16 16c40 40 8 88-24 96"/>`,
|
||||||
'paper-plane-tilt': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M210.3 35.9 23.9 88.4a8 8 0 0 0-1.2 15l85.6 40.5a7.8 7.8 0 0 1 3.8 3.8l40.5 85.6a8 8 0 0 0 15-1.2l52.5-186.4a7.9 7.9 0 0 0-9.8-9.8Zm-99.4 109.2 45.2-45.2"/>`,
|
"paper-plane-tilt": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M210.3 35.9 23.9 88.4a8 8 0 0 0-1.2 15l85.6 40.5a7.8 7.8 0 0 1 3.8 3.8l40.5 85.6a8 8 0 0 0 15-1.2l52.5-186.4a7.9 7.9 0 0 0-9.8-9.8Zm-99.4 109.2 45.2-45.2"/>`,
|
||||||
'arrow-right': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M40 128h176m-72-72 72 72-72 72"/>`,
|
"arrow-right": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M40 128h176m-72-72 72 72-72 72"/>`,
|
||||||
'arrow-left': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 128H40m72-72-72 72 72 72"/>`,
|
"arrow-left": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 128H40m72-72-72 72 72 72"/>`,
|
||||||
code: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m64 88-48 40 48 40m128-80 48 40-48 40M160 40 96 216"/>`,
|
code: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m64 88-48 40 48 40m128-80 48 40-48 40M160 40 96 216"/>`,
|
||||||
'microphone-stage': `<circle cx="168" cy="88" r="64" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m213.3 133.3-90.6-90.6M100 156l-12 12m16.8-70.1L28.1 202.5a7.9 7.9 0 0 0 .8 10.4l14.2 14.2a7.9 7.9 0 0 0 10.4.8l104.6-76.7"/>`,
|
"microphone-stage": `<circle cx="168" cy="88" r="64" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m213.3 133.3-90.6-90.6M100 156l-12 12m16.8-70.1L28.1 202.5a7.9 7.9 0 0 0 .8 10.4l14.2 14.2a7.9 7.9 0 0 0 10.4.8l104.6-76.7"/>`,
|
||||||
'pencil-line': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M96 216H48a8 8 0 0 1-8-8v-44.7a7.9 7.9 0 0 1 2.3-5.6l120-120a8 8 0 0 1 11.4 0l44.6 44.6a8 8 0 0 1 0 11.4Zm40-152 56 56"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 216H96l-55.5-55.5M164 92l-96 96"/>`,
|
"pencil-line": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M96 216H48a8 8 0 0 1-8-8v-44.7a7.9 7.9 0 0 1 2.3-5.6l120-120a8 8 0 0 1 11.4 0l44.6 44.6a8 8 0 0 1 0 11.4Zm40-152 56 56"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 216H96l-55.5-55.5M164 92l-96 96"/>`,
|
||||||
'rocket-launch': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M94.1 184.6c-11.4 33.9-56.6 33.9-56.6 33.9s0-45.2 33.9-56.6m124.5-56.5L128 173.3 82.7 128l67.9-67.9C176.3 34.4 202 34.7 213 36.3a7.8 7.8 0 0 1 6.7 6.7c1.6 11 1.9 36.7-23.8 62.4Z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M184.6 116.7v64.6a8 8 0 0 1-2.4 5.6l-32.3 32.4a8 8 0 0 1-13.5-4.1l-8.4-41.9m11.3-101.9H74.7a8 8 0 0 0-5.6 2.4l-32.4 32.3a8 8 0 0 0 4.1 13.5l41.9 8.4"/>`,
|
"rocket-launch": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M94.1 184.6c-11.4 33.9-56.6 33.9-56.6 33.9s0-45.2 33.9-56.6m124.5-56.5L128 173.3 82.7 128l67.9-67.9C176.3 34.4 202 34.7 213 36.3a7.8 7.8 0 0 1 6.7 6.7c1.6 11 1.9 36.7-23.8 62.4Z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M184.6 116.7v64.6a8 8 0 0 1-2.4 5.6l-32.3 32.4a8 8 0 0 1-13.5-4.1l-8.4-41.9m11.3-101.9H74.7a8 8 0 0 0-5.6 2.4l-32.4 32.3a8 8 0 0 0 4.1 13.5l41.9 8.4"/>`,
|
||||||
list: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M40 128h176M40 64h176M40 192h176"/>`,
|
list: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M40 128h176M40 64h176M40 192h176"/>`,
|
||||||
heart: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 216S28 160 28 92a52 52 0 0 1 100-20h0a52 52 0 0 1 100 20c0 68-100 124-100 124Z"/>`,
|
heart: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 216S28 160 28 92a52 52 0 0 1 100-20h0a52 52 0 0 1 100 20c0 68-100 124-100 124Z"/>`,
|
||||||
'moon-stars': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 112V64m24 24h-48m-24-64v32m16-16h-32m65 113A92 92 0 0 1 103 39h0a92 92 0 1 0 114 114Z"/>`,
|
"moon-stars": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 112V64m24 24h-48m-24-64v32m16-16h-32m65 113A92 92 0 0 1 103 39h0a92 92 0 1 0 114 114Z"/>`,
|
||||||
sun: `<circle cx="128" cy="128" r="60" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 36V16M63 63 49 49m-13 79H16m47 65-14 14m79 13v20m65-47 14 14m13-79h20m-47-65 14-14"/>`,
|
sun: `<circle cx="128" cy="128" r="60" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 36V16M63 63 49 49m-13 79H16m47 65-14 14m79 13v20m65-47 14 14m13-79h20m-47-65 14-14"/>`,
|
||||||
'twitter-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 88c0-22 18.5-40.3 40.5-40a40 40 0 0 1 36.2 24H240l-32.3 32.3A127.9 127.9 0 0 1 80 224c-32 0-40-12-40-12s32-12 48-36c0 0-64-32-48-120 0 0 40 40 88 48Z"/>`,
|
"twitter-logo": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 88c0-22 18.5-40.3 40.5-40a40 40 0 0 1 36.2 24H240l-32.3 32.3A127.9 127.9 0 0 1 80 224c-32 0-40-12-40-12s32-12 48-36c0 0-64-32-48-120 0 0 40 40 88 48Z"/>`,
|
||||||
'codepen-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m232 101-104 59-104-59 100.1-56.8a8.3 8.3 0 0 1 7.8 0Z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m232 165-100.1 56.8a8.3 8.3 0 0 1-7.8 0L24 165l104-59Zm0-64v64M24 101v64m104-5v62.8m0-179.6V106"/>`,
|
"codepen-logo": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m232 101-104 59-104-59 100.1-56.8a8.3 8.3 0 0 1 7.8 0Z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m232 165-100.1 56.8a8.3 8.3 0 0 1-7.8 0L24 165l104-59Zm0-64v64M24 101v64m104-5v62.8m0-179.6V106"/>`,
|
||||||
'github-logo': `<g stroke-linecap="round" stroke-linejoin="round"><path fill="none" stroke-width="14.7" d="M55.7 167.2c13.9 1 21.3 13.1 22.2 14.6 4.2 7.2 10.4 9.6 18.3 7.1l1.1-3.4a60.3 60.3 0 0 1-25.8-11.9c-12-10.1-18-25.6-18-46.3"/><path fill="none" stroke-width="16" d="M61.4 205.1a24.5 24.5 0 0 1-3-6.1c-3.2-7.9-7.1-10.6-7.8-11.1l-1-.6c-2.4-1.6-9.5-6.5-7.2-13.9 1.4-4.5 6-7.2 12.3-7.2h.8c4 .3 7.6 1.5 10.7 3.2-9.1-10.1-13.6-24.3-13.6-42.3 0-11.3 3.5-21.7 10.1-30.4A46.7 46.7 0 0 1 65 67.3a8.3 8.3 0 0 1 5-4.7c2.8-.9 13.3-2.7 33.2 9.9a105 105 0 0 1 50.5 0c19.9-12.6 30.4-10.8 33.2-9.9 2.3.7 4.1 2.4 5 4.7 5 12.7 4 23.2 2.6 29.4 6.7 8.7 10 18.9 10 30.4 0 42.6-25.8 54.7-43.6 58.7 1.4 4.1 2.2 8.8 2.2 13.7l-.1 23.4v2.3"/><path fill="none" stroke-width="16" d="M160.9 185.7c1.4 4.1 2.2 8.8 2.2 13.7l-.1 23.4v2.3A98.6 98.6 0 1 0 61.4 205c-1.4-2.1-11.3-17.5-11.8-17.8-2.4-1.6-9.5-6.5-7.2-13.9 1.4-4.5 6-7.2 12.3-7.2h.8c4 .3 7.6 1.5 10.7 3.2-9.1-10.1-13.6-24.3-13.6-42.3 0-11.3 3.5-21.7 10.1-30.4A46.4 46.4 0 0 1 65 67.3a8.3 8.3 0 0 1 5-4.7c2.8-.9 13.3-2.7 33.2 9.9a105 105 0 0 1 50.5 0c19.9-12.6 30.4-10.8 33.2-9.9 2.3.7 4.1 2.4 5 4.7 5 12.7 4 23.2 2.6 29.4 6.7 8.7 10 18.9 10 30.4.1 42.6-25.8 54.7-43.6 58.6z"/><path fill="none" stroke-width="18.7" d="m170.1 203.3 17.3-12 17.2-18.7 9.5-26.6v-27.9l-9.5-27.5" /><path fill="none" stroke-width="22.7" d="m92.1 57.3 23.3-4.6 18.7-1.4 29.3 5.4m-110 32.6-8 16-4 21.4.6 20.3 3.4 13" /><path fill="none" stroke-width="13.3" d="M28.8 133a100 100 0 0 0 66.9 94.4v-8.7c-22.4 1.8-33-11.5-35.6-19.8-3.4-8.6-7.8-11.4-8.5-11.8"/></g>`,
|
"github-logo": `<g stroke-linecap="round" stroke-linejoin="round"><path fill="none" stroke-width="14.7" d="M55.7 167.2c13.9 1 21.3 13.1 22.2 14.6 4.2 7.2 10.4 9.6 18.3 7.1l1.1-3.4a60.3 60.3 0 0 1-25.8-11.9c-12-10.1-18-25.6-18-46.3"/><path fill="none" stroke-width="16" d="M61.4 205.1a24.5 24.5 0 0 1-3-6.1c-3.2-7.9-7.1-10.6-7.8-11.1l-1-.6c-2.4-1.6-9.5-6.5-7.2-13.9 1.4-4.5 6-7.2 12.3-7.2h.8c4 .3 7.6 1.5 10.7 3.2-9.1-10.1-13.6-24.3-13.6-42.3 0-11.3 3.5-21.7 10.1-30.4A46.7 46.7 0 0 1 65 67.3a8.3 8.3 0 0 1 5-4.7c2.8-.9 13.3-2.7 33.2 9.9a105 105 0 0 1 50.5 0c19.9-12.6 30.4-10.8 33.2-9.9 2.3.7 4.1 2.4 5 4.7 5 12.7 4 23.2 2.6 29.4 6.7 8.7 10 18.9 10 30.4 0 42.6-25.8 54.7-43.6 58.7 1.4 4.1 2.2 8.8 2.2 13.7l-.1 23.4v2.3"/><path fill="none" stroke-width="16" d="M160.9 185.7c1.4 4.1 2.2 8.8 2.2 13.7l-.1 23.4v2.3A98.6 98.6 0 1 0 61.4 205c-1.4-2.1-11.3-17.5-11.8-17.8-2.4-1.6-9.5-6.5-7.2-13.9 1.4-4.5 6-7.2 12.3-7.2h.8c4 .3 7.6 1.5 10.7 3.2-9.1-10.1-13.6-24.3-13.6-42.3 0-11.3 3.5-21.7 10.1-30.4A46.4 46.4 0 0 1 65 67.3a8.3 8.3 0 0 1 5-4.7c2.8-.9 13.3-2.7 33.2 9.9a105 105 0 0 1 50.5 0c19.9-12.6 30.4-10.8 33.2-9.9 2.3.7 4.1 2.4 5 4.7 5 12.7 4 23.2 2.6 29.4 6.7 8.7 10 18.9 10 30.4.1 42.6-25.8 54.7-43.6 58.6z"/><path fill="none" stroke-width="18.7" d="m170.1 203.3 17.3-12 17.2-18.7 9.5-26.6v-27.9l-9.5-27.5" /><path fill="none" stroke-width="22.7" d="m92.1 57.3 23.3-4.6 18.7-1.4 29.3 5.4m-110 32.6-8 16-4 21.4.6 20.3 3.4 13" /><path fill="none" stroke-width="13.3" d="M28.8 133a100 100 0 0 0 66.9 94.4v-8.7c-22.4 1.8-33-11.5-35.6-19.8-3.4-8.6-7.8-11.4-8.5-11.8"/></g>`,
|
||||||
'twitch-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M165 200h-42a8 8 0 0 0-5 2l-46 38v-40H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8v108a8 8 0 0 1-3 6l-43 36a8 8 0 0 1-5 2Zm3-112v48m-48-48v48"/>`,
|
"twitch-logo": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M165 200h-42a8 8 0 0 0-5 2l-46 38v-40H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8v108a8 8 0 0 1-3 6l-43 36a8 8 0 0 1-5 2Zm3-112v48m-48-48v48"/>`,
|
||||||
'youtube-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m160 128-48-32v64l48-32z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M24 128c0 30 3 47 5 56a16 16 0 0 0 10 11c34 13 89 13 89 13s56 0 89-13a16 16 0 0 0 10-11c2-9 5-26 5-56s-3-47-5-56a16 16 0 0 0-10-11c-33-13-89-13-89-13s-55 0-89 13a16 16 0 0 0-10 11c-2 9-5 26-5 56Z"/>`,
|
"youtube-logo": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m160 128-48-32v64l48-32z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M24 128c0 30 3 47 5 56a16 16 0 0 0 10 11c34 13 89 13 89 13s56 0 89-13a16 16 0 0 0 10-11c2-9 5-26 5-56s-3-47-5-56a16 16 0 0 0-10-11c-33-13-89-13-89-13s-55 0-89 13a16 16 0 0 0-10 11c-2 9-5 26-5 56Z"/>`,
|
||||||
'dribbble-logo': `<circle cx="128" cy="128" r="96" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M71 205a160 160 0 0 1 137-77l16 1m-36-76a160 160 0 0 1-124 59 165 165 0 0 1-30-3"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M86 42a161 161 0 0 1 74 177"/>`,
|
"dribbble-logo": `<circle cx="128" cy="128" r="96" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M71 205a160 160 0 0 1 137-77l16 1m-36-76a160 160 0 0 1-124 59 165 165 0 0 1-30-3"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M86 42a161 161 0 0 1 74 177"/>`,
|
||||||
'discord-logo': `<circle stroke="none" cx="96" cy="144" r="12"/><circle stroke="none" cx="160" cy="144" r="12"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M74 80a175 175 0 0 1 54-8 175 175 0 0 1 54 8m0 96a175 175 0 0 1-54 8 175 175 0 0 1-54-8"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m155 182 12 24a8 8 0 0 0 9 4c25-6 46-16 61-30a8 8 0 0 0 3-8L206 59a8 8 0 0 0-5-5 176 176 0 0 0-30-9 8 8 0 0 0-9 5l-8 24m-53 108-12 24a8 8 0 0 1-9 4c-25-6-46-16-61-30a8 8 0 0 1-3-8L50 59a8 8 0 0 1 5-5 176 176 0 0 1 30-9 8 8 0 0 1 9 5l8 24"/>`,
|
"discord-logo": `<circle stroke="none" cx="96" cy="144" r="12"/><circle stroke="none" cx="160" cy="144" r="12"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M74 80a175 175 0 0 1 54-8 175 175 0 0 1 54 8m0 96a175 175 0 0 1-54 8 175 175 0 0 1-54-8"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m155 182 12 24a8 8 0 0 0 9 4c25-6 46-16 61-30a8 8 0 0 0 3-8L206 59a8 8 0 0 0-5-5 176 176 0 0 0-30-9 8 8 0 0 0-9 5l-8 24m-53 108-12 24a8 8 0 0 1-9 4c-25-6-46-16-61-30a8 8 0 0 1-3-8L50 59a8 8 0 0 1 5-5 176 176 0 0 1 30-9 8 8 0 0 1 9 5l8 24"/>`,
|
||||||
'linkedin-logo': `<rect width="184" height="184" x="36" y="36" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" rx="8"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M120 112v64m-32-64v64m32-36a28 28 0 0 1 56 0v36"/><circle stroke="none" cx="88" cy="80" r="12"/>`,
|
"linkedin-logo": `<rect width="184" height="184" x="36" y="36" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" rx="8"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M120 112v64m-32-64v64m32-36a28 28 0 0 1 56 0v36"/><circle stroke="none" cx="88" cy="80" r="12"/>`,
|
||||||
'instagram-logo': `<circle cx="128" cy="128" r="40" fill="none" stroke-miterlimit="10" stroke-width="16"/><rect width="184" height="184" x="36" y="36" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" rx="48"/><circle cx="180" cy="76" r="12" stroke="none" />`,
|
"instagram-logo": `<circle cx="128" cy="128" r="40" fill="none" stroke-miterlimit="10" stroke-width="16"/><rect width="184" height="184" x="36" y="36" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" rx="48"/><circle cx="180" cy="76" r="12" stroke="none" />`,
|
||||||
'tiktok-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M168 106a96 96 0 0 0 56 18V84a56 56 0 0 1-56-56h-40v128a28 28 0 1 1-40-25V89a68 68 0 1 0 80 67Z"/>`,
|
"tiktok-logo": `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M168 106a96 96 0 0 0 56 18V84a56 56 0 0 1-56-56h-40v128a28 28 0 1 1-40-25V89a68 68 0 1 0 80 67Z"/>`,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { defineCollection, z } from 'astro:content';
|
import { defineCollection, z } from "astro:content";
|
||||||
|
|
||||||
export const collections = {
|
export const collections = {
|
||||||
work: defineCollection({
|
work: defineCollection({
|
||||||
|
|
1
src/env.d.ts
vendored
1
src/env.d.ts
vendored
|
@ -1,2 +1,3 @@
|
||||||
|
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
||||||
/// <reference path="../.astro/types.d.ts" />
|
/// <reference path="../.astro/types.d.ts" />
|
||||||
/// <reference types="astro/client" />
|
/// <reference types="astro/client" />
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
// https://docs.astro.build/en/core-concepts/layouts/
|
// https://docs.astro.build/en/core-concepts/layouts/
|
||||||
|
|
||||||
// Component Imports
|
// Component Imports
|
||||||
import MainHead from '../components/MainHead.astro';
|
import MainHead from "../components/MainHead.astro";
|
||||||
import Nav from '../components/Nav.astro';
|
import Nav from "../components/Nav.astro";
|
||||||
import Footer from '../components/Footer.astro';
|
import Footer from "../components/Footer.astro";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
title?: string | undefined;
|
title?: string | undefined;
|
||||||
|
@ -28,14 +28,16 @@ const { title, description } = Astro.props;
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Add “loaded” class once the document has completely loaded.
|
// Add “loaded” class once the document has completely loaded.
|
||||||
addEventListener('load', () => document.documentElement.classList.add('loaded'));
|
addEventListener("load", () =>
|
||||||
|
document.documentElement.classList.add("loaded"),
|
||||||
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
--_placeholder-bg: linear-gradient(transparent, transparent);
|
--_placeholder-bg: linear-gradient(transparent, transparent);
|
||||||
--bg-image-main: url('/assets/backgrounds/bg-main-light-800w.jpg');
|
--bg-image-main: url("/assets/backgrounds/bg-main-light-800w.jpg");
|
||||||
--bg-image-main-curves: url('/assets/backgrounds/bg-main-light.svg');
|
--bg-image-main-curves: url("/assets/backgrounds/bg-main-light.svg");
|
||||||
--bg-image-subtle-1: var(--_placeholder-bg);
|
--bg-image-subtle-1: var(--_placeholder-bg);
|
||||||
--bg-image-subtle-2: var(--_placeholder-bg);
|
--bg-image-subtle-2: var(--_placeholder-bg);
|
||||||
--bg-image-footer: var(--_placeholder-bg);
|
--bg-image-footer: var(--_placeholder-bg);
|
||||||
|
@ -48,43 +50,42 @@ const { title, description } = Astro.props;
|
||||||
}
|
}
|
||||||
|
|
||||||
:root.theme-dark {
|
:root.theme-dark {
|
||||||
--bg-image-main: url('/assets/backgrounds/bg-main-dark-800w.jpg');
|
--bg-image-main: url("/assets/backgrounds/bg-main-dark-800w.jpg");
|
||||||
--bg-image-main-curves: url('/assets/backgrounds/bg-main-dark.svg');
|
--bg-image-main-curves: url("/assets/backgrounds/bg-main-dark.svg");
|
||||||
--bg-svg-blend-mode: darken;
|
--bg-svg-blend-mode: darken;
|
||||||
--bg-blend-mode: lighten;
|
--bg-blend-mode: lighten;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* These backgrounds are displayed below the fold, so we lazy load them
|
/* These backgrounds are displayed below the fold, so we lazy load them once the `.loaded` class has been set. */
|
||||||
once the `.loaded` class has been set. */
|
|
||||||
:root.loaded {
|
:root.loaded {
|
||||||
--bg-image-subtle-1: url('/assets/backgrounds/bg-subtle-1-light-800w.jpg');
|
--bg-image-subtle-1: url("/assets/backgrounds/bg-subtle-1-light-800w.jpg");
|
||||||
--bg-image-subtle-2: url('/assets/backgrounds/bg-subtle-2-light-800w.jpg');
|
--bg-image-subtle-2: url("/assets/backgrounds/bg-subtle-2-light-800w.jpg");
|
||||||
--bg-image-footer: url('/assets/backgrounds/bg-footer-light-800w.jpg');
|
--bg-image-footer: url("/assets/backgrounds/bg-footer-light-800w.jpg");
|
||||||
}
|
}
|
||||||
:root.loaded.theme-dark {
|
:root.loaded.theme-dark {
|
||||||
--bg-image-subtle-1: url('/assets/backgrounds/bg-subtle-1-dark-800w.jpg');
|
--bg-image-subtle-1: url("/assets/backgrounds/bg-subtle-1-dark-800w.jpg");
|
||||||
--bg-image-subtle-2: url('/assets/backgrounds/bg-subtle-2-dark-800w.jpg');
|
--bg-image-subtle-2: url("/assets/backgrounds/bg-subtle-2-dark-800w.jpg");
|
||||||
--bg-image-footer: url('/assets/backgrounds/bg-footer-dark-800w.jpg');
|
--bg-image-footer: url("/assets/backgrounds/bg-footer-dark-800w.jpg");
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 50em) {
|
@media (min-width: 50em) {
|
||||||
:root {
|
:root {
|
||||||
--bg-scale: 1;
|
--bg-scale: 1;
|
||||||
--bg-image-main: url('/assets/backgrounds/bg-main-light-1440w.jpg');
|
--bg-image-main: url("/assets/backgrounds/bg-main-light-1440w.jpg");
|
||||||
}
|
}
|
||||||
:root.theme-dark {
|
:root.theme-dark {
|
||||||
--bg-image-main: url('/assets/backgrounds/bg-main-dark-1440w.jpg');
|
--bg-image-main: url("/assets/backgrounds/bg-main-dark-1440w.jpg");
|
||||||
}
|
}
|
||||||
|
|
||||||
:root.loaded {
|
:root.loaded {
|
||||||
--bg-image-subtle-1: url('/assets/backgrounds/bg-subtle-1-light-1440w.jpg');
|
--bg-image-subtle-1: url("/assets/backgrounds/bg-subtle-1-light-1440w.jpg");
|
||||||
--bg-image-subtle-2: url('/assets/backgrounds/bg-subtle-2-light-1440w.jpg');
|
--bg-image-subtle-2: url("/assets/backgrounds/bg-subtle-2-light-1440w.jpg");
|
||||||
--bg-image-footer: url('/assets/backgrounds/bg-footer-light-1440w.jpg');
|
--bg-image-footer: url("/assets/backgrounds/bg-footer-light-1440w.jpg");
|
||||||
}
|
}
|
||||||
:root.loaded.theme-dark {
|
:root.loaded.theme-dark {
|
||||||
--bg-image-subtle-1: url('/assets/backgrounds/bg-subtle-1-dark-1440w.jpg');
|
--bg-image-subtle-1: url("/assets/backgrounds/bg-subtle-1-dark-1440w.jpg");
|
||||||
--bg-image-subtle-2: url('/assets/backgrounds/bg-subtle-2-dark-1440w.jpg');
|
--bg-image-subtle-2: url("/assets/backgrounds/bg-subtle-2-dark-1440w.jpg");
|
||||||
--bg-image-footer: url('/assets/backgrounds/bg-footer-dark-1440w.jpg');
|
--bg-image-footer: url("/assets/backgrounds/bg-footer-dark-1440w.jpg");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,13 +93,21 @@ const { title, description } = Astro.props;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
isolation: isolate;
|
isolation: isolate;
|
||||||
background:
|
background:
|
||||||
/*noise*/ url('/assets/backgrounds/noise.png') top center/220px repeat,
|
/*noise*/
|
||||||
/*footer*/ var(--bg-image-footer) bottom center/var(--bg-gradient-size) no-repeat,
|
url("/assets/backgrounds/noise.png") top center/220px repeat,
|
||||||
/*header1*/ var(--bg-image-main-curves) top center/var(--bg-gradient-size) no-repeat,
|
/*footer*/ var(--bg-image-footer) bottom
|
||||||
/*header2*/ var(--bg-image-main) top center/var(--bg-gradient-size) no-repeat,
|
center/var(--bg-gradient-size) no-repeat,
|
||||||
|
/*header1*/ var(--bg-image-main-curves) top
|
||||||
|
center/var(--bg-gradient-size) no-repeat,
|
||||||
|
/*header2*/ var(--bg-image-main) top center/var(--bg-gradient-size)
|
||||||
|
no-repeat,
|
||||||
/*base*/ var(--gray-999);
|
/*base*/ var(--gray-999);
|
||||||
background-blend-mode: /*noise*/ overlay, /*footer*/ var(--bg-blend-mode),
|
background-blend-mode: /*noise*/
|
||||||
/*header1*/ var(--bg-svg-blend-mode), /*header2*/ normal, /*base*/ normal;
|
overlay,
|
||||||
|
/*footer*/ var(--bg-blend-mode),
|
||||||
|
/*header1*/ var(--bg-svg-blend-mode),
|
||||||
|
/*header2*/ normal,
|
||||||
|
/*base*/ normal;
|
||||||
}
|
}
|
||||||
@media (forced-colors: active) {
|
@media (forced-colors: active) {
|
||||||
/* Deactivate custom backgrounds for high contrast users. */
|
/* Deactivate custom backgrounds for high contrast users. */
|
||||||
|
|
|
@ -1,8 +1,25 @@
|
||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
|
|
||||||
|
const defaultTheme = require("tailwindcss/defaultTheme");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],
|
||||||
|
plugins: [require("@tailwindcss/typography")],
|
||||||
theme: {
|
theme: {
|
||||||
extend: {},
|
extend: {
|
||||||
|
colors: {
|
||||||
|
primary: "var(--aw-color-primary)",
|
||||||
|
secondary: "var(--aw-color-secondary)",
|
||||||
|
accent: "var(--aw-color-accent)",
|
||||||
|
default: "var(--aw-color-text-default)",
|
||||||
|
muted: "var(--aw-color-text-muted)",
|
||||||
},
|
},
|
||||||
plugins: [],
|
fontFamily: {
|
||||||
|
sans: ["var(--aw-font-sans)", ...defaultTheme.fontFamily.sans],
|
||||||
|
serif: ["var(--aw-font-serif)", ...defaultTheme.fontFamily.serif],
|
||||||
|
heading: ["var(--aw-font-heading)", ...defaultTheme.fontFamily.sans],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
darkMode: "class",
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,26 +1,7 @@
|
||||||
{
|
{
|
||||||
|
"extends": "astro/tsconfigs/base",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
// Enable top-level await, and other modern ESM features.
|
"jsx": "react-jsx",
|
||||||
"target": "ESNext",
|
"jsxImportSource": "react"
|
||||||
"module": "ESNext",
|
|
||||||
// Enable node-style module resolution, for things like npm package imports.
|
|
||||||
"moduleResolution": "node",
|
|
||||||
// Enable JSON imports.
|
|
||||||
"resolveJsonModule": true,
|
|
||||||
// Enable stricter transpilation for better output.
|
|
||||||
"isolatedModules": true,
|
|
||||||
// Add type definitions for our Vite runtime.
|
|
||||||
// "types": ["vite/client"],
|
|
||||||
// Set up path mapping to be understood similar to vite aliases
|
|
||||||
"baseUrl": ".",
|
|
||||||
// "paths": {
|
|
||||||
// "@nz-components/*": ["src/components/*"],
|
|
||||||
// "@nz-layouts/*": ["src/layouts/*"],
|
|
||||||
// "@nz-pages/*": ["src/pages/*"],
|
|
||||||
// "@nz-scripts/*": ["src/scripts/*"],
|
|
||||||
// "@nz-styles/*": ["src/styles/*"]
|
|
||||||
// },
|
|
||||||
// "extends": "astro/tsconfigs/strict",
|
|
||||||
"strictNullChecks": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue