diff --git a/src/content/projects/python-project-template.md b/src/content/projects/python-project-template.md index 44c2064..0ca6857 100644 --- a/src/content/projects/python-project-template.md +++ b/src/content/projects/python-project-template.md @@ -1,9 +1,10 @@ --- title: "Python Project Template" description: "Opinionated Python project template with modern tooling: uv, ruff, mypy, pytest, Docker, and CI/CD ready" -pubDate: 2026-05-01 +url: "https://gitlab.impresion3d.pro/root/python-project-template" status: "active" -stack: ["Python", "Docker", "Gitea Actions", "Portainer"] +tags: ["Python", "Docker", "CI/CD", "DevOps"] +startDate: 2026-05-01 featured: true --- diff --git a/src/content/projects/timenet-cli.md b/src/content/projects/timenet-cli.md deleted file mode 100644 index 4a7682f..0000000 --- a/src/content/projects/timenet-cli.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "TimeNet CLI" -description: "Command-line tool for managing TimeNet attendance tracking - clock in/out from terminal" -pubDate: 2026-04-15 -status: "active" -stack: ["Python", "CLI", "Automation"] -featured: false ---- - -# TimeNet CLI - -A command-line interface for managing TimeNet attendance tracking. Clock in, clock out, and check status without opening the web interface. - -## What It Does - -TimeNet CLI automates daily time tracking workflows: -- Clock in/out with a single command -- Check current status (in/out, hours worked today) -- View work history -- Export reports - -## Why I Built This - -My employer uses TimeNet for attendance tracking. Opening a browser, navigating to the site, logging in, and clicking buttons for a simple clock-in felt like unnecessary friction. - -I wanted a faster way: `timenet in` in the morning, `timenet out` when leaving. That's it. - -## Stack - -- **Python** for CLI logic -- **Click** for command-line interface -- **Requests** for API interaction -- **Credential management** for secure token storage - -## Usage - -```bash -# Clock in -timenet in - -# Clock out -timenet out - -# Check status -timenet status - -# View today's hours -timenet today -``` - -## Status - -Active. I use it daily for work attendance tracking. diff --git a/src/pages/blog/[slug].astro b/src/pages/blog/[slug].astro new file mode 100644 index 0000000..daa34cd --- /dev/null +++ b/src/pages/blog/[slug].astro @@ -0,0 +1,65 @@ +--- +import { getCollection } from 'astro:content'; +import BaseLayout from '../../layouts/BaseLayout.astro'; +import Header from '../../components/layout/Header.astro'; +import Footer from '../../components/layout/Footer.astro'; + +export async function getStaticPaths() { + const blogEntries = await getCollection('blog', ({ data }) => !data.draft); + return blogEntries.map(entry => ({ + params: { slug: entry.slug }, + props: { entry }, + })); +} + +const { entry } = Astro.props; +const { Content } = await entry.render(); +--- + + +
+
+
+
+ + +

{entry.data.title}

+ +

+ {entry.data.description} +

+ +
+ {entry.data.tags.map((tag) => ( + + {tag} + + ))} +
+
+ +
+ +
+ + +
+
+