From 20394363f3a6d4625d5f30aff6580c043d23cb71 Mon Sep 17 00:00:00 2001
From: nduartech
Date: Thu, 1 Aug 2024 07:24:34 -0400
Subject: [PATCH] Update
---
.gitignore | 5 +
packages/host/.eslintrc.cjs | 60 ++---
packages/host/astro.config.ts | 46 ++--
packages/host/biome.json | 219 ++++++++++++++++++
packages/host/package.json | 11 +-
packages/host/postcss.config.cjs | 10 +-
packages/host/prettier.config.cjs | 14 +-
packages/host/src/components/qwik/nav.tsx | 82 +++----
.../host/src/components/qwik/navButton.tsx | 16 +-
packages/host/src/components/qwik/theme.tsx | 83 ++++---
.../host/src/components/solid/Interest.tsx | 10 +-
.../host/src/components/solid/SoftwareXP.tsx | 10 +-
.../host/src/components/svelte/Landing.svelte | 149 ++++++------
packages/host/src/content/config.ts | 8 +-
packages/host/src/env.d.ts | 5 +-
packages/host/src/layouts/BlogLayout.astro | 10 +-
packages/host/src/layouts/BlogSubLayout.astro | 32 +--
packages/host/src/layouts/Layout.astro | 11 +-
packages/host/src/layouts/PostLayout.astro | 8 +-
packages/host/src/layouts/SubLayout.astro | 11 +-
packages/host/src/pages/blog.astro | 8 +-
packages/host/src/pages/blog/[...slug].astro | 17 +-
packages/host/src/pages/index.astro | 45 ++--
packages/host/src/pages/interests.astro | 38 +--
.../host/src/pages/software-engineer.astro | 38 +--
packages/host/svelte.config.js | 4 +-
packages/host/tailwind.config.mjs | 44 ++--
yarn.lock | 92 ++++++++
28 files changed, 709 insertions(+), 377 deletions(-)
create mode 100644 packages/host/biome.json
diff --git a/.gitignore b/.gitignore
index c449454..11ba6f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,4 +15,9 @@
.idea/**
node_modules
node_modules/**
+**/node_modules
+**/node_modules/**
/*.patch
+/packages/interests/dist/
+/packages/host/dist/
+/packages/software-eng/dist/
diff --git a/packages/host/.eslintrc.cjs b/packages/host/.eslintrc.cjs
index af504c2..77cf7a3 100644
--- a/packages/host/.eslintrc.cjs
+++ b/packages/host/.eslintrc.cjs
@@ -6,52 +6,52 @@ module.exports = {
node: true,
},
extends: [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:qwik/recommended",
- "plugin:astro/recommended",
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:qwik/recommended',
+ 'plugin:astro/recommended',
],
- parser: "@typescript-eslint/parser",
+ parser: '@typescript-eslint/parser',
parserOptions: {
tsconfigRootDir: __dirname,
- project: ["./tsconfig.json"],
+ project: ['./tsconfig.json'],
ecmaVersion: 2021,
- sourceType: "module",
+ sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
- plugins: ["@typescript-eslint"],
+ plugins: ['@typescript-eslint'],
rules: {
- "@typescript-eslint/no-explicit-any": "off",
- "@typescript-eslint/explicit-module-boundary-types": "off",
- "@typescript-eslint/no-inferrable-types": "off",
- "@typescript-eslint/no-non-null-assertion": "off",
- "@typescript-eslint/no-empty-interface": "off",
- "@typescript-eslint/no-namespace": "off",
- "@typescript-eslint/no-empty-function": "off",
- "@typescript-eslint/no-this-alias": "off",
- "@typescript-eslint/ban-types": "off",
- "@typescript-eslint/ban-ts-comment": "off",
- "prefer-spread": "off",
- "no-case-declarations": "off",
- "no-console": "off",
- "@typescript-eslint/no-unused-vars": ["error"],
- "@typescript-eslint/consistent-type-imports": "warn",
- "@typescript-eslint/no-unnecessary-condition": "off",
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ '@typescript-eslint/no-inferrable-types': 'off',
+ '@typescript-eslint/no-non-null-assertion': 'off',
+ '@typescript-eslint/no-empty-interface': 'off',
+ '@typescript-eslint/no-namespace': 'off',
+ '@typescript-eslint/no-empty-function': 'off',
+ '@typescript-eslint/no-this-alias': 'off',
+ '@typescript-eslint/ban-types': 'off',
+ '@typescript-eslint/ban-ts-comment': 'off',
+ 'prefer-spread': 'off',
+ 'no-case-declarations': 'off',
+ 'no-console': 'off',
+ '@typescript-eslint/no-unused-vars': ['error'],
+ '@typescript-eslint/consistent-type-imports': 'warn',
+ '@typescript-eslint/no-unnecessary-condition': 'off',
},
overrides: [
{
// Define the configuration for `.astro` file.
- files: ["*.astro"],
- processor: "astro/client-side-ts", // <- Uses the "client-side-ts" processor.
+ files: ['*.astro'],
+ processor: 'astro/client-side-ts', // <- Uses the "client-side-ts" processor.
// Allows Astro components to be parsed.
- parser: "astro-eslint-parser",
+ parser: 'astro-eslint-parser',
// Parse the script in `.astro` as TypeScript by adding the following configuration.
// It's the setting you need when using TypeScript.
parserOptions: {
- parser: "@typescript-eslint/parser",
- extraFileExtensions: [".astro"],
+ parser: '@typescript-eslint/parser',
+ extraFileExtensions: ['.astro'],
},
rules: {
// override/add rules settings here, such as:
@@ -60,4 +60,4 @@ module.exports = {
},
// ...
],
-};
+}
diff --git a/packages/host/astro.config.ts b/packages/host/astro.config.ts
index a7abc24..82ee8ce 100644
--- a/packages/host/astro.config.ts
+++ b/packages/host/astro.config.ts
@@ -1,22 +1,22 @@
-import qwik from "@qwikdev/astro";
-import { defineConfig } from "astro/config";
+import qwik from '@qwikdev/astro'
+import { defineConfig } from 'astro/config'
// import node from "@astrojs/node";
-import tailwind from "@astrojs/tailwind";
-import svelte from "@astrojs/svelte";
-import solidJs from "@astrojs/solid-js";
-import compressor from "astro-compressor";
-import sitemap from "@astrojs/sitemap";
-import robotsTxt from "astro-robots-txt";
+import tailwind from '@astrojs/tailwind'
+import svelte from '@astrojs/svelte'
+import solidJs from '@astrojs/solid-js'
+import compressor from 'astro-compressor'
+import sitemap from '@astrojs/sitemap'
+import robotsTxt from 'astro-robots-txt'
-import mdx from "@astrojs/mdx";
+import mdx from '@astrojs/mdx'
// https://astro.build/config
export default defineConfig({
- output: "static",
+ output: 'static',
devToolbar: {
enabled: false,
},
- site: "https://nduartech.github.io",
+ site: 'https://nduartech.github.io',
prefetch: {
prefetchAll: true,
},
@@ -26,28 +26,28 @@ export default defineConfig({
// }),
integrations: [
qwik({
- include: "**/qwik/*",
+ include: '**/qwik/*',
}),
tailwind({
applyBaseStyles: false,
}),
svelte({
- include: "**/svelte/*",
+ include: '**/svelte/*',
}),
solidJs({
- include: "**/solid/*",
+ include: '**/solid/*',
}),
{
- name: "importmap-externals",
+ name: 'importmap-externals',
hooks: {
- "astro:build:setup": ({ vite, target }) => {
- if (target === "client") {
+ 'astro:build:setup': ({ vite, target }) => {
+ if (target === 'client') {
if (vite.build && vite.build.rollupOptions) {
- vite.build.rollupOptions["external"] = [
- "software-eng",
- "interests",
- "solid-js",
- ];
+ vite.build.rollupOptions['external'] = [
+ 'software-eng',
+ 'interests',
+ 'solid-js',
+ ]
}
}
},
@@ -58,4 +58,4 @@ export default defineConfig({
robotsTxt(),
compressor(),
],
-});
+})
diff --git a/packages/host/biome.json b/packages/host/biome.json
new file mode 100644
index 0000000..51f3007
--- /dev/null
+++ b/packages/host/biome.json
@@ -0,0 +1,219 @@
+{
+ "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
+ "formatter": {
+ "enabled": true,
+ "formatWithErrors": false,
+ "indentStyle": "space",
+ "indentWidth": 2,
+ "lineEnding": "lf",
+ "lineWidth": 80,
+ "attributePosition": "auto",
+ "ignore": [
+ "**/*.log",
+ "**/.DS_Store",
+ "**/*.",
+ ".vscode/settings.json",
+ "**/.history",
+ "**/.yarn",
+ "**/bazel-*",
+ "**/bazel-bin",
+ "**/bazel-out",
+ "**/bazel-qwik",
+ "**/bazel-testlogs",
+ "**/dist",
+ "**/dist-dev",
+ "**/lib",
+ "**/lib-types",
+ "**/etc",
+ "**/external",
+ "**/node_modules",
+ "**/temp",
+ "**/tsc-out",
+ "**/tsdoc-metadata.json",
+ "**/target",
+ "**/output",
+ "**/rollup.config.js",
+ "**/build",
+ "**/.cache",
+ "**/.vscode",
+ "**/.rollup.cache",
+ "**/tsconfig.tsbuildinfo",
+ "**/vite.config.ts",
+ "**/*.spec.tsx",
+ "**/*.spec.ts",
+ "**/.netlify",
+ "**/pnpm-lock.yaml",
+ "**/package-lock.json",
+ "**/yarn.lock"
+ ]
+ },
+ "organizeImports": { "enabled": true },
+ "linter": {
+ "enabled": true,
+ "rules": {
+ "recommended": false,
+ "complexity": {
+ "noBannedTypes": "off",
+ "noExtraBooleanCast": "error",
+ "noMultipleSpacesInRegularExpressionLiterals": "error",
+ "noUselessCatch": "error",
+ "noUselessThisAlias": "off",
+ "noUselessTypeConstraint": "error",
+ "noWith": "error"
+ },
+ "correctness": {
+ "noConstAssign": "error",
+ "noConstantCondition": "error",
+ "noEmptyCharacterClassInRegex": "error",
+ "noEmptyPattern": "error",
+ "noGlobalObjectCalls": "error",
+ "noInnerDeclarations": "error",
+ "noInvalidConstructorSuper": "error",
+ "noNewSymbol": "error",
+ "noNonoctalDecimalEscape": "error",
+ "noPrecisionLoss": "error",
+ "noSelfAssign": "error",
+ "noSetterReturn": "error",
+ "noSwitchDeclarations": "off",
+ "noUndeclaredVariables": "error",
+ "noUnreachable": "error",
+ "noUnreachableSuper": "error",
+ "noUnsafeFinally": "error",
+ "noUnsafeOptionalChaining": "error",
+ "noUnusedLabels": "error",
+ "noUnusedVariables": "warn",
+ "useArrayLiterals": "off",
+ "useIsNan": "error",
+ "useValidForDirection": "error",
+ "useYield": "error"
+ },
+ "style": {
+ "noInferrableTypes": "off",
+ "noNamespace": "off",
+ "noNonNullAssertion": "off",
+ "useAsConstAssertion": "error",
+ "useImportType": "warn"
+ },
+ "suspicious": {
+ "noAssignInExpressions": "error",
+ "noAsyncPromiseExecutor": "error",
+ "noCatchAssign": "error",
+ "noClassAssign": "error",
+ "noCompareNegZero": "error",
+ "noConsoleLog": "off",
+ "noControlCharactersInRegex": "error",
+ "noDebugger": "error",
+ "noDuplicateCase": "error",
+ "noDuplicateClassMembers": "error",
+ "noDuplicateObjectKeys": "error",
+ "noDuplicateParameters": "error",
+ "noEmptyBlockStatements": "error",
+ "noEmptyInterface": "off",
+ "noExplicitAny": "off",
+ "noExtraNonNullAssertion": "error",
+ "noFallthroughSwitchClause": "error",
+ "noFunctionAssign": "error",
+ "noGlobalAssign": "error",
+ "noImportAssign": "error",
+ "noMisleadingCharacterClass": "error",
+ "noMisleadingInstantiator": "error",
+ "noPrototypeBuiltins": "error",
+ "noRedeclare": "error",
+ "noShadowRestrictedNames": "error",
+ "noUnsafeDeclarationMerging": "error",
+ "noUnsafeNegation": "error",
+ "useGetterReturn": "error",
+ "useValidTypeof": "error"
+ }
+ },
+ "ignore": [
+ "**/*.log",
+ "**/.DS_Store",
+ "**/*.",
+ ".vscode/settings.json",
+ "**/.history",
+ "**/.yarn",
+ "**/bazel-*",
+ "**/bazel-bin",
+ "**/bazel-out",
+ "**/bazel-qwik",
+ "**/bazel-testlogs",
+ "**/dist",
+ "**/dist-dev",
+ "**/lib",
+ "**/lib-types",
+ "**/etc",
+ "**/external",
+ "**/node_modules",
+ "**/temp",
+ "**/tsc-out",
+ "**/tsdoc-metadata.json",
+ "**/target",
+ "**/output",
+ "**/rollup.config.js",
+ "**/build",
+ "**/.cache",
+ "**/.vscode",
+ "**/.rollup.cache",
+ "**/tsconfig.tsbuildinfo",
+ "**/vite.config.ts",
+ "**/*.spec.tsx",
+ "**/*.spec.ts",
+ "**/.netlify",
+ "**/pnpm-lock.yaml",
+ "**/package-lock.json",
+ "**/yarn.lock",
+ "**/svelte.config.js",
+ "tmp*/**"
+ ]
+ },
+ "javascript": {
+ "formatter": {
+ "jsxQuoteStyle": "double",
+ "quoteProperties": "asNeeded",
+ "trailingCommas": "all",
+ "semicolons": "asNeeded",
+ "arrowParentheses": "always",
+ "bracketSpacing": true,
+ "bracketSameLine": false,
+ "quoteStyle": "single",
+ "attributePosition": "auto"
+ }
+ },
+ "overrides": [
+ { "include": ["*.astro"] },
+ {
+ "include": ["*.ts", "*.tsx", "*.mts", "*.cts"],
+ "linter": {
+ "rules": {
+ "correctness": {
+ "noConstAssign": "off",
+ "noGlobalObjectCalls": "off",
+ "noInvalidConstructorSuper": "off",
+ "noInvalidNewBuiltin": "off",
+ "noNewSymbol": "off",
+ "noSetterReturn": "off",
+ "noUndeclaredVariables": "off",
+ "noUnreachable": "off",
+ "noUnreachableSuper": "off"
+ },
+ "style": {
+ "noArguments": "error",
+ "noVar": "error",
+ "useConst": "error"
+ },
+ "suspicious": {
+ "noDuplicateClassMembers": "off",
+ "noDuplicateObjectKeys": "off",
+ "noDuplicateParameters": "off",
+ "noFunctionAssign": "off",
+ "noImportAssign": "off",
+ "noRedeclare": "off",
+ "noUnsafeNegation": "off",
+ "useGetterReturn": "off"
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/packages/host/package.json b/packages/host/package.json
index 3df4578..648e22d 100644
--- a/packages/host/package.json
+++ b/packages/host/package.json
@@ -7,13 +7,13 @@
"sync": "astro sync",
"build": "yarn fix && astro build",
"check": "yarn check.fmt && yarn check.lint && astro check",
- "check.fmt": "prettier --check .",
- "check.lint": "eslint \"**/*.{js,jsx,ts,tsx,astro}\"",
+ "check.fmt": "biome check --write",
+ "check.lint": "biome check",
"dev": "astro dev",
"fix": "yarn lint && yarn fmt",
- "fmt": "prettier --write .",
- "lint": "eslint --fix \"**/*.{js,jsx,ts,tsx,astro}\"",
- "lint.dry-run": "eslint --fix-dry-run \"**/*.{js,jsx,ts,tsx,astro}\"",
+ "fmt": "biome format --write",
+ "lint": "biome lint --write",
+ "lint.dry-run": "biome lint",
"preview": "yarn build && yarn serve",
"prod": "yarn check && astro build",
"serve": "astro preview",
@@ -40,6 +40,7 @@
"typescript": "^5.5.4"
},
"devDependencies": {
+ "@biomejs/biome": "1.8.3",
"@types/eslint": "^8.56.10",
"@types/node": "^22.0.0",
"@typescript-eslint/eslint-plugin": "^7.13.0",
diff --git a/packages/host/postcss.config.cjs b/packages/host/postcss.config.cjs
index 502e667..c1c711a 100644
--- a/packages/host/postcss.config.cjs
+++ b/packages/host/postcss.config.cjs
@@ -1,11 +1,11 @@
module.exports = {
- purge: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx,svelte,astro,md,mdx}"],
+ purge: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx,svelte,astro,md,mdx}'],
plugins: {
- "postcss-import": {},
+ 'postcss-import': {},
tailwindcss: {},
autoprefixer: {},
- "postcss-sort-media-queries": {
- sort: "desktop-first",
+ 'postcss-sort-media-queries': {
+ sort: 'desktop-first',
},
},
-};
+}
diff --git a/packages/host/prettier.config.cjs b/packages/host/prettier.config.cjs
index efe19e8..30d85d7 100644
--- a/packages/host/prettier.config.cjs
+++ b/packages/host/prettier.config.cjs
@@ -1,12 +1,12 @@
/** @type {import("prettier").Config} */
module.default = {
- plugins: ["prettier-plugin-astro"],
- quoteProps: "consistent",
+ plugins: ['prettier-plugin-astro'],
+ quoteProps: 'consistent',
bracketSpacing: true,
- arrowParens: "always",
+ arrowParens: 'always',
jsdocPreferCodeFences: true,
tsdoc: true,
- trailingComma: "es5",
+ trailingComma: 'es5',
tabWidth: 2,
semi: true,
singleQuote: true,
@@ -14,10 +14,10 @@ module.default = {
useTabs: false,
overrides: [
{
- files: "*.astro",
+ files: '*.astro',
options: {
- parser: "astro",
+ parser: 'astro',
},
},
],
-};
+}
diff --git a/packages/host/src/components/qwik/nav.tsx b/packages/host/src/components/qwik/nav.tsx
index 50ffe6e..188d3c6 100644
--- a/packages/host/src/components/qwik/nav.tsx
+++ b/packages/host/src/components/qwik/nav.tsx
@@ -4,53 +4,53 @@ import {
useOnDocument,
useSignal,
useStyles$,
-} from "@builder.io/qwik";
-import { NavButton } from "./navButton";
-import { isServer } from "@builder.io/qwik/build";
-import styles from "./nav.css?inline";
+} from '@builder.io/qwik'
+import { NavButton } from './navButton'
+import { isServer } from '@builder.io/qwik/build'
+import styles from './nav.css?inline'
interface NavProps {
entries: {
- icon: string;
- label: string;
- path: string;
- }[];
+ icon: string
+ label: string
+ path: string
+ }[]
}
export const Nav = component$((props: NavProps) => {
- const navOpen = useSignal(false);
+ const navOpen = useSignal(false)
const toggleNav = $(() => {
setTimeout(() => {
- navOpen.value = !navOpen.value;
+ navOpen.value = !navOpen.value
setTimeout(() => {
document
- .querySelectorAll("svg.nav")
- .forEach((svg) => svg.classList.add("active"));
- }, 300);
+ .querySelectorAll('svg.nav')
+ .forEach((svg) => svg.classList.add('active'))
+ }, 300)
setTimeout(() => {
document
- .querySelectorAll("p.navIconLabel")
- .forEach((svg) => svg.classList.add("active"));
- }, 300);
- }, 300);
- });
- useStyles$(styles);
+ .querySelectorAll('p.navIconLabel')
+ .forEach((svg) => svg.classList.add('active'))
+ }, 300)
+ }, 300)
+ })
+ useStyles$(styles)
useOnDocument(
- "pageLoad",
+ 'pageLoad',
$(() => {
- if (isServer) return;
+ if (isServer) return
setTimeout(() => {
document
- .querySelectorAll("svg.nav")
- .forEach((svg) => svg.classList.add("active"));
- }, 300);
+ .querySelectorAll('svg.nav')
+ .forEach((svg) => svg.classList.add('active'))
+ }, 300)
setTimeout(() => {
document
- .querySelectorAll("p.navIconLabel")
- .forEach((svg) => svg.classList.add("active"));
- }, 300);
+ .querySelectorAll('p.navIconLabel')
+ .forEach((svg) => svg.classList.add('active'))
+ }, 300)
}),
- );
+ )
return (
@@ -82,20 +82,20 @@ export const Nav = component$((props: NavProps) => {
path={prop.path}
onClick={$(() => {
setTimeout(function () {
- const link = document.createElement("a");
+ const link = document.createElement('a')
link.onclick = () => {
dispatchEvent(
- new CustomEvent("navigate", { detail: prop.path }),
- );
- };
- link.classList.add("hidden");
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- }, 10);
- const navClicked = document.querySelector(".transition");
+ new CustomEvent('navigate', { detail: prop.path }),
+ )
+ }
+ link.classList.add('hidden')
+ document.body.appendChild(link)
+ link.click()
+ document.body.removeChild(link)
+ }, 10)
+ const navClicked = document.querySelector('.transition')
navClicked &&
- navClicked.classList.add("animated", "bounceOutUp");
+ navClicked.classList.add('animated', 'bounceOutUp')
})}
>
@@ -103,5 +103,5 @@ export const Nav = component$((props: NavProps) => {
- );
-});
+ )
+})
diff --git a/packages/host/src/components/qwik/navButton.tsx b/packages/host/src/components/qwik/navButton.tsx
index f8fe9e4..83f3025 100644
--- a/packages/host/src/components/qwik/navButton.tsx
+++ b/packages/host/src/components/qwik/navButton.tsx
@@ -1,10 +1,10 @@
-import { $, component$ } from "@builder.io/qwik";
+import { $, component$ } from '@builder.io/qwik'
export interface NavButtonProps {
- path?: string;
- onClick?: any;
- icon: string;
- label: string;
+ path?: string
+ onClick?: any
+ icon: string
+ label: string
}
export const NavButton = component$((props: NavButtonProps) => {
@@ -17,8 +17,8 @@ export const NavButton = component$((props: NavButtonProps) => {
props.icon +
'' +
props.label +
- "
"
+ '
'
}
>
- );
-});
+ )
+})
diff --git a/packages/host/src/components/qwik/theme.tsx b/packages/host/src/components/qwik/theme.tsx
index 94094db..58ead81 100644
--- a/packages/host/src/components/qwik/theme.tsx
+++ b/packages/host/src/components/qwik/theme.tsx
@@ -1,59 +1,58 @@
-import { $, component$, useOnDocument } from "@builder.io/qwik";
-import { isServer } from "@builder.io/qwik/build";
+import { $, component$, useOnDocument } from '@builder.io/qwik'
+import { isServer } from '@builder.io/qwik/build'
export const Theme = component$(() => {
useOnDocument(
- "pageLoad",
+ 'pageLoad',
$(() => {
- if (isServer) return;
- const theme = document.documentElement.className;
- const sun = document.getElementById("dayNightSun");
- const moon = document.getElementById("dayNightMoon");
+ if (isServer) return
+ const theme = document.documentElement.className
+ const sun = document.getElementById('dayNightSun')
+ const moon = document.getElementById('dayNightMoon')
if (sun && moon) {
- if (theme === "dark") {
- document.documentElement.className = "dark";
- localStorage.setItem("theme", "dark");
- if (sun.classList.contains("hidden")) sun.classList.remove("hidden");
- sun.classList.add("active");
- if (!moon.classList.contains("hidden"))
- moon.classList.contains("active")
- ? moon.classList.replace("active", "hidden")
- : moon.classList.add("hidden");
+ if (theme === 'dark') {
+ document.documentElement.className = 'dark'
+ localStorage.setItem('theme', 'dark')
+ if (sun.classList.contains('hidden')) sun.classList.remove('hidden')
+ sun.classList.add('active')
+ if (!moon.classList.contains('hidden'))
+ moon.classList.contains('active')
+ ? moon.classList.replace('active', 'hidden')
+ : moon.classList.add('hidden')
} else {
- document.documentElement.className = "light";
- localStorage.setItem("theme", "light");
- if (moon.classList.contains("hidden"))
- moon.classList.remove("hidden");
- moon.classList.add("active");
- if (!sun.classList.contains("hidden"))
- sun.classList.contains("active")
- ? sun.classList.replace("active", "hidden")
- : sun.classList.add("hidden");
+ document.documentElement.className = 'light'
+ localStorage.setItem('theme', 'light')
+ if (moon.classList.contains('hidden')) moon.classList.remove('hidden')
+ moon.classList.add('active')
+ if (!sun.classList.contains('hidden'))
+ sun.classList.contains('active')
+ ? sun.classList.replace('active', 'hidden')
+ : sun.classList.add('hidden')
}
}
}),
- );
+ )
return (
{
- const theme = document.documentElement.className;
- const sun = document.getElementById("dayNightSun");
- const moon = document.getElementById("dayNightMoon");
+ const theme = document.documentElement.className
+ const sun = document.getElementById('dayNightSun')
+ const moon = document.getElementById('dayNightMoon')
if (sun && moon) {
- if (theme === "light") {
- document.documentElement.className = "dark";
- localStorage.setItem("theme", "dark");
- sun.classList.remove("hidden");
- setTimeout(() => sun.classList.add("active"), 200);
- moon.classList.replace("active", "hidden");
+ if (theme === 'light') {
+ document.documentElement.className = 'dark'
+ localStorage.setItem('theme', 'dark')
+ sun.classList.remove('hidden')
+ setTimeout(() => sun.classList.add('active'), 200)
+ moon.classList.replace('active', 'hidden')
} else {
- document.documentElement.className = "light";
- localStorage.setItem("theme", "light");
- moon.classList.remove("hidden");
- setTimeout(() => moon.classList.add("active"), 200);
- sun.classList.replace("active", "hidden");
+ document.documentElement.className = 'light'
+ localStorage.setItem('theme', 'light')
+ moon.classList.remove('hidden')
+ setTimeout(() => moon.classList.add('active'), 200)
+ sun.classList.replace('active', 'hidden')
}
}
}}
@@ -160,5 +159,5 @@ export const Theme = component$(() => {
- );
-});
+ )
+})
diff --git a/packages/host/src/components/solid/Interest.tsx b/packages/host/src/components/solid/Interest.tsx
index 6e868da..3c8cfaa 100644
--- a/packages/host/src/components/solid/Interest.tsx
+++ b/packages/host/src/components/solid/Interest.tsx
@@ -1,14 +1,14 @@
/** @jsxImportSource solid-js */
// @ts-ignore
-import App from "interests";
-import type { Component } from "solid-js";
+import App from 'interests'
+import type { Component } from 'solid-js'
const Interest: Component = (props: any) => {
return (
<>
>
- );
-};
+ )
+}
-export default Interest;
+export default Interest
diff --git a/packages/host/src/components/solid/SoftwareXP.tsx b/packages/host/src/components/solid/SoftwareXP.tsx
index 5b378af..1cf61d9 100644
--- a/packages/host/src/components/solid/SoftwareXP.tsx
+++ b/packages/host/src/components/solid/SoftwareXP.tsx
@@ -1,14 +1,14 @@
/** @jsxImportSource solid-js */
// @ts-ignore
-import App from "software-eng";
-import type { Component } from "solid-js";
+import App from 'software-eng'
+import type { Component } from 'solid-js'
const SoftwareXP: Component = (props: any) => {
return (
<>
>
- );
-};
+ )
+}
-export default SoftwareXP;
+export default SoftwareXP
diff --git a/packages/host/src/components/svelte/Landing.svelte b/packages/host/src/components/svelte/Landing.svelte
index 6954898..3d16be7 100644
--- a/packages/host/src/components/svelte/Landing.svelte
+++ b/packages/host/src/components/svelte/Landing.svelte
@@ -1,70 +1,87 @@
+import '../.astro/types.d.ts'
+import 'astro/client'
diff --git a/packages/host/src/layouts/BlogLayout.astro b/packages/host/src/layouts/BlogLayout.astro
index 9842ec6..d223995 100644
--- a/packages/host/src/layouts/BlogLayout.astro
+++ b/packages/host/src/layouts/BlogLayout.astro
@@ -1,9 +1,9 @@
---
-import {ViewTransitions} from 'astro:transitions';
-import "../styles/global.css";
-import {Nav} from '../components/qwik/nav';
-import {Theme} from '../components/qwik/theme';
-const {title, navProps} = Astro.props;
+import { ViewTransitions } from 'astro:transitions'
+import '../styles/global.css'
+import { Nav } from '../components/qwik/nav'
+import { Theme } from '../components/qwik/theme'
+const { title, navProps } = Astro.props
---
diff --git a/packages/host/src/layouts/BlogSubLayout.astro b/packages/host/src/layouts/BlogSubLayout.astro
index 87419da..5e4c611 100644
--- a/packages/host/src/layouts/BlogSubLayout.astro
+++ b/packages/host/src/layouts/BlogSubLayout.astro
@@ -1,23 +1,23 @@
---
const fia = {
- new: {
- name: 'fadeIn',
- duration: '0.5s',
- easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
- fillMode: 'forwards',
- },
- old: {
- name: 'fadeOut',
- duration: '0.5s',
- easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
- fillMode: 'forwards'
- }
-};
+ new: {
+ name: 'fadeIn',
+ duration: '0.5s',
+ easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
+ fillMode: 'forwards',
+ },
+ old: {
+ name: 'fadeOut',
+ duration: '0.5s',
+ easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
+ fillMode: 'forwards',
+ },
+}
const fiAnim = {
- forwards: fia,
- backwards: fia,
-};
+ forwards: fia,
+ backwards: fia,
+}
---
diff --git a/packages/host/src/layouts/Layout.astro b/packages/host/src/layouts/Layout.astro
index 309a4b1..929b573 100644
--- a/packages/host/src/layouts/Layout.astro
+++ b/packages/host/src/layouts/Layout.astro
@@ -1,14 +1,13 @@
---
-import {ViewTransitions} from 'astro:transitions';
-import {Theme} from "../components/qwik/theme";
-import "../styles/global.css";
+import { ViewTransitions } from 'astro:transitions'
+import { Theme } from '../components/qwik/theme'
+import '../styles/global.css'
interface Props {
- title: string;
+ title: string
}
-const {title} = Astro.props;
-
+const { title } = Astro.props
---
diff --git a/packages/host/src/layouts/PostLayout.astro b/packages/host/src/layouts/PostLayout.astro
index 3aaf67d..e2ecbbd 100644
--- a/packages/host/src/layouts/PostLayout.astro
+++ b/packages/host/src/layouts/PostLayout.astro
@@ -1,8 +1,8 @@
---
-import "../styles/global.css";
-import BlogLayout from "./BlogLayout.astro";
-const {title} = Astro.props;
-import BlogSubLayout from "./BlogSubLayout.astro";
+import '../styles/global.css'
+import BlogLayout from './BlogLayout.astro'
+const { title } = Astro.props
+import BlogSubLayout from './BlogSubLayout.astro'
---
diff --git a/packages/host/src/pages/blog.astro b/packages/host/src/pages/blog.astro
index 08d2267..59f9b74 100644
--- a/packages/host/src/pages/blog.astro
+++ b/packages/host/src/pages/blog.astro
@@ -1,8 +1,8 @@
---
-import BlogLayout from '../layouts/BlogLayout.astro';
-import {getCollection} from 'astro:content';
-import BlogSubLayout from "../layouts/BlogSubLayout.astro";
-const blogEntries = await getCollection('blog');
+import BlogLayout from '../layouts/BlogLayout.astro'
+import { getCollection } from 'astro:content'
+import BlogSubLayout from '../layouts/BlogSubLayout.astro'
+const blogEntries = await getCollection('blog')
---