v1.5.0: extend theme with navigation dropdowns, 9 page templates, auth UI, newsletter, contact panel
Major theme extension adding full-featured navigation with dropdown submenus (Tools, My Data, Resources), 9 new page templates (Calculator, Protocol Builder, Tracker, Subject Log, Documentation, Directory, Science Feed, Profile, Sign In/Register), documentation page with sidebar ToC and scroll spy, branded AJAX authentication forms, newsletter signup with admin export, slide-out contact/support panel, Research Modules 6-card grid on front page, and comprehensive footer update. Split functions.php (554→206 lines) into 6 focused inc/ modules: helpers, customizer, auth-handlers, contact-handler, page-setup, newsletter-admin. All new components include dark mode support, CSRF protection, input sanitization, output escaping, and graceful plugin degradation via shortcode_exists(). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
79
CLAUDE.md
Normal file
79
CLAUDE.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Peptide Starter Theme
|
||||
|
||||
WordPress theme for peptiderepo.com — a scientific peptide reference database.
|
||||
|
||||
## Repository
|
||||
|
||||
- **GitHub**: `peptiderepo/peptide-starter-theme` (private)
|
||||
- **Branch**: `main` is the production branch
|
||||
- **Live site**: https://peptiderepo.com
|
||||
- **Hosting**: Hostinger shared hosting
|
||||
|
||||
## Deploy
|
||||
|
||||
Push to `main` triggers GitHub Actions → rsync via SSH to Hostinger.
|
||||
No CI lint step — the deploy workflow (`deploy.yml`) runs rsync directly.
|
||||
LiteSpeed cache is purged automatically after deploy.
|
||||
|
||||
Theme path on server: `~/domains/peptiderepo.com/public_html/wp-content/themes/peptide-starter/`
|
||||
|
||||
## Architecture
|
||||
|
||||
This is a classic WordPress theme (no block/FSE). All styling is in `style.css` (no build step, no preprocessor). JavaScript is vanilla — no bundler.
|
||||
|
||||
### Key files
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `style.css` | All theme CSS (~44KB). Organized: reset → tokens → typography → globals → components → regions → pages → animations → a11y → dark mode → responsive |
|
||||
| `functions.php` | Theme setup, script enqueueing, Customizer registration, nav walker, helper functions |
|
||||
| `front-page.php` | Home page: hero section → PRAutoBlogger widget → Peptide News feed |
|
||||
| `header.php` | Global header with nav, dark mode toggle, mobile menu |
|
||||
| `footer.php` | 4-column widget footer with copyright |
|
||||
| `archive-peptide.php` | Peptide CPT archive grid |
|
||||
| `single-peptide.php` | Single peptide detail page |
|
||||
| `assets/js/navigation.js` | Mobile menu and nav functionality |
|
||||
| `assets/js/theme.js` | Dark mode toggle, theme utilities |
|
||||
|
||||
### Template parts
|
||||
|
||||
- `template-parts/content.php` — Post/page content loop
|
||||
- `template-parts/content-peptide.php` — Peptide card in archive
|
||||
- `template-parts/content-none.php` — Empty state
|
||||
|
||||
## Coding Conventions
|
||||
|
||||
- **PHP**: WordPress coding standards — tabs for indentation, Yoda conditions, braces on same line
|
||||
- **CSS**: No preprocessor. Use CSS custom properties (defined in `:root`). All theme classes prefixed `.ps-`
|
||||
- **JS**: Vanilla ES6+, no build step. Files in `assets/js/` must pass `node --check`
|
||||
- **No `!important`** on global elements — prevents plugin conflicts
|
||||
- Plugin CSS namespaces are untouched (`.pn-*` for Peptide News, `.psa-*` for Peptide Search AI, `.prab-*` for PRAutoBlogger)
|
||||
|
||||
## Design System
|
||||
|
||||
- **Font**: Inter (Google Fonts) with system fallback
|
||||
- **Scale**: 1.125x modular, 8px grid base
|
||||
- **Primary color**: `#0066CC` (light) / `#3B82F6` (dark)
|
||||
- **Breakpoints**: 480px, 768px, 1024px, 1440px (mobile-first)
|
||||
- **Dark mode**: CSS custom properties swap via `html[data-theme="dark"]` or `prefers-color-scheme: dark`
|
||||
|
||||
## Plugin Integration
|
||||
|
||||
The theme integrates with three companion plugins via shortcodes, all wrapped in `shortcode_exists()` for graceful degradation:
|
||||
|
||||
1. **Peptide Search AI** (`[peptide_search]`) — AI search in hero section
|
||||
2. **Peptide News** (`[peptide_news]`) — News feed on front page
|
||||
3. **PRAutoBlogger** (`[prautoblogger_posts]`) — Auto-generated research articles on front page
|
||||
|
||||
## Customizer Options
|
||||
|
||||
Editable via Appearance → Customize:
|
||||
- Hero title, subtitle, search placeholder
|
||||
- Footer copyright text
|
||||
- Dark mode default on/off
|
||||
|
||||
## Version
|
||||
|
||||
Current: **v1.3.1** (defined in `style.css` header and `PEPTIDE_STARTER_VERSION` constant in `functions.php`)
|
||||
|
||||
When bumping version, update both locations.
|
||||
Reference in New Issue
Block a user