mirror of
https://github.com/theoludwig/theoludwig.git
synced 2024-10-05 13:06:10 +02:00
Compare commits
6 Commits
5f3dfad988
...
8a59e9034f
Author | SHA1 | Date | |
---|---|---|---|
|
8a59e9034f | ||
d7121ea833 | |||
c10f690622 | |||
6915072ab9 | |||
dd803bcc51 | |||
efa33f26ec |
@ -1 +0,0 @@
|
||||
FROM mcr.microsoft.com/devcontainers/javascript-node:20
|
@ -1,9 +0,0 @@
|
||||
services:
|
||||
workspace:
|
||||
build:
|
||||
context: "./"
|
||||
dockerfile: "./Dockerfile"
|
||||
volumes:
|
||||
- "..:/workspace:cached"
|
||||
command: "sleep infinity"
|
||||
network_mode: "host"
|
@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "theoludwig",
|
||||
"dockerComposeFile": "./compose.yaml",
|
||||
"service": "workspace",
|
||||
"workspaceFolder": "/workspace",
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"settings": {
|
||||
"remote.autoForwardPorts": false,
|
||||
"remote.localPortHost": "allInterfaces"
|
||||
}
|
||||
},
|
||||
"extensions": [
|
||||
"editorconfig.editorconfig",
|
||||
"esbenp.prettier-vscode",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"mikestead.dotenv",
|
||||
"ms-azuretools.vscode-docker"
|
||||
]
|
||||
},
|
||||
"remoteUser": "node"
|
||||
}
|
@ -3,13 +3,9 @@
|
||||
"extends": [
|
||||
"conventions",
|
||||
"next/core-web-vitals",
|
||||
"plugin:tailwindcss/recommended",
|
||||
"prettier"
|
||||
"plugin:tailwindcss/recommended"
|
||||
],
|
||||
"plugins": ["prettier"],
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.json"
|
||||
},
|
||||
"plugins": ["import", "promise", "unicorn"],
|
||||
"settings": {
|
||||
"tailwindcss": {
|
||||
"callees": ["classNames"]
|
||||
@ -19,7 +15,6 @@
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"prettier/prettier": "error",
|
||||
"react/self-closing-comp": [
|
||||
"error",
|
||||
{
|
||||
@ -33,7 +28,11 @@
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.ts", "*.tsx"],
|
||||
"parser": "@typescript-eslint/parser"
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"plugins": ["@typescript-eslint"],
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.json"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
10
.gitpod.yml
10
.gitpod.yml
@ -1,10 +0,0 @@
|
||||
image: "gitpod/workspace-full"
|
||||
|
||||
tasks:
|
||||
- before: "cp .env.example .env"
|
||||
init: "npm clean-install"
|
||||
command: "npm run dev"
|
||||
|
||||
ports:
|
||||
- port: 3000
|
||||
onOpen: "open-preview"
|
@ -29,8 +29,6 @@ The commit message guidelines adheres to [Conventional Commits](https://www.conv
|
||||
|
||||
## Getting Started
|
||||
|
||||
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/theoludwig/theoludwig)
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- [Node.js](https://nodejs.org/) >= 20.0.0
|
||||
@ -66,6 +64,6 @@ npm run dev
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
### Services started
|
||||
### Service started
|
||||
|
||||
- `website`: <http://127.0.0.1:3000>
|
||||
`website`: <http://127.0.0.1:3000>
|
||||
|
@ -26,14 +26,14 @@ const Heading = (
|
||||
): JSX.Element => {
|
||||
const { children, id = "" } = props
|
||||
return (
|
||||
<h2 {...props} className="group">
|
||||
<Link
|
||||
href={`#${id}`}
|
||||
className="invisible !text-black group-hover:visible dark:!text-white"
|
||||
>
|
||||
<FontAwesomeIcon className="mr-2 inline size-4" icon={faLink} />
|
||||
<h2 {...props}>
|
||||
<Link href={`#${id}`} className="group relative hover:no-underline">
|
||||
<FontAwesomeIcon
|
||||
className="absolute bottom-2 left-[-26px] mr-2 hidden size-4 !text-black group-hover:inline dark:!text-white"
|
||||
icon={faLink}
|
||||
/>
|
||||
{children}
|
||||
</Link>
|
||||
{children}
|
||||
</h2>
|
||||
)
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ export const SwitchTheme = (props: SwitchThemeProps): JSX.Element => {
|
||||
</div>
|
||||
<div
|
||||
className={classNames(
|
||||
"absolute top-[1px] box-border size-[22px] rounded-[50%] bg-[#fafafa] text-white transition-all duration-[250ms] ease-in-out",
|
||||
"absolute top-px box-border size-[22px] rounded-[50%] bg-[#fafafa] text-white transition-all duration-[250ms] ease-in-out",
|
||||
{
|
||||
"left-[27px]": theme === "dark",
|
||||
"left-0": theme === "light",
|
||||
@ -70,7 +70,7 @@ export const SwitchTheme = (props: SwitchThemeProps): JSX.Element => {
|
||||
data-cy="switch-theme-input"
|
||||
type="checkbox"
|
||||
aria-label="Dark mode toggle"
|
||||
className="absolute m-[-1px] hidden size-[1px] overflow-hidden border-0 p-0"
|
||||
className="absolute -m-px hidden size-px overflow-hidden border-0 p-0"
|
||||
defaultChecked
|
||||
/>
|
||||
</div>
|
||||
|
29
curriculum-vitae/package-lock.json
generated
29
curriculum-vitae/package-lock.json
generated
@ -12,9 +12,9 @@
|
||||
"modern-normalize": "2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "20.12.7",
|
||||
"date-and-time": "3.1.1",
|
||||
"vite": "5.2.8",
|
||||
"@types/node": "20.12.12",
|
||||
"date-and-time": "3.3.0",
|
||||
"vite": "5.2.11",
|
||||
"vite-plugin-html": "3.2.2"
|
||||
}
|
||||
},
|
||||
@ -694,10 +694,11 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.12.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz",
|
||||
"integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==",
|
||||
"version": "20.12.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
|
||||
"integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
@ -896,10 +897,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/date-and-time": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-3.1.1.tgz",
|
||||
"integrity": "sha512-N9kstidT3P0VUk1iKOFilOZ6251r6iTUNx9M9kvgL2jqOk9mljWZUq5CjAtYwCnppWHbERk5YFQUrSbY7FQOpA==",
|
||||
"dev": true
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-3.3.0.tgz",
|
||||
"integrity": "sha512-UguWfh9LkUecVrGSE0B7SpAnGRMPATmpwSoSij24/lDnwET3A641abfDBD/TdL0T+E04f8NWlbMkD9BscVvIZg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/dom-serializer": {
|
||||
"version": "1.4.1",
|
||||
@ -1642,10 +1644,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "5.2.8",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz",
|
||||
"integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==",
|
||||
"version": "5.2.11",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz",
|
||||
"integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"esbuild": "^0.20.1",
|
||||
"postcss": "^8.4.38",
|
||||
|
@ -13,9 +13,9 @@
|
||||
"modern-normalize": "2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "20.12.7",
|
||||
"date-and-time": "3.1.1",
|
||||
"vite": "5.2.8",
|
||||
"@types/node": "20.12.12",
|
||||
"date-and-time": "3.3.0",
|
||||
"vite": "5.2.11",
|
||||
"vite-plugin-html": "3.2.2"
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ describe("Page /blog/[slug]", () => {
|
||||
cy.visit("/blog/hello-world")
|
||||
cy.get("[data-cy=locale-flag-text]").should("not.exist")
|
||||
cy.get("main h1").should("have.text", "👋 Hello, world!")
|
||||
cy.get(".prose a:visible").should("have.attr", "target", "_blank")
|
||||
})
|
||||
|
||||
it("should redirect to /404 if the blog post doesn't exist", () => {
|
||||
|
4018
package-lock.json
generated
4018
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
48
package.json
48
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "theoludwig",
|
||||
"version": "3.2.5",
|
||||
"version": "3.2.6",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -29,63 +29,61 @@
|
||||
"postinstall": "husky"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fontsource/montserrat": "5.0.17",
|
||||
"@fontsource/montserrat": "5.0.18",
|
||||
"@formatjs/intl-localematcher": "0.5.4",
|
||||
"@fortawesome/fontawesome-svg-core": "6.5.2",
|
||||
"@fortawesome/free-brands-svg-icons": "6.5.2",
|
||||
"@fortawesome/free-solid-svg-icons": "6.5.2",
|
||||
"@fortawesome/react-fontawesome": "0.2.0",
|
||||
"@fortawesome/react-fontawesome": "0.2.1",
|
||||
"@giscus/react": "3.0.0",
|
||||
"clsx": "2.1.0",
|
||||
"date-and-time": "3.1.1",
|
||||
"clsx": "2.1.1",
|
||||
"date-and-time": "3.3.0",
|
||||
"gray-matter": "4.0.3",
|
||||
"html-react-parser": "5.1.10",
|
||||
"i18n-js": "4.3.2",
|
||||
"i18n-js": "4.4.3",
|
||||
"katex": "0.16.10",
|
||||
"negotiator": "0.6.3",
|
||||
"next": "14.1.0",
|
||||
"next-mdx-remote": "4.4.1",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
"read-pkg": "9.0.1",
|
||||
"rehype-katex": "6.0.3",
|
||||
"rehype-raw": "6.1.1",
|
||||
"rehype-slug": "5.1.0",
|
||||
"remark-gfm": "3.0.1",
|
||||
"remark-math": "5.1.1",
|
||||
"sharp": "0.33.3",
|
||||
"sharp": "0.33.4",
|
||||
"shiki": "0.14.7",
|
||||
"unified": "10.1.2",
|
||||
"unist-util-visit": "5.0.0",
|
||||
"universal-cookie": "7.1.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "19.1.0",
|
||||
"@commitlint/config-conventional": "19.1.0",
|
||||
"@commitlint/cli": "19.2.2",
|
||||
"@commitlint/config-conventional": "19.2.2",
|
||||
"@saithodev/semantic-release-backmerge": "4.0.1",
|
||||
"@semantic-release/git": "10.0.1",
|
||||
"@tailwindcss/typography": "0.5.12",
|
||||
"@tailwindcss/typography": "0.5.13",
|
||||
"@total-typescript/ts-reset": "0.5.1",
|
||||
"@tsconfig/strictest": "2.0.5",
|
||||
"@types/negotiator": "0.6.3",
|
||||
"@types/node": "20.12.7",
|
||||
"@types/react": "18.2.78",
|
||||
"@types/node": "20.12.12",
|
||||
"@types/react": "18.3.2",
|
||||
"@types/unist": "3.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "7.6.0",
|
||||
"@typescript-eslint/parser": "7.6.0",
|
||||
"@typescript-eslint/eslint-plugin": "7.10.0",
|
||||
"@typescript-eslint/parser": "7.10.0",
|
||||
"autoprefixer": "10.4.19",
|
||||
"curriculum-vitae": "file:./curriculum-vitae",
|
||||
"cypress": "13.7.3",
|
||||
"cypress": "13.9.0",
|
||||
"editorconfig-checker": "5.1.5",
|
||||
"eslint": "8.56.0",
|
||||
"eslint-config-conventions": "14.1.0",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-conventions": "14.2.0",
|
||||
"eslint-config-next": "14.1.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-import": "2.29.1",
|
||||
"eslint-plugin-prettier": "5.1.3",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"eslint-plugin-tailwindcss": "3.14.2",
|
||||
"eslint-plugin-unicorn": "51.0.1",
|
||||
"eslint-plugin-tailwindcss": "3.15.2",
|
||||
"eslint-plugin-unicorn": "53.0.0",
|
||||
"html-w3c-validator": "1.6.1",
|
||||
"husky": "9.0.11",
|
||||
"lint-staged": "15.2.2",
|
||||
@ -93,8 +91,8 @@
|
||||
"markdownlint-rule-relative-links": "2.3.2",
|
||||
"postcss": "8.4.38",
|
||||
"prettier": "3.2.5",
|
||||
"prettier-plugin-tailwindcss": "0.5.13",
|
||||
"semantic-release": "23.0.8",
|
||||
"prettier-plugin-tailwindcss": "0.5.14",
|
||||
"semantic-release": "23.1.1",
|
||||
"start-server-and-test": "2.0.3",
|
||||
"tailwindcss": "3.4.3",
|
||||
"typescript": "5.4.5"
|
||||
|
Loading…
Reference in New Issue
Block a user