summaryrefslogtreecommitdiffstats
path: root/WEEK3-START.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-16 15:45:37 +0200
committerDanilo M. <danix@danix.xyz>2026-04-16 15:45:37 +0200
commitf77e36d9f0eb4405db46a7972738773802a8d646 (patch)
treed252939d5bbed6b534428b9c11ba576c2dbdb9de /WEEK3-START.md
parent4eb02ffa31a2c561c5dc4adea65f14492f945c3c (diff)
downloaddanixxyz-f77e36d9f0eb4405db46a7972738773802a8d646.tar.gz
danixxyz-f77e36d9f0eb4405db46a7972738773802a8d646.zip
feat: refactor homepage buttons to use btn component classes
- Update index.html to use .btn .btn-primary .btn-lg and .btn .btn-outline .btn-lg - Update CLAUDE.md documentation - Update settings.local.json with additional permissions Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'WEEK3-START.md')
-rw-r--r--WEEK3-START.md340
1 files changed, 340 insertions, 0 deletions
diff --git a/WEEK3-START.md b/WEEK3-START.md
new file mode 100644
index 0000000..289b7b8
--- /dev/null
+++ b/WEEK3-START.md
@@ -0,0 +1,340 @@
+# Week 3 Quick Start Guide
+
+## ⚠️ IMPORTANT: Git Branching Workflow
+
+Before starting Week 3, create a new feature branch for this week's work:
+
+```bash
+# Create and switch to Week 3 branch
+git checkout -b week-3-cards-nav
+
+# Verify you're on the new branch
+git branch -v
+```
+
+**Why branching?**
+- Keeps each week's work isolated
+- Allows code review before merging to master
+- Easy to rollback if issues arise
+- Clean git history
+
+**At end of Week 3:**
+- Review all changes: `git diff master..week-3-cards-nav`
+- Test thoroughly in the branch
+- Merge back to master when ready: `git checkout master && git merge week-3-cards-nav`
+
+**For detailed workflow:**
+- See `GIT-WORKFLOW.md` for complete documentation
+- See `GIT-WORKFLOW-QUICK-REF.md` for common commands
+
+**Note:** Weeks 1-2 were completed on master (before branching policy). Week 3+ will follow weekly branching.
+
+---
+
+## Before You Start
+
+Read these files in order:
+1. `PROGRESS-STATUS.txt` — Overall progress (you are here: 33% complete)
+2. `WEEKS1-2-SUMMARY.md` — What was accomplished
+3. `COLOR-REFERENCE.md` — Handy color lookup
+
+## Development Setup
+
+```bash
+# Start Hugo dev server
+hugo server --bind=0.0.0.0 --baseURL=http://localhost:1313
+
+# In another terminal, watch CSS changes
+npm run watch
+
+# Or build CSS once
+npm run build
+```
+
+Access site at: http://localhost:1313
+
+## Components to Build (Week 3)
+
+### 1. Article Card Component (~2 hours)
+
+**File:** `themes/danix-xyz-hacker/assets/css/main.css` (add to `@layer components`)
+
+**CSS structure:**
+```css
+.card {
+ @apply border border-border rounded-lg overflow-hidden transition-all duration-200;
+ box-shadow: 0 0 20px var(--accent-glow);
+}
+
+.card:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 0 30px var(--accent-glow);
+}
+
+.card-image {
+ @apply aspect-video object-cover w-full;
+}
+
+.card-body {
+ @apply p-5 md:p-6 space-y-3;
+}
+
+.card-title {
+ @apply text-xl font-semibold;
+}
+
+.card-excerpt {
+ @apply text-text-dim text-sm line-clamp-3;
+}
+
+.card-footer {
+ @apply flex items-center justify-between gap-4;
+}
+```
+
+**Usage in templates:**
+```html
+<article class="card">
+ <img src="..." alt="..." class="card-image">
+ <div class="card-body">
+ <h3 class="card-title">Article Title</h3>
+ <p class="card-excerpt">Excerpt text...</p>
+ <div class="card-footer">
+ <span class="badge badge-tech">Tech</span>
+ <a href="..." class="btn btn-sm">Read More</a>
+ </div>
+ </div>
+</article>
+```
+
+**Test at:**
+- `/en/articles/` (article list)
+- All responsive breakpoints
+- Dark and light modes
+
+---
+
+### 2. Navigation Header (~1.5 hours)
+
+**File:** Likely `themes/danix-xyz-hacker/layouts/partials/header.html` (check if exists)
+
+**CSS structure:**
+```css
+.header {
+ @apply fixed top-0 left-0 right-0 z-40;
+}
+
+.header-nav {
+ @apply hidden md:flex items-center gap-6;
+}
+
+.nav-link {
+ @apply text-text hover:text-accent transition-colors;
+}
+
+.header-actions {
+ @apply flex items-center gap-4;
+}
+```
+
+**Components to include:**
+- Logo/site name
+- Navigation links (Articles, About, Contact)
+- Theme toggle button (use `.btn-icon`)
+- Language switcher (if needed)
+- Hamburger button (mobile-only)
+
+**Test:**
+- Mobile (320px) — hamburger visible
+- Tablet (768px) — transition point
+- Desktop (1060px+) — full nav visible
+
+---
+
+### 3. Hamburger Menu (~1.5 hours)
+
+**File:** New JS file `themes/danix-xyz-hacker/assets/js/hamburger.js`
+
+**Functionality:**
+- Click hamburger → overlay slides in
+- Click close/backdrop → overlay slides out
+- ESC key → close
+- Smooth animation (200–300ms)
+- Body scroll locked when open
+
+**CSS:**
+```css
+.menu-overlay {
+ @apply fixed inset-0 bg-bg z-30 transition-opacity duration-200;
+}
+
+.menu-overlay.hidden {
+ display: none;
+}
+
+.menu-nav {
+ @apply flex flex-col gap-4 p-6;
+}
+
+.menu-nav a {
+ @apply text-lg font-semibold hover:text-accent transition-colors;
+}
+```
+
+**Test:**
+- Click hamburger → menu appears
+- Click close → menu disappears
+- Press ESC → menu disappears
+- Mobile responsive
+- Scroll locked when open
+
+---
+
+### 4. Breadcrumb Navigation (~1 hour)
+
+**File:** `themes/danix-xyz-hacker/layouts/partials/breadcrumb.html` (new)
+
+**CSS:**
+```css
+.breadcrumb {
+ @apply flex items-center gap-2 text-sm text-text-dim;
+}
+
+.breadcrumb a {
+ @apply hover:text-accent transition-colors;
+}
+
+.breadcrumb-separator {
+ @apply opacity-50;
+}
+```
+
+**Usage:**
+```html
+<nav class="breadcrumb">
+ <a href="/">Home</a>
+ <span class="breadcrumb-separator">/</span>
+ <a href="/articles/">Articles</a>
+ <span class="breadcrumb-separator">/</span>
+ <span>Article Title</span>
+</nav>
+```
+
+**Test:**
+- Appears on article detail pages
+- Links work
+- Mobile responsive
+- Visible in dark/light modes
+
+---
+
+## Workflow
+
+1. **Read existing templates** to understand structure
+2. **Add CSS** to `main.css` in `@layer components`
+3. **Update templates** to use new component classes
+4. **Rebuild CSS:** `npm run build`
+5. **Test in browser:**
+ - Dark mode (homepage)
+ - Light mode (toggle button)
+ - Mobile, tablet, desktop
+ - Keyboard navigation
+ - Click/hover interactions
+6. **Check git diff** for anything unexpected
+7. **Commit** with clear message
+
+## Quick Commands
+
+```bash
+# Build CSS
+npm run build
+
+# Watch CSS for changes (recommended during development)
+npm run watch
+
+# Start Hugo server
+hugo server
+
+# Check git status
+git status
+
+# See what changed in CSS
+git diff themes/danix-xyz-hacker/assets/css/main.css
+```
+
+## Checklist for Week 3
+
+Component Implementation:
+- [ ] Article card component (CSS)
+- [ ] Card hover effects (lift, shadow)
+- [ ] Integration into article list template
+- [ ] Navigation header (HTML + CSS)
+- [ ] Logo and nav links
+- [ ] Theme toggle button
+- [ ] Hamburger menu (CSS + JS)
+- [ ] Menu overlay styling
+- [ ] Menu close button
+- [ ] Breadcrumb component (CSS)
+- [ ] Integration into article detail page
+
+Testing:
+- [ ] Dark mode: All components visible
+- [ ] Light mode: All components visible
+- [ ] Mobile (320px): All responsive
+- [ ] Tablet (768px): Hamburger → nav transition
+- [ ] Desktop (1060px+): Full nav visible, hamburger hidden
+- [ ] Keyboard navigation: Tab through all interactive elements
+- [ ] Focus states: Visible on all buttons/links
+- [ ] Click interactions: All buttons/menus work
+- [ ] CSS build: No errors, <200ms
+
+Documentation:
+- [ ] Update WEEKS1-2-SUMMARY.md with Week 3 progress
+- [ ] Create week3_complete.md in memory/
+- [ ] Update memory/MEMORY.md with Week 3 reference
+
+---
+
+## Key Principles
+
+✅ **Always use CSS variables** — Never hard-code colors
+✅ **Build on existing components** — Buttons, badges already done
+✅ **Mobile-first** — Start with smallest screen, expand up
+✅ **Dark/light mode** — Test both modes
+✅ **Accessibility** — Tab, focus, aria-labels
+✅ **Smooth animations** — 200-300ms transitions, GPU acceleration
+✅ **Keep it simple** — No bloat, Slackware philosophy
+
+## Reference
+
+- `COLOR-REFERENCE.md` — All 30 CSS colors
+- `WEEK2-IMPLEMENTATION.md` — Button/badge patterns
+- `COMPONENT-TEST.md` — Testing checklist template
+
+## Still Stuck?
+
+Check existing partials:
+```bash
+ls themes/danix-xyz-hacker/layouts/partials/
+```
+
+Look for patterns in existing components:
+```bash
+grep "class=\"card" themes/danix-xyz-hacker/layouts/**/*.html
+grep "@apply" themes/danix-xyz-hacker/assets/css/main.css
+```
+
+---
+
+## Estimated Time
+
+- Article cards: 2 hours
+- Navigation header: 1.5 hours
+- Hamburger menu: 1.5 hours
+- Breadcrumbs: 1 hour
+- Testing & refinement: 1–2 hours
+
+**Total: 7–8 hours**
+
+Good luck! You've got this. 🚀
+