diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e1ab9b2..9512bff 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -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/
diff --git a/docs/MODULE_OVERRIDES.md b/docs/MODULE_OVERRIDES.md
index a469e57..d2c9f5b 100644
--- a/docs/MODULE_OVERRIDES.md
+++ b/docs/MODULE_OVERRIDES.md
@@ -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
diff --git a/docs/OVERRIDE_PHILOSOPHY.md b/docs/OVERRIDE_PHILOSOPHY.md
index e2736fd..99960cb 100644
--- a/docs/OVERRIDE_PHILOSOPHY.md
+++ b/docs/OVERRIDE_PHILOSOPHY.md
@@ -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
diff --git a/docs/QUICK_START.md b/docs/QUICK_START.md
index 012541e..32ef8a7 100644
--- a/docs/QUICK_START.md
+++ b/docs/QUICK_START.md
@@ -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
diff --git a/docs/README.md b/docs/README.md
index 550a4ec..bb3775f 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -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
diff --git a/docs/RELEASE_PROCESS.md b/docs/RELEASE_PROCESS.md
index f64b1ad..e2095ba 100644
--- a/docs/RELEASE_PROCESS.md
+++ b/docs/RELEASE_PROCESS.md
@@ -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: 03.08.03
# To: 03.08.04
@@ -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
@@ -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
diff --git a/docs/WORKFLOW_GUIDE.md b/docs/WORKFLOW_GUIDE.md
index c06a240..90a5cf7 100644
--- a/docs/WORKFLOW_GUIDE.md
+++ b/docs/WORKFLOW_GUIDE.md
@@ -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
diff --git a/scripts/build-release.sh b/scripts/build-release.sh
index 0490745..5e8055d 100755
--- a/scripts/build-release.sh
+++ b/scripts/build-release.sh
@@ -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 '\K[^<]+' "${PROJECT_ROOT}/src/templates/templateDetails.xml" | head -1)
+ if [ -f "${PROJECT_ROOT}/src/templateDetails.xml" ]; then
+ VERSION=$(grep -oP '\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