Files
peptide-starter-theme/CLAUDE.md
peptiderepo 9da702e746 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>
2026-04-14 08:38:30 +07:00

80 lines
3.3 KiB
Markdown

# 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.