Fix documentation and build scripts for src/ hierarchy

- Update all documentation files to reflect correct src/ structure
- Fix release.yml workflow to copy from src/ instead of src/templates/
- Fix build-release.sh script to use correct paths
- Remove references to non-existent src/templates/ directory

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-01 07:19:55 +00:00
parent 06df7bb604
commit 6b2d21ad48
8 changed files with 84 additions and 62 deletions

View File

@@ -98,10 +98,10 @@ jobs:
run: |
mkdir -p build/package
# Copy template files from src/templates
rsync -av src/templates/ build/package/
# Copy template files from src (excluding media directory)
rsync -av --exclude='media' src/ build/package/
# Copy media files from src/media to media directory
# Copy media files from src/media to package/media directory
mkdir -p build/package/media
rsync -av src/media/ build/package/media/

View File

@@ -69,10 +69,10 @@ All module overrides share these characteristics:
Five comprehensive overrides for VirtueMart shopping functionality.
**Master Documentation**: [VIRTUEMART_MODULES_README.md](../src/templates/html/VIRTUEMART_MODULES_README.md)
**Master Documentation**: [VIRTUEMART_MODULES_README.md](../src/html/VIRTUEMART_MODULES_README.md)
#### mod_virtuemart_cart
**Location**: `src/templates/html/mod_virtuemart_cart/`
**Location**: `src/html/mod_virtuemart_cart/`
Shopping cart display with product list and checkout button.
@@ -83,7 +83,7 @@ Shopping cart display with product list and checkout button.
- Checkout button with prominent styling
#### mod_virtuemart_product
**Location**: `src/templates/html/mod_virtuemart_product/`
**Location**: `src/html/mod_virtuemart_product/`
Product showcase with grid layouts.
@@ -94,7 +94,7 @@ Product showcase with grid layouts.
- Rating display support
#### mod_virtuemart_currencies
**Location**: `src/templates/html/mod_virtuemart_currencies/`
**Location**: `src/html/mod_virtuemart_currencies/`
Currency selector dropdown for multi-currency stores.
@@ -104,7 +104,7 @@ Currency selector dropdown for multi-currency stores.
- Responsive button styling
#### mod_virtuemart_category
**Location**: `src/templates/html/mod_virtuemart_category/`
**Location**: `src/html/mod_virtuemart_category/`
Category navigation with hierarchical display.
@@ -115,7 +115,7 @@ Category navigation with hierarchical display.
- Active category highlighting
#### mod_virtuemart_manufacturer
**Location**: `src/templates/html/mod_virtuemart_manufacturer/`
**Location**: `src/html/mod_virtuemart_manufacturer/`
Manufacturer/brand display with grid layout.
@@ -131,7 +131,7 @@ Manufacturer/brand display with grid layout.
Three essential Community Builder and navigation module overrides.
#### mod_menu (Main Menu)
**Location**: `src/templates/html/mod_menu/`
**Location**: `src/html/mod_menu/`
Bootstrap 5 responsive navigation menu with collapsible dropdown functionality.
@@ -156,7 +156,7 @@ Bootstrap 5 responsive navigation menu with collapsible dropdown functionality.
**Note**: Unlike the broken mod_menu override removed in v03.08.01, this v03.08.03 version is properly structured based on Joomla core layouts and Bootstrap 5, ensuring language strings load correctly and menu functionality works as expected.
#### mod_cblogin
**Location**: `src/templates/html/mod_cblogin/`
**Location**: `src/html/mod_cblogin/`
Community Builder login with avatar display.
@@ -167,7 +167,7 @@ Community Builder login with avatar display.
- Logout button
#### mod_comprofilerOnline
**Location**: `src/templates/html/mod_comprofilerOnline/`
**Location**: `src/html/mod_comprofilerOnline/`
Community Builder online users display.
@@ -186,7 +186,7 @@ Eight popular third-party extension module overrides plus component views.
#### K2 Content Extension
##### mod_k2_content
**Location**: `src/templates/html/mod_k2_content/`
**Location**: `src/html/mod_k2_content/`
K2 content display with advanced layouts.
@@ -200,7 +200,7 @@ K2 content display with advanced layouts.
#### AcyMailing Newsletter
##### mod_acymailing
**Location**: `src/templates/html/mod_acymailing/`
**Location**: `src/html/mod_acymailing/`
Newsletter subscription form.
@@ -213,7 +213,7 @@ Newsletter subscription form.
#### HikaShop E-Commerce
##### mod_hikashop_cart
**Location**: `src/templates/html/mod_hikashop_cart/`
**Location**: `src/html/mod_hikashop_cart/`
HikaShop shopping cart module.
@@ -228,7 +228,7 @@ HikaShop shopping cart module.
Four comprehensive forum modules plus component view.
##### mod_kunenalatest
**Location**: `src/templates/html/mod_kunenalatest/`
**Location**: `src/html/mod_kunenalatest/`
Latest forum posts display.
@@ -239,7 +239,7 @@ Latest forum posts display.
- Post date
##### mod_kunenalogin
**Location**: `src/templates/html/mod_kunenalogin/`
**Location**: `src/html/mod_kunenalogin/`
Forum-specific login module.
@@ -250,7 +250,7 @@ Forum-specific login module.
- Profile link
##### mod_kunenasearch
**Location**: `src/templates/html/mod_kunenasearch/`
**Location**: `src/html/mod_kunenasearch/`
Forum search with button positions.
@@ -261,7 +261,7 @@ Forum search with button positions.
- 48px touch targets
##### mod_kunenastats
**Location**: `src/templates/html/mod_kunenastats/`
**Location**: `src/html/mod_kunenastats/`
Forum statistics display.
@@ -273,7 +273,7 @@ Forum statistics display.
- Responsive grid layout
##### com_kunena (Component)
**Location**: `src/templates/html/com_kunena/`
**Location**: `src/html/com_kunena/`
Forum category list view.
@@ -285,7 +285,7 @@ Forum category list view.
Module and component overrides for membership management.
##### mod_osmembership
**Location**: `src/templates/html/mod_osmembership/`
**Location**: `src/html/mod_osmembership/`
Membership plans module.
@@ -296,7 +296,7 @@ Membership plans module.
- Badge displays (popular, featured)
##### com_osmembership (Component)
**Location**: `src/templates/html/com_osmembership/`
**Location**: `src/html/com_osmembership/`
Membership pricing tables.
@@ -310,7 +310,7 @@ Membership pricing tables.
Four comprehensive component view overrides for Community Builder user management.
#### com_comprofiler
**Location**: `src/templates/html/com_comprofiler/`
**Location**: `src/html/com_comprofiler/`
Mobile-responsive views for Community Builder user profiles, registration, and login.
@@ -363,7 +363,7 @@ Login page with remember me and helper links.
Five comprehensive component view overrides for JEM event management.
#### com_jem
**Location**: `src/templates/html/com_jem/`
**Location**: `src/html/com_jem/`
Mobile-responsive views for JEM event listings, details, calendar, venues, and categories.
@@ -576,10 +576,10 @@ Copy the entire module directory and modify:
```bash
# Keep original override as reference
cp -r src/templates/html/mod_virtuemart_cart src/templates/html/mod_virtuemart_cart_original
cp -r src/html/mod_virtuemart_cart src/html/mod_virtuemart_cart_original
# Modify your version
# Edit src/templates/html/mod_virtuemart_cart/default.php
# Edit src/html/mod_virtuemart_cart/default.php
```
### CSS Variables Override

View File

@@ -52,10 +52,10 @@ All MokoCassiopeia overrides use **`mobile.php`** naming instead of **`default.p
```
❌ BAD (Replaces default):
src/templates/html/mod_virtuemart_cart/default.php
src/html/mod_virtuemart_cart/default.php
✅ GOOD (Alternative layout):
src/templates/html/mod_virtuemart_cart/mobile.php
src/html/mod_virtuemart_cart/mobile.php
```
### How Joomla Handles Layouts
@@ -105,11 +105,11 @@ Create a custom module chrome in `templates/mokocassiopeia/html/layouts/chromes/
**The only exception** to this philosophy is `mod_menu` with the "Main Menu" module type.
The template includes files like:
- `src/templates/html/mod_menu/mainmenu.php`
- `src/templates/html/mod_menu/mainmenu_component.php`
- `src/templates/html/mod_menu/mainmenu_heading.php`
- `src/templates/html/mod_menu/mainmenu_url.php`
- `src/templates/html/mod_menu/mainmenu_separator.php`
- `src/html/mod_menu/mainmenu.php`
- `src/html/mod_menu/mainmenu_component.php`
- `src/html/mod_menu/mainmenu_heading.php`
- `src/html/mod_menu/mainmenu_url.php`
- `src/html/mod_menu/mainmenu_separator.php`
These use a **custom layout name** (`mainmenu`) instead of replacing `default.php`, which allows the site to:
- Use the enhanced Bootstrap 5 collapsible menu for main navigation

View File

@@ -50,7 +50,7 @@ make validate
```bash
# 1. Make your changes
vim src/templates/index.php
vim src/index.php
# 2. Validate locally
make validate-required
@@ -143,13 +143,20 @@ make all # Complete build pipeline
```
moko-cassiopeia/
├── src/ # Joomla template source
│ ├── templates/ # Template files
│ ├── media/ # Assets (CSS, JS, images)
│ ├── language/ # Language files
── administrator/ # Admin files
├── src/ # Joomla template source (template root)
│ ├── component.php # Component template file
│ ├── index.php # Main template file
│ ├── offline.php # Offline page template
── error.php # Error page template
│ ├── templateDetails.xml # Template manifest
│ ├── html/ # Module & component overrides
│ ├── media/ # Assets (CSS, JS, images, fonts)
│ ├── language/ # Frontend language files (en-GB, en-US)
│ └── administrator/ # Backend files
│ └── language/ # Backend language files
├── tests/ # Test suites
├── docs/ # Documentation
├── scripts/ # Build scripts
├── .github/workflows/ # CI/CD workflows
├── Makefile # Make commands
└── README.md # Project overview
@@ -179,7 +186,7 @@ moko-cassiopeia/
3. **Make changes and test**:
```bash
# Edit files
vim src/templates/index.php
vim src/index.php
# Validate
make validate-required

View File

@@ -115,18 +115,33 @@ moko-cassiopeia/
│ ├── CSS_VARIABLES.md # CSS variables reference
│ ├── MODULE_OVERRIDES.md # Module & component overrides guide
│ └── ROADMAP.md # Version-specific roadmap
├── src/ # Template source code
│ ├── templates/ # Joomla template files
│ └── html/ # Module & component overrides (20 modules, 3 components)
│ ├── media/ # Assets (CSS, JS, images)
│ └── css/colors/ # Color schemes (light/dark subdirectories)
│ ├── light/ # Light mode color files (colors_custom.css)
│ └── dark/ # Dark mode color files (colors_custom.css)
── language/ # Translation files
├── src/ # Template source code (Joomla template root)
│ ├── component.php # Component template
├── index.php # Main template file
│ ├── offline.php # Offline template
├── error.php # Error page template
├── templateDetails.xml # Template manifest
├── html/ # Module & component overrides (16 modules, 12 components)
── media/ # Assets (CSS, JS, images, fonts)
│ │ ├── css/ # Stylesheets
│ │ │ └── colors/ # Color schemes
│ │ │ ├── light/ # Light mode color files (colors_standard.css, colors_custom.css)
│ │ │ └── dark/ # Dark mode color files (colors_standard.css, colors_custom.css)
│ │ ├── js/ # JavaScript files
│ │ ├── images/ # Image assets
│ │ └── fonts/ # Font files
│ ├── language/ # Frontend language files
│ │ ├── en-GB/ # English (UK) translations
│ │ └── en-US/ # English (US) translations
│ └── administrator/ # Backend files
│ └── language/ # Backend language files
│ ├── en-GB/ # English (UK) system translations
│ └── en-US/ # English (US) system translations
├── templates/ # Template files for customization
│ ├── colors_custom.css # Custom color palette template (copy to src/media/css/colors/)
│ ├── CLIENT_FORK_README_TEMPLATE.md # Template for client fork docs
│ └── README.md # Guide to using templates
├── scripts/ # Build and utility scripts
├── tests/ # Automated tests
├── CLIENT_FORK_README.md # Client fork guide
└── .github/ # GitHub configuration and workflows

View File

@@ -127,7 +127,7 @@ git pull
git checkout -b release/03.08.04
# Update version in templateDetails.xml
# Edit: src/templates/templateDetails.xml
# Edit: src/templateDetails.xml
# Change: <version>03.08.03</version>
# To: <version>03.08.04</version>
@@ -145,7 +145,7 @@ git checkout -b release/03.08.04
- Change descriptions
# Commit changes
git add src/templates/templateDetails.xml CHANGELOG.md
git add src/templateDetails.xml CHANGELOG.md
git commit -m "chore: Prepare release 03.08.04"
git push origin release/03.08.04
```
@@ -223,11 +223,11 @@ git push origin 03.08.04
```bash
# Update version numbers
# Edit: src/templates/templateDetails.xml
# Edit: src/templateDetails.xml
# Edit: CHANGELOG.md
# Commit changes
git add src/templates/templateDetails.xml CHANGELOG.md
git add src/templateDetails.xml CHANGELOG.md
git commit -m "chore: Prepare release 03.08.04"
git push
```
@@ -337,7 +337,7 @@ The `updates.xml` file is hosted directly on GitHub:
**URL**: `https://raw.githubusercontent.com/mokoconsulting-tech/MokoCassiopeia/main/updates.xml`
This URL is configured in `src/templates/templateDetails.xml`:
This URL is configured in `src/templateDetails.xml`:
```xml
<updateservers>
@@ -467,7 +467,7 @@ For users who installed the problematic version:
**Problem**: ZIP creation fails
**Solution**: Check that `src/templates/` and `src/media/` directories exist and contain files.
**Solution**: Check that `src/` and `src/media/` directories exist and contain files.
**Problem**: Version update fails

View File

@@ -241,7 +241,7 @@ git fetch origin
git checkout dev/X.Y.Z
# 3. Make your changes
vim src/templates/index.php
vim src/index.php
# 4. Validate locally
make validate-required
@@ -293,7 +293,7 @@ Update CHANGELOG.md manually or via pull request following the existing format.
```bash
# Check specific file
php -l src/templates/index.php
php -l src/index.php
# Run validation
make validate-required

View File

@@ -44,8 +44,8 @@ log_error() {
# Check if version is provided
if [ -z "$1" ]; then
# Try to extract version from templateDetails.xml
if [ -f "${PROJECT_ROOT}/src/templates/templateDetails.xml" ]; then
VERSION=$(grep -oP '<version>\K[^<]+' "${PROJECT_ROOT}/src/templates/templateDetails.xml" | head -1)
if [ -f "${PROJECT_ROOT}/src/templateDetails.xml" ]; then
VERSION=$(grep -oP '<version>\K[^<]+' "${PROJECT_ROOT}/src/templateDetails.xml" | head -1)
log_info "Detected version: ${VERSION}"
else
log_error "Please provide version as argument: ./build-release.sh 03.08.03"
@@ -69,11 +69,11 @@ mkdir -p "${PACKAGE_DIR}"
log_info "Creating package structure..."
# Copy template files from src/templates
if [ -d "src/templates" ]; then
rsync -av --exclude='.git*' src/templates/ "${PACKAGE_DIR}/"
# Copy template files from src (excluding media directory)
if [ -d "src" ]; then
rsync -av --exclude='.git*' --exclude='media' src/ "${PACKAGE_DIR}/"
else
log_error "src/templates directory not found!"
log_error "src directory not found!"
exit 1
fi