diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..b2f38f4 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,68 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +This is a personal portfolio and blog website built with Astro, deployed to GitHub Pages at [tehj.io](https://tehj.io). The site features blog posts, project showcases, and interactive labs. + +## Development Commands + +- `pnpm install` - Install dependencies (uses pnpm as package manager) +- `pnpm run dev` - Start development server with hot reload +- `pnpm run build` - Build the site for production +- `pnpm run preview` - Preview the built site locally + +## Architecture + +### Content Structure +- **Blog posts**: `src/content/blog/` - Markdown files with frontmatter +- **Projects**: `src/content/projects/` - Markdown files with frontmatter +- **Drafts**: `src/content/drafts/` - Unpublished content + +### Content Collections +- Uses Astro's content collections with schema validation in `src/content/config.ts` +- Both blog and project collections use the same schema with title, description, pubDate, etc. + +### Labs System +- **Static labs**: `public/labs/` - Self-contained HTML/CSS/JS applications +- Labs are served as static files and listed in `src/pages/labs/index.astro` +- Current labs include: Fasting Management, Temperament Quiz, Mortgage Calculator, Singapore Tax Calculator, Cortisol Management + +### Framework & Styling +- **Astro** as the main framework with Vue components support +- **Tailwind CSS** for styling with typography and container queries plugins +- **MDX** for enhanced markdown support +- **Vue** for interactive components + +### Integrations +- **Sitemap** for SEO +- **RSS feed** for blog content +- **Umami analytics** for tracking + +## Key Directories + +- `src/pages/` - Astro page components +- `src/layouts/` - Layout components (Layout.astro, BlogPost.astro) +- `src/components/` - Reusable components (Header, Footer, Intro, Links, ProjectListing) +- `src/styles/` - Global CSS and shared styles +- `public/` - Static assets including labs + +## Content Management + +- Blog and project files follow naming convention: `YYYY_MM_DD_Title.md` +- Frontmatter includes title, description, publication date, and optional hero image +- Drafts are stored in `src/content/drafts/` and not published + +## Labs Development + +Labs are standalone applications in the `public/labs/` directory. Each lab has: +- `index.html` - Main HTML file +- `app.js` - JavaScript functionality +- `style.css` - Lab-specific styling +- Shared CSS/JS available in `public/labs/shared.css` and `public/labs/shared.js` + +To add a new lab: +1. Create a new directory in `public/labs/` +2. Add the lab files (index.html, app.js, style.css) +3. Update the labs array in `src/pages/labs/index.astro` \ No newline at end of file diff --git a/src/content/blog/2025_12_31_Leadership_requires_rest.md b/src/content/blog/2025_12_31_Leadership_requires_rest.md new file mode 100644 index 0000000..0e7ee76 --- /dev/null +++ b/src/content/blog/2025_12_31_Leadership_requires_rest.md @@ -0,0 +1,37 @@ +--- +title: "Leadership requires rest" +description: "Many of the leaders around me are perpetually exhausted." +pubDate: "Dec 31 2025" +--- + +## Leaders are inevitably exhausted + +Many of the leaders around me are perpetually exhausted. This seems to be part of the burden of leadership; a leader shoulders many burdens, and a servant leader - the penultimate kind of Christian leader - shoulders even more. + +This seems like a problem to me. A leader bears many burdens, and thus is exhausted. A leader who is exhausted is expected to still bear many burdens, and therefore cannot lead effectively. This lack of effective leadership creates problems within the organization, which create burdens that bubble up to the leader. Is this not a vicious cycle? + +The easy answer is that the leader should delegate, of course. I've listened enough to various leadership gurus to know this is an ideal. In reality, the leader does not always feel they can delegate, for many reasons. Sometimes there is simply no one to delegate to; they are the only one with the required skill or knowledge or position. Sometimes they do not trust their subordinates enough to delegate to them; there may be good reason for this too. And so on... + +The hard answer, I think, involves rest. + +## Rest is hard + +Why is rest hard? + +It's hard for leaders, because they have burdens that no one else does. Their actions - and in fact even their inaction - make a direct impact on the people they are leading and the things the organization achieves. To quote John Maxwell, leaders see more than their subordinates, and they see before. And when you do, often you feel more. More responsible, more worried, more... tired. + +Often leaders are those within an organization who are simply better. They are often more capable, more passionate, more experienced... But leaders are human still. And humans need rest. (even if we have spent centuries trying to invent ways to avoid it) + +The problem, if you ask a leader, is that this takes time, and time is a scarce resource. + +## What is rest? + +I think this is not wrong. Time is indeed a scarce resource. But I also think our perspective matters here. + +Firstly, life is not made up only of our productive moments. Some simple and naive math; a worker who works hard for 5 years, and then is hospitalized for 1 year, could have just spent 1/6 of their time resting and probably be better off. + +Secondly, rest is not being idle. Rest can look like writing a blog, or training a skill, or volunteering in the community. Rest can be productive, but probably in a different vein than work. + +## Leaders need rest + +So for leaders, I think the answer is rest. Every individual's rest is going to look different, but the need for rest is universal. diff --git a/src/content/drafts/blog/2025_03_14_Leadership_requires_rest.md b/src/content/drafts/blog/2025_03_14_Leadership_requires_rest.md deleted file mode 100644 index 1230c32..0000000 --- a/src/content/drafts/blog/2025_03_14_Leadership_requires_rest.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Leadership requires rest" -description: "Many of the leaders around me are perpetually exhausted." -pubDate: "Mar 14 2025" -draft: true ---- - -Many of the leaders around me are perpetually exhausted. This seems to be part of the burden of leadership; a leader shoulders many burdens, and a servant leader - the penultimate kind of Christian leader - shoulders even more. - -This seems like a problem to me. A leader bears many burdens, and thus is exhausted. A leader who is exhausted is expected to still bear many burdens. Is this not a vicious cycle? - -What happens when a leader continues to lead while exhausted? - -Granted, leaders must have greater capacity than their followers if they are to inspire and to set the pace. But this does not make the leader infallible or invincible, and many greater men have fallen for reasons far lesser than their missions.