Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .coderabbit.yaml → .coderabbit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ reviews:

# Only run on these paths. Omit to run on all.
path_filters:
- "!pnpm-lock.yaml"
- "!.nuxt/**"
- "!.output/**"
- "!dist/**"
- "!pnpm-lock.yaml"

# Path-specific instructions for code review.
path_instructions:
Expand Down Expand Up @@ -174,18 +174,16 @@ reviews:
# ignore_title_keywords:
# -
# labels:
# -
# - "!autorelease: pending" # Exclude release-please bot PRs that are waiting for release.
# base_branches:
# -
# ignore_usernames:
# -

finishing_touches:
# Not available in the lite plan.
# Disable AI generation of docstrings/tests as we prefer manual control or existing suites.
docstrings:
enabled: false

# Not available in the lite plan.
unit_tests:
enabled: false

Expand All @@ -204,6 +202,8 @@ knowledge_base:

# Index documentation to understand project conventions.
filePatterns:
- "README.md"
- "docs/**/*.md"
- "content.config.ts"
- "CONTRIBUTING.md"
- "docs/**"
- "nuxt.config.ts"
- "README.md"
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: toddeTV
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,10 @@ logs
.env
.env.*
!.env.example

# no AI files (AI should only be used for reviewing code, not for generating it)
CLAUDE.md
.claude
.github/instructions
.github/prompts
.vscode/mcp.json
5 changes: 5 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
shamefully-hoist=true

# modify package saving behavior
save-dev=true
save-prefix=~
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

Personal portfolio website for **Thorsten Seyschab** (toddeTV) - an IT consultant, senior full-stack developer, and conference speaker.

## Sponsoring

If you want to support me, I would be thrilled to see you as a sponsor on GitHub ❤️<br>
You can find the `Sponsor` button on the top right of the [GitHub project page](https://github.com/toddeTV/todde.tv).<br>
Thank you for the support <3

It also helps me a lot if you follow me on social media and stay up to date with my latest projects! ❤️

- [GitHub](https://github.com/toddeTV/)
- [X (Twitter)](https://x.com/toddeTV)
- [Bluesky](https://bsky.app/profile/todde.tv)
- [LinkedIn](https://www.linkedin.com/in/toddetv/)

## Contribution & Attribution

### Project Contributors
Expand Down
32 changes: 0 additions & 32 deletions app/components/Alert.vue

This file was deleted.

29 changes: 0 additions & 29 deletions app/components/Counter.vue

This file was deleted.

5 changes: 5 additions & 0 deletions content.config.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/**
* @file Defines the `@nuxt/content` configuration for the application.
* Contains mainly the schema for content in the `/content/` folder.
*/

import { defineContentConfig, defineCollection } from '@nuxt/content'

export default defineContentConfig({
Expand Down
3 changes: 0 additions & 3 deletions content/about.md

This file was deleted.

25 changes: 2 additions & 23 deletions content/index.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,3 @@
# Welcome to Nuxt Content Starter
# todde.tv

This is the main page displaying Markdown located at [content/index.md](https://github.com/nuxt/starter/blob/content/content/index.md).

Move to [about](/about) page.

## Manage your Contents

Create new pages or modify the existing ones in `content/` directory.

## Query & Render Pages

You can find an example of querying contents and rendering them in a [catch-all page](https://github.com/nuxt/starter/blob/content/app/pages/%5B...slug%5D.vue)

## Integrate Vue Component

::alert{color="green"}
The current [alert](https://github.com/nuxt/starter/blob/content/app/components/Alert.vue) and the [counter](https://github.com/nuxt/starter/blob/content/app/components/Counter.vue) below are `Vue` components integrated into the Markdown.
::

::counter
::

Checkout out the [documentation](https://content.nuxt.com/docs/getting-started) to learn more.
Welcome.
75 changes: 73 additions & 2 deletions nuxt.config.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,83 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: '2026-03-04',

app: {
head: {
// titleTemplate, description, og:site_name, and htmlAttrs.lang are handled by `@nuxtjs/seo` via `site`
// config — do not duplicate here.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
meta: [
{ name: 'application-name', content: 'todde.tv' },
{ name: 'author', content: 'Thorsten Seyschab' },

// Dark-only site: inform browser about color scheme and mobile chrome color.
{ name: 'color-scheme', content: 'dark' },
{ name: 'theme-color', content: '#0a0a0b' },

// Although not a standard OG tag, some tools check for it.
// Standard OG images are handled by `nuxt-og-image` module.
// Standard Schema.org logos are handled by `nuxt-schema-org` module.
{ property: 'og:logo', content: 'favicon.ico' },
],
htmlAttrs: {
'data-theme-source': 'todde.tv',
},
},
},

modules: [
'@nuxt/content',
'@nuxt/eslint',
'@nuxt/fonts',
'@nuxt/icon',
'@nuxt/image',
],
devtools: { enabled: true },
compatibilityDate: '2024-04-03',

runtimeConfig: {
public: {
},
},

ssr: true,

// nitro: {
// },

css: [
],

devtools: {
enabled: true,
},

typescript: { // for TypeScript, see https://nuxt.com/docs/guide/concepts/typescript
// Customize app/server TypeScript config
tsConfig: {
compilerOptions: {
strict: true,
},
},

// Customize build-time TypeScript config
nodeTsConfig: {
compilerOptions: {
strict: true,
},
},
},

content: { // for `@nuxt/content`
},

eslint: { // for `@nuxt/eslint`
},

fonts: { // for `@nuxt/fonts`
},

icon: { // for `@nuxt/icon`
},

image: { // for `@nuxt/image`
},
})
84 changes: 73 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,82 @@
{
"name": "todde-tv",
"name": "todde.tv",
"private": true,
"type": "module",
"packageManager": "pnpm@10.30.3",
"description": "Personal portfolio website for Thorsten Seyschab - IT consultant, senior full-stack developer, and conference speaker.",
"author": "Thorsten Seyschab <business@todde.tv> (https://todde.tv/)",
"contributors": [
{
"name": "Thorsten Seyschab",
"email": "business@todde.tv",
"url": "https://todde.tv/"
}
],
"license": "SEE LICENSE IN LICENSE.md",
"repository": {
"type": "git",
"url": "git+https://github.com/toddeTV/todde.tv.git"
},
"homepage": "https://todde.tv/",
"bugs": {
"url": "https://github.com/toddeTV/todde.tv/issues"
},
"keywords": [
"toddeTV",
"todde.tv",
"nuxt",
"nuxt4",
"nuxtjs",
"vue",
"vue3",
"vuejs",
"vite",
"typescript",
"javascript",
"web",
"website",
"portfolio",
"personal-website",
"static-site",
"tailwindcss",
"ssg"
],
"engines": {
"node": "22.x",
"pnpm": "10.x"
},
"scripts": {
"build": "nuxt build",
"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview"
"dev:preset": "nuxt dev --port 3000 --public",
"fix:lint": "run-s \"test:lint --fix\"",
"generate": "cross-env NODE_OPTIONS=--max-old-space-size=8192 nuxt generate",
"nuxi": "nuxi",
"nuxt": "nuxt",
"prepare": "nuxt prepare",
"preview": "nuxt preview",
"reset": "rimraf node_modules .nuxt .output dist .data",
"test": "run-s test:*",
"test:lint": "eslint .",
"test:types": "nuxt typecheck"
},
"dependencies": {
"@nuxt/content": "^3.12.0",
"@nuxt/eslint": "1.15.2",
"@nuxt/fonts": "0.14.0",
"@nuxt/icon": "2.2.1",
"@nuxt/image": "2.0.0",
"better-sqlite3": "^12.6.2",
"nuxt": "^4.3.1"
"nuxt": "~4.3.1",
"vue": "~3.5.29"
},
"devDependencies": {
"@nuxt/content": "~3.12.0",
"@nuxt/eslint": "~1.15.2",
"@nuxt/fonts": "~0.14.0",
"@nuxt/icon": "~2.2.1",
"@nuxt/image": "~2.0.0",
"better-sqlite3": "~12.6.2",
"cross-env": "~10.1.0",
"eslint": "~10.0.2",
"npm-run-all2": "~8.0.4",
"nuxi": "~3.33.1",
"rimraf": "~6.1.3",
"typescript": "~5.9.3",
"zod": "~4.3.6"
}
}
Loading