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