docs: Consolidate documentation into single doc/ folder
- Move docs/ contents to doc/ with proper numbering: - CONTACT-FORM-QUICKSTART.md → 17-CONTACT-FORM.md - SECURITY-AUDIT-REPORT.md → 18-SECURITY-AUDIT.md - SECURITY.md → 19-SECURITY-IMPLEMENTATION.md - Delete duplicate/redundant files from docs/: - CMD-K-COMMAND-BAR.md (duplicate of 16-CMD-K-API.md) - CONTACT_FORM_IMPLEMENTATION.md (overlaps with quickstart) - SECURITY-IMPLEMENTATION-SUMMARY.md (summary of audit) - Update doc/README.md with new document references - Update test counts to 39 test files across all READMEs - Update all "Last Updated" dates to 2025-12-01 - Add new API endpoints documentation (text, cmd-k, contact, toggles) - Update PROJECT-MEMORY.md with new features and correct paths
This commit is contained in:
+78
-12
@@ -32,22 +32,21 @@ const showLogos = ...
|
||||
|
||||
---
|
||||
|
||||
### 2. Hyperscript Parser Limit (REMOVED IN LATEST VERSION ✅)
|
||||
### 2. Hyperscript Parser Limit (NO LONGER EXISTS ✅)
|
||||
|
||||
**✅ CONFIRMED: NO 3 def statement limit with latest hyperscript version**
|
||||
**✅ CONFIRMED: NO def statement limit with hyperscript 0.9.14+**
|
||||
|
||||
**Test Results (2025-11-17):** Test 9 (`tests/mjs/9-hyperscript-def-limit.test.mjs`) confirmed:
|
||||
- ✅ 1 def statement works
|
||||
- ✅ 2 def statements work
|
||||
- ✅ 3 def statements work
|
||||
- ✅ 4 def statements work (beyond historical limit)
|
||||
- ✅ 5 def statements work (well beyond limit)
|
||||
- ✅ 5+ def statements work (no limit)
|
||||
|
||||
**Historical Context:**
|
||||
- Hyperscript 0.9.12 had a hard 3 def limit
|
||||
- Hyperscript 0.9.14+ removed this limitation
|
||||
- Functions were moved to JavaScript as workaround
|
||||
- **NOW MIGRATED BACK** to hyperscript with JavaScript wrappers (2025-11-17)
|
||||
**Historical Context (for reference only):**
|
||||
- Hyperscript 0.9.12 had a hard 3 def limit (fixed in 0.9.14)
|
||||
- Current version has NO def statement limit
|
||||
- Functions can be freely organized across multiple files
|
||||
|
||||
**Current Architecture (2025-11-17):**
|
||||
- Core logic in hyperscript (`static/hyperscript/*.hs`)
|
||||
@@ -581,9 +580,9 @@ document.addEventListener('keydown', (e) => {
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2025-11-17
|
||||
**Project Status:** Production - Migrating to hyperscript architecture
|
||||
**Test Coverage:** 10 systematic tests, 100% core features + def limit verification
|
||||
**Last Updated:** 2025-12-01
|
||||
**Project Status:** Production - Full feature set including CMD+K command palette and contact form
|
||||
**Test Coverage:** 39 test files, 100% core features + CMD+K, contact form, PDF generation
|
||||
**Critical Memory Files:** This file + `~/.claude/cv-icons-migration.md`
|
||||
|
||||
---
|
||||
@@ -677,7 +676,74 @@ When adding new test files:
|
||||
3. Update test count at bottom of TEST-SUMMARY.md
|
||||
4. Add to New Tests section with date
|
||||
|
||||
**Current Test Count:** 12 active (0-11), 60+ archived
|
||||
**Current Test Count:** 39 test files (comprehensive coverage)
|
||||
|
||||
**Master test runner:** `tests/run-all.mjs` (auto-discovers numbered tests)
|
||||
|
||||
---
|
||||
|
||||
### 6. Contact Form (2025-12-01)
|
||||
|
||||
**Secure contact form with comprehensive security middleware chain:**
|
||||
|
||||
**Security Features:**
|
||||
- **BrowserOnly middleware** - Blocks curl/Postman/bots (requires HX-Request header)
|
||||
- **Rate limiting** - 5 submissions per hour per IP
|
||||
- **CSRF protection** - Token validation against session
|
||||
|
||||
**Files:**
|
||||
- `internal/handlers/cv_contact.go` - Contact form handler
|
||||
- `internal/middleware/browser_only.go` - Browser validation middleware
|
||||
- `internal/middleware/contact_rate_limit.go` - Rate limiting
|
||||
- `templates/partials/modals/contact-modal.html` - Contact form UI
|
||||
|
||||
**Documentation:**
|
||||
- `doc/17-CONTACT-FORM.md` - Quick start guide
|
||||
- `doc/18-SECURITY-AUDIT.md` - Security audit including contact form
|
||||
- `doc/19-SECURITY-IMPLEMENTATION.md` - Security controls documentation
|
||||
|
||||
**Tests:** `tests/mjs/73-contact-form.test.mjs`
|
||||
|
||||
---
|
||||
|
||||
### 7. Plain Text CV (2025-12-01)
|
||||
|
||||
**CLI-friendly plain text output for curl, wget, lynx, w3m:**
|
||||
|
||||
**Features:**
|
||||
- Auto-detected via User-Agent header
|
||||
- 80-character line width
|
||||
- Unicode/emoji support with proper centering
|
||||
- Useful for AI assistants reading CV content
|
||||
|
||||
**Files:**
|
||||
- `internal/handlers/cv_text.go` - Plain text handler
|
||||
- `templates/cv-text.txt` - Plain text template
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
curl http://localhost:1999/text
|
||||
curl http://localhost:1999/text?lang=es
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 8. CMD+K Command Palette (2025-12-01)
|
||||
|
||||
**ninja-keys integration for quick navigation:**
|
||||
|
||||
**Features:**
|
||||
- Dynamic entries from CV data (experiences, projects, courses)
|
||||
- Scroll-to-section functionality
|
||||
- Language-aware responses
|
||||
- 1-hour cache headers
|
||||
|
||||
**Files:**
|
||||
- `internal/handlers/cv_cmdk.go` - CMD+K API handler
|
||||
- `static/js/ninja-keys-init.js` - Frontend initialization
|
||||
- `doc/16-CMD-K-API.md` - API documentation
|
||||
|
||||
**Tests:**
|
||||
- `tests/mjs/71-cmd-k-api-scroll.test.mjs`
|
||||
- `tests/mjs/72-cmd-k-button.test.mjs`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user