From 2d0cb207d969f3e2db29e600100a52e66c784728 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Tue, 16 Dec 2025 15:27:14 -0600 Subject: [PATCH] Reorganization --- .github/workflows/build.yml | 92 ++++++ .github/workflows/ci.yml | 163 +++++++--- .../workflows/cleanup_version_branches.yml | 80 +++++ .github/workflows/init.yml | 23 ++ .github/workflows/release_from_version.yml | 278 ++++++++++++++++++ .github/workflows/updateserver.yml | 61 ++++ .github/workflows/version_branch.yml | 227 ++++++++++++++ {templates => src/templates}/index.html | 0 .../templates}/moko-cassiopeia/component.php | 3 +- .../templates}/moko-cassiopeia/custom.php | 3 +- .../templates}/moko-cassiopeia/error.php | 3 +- .../templates}/moko-cassiopeia/favicon.ico | Bin src/templates/moko-cassiopeia/favicon.ico.bak | Bin 0 -> 15086 bytes .../html/com_contact/contact/default.php | 0 .../html/com_contact/contact/index.html | 4 +- .../html/com_contact/default.php | 0 .../html/com_contact/index.html | 4 +- .../html/com_content/article/index.html | 4 +- .../html/com_content/article/toc-left.php | 3 +- .../html/com_content/article/toc-right.php | 3 +- .../html/com_content/categories/default.php | 0 .../com_content/categories/default_items.php | 0 .../html/com_content/categories/index.html | 4 +- .../html/com_content/category/blog.php | 0 .../com_content/category/blog_children.php | 0 .../html/com_content/category/blog_item.php | 0 .../html/com_content/category/blog_links.php | 0 .../html/com_content/category/default.php | 0 .../com_content/category/default_articles.php | 0 .../com_content/category/default_children.php | 0 .../html/com_content/category/index.html | 89 ++++++ .../html/com_content/featured/default.php | 0 .../com_content/featured/default_item.php | 0 .../com_content/featured/default_links.php | 0 .../html/com_content/featured/index.html | 89 ++++++ .../html/com_content/index.html | 89 ++++++ .../html/com_engage/comments/default.php | 0 .../html/com_engage/comments/default_form.php | 0 .../html/com_engage/comments/default_list.php | 0 .../com_engage/comments/default_login.php | 0 .../html/com_engage/comments/index.html | 89 ++++++ .../html/com_engage/index.html | 89 ++++++ .../common/accordion_plans.php | 0 .../html/com_osmembership/common/batch.php | 0 .../com_osmembership/common/batch_nocheck.php | 0 .../com_osmembership/common/categories.php | 0 .../com_osmembership/common/columns_plans.php | 0 .../com_osmembership/common/default_plans.php | 0 .../com_osmembership/common/group_members.php | 0 .../html/com_osmembership/common/index.html | 89 ++++++ .../common/paymentredirect.php | 0 .../common/plan_custom_fields.php | 0 .../common/plan_information.php | 0 .../com_osmembership/common/priceduration.php | 0 .../common/pricingtable_circle_plans.php | 0 .../common/pricingtable_flat_plans.php | 0 .../common/pricingtable_plans.php | 0 .../com_osmembership/common/renew_options.php | 0 .../common/restrictionmsg.php | 0 .../common/subscriptions_history.php | 0 .../common/subscriptions_pdf.php | 0 .../common/upgrade_options.php | 0 .../html/com_osmembership/index.html | 89 ++++++ .../html/com_osmembership/mplan/default.php | 0 .../mplan/default_advanced_settings.php | 0 .../mplan/default_general.php | 0 .../mplan/default_group_membership.php | 0 .../mplan/default_member_card.php | 0 .../mplan/default_messages.php | 0 .../mplan/default_metadata.php | 0 .../mplan/default_recurring_settings.php | 0 .../mplan/default_reminder_messages.php | 0 .../mplan/default_reminders_settings.php | 0 .../mplan/default_renew_options.php | 0 .../mplan/default_renewal_discounts.php | 0 .../mplan/default_translation.php | 0 .../mplan/default_upgrade_options.php | 0 .../html/com_osmembership/mplan/index.html | 89 ++++++ .../html/com_osmembership/mplans/default.php | 0 .../mplans/default_search_bar.bootstrap4.php | 0 .../mplans/default_search_bar.php | 0 .../html/com_osmembership/mplans/index.html | 89 ++++++ .../html/com_osmembership/plan/default.php | 0 .../plan/default_renew_upgrade.php | 0 .../html/com_osmembership/plan/index.html | 89 ++++++ .../html/com_osmembership/plans/columns.php | 0 .../html/com_osmembership/plans/default.php | 0 .../html/com_osmembership/plans/index.html | 89 ++++++ .../com_osmembership/plans/pricingtable.php | 0 .../plans/pricingtablecircle.php | 0 .../plans/pricingtableflat.php | 0 src/templates/moko-cassiopeia/html/index.html | 89 ++++++ .../html/layouts/chromes/card.php | 0 .../html/layouts/chromes/html5.php | 0 .../html/layouts/chromes/index.html | 89 ++++++ .../html/layouts/chromes/noCard.php | 0 .../moko-cassiopeia/html/layouts/index.html | 89 ++++++ .../html/mod_custom/banner.php | 0 .../moko-cassiopeia/html/mod_custom/hero.php | 0 .../html/mod_custom/index.html | 89 ++++++ .../html/mod_gabble/default.php | 0 .../html/mod_gabble/index.html | 89 ++++++ .../html/mod_membershipplans/index.html | 89 ++++++ .../html/mod_menu/collapse-metismenu.php | 0 .../html/mod_menu/dropdown-metismenu.php | 0 .../mod_menu/dropdown-metismenu_component.php | 0 .../mod_menu/dropdown-metismenu_heading.php | 0 .../mod_menu/dropdown-metismenu_separator.php | 0 .../html/mod_menu/dropdown-metismenu_url.php | 0 .../moko-cassiopeia/html/mod_menu/index.html | 89 ++++++ .../html/mod_virtuemart_cart/default.php | 0 .../html/mod_virtuemart_cart/dropdown.php | 0 .../html/mod_virtuemart_cart/index.html | 89 ++++++ .../html/mod_virtuemart_category/all.php | 0 .../html/mod_virtuemart_category/current.php | 0 .../html/mod_virtuemart_category/default.php | 0 .../html/mod_virtuemart_category/index.html | 89 ++++++ .../html/mod_virtuemart_category/wall.php | 0 .../mod_virtuemart_currencies/default.php | 0 .../html/mod_virtuemart_currencies/index.html | 89 ++++++ .../mod_virtuemart_manufacturer/default.php | 0 .../mod_virtuemart_manufacturer/index.html | 89 ++++++ .../html/mod_virtuemart_product/default.php | 0 .../html/mod_virtuemart_product/index.html | 89 ++++++ .../html/mod_virtuemart_search/default.php | 0 .../html/mod_virtuemart_search/index.html | 89 ++++++ .../moko-cassiopeia/html/tinymce/index.html | 89 ++++++ src/templates/moko-cassiopeia/index.html | 89 ++++++ .../templates}/moko-cassiopeia/index.php | 3 +- .../moko-cassiopeia/joomla.asset.json | 153 ---------- .../templates}/moko-cassiopeia/offline.php | 3 +- .../moko-cassiopeia/templateDetails.xml | 52 ++-- .../html/com_content/category/index.html | 89 ------ .../html/com_content/featured/index.html | 89 ------ .../html/com_content/index.html | 89 ------ .../html/com_engage/comments/index.html | 89 ------ .../html/com_engage/index.html | 89 ------ .../html/com_osmembership/common/index.html | 89 ------ .../html/com_osmembership/index.html | 89 ------ .../html/com_osmembership/mplan/index.html | 89 ------ .../html/com_osmembership/mplans/index.html | 89 ------ .../html/com_osmembership/plan/index.html | 89 ------ .../html/com_osmembership/plans/index.html | 89 ------ templates/moko-cassiopeia/html/index.html | 89 ------ .../html/layouts/chromes/index.html | 89 ------ .../moko-cassiopeia/html/layouts/index.html | 89 ------ .../html/mod_custom/index.html | 89 ------ .../html/mod_gabble/index.html | 89 ------ .../html/mod_membershipplans/index.html | 89 ------ .../moko-cassiopeia/html/mod_menu/index.html | 89 ------ .../html/mod_virtuemart_cart/index.html | 89 ------ .../html/mod_virtuemart_category/index.html | 89 ------ .../html/mod_virtuemart_currencies/index.html | 89 ------ .../mod_virtuemart_manufacturer/index.html | 89 ------ .../html/mod_virtuemart_product/index.html | 89 ------ .../html/mod_virtuemart_search/index.html | 89 ------ .../moko-cassiopeia/html/tinymce/index.html | 89 ------ templates/moko-cassiopeia/index.html | 89 ------ templates/moko-cassiopeia/joomla.asset.json | 183 ------------ 159 files changed, 3254 insertions(+), 2723 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/cleanup_version_branches.yml create mode 100644 .github/workflows/init.yml create mode 100644 .github/workflows/release_from_version.yml create mode 100644 .github/workflows/updateserver.yml create mode 100644 .github/workflows/version_branch.yml rename {templates => src/templates}/index.html (100%) rename {templates => src/templates}/moko-cassiopeia/component.php (98%) rename {templates => src/templates}/moko-cassiopeia/custom.php (94%) rename {templates => src/templates}/moko-cassiopeia/error.php (99%) rename {templates => src/templates}/moko-cassiopeia/favicon.ico (100%) create mode 100644 src/templates/moko-cassiopeia/favicon.ico.bak rename {templates => src/templates}/moko-cassiopeia/html/com_contact/contact/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_contact/contact/index.html (98%) rename {templates => src/templates}/moko-cassiopeia/html/com_contact/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_contact/index.html (98%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/article/index.html (98%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/article/toc-left.php (98%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/article/toc-right.php (98%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/categories/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/categories/default_items.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/categories/index.html (98%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/blog.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/blog_children.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/blog_item.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/blog_links.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/default_articles.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/category/default_children.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_content/category/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_content/featured/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/featured/default_item.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_content/featured/default_links.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_content/featured/index.html create mode 100644 src/templates/moko-cassiopeia/html/com_content/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_engage/comments/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_engage/comments/default_form.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_engage/comments/default_list.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_engage/comments/default_login.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_engage/comments/index.html create mode 100644 src/templates/moko-cassiopeia/html/com_engage/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/batch.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/categories.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/columns_plans.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/default_plans.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/group_members.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_osmembership/common/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/plan_information.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/priceduration.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/renew_options.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_osmembership/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_general.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplan/default_upgrade_options.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplans/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plan/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_osmembership/plan/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plans/columns.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plans/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/com_osmembership/plans/index.html rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/index.html rename {templates => src/templates}/moko-cassiopeia/html/layouts/chromes/card.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/layouts/chromes/html5.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/layouts/chromes/index.html rename {templates => src/templates}/moko-cassiopeia/html/layouts/chromes/noCard.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/layouts/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_custom/banner.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_custom/hero.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_custom/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_gabble/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_gabble/index.html create mode 100644 src/templates/moko-cassiopeia/html/mod_membershipplans/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_menu/collapse-metismenu.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_menu/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_cart/default.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_category/all.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_category/current.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_category/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_category/wall.php (100%) rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_currencies/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_product/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html rename {templates => src/templates}/moko-cassiopeia/html/mod_virtuemart_search/default.php (100%) create mode 100644 src/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html create mode 100644 src/templates/moko-cassiopeia/html/tinymce/index.html create mode 100644 src/templates/moko-cassiopeia/index.html rename {templates => src/templates}/moko-cassiopeia/index.php (99%) rename {templates => src/templates}/moko-cassiopeia/offline.php (99%) rename {templates => src/templates}/moko-cassiopeia/templateDetails.xml (86%) delete mode 100644 templates/moko-cassiopeia/html/com_content/category/index.html delete mode 100644 templates/moko-cassiopeia/html/com_content/featured/index.html delete mode 100644 templates/moko-cassiopeia/html/com_content/index.html delete mode 100644 templates/moko-cassiopeia/html/com_engage/comments/index.html delete mode 100644 templates/moko-cassiopeia/html/com_engage/index.html delete mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/index.html delete mode 100644 templates/moko-cassiopeia/html/com_osmembership/index.html delete mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/index.html delete mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplans/index.html delete mode 100644 templates/moko-cassiopeia/html/com_osmembership/plan/index.html delete mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/index.html delete mode 100644 templates/moko-cassiopeia/html/index.html delete mode 100644 templates/moko-cassiopeia/html/layouts/chromes/index.html delete mode 100644 templates/moko-cassiopeia/html/layouts/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_custom/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_gabble/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_membershipplans/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_menu/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_category/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_product/index.html delete mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_search/index.html delete mode 100644 templates/moko-cassiopeia/html/tinymce/index.html delete mode 100644 templates/moko-cassiopeia/index.html delete mode 100644 templates/moko-cassiopeia/joomla.asset.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..42d4298 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,92 @@ +name: Build ZIP from src + +on: + release: + types: [prereleased, released] + workflow_dispatch: + inputs: + source_dir: + description: "Folder to zip (relative to repo root)" + required: false + default: "src" + zip_prefix: + description: "ZIP filename prefix (default repo name)" + required: false + default: "" + zip_name: + description: "Override full ZIP filename (without .zip)" + required: false + default: "" + +jobs: + + build-zip: + name: Build ZIP from src + runs-on: ubuntu-latest + + env: + DEFAULT_SOURCE_DIR: src + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Resolve build parameters + id: cfg + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ -n "${{ github.event.inputs.source_dir }}" ]; then + SRC_DIR="${{ github.event.inputs.source_dir }}" + else + SRC_DIR="${DEFAULT_SOURCE_DIR}" + fi + + if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ -n "${{ github.event.inputs.zip_prefix }}" ]; then + PREFIX="${{ github.event.inputs.zip_prefix }}" + else + PREFIX="${GITHUB_REPOSITORY##*/}" + fi + + if [ "${{ github.event_name }}" = "release" ]; then + REF_NAME="${GITHUB_REF_NAME}" + else + REF_NAME="${GITHUB_SHA::7}" + fi + + if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ -n "${{ github.event.inputs.zip_name }}" ]; then + ZIP_NAME="${{ github.event.inputs.zip_name }}" + else + ZIP_NAME="${PREFIX}-${REF_NAME}" + fi + + echo "src_dir=${SRC_DIR}" >> "$GITHUB_OUTPUT" + echo "zip_name=${ZIP_NAME}" >> "$GITHUB_OUTPUT" + + - name: Validate source directory + run: | + if [ ! -d "${{ steps.cfg.outputs.src_dir }}" ]; then + echo "Source directory '${{ steps.cfg.outputs.src_dir }}' does not exist." + exit 1 + fi + + - name: Prepare dist folder + run: | + mkdir -p dist + + - name: Build ZIP from folder contents + run: | + cd "${{ steps.cfg.outputs.src_dir }}" + zip -r "../dist/${{ steps.cfg.outputs.zip_name }}.zip" . + + - name: Upload artifact to workflow run + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.cfg.outputs.zip_name }} + path: dist/${{ steps.cfg.outputs.zip_name }}.zip + + - name: Attach ZIP to GitHub Release + if: github.event_name == 'release' + uses: softprops/action-gh-release@v2 + with: + files: dist/${{ steps.cfg.outputs.zip_name }}.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 282dcf8..8e65efd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,45 +1,132 @@ -# Copyright (C) 2025 Moko Consulting -# -# This file is part of a Moko Consulting project. -# -# SPDX-LICENSE-IDENTIFIER: GPL-3.0-or-later -# -# This program is free software; you can redistribute it and/or modify it under the terms of the -# GNU General Public License as published by the Free Software Foundation; either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -# without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License (./LICENSE.md). -# -# FILE INFORMATION -# DEFGROUP: # INGROUP: Documentation -# REPO: # FILE: ci.yml -# VERSION: # BRIEF: Baseline CI workflow -# PATH: ./.github/workflows/ci.yml -# NOTE: name: ci +name: Continuous Integration Pipeline -on: push: branches: ["main"] - pull_request: branches: ["main"] +on: + push: + branches: + - main + - "version/*" + pull_request: + branches: + - main -jobs: lint-and-test: runs-on: ubuntu-latest - steps: - name: Checkout +permissions: + contents: read + +jobs: + php-lint: + name: PHP lint + runs-on: ubuntu-latest + + steps: + - name: Check out repository uses: actions/checkout@v4 - - name: Set up Node - uses: actions/setup-node@v4 - with: node-version: "20" + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: "8.2" + coverage: none - - name: Install dependencies - run: npm ci - continue-on-error: true + - name: Lint PHP files under src + run: | + if [ -d "src" ]; then + echo "Running php -l against PHP files in src/" + find src -type f -name "*.php" -print0 | xargs -0 -n 1 -P 4 php -l + else + echo "No src directory found. Skipping PHP lint." + fi - - name: Lint - run: npm run lint - continue-on-error: true + composer-tests: + name: Composer install and tests + runs-on: ubuntu-latest + needs: php-lint - - name: Test - run: npm test - continue-on-error: true + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: "8.2" + coverage: none + + - name: Install dependencies if composer.json exists + run: | + if [ -f "composer.json" ]; then + composer install --no-interaction --no-progress --prefer-dist + else + echo "No composer.json found. Skipping dependency install and tests." + fi + + - name: Run Composer tests when defined + run: | + if [ ! -f "composer.json" ]; then + echo "No composer.json. Nothing to test." + exit 0 + fi + + if composer run -q | grep -q "^ test"; then + echo "Detected composer script 'test'. Running composer test." + composer test + else + echo "No 'test' script defined in composer.json. Skipping tests." + fi + + validate-manifest-and-changelog: + name: Validate manifest and changelog via scripts + runs-on: ubuntu-latest + needs: + - php-lint + - composer-tests + + steps: + - name: Check out repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Run manifest validation script if present + run: | + set -e + echo "Checking for manifest validation scripts" + + if [ -x "scripts/validate_manifest.sh" ]; then + echo "Running scripts/validate_manifest.sh" + scripts/validate_manifest.sh + elif [ -f "scripts/validate_manifest.php" ]; then + echo "Running scripts/validate_manifest.php" + php scripts/validate_manifest.php + elif [ -f "scripts/validate_manifest.py" ]; then + echo "Running scripts/validate_manifest.py" + python scripts/validate_manifest.py + else + echo "No manifest validation script found (scripts/validate_manifest.*). Skipping manifest validation step." + fi + + - name: Run changelog update/verification script if present + run: | + set -e + echo "Checking for changelog update or verification scripts" + + if [ -x "scripts/update_changelog.sh" ]; then + echo "Running scripts/update_changelog.sh --ci" + scripts/update_changelog.sh --ci + elif [ -f "scripts/update_changelog.py" ]; then + echo "Running scripts/update_changelog.py --ci" + python scripts/update_changelog.py --ci + elif [ -x "scripts/verify_changelog.sh" ]; then + echo "Running scripts/verify_changelog.sh" + scripts/verify_changelog.sh + else + echo "No changelog script found (scripts/update_changelog.* or scripts/verify_changelog.sh). Skipping changelog enforcement." + exit 0 + fi + + echo "Checking for uncommitted changes after changelog script" + if ! git diff --quiet; then + echo "Changelog or related files were modified by the script." + echo "Please run the changelog script locally and commit the changes before pushing." + git diff + exit 1 + fi diff --git a/.github/workflows/cleanup_version_branches.yml b/.github/workflows/cleanup_version_branches.yml new file mode 100644 index 0000000..1250366 --- /dev/null +++ b/.github/workflows/cleanup_version_branches.yml @@ -0,0 +1,80 @@ +name: Cleanup merged version branches + +on: + workflow_dispatch: + schedule: + - cron: "0 3 * * 0" + # Runs every Sunday at 03:00 UTC; adjust if needed. + +permissions: + contents: write + +jobs: + cleanup-version-branches: + name: Delete merged version/* branches + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Fetch all remote branches + run: | + git fetch --all --prune + + - name: Identify merged version/* branches + id: find + run: | + # List remote version branches + REMOTE_BRANCHES=$(git branch -r --list "origin/version/*" | sed 's/^ *//') + + if [ -z "$REMOTE_BRANCHES" ]; then + echo "No remote version/* branches found." + echo "branches=" >> "$GITHUB_OUTPUT" + exit 0 + fi + + echo "Found version branches:" + echo "$REMOTE_BRANCHES" + + MERGED_BRANCHES=() + + # Determine which are fully merged into origin/main + for RB in $REMOTE_BRANCHES; do + # Strip the 'origin/' prefix for local tracking + LB=${RB#origin/} + + # Check merge status against origin/main + if git branch --remotes --merged origin/main | grep -q "$RB"; then + # Do not touch the currently checked out branch (defensive) + if [ "$LB" != "$GITHUB_REF_NAME" ]; then + MERGED_BRANCHES+=("$LB") + fi + fi + done + + if [ "${#MERGED_BRANCHES[@]}" -eq 0 ]; then + echo "No merged version/* branches to delete." + echo "branches=" >> "$GITHUB_OUTPUT" + exit 0 + fi + + echo "Merged version branches to delete:" + printf '%s\n' "${MERGED_BRANCHES[@]}" + + # Join into space-separated list for output + echo "branches=${MERGED_BRANCHES[*]}" >> "$GITHUB_OUTPUT" + + - name: Delete merged version branches on origin + if: steps.find.outputs.branches != '' + env: + BRANCHES: ${{ steps.find.outputs.branches }} + run: | + echo "Deleting merged version branches: ${BRANCHES}" + + for BR in ${BRANCHES}; do + echo "Deleting origin/${BR}" + git push origin --delete "${BR}" || echo "Failed to delete ${BR} (might already be gone)" + done diff --git a/.github/workflows/init.yml b/.github/workflows/init.yml new file mode 100644 index 0000000..0023e1c --- /dev/null +++ b/.github/workflows/init.yml @@ -0,0 +1,23 @@ +- name: Initialize update server repository context + id: init + run: | + set -e + + # Canonical repo identifiers + REPO_SLUG="${GITHUB_REPOSITORY}" # owner/repo + REPO_NAME="${GITHUB_REPOSITORY##*/}" # repo + SERVER_URL="${GITHUB_SERVER_URL:-https://github.com}" + + # Update server XML source repository URL + UPDATE_XML_REPO_URL="${SERVER_URL}/${REPO_SLUG}" + + echo "Resolved repository slug: ${REPO_SLUG}" + echo "Resolved repository name: ${REPO_NAME}" + echo "Resolved update XML repo URL: ${UPDATE_XML_REPO_URL}" + + # Export for downstream steps + { + echo "repo_slug=${REPO_SLUG}" + echo "repo_name=${REPO_NAME}" + echo "update_xml_repo_url=${UPDATE_XML_REPO_URL}" + } >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/release_from_version.yml b/.github/workflows/release_from_version.yml new file mode 100644 index 0000000..fcb8b02 --- /dev/null +++ b/.github/workflows/release_from_version.yml @@ -0,0 +1,278 @@ +name: Version branch release pipeline + +on: + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + issues: write + +jobs: + meta: + name: Derive version metadata from branch + runs-on: ubuntu-latest + + outputs: + branch: ${{ steps.meta.outputs.branch }} + version: ${{ steps.meta.outputs.version }} + is_prerelease: ${{ steps.meta.outputs.is_prerelease }} + + steps: + - name: Determine branch and version + id: meta + run: | + BRANCH="${GITHUB_REF_NAME}" + + echo "Running on branch: ${BRANCH}" + + if [[ ! "${BRANCH}" =~ ^version\/[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9._]+)?$ ]]; then + echo "This workflow must be run on a branch named version/X.Y.Z or version/X.Y.Z-suffix" + exit 1 + fi + + VERSION="${BRANCH#version/}" + + echo "Detected version: ${VERSION}" + + if [[ "${VERSION}" =~ -(alpha|beta|rc|pre|preview|dev|test) ]]; then + echo "Version is prerelease: ${VERSION}" + IS_PRERELEASE="true" + else + echo "Version is stable: ${VERSION}" + IS_PRERELEASE="false" + fi + + echo "branch=${BRANCH}" >> "$GITHUB_OUTPUT" + echo "version=${VERSION}" >> "$GITHUB_OUTPUT" + echo "is_prerelease=${IS_PRERELEASE}" >> "$GITHUB_OUTPUT" + + build-and-test: + name: Build and test (sanity check) + runs-on: ubuntu-latest + needs: meta + + steps: + - name: Check out version branch + uses: actions/checkout@v4 + with: + ref: ${{ needs.meta.outputs.branch }} + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: "8.2" + coverage: none + + - name: PHP lint under src (if present) + run: | + if [ -d "src" ]; then + echo "Running php -l against PHP files in src/" + find src -type f -name "*.php" -print0 | xargs -0 -n 1 -P 4 php -l + else + echo "No src directory found. Skipping PHP lint." + fi + + - name: Install dependencies if composer.json exists + run: | + if [ -f "composer.json" ]; then + composer install --no-interaction --no-progress --prefer-dist + else + echo "No composer.json found. Skipping composer install." + fi + + - name: Run Composer tests when defined + run: | + if [ ! -f "composer.json" ]; then + echo "No composer.json. Nothing to test." + exit 0 + fi + + if composer run -q | grep -q "^ test"; then + echo "Detected composer script 'test'. Running composer test." + composer test + else + echo "No 'test' script defined in composer.json. Skipping tests." + fi + + changelog: + name: Update CHANGELOG.md on version branch + runs-on: ubuntu-latest + needs: [meta, build-and-test] + + steps: + - name: Check out version branch with history + uses: actions/checkout@v4 + with: + ref: ${{ needs.meta.outputs.branch }} + fetch-depth: 0 + + - name: Fetch main for comparison + run: | + git fetch origin main + + - name: Update CHANGELOG using script + env: + VERSION: ${{ needs.meta.outputs.version }} + run: | + if [ ! -f "scripts/update_changelog.sh" ]; then + echo "ERROR: scripts/update_changelog.sh not found" + exit 1 + fi + + chmod +x scripts/update_changelog.sh + ./scripts/update_changelog.sh "${VERSION}" + + - name: Commit CHANGELOG.md if changed + env: + VERSION: ${{ needs.meta.outputs.version }} + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + if git diff --quiet; then + echo "No changelog changes to commit." + exit 0 + fi + + git add CHANGELOG.md + git commit -m "chore: update changelog for ${VERSION}" + git push origin HEAD + + pr-merge-release: + name: PR, conditional squash, and GitHub release + runs-on: ubuntu-latest + needs: [meta, changelog] + + steps: + - name: Check out version branch + uses: actions/checkout@v4 + with: + ref: ${{ needs.meta.outputs.branch }} + fetch-depth: 0 + + - name: Verify branch has commits ahead of main + run: | + git fetch origin main + + AHEAD_COUNT=$(git rev-list --count origin/main..HEAD) + echo "Commits ahead of main: ${AHEAD_COUNT}" + + if [ "${AHEAD_COUNT}" -eq 0 ]; then + echo "ERROR: No commits between main and ${GITHUB_REF_NAME}." + echo "Action required: commit changes to the version branch before running this workflow." + exit 1 + fi + + - name: Ensure standard PR labels exist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + echo "Ensuring standard labels exist" + gh label create "release" --color "0E8A16" --description "Release related PR" || echo "Label 'release' already exists" + gh label create "version-update" --color "5319E7" --description "Version bump and release PR" || echo "Label 'version-update' already exists" + + - name: Create or reuse PR from version branch to main + id: pr + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: ${{ needs.meta.outputs.branch }} + VERSION: ${{ needs.meta.outputs.version }} + run: | + echo "Ensuring PR exists for ${BRANCH} -> main" + + PR_NUMBER=$(gh pr list --head "${BRANCH}" --base "main" --state open --json number -q '.[0].number' || true) + + if [ -z "${PR_NUMBER}" ]; then + echo "No existing open PR found. Creating PR." + PR_URL=$(gh pr create --base "main" --head "${BRANCH}" --title "Merge version ${VERSION} into main" --body "Automated PR to merge version ${VERSION} into main.") + PR_NUMBER=$(gh pr view "${PR_URL}" --json number -q '.number') + + echo "Applying standard labels (non-blocking)" + gh pr edit "${PR_NUMBER}" --add-label "release" || echo "Label 'release' not found or cannot be applied" + gh pr edit "${PR_NUMBER}" --add-label "version-update" || echo "Label 'version-update' not found or cannot be applied" + else + echo "Found existing PR #${PR_NUMBER}" + fi + + echo "pr_number=${PR_NUMBER}" >> "$GITHUB_OUTPUT" + + - name: Squash merge PR into main (stable only) + if: needs.meta.outputs.is_prerelease == 'false' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + VERSION: ${{ needs.meta.outputs.version }} + PR_NUMBER: ${{ steps.pr.outputs.pr_number }} + run: | + if [ -z "${PR_NUMBER}" ]; then + echo "No pull request number returned. Cannot squash merge." + exit 1 + fi + + echo "Performing squash merge PR #${PR_NUMBER} into main" + + MERGE_PAYLOAD=$(jq -n --arg method "squash" --arg title "Squash merge version ${VERSION} into main" '{"merge_method": $method, "commit_title": $title}') + + curl -sS -X PUT -H "Authorization: Bearer ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" "https://api.github.com/repos/${REPO}/pulls/${PR_NUMBER}/merge" -d "${MERGE_PAYLOAD}" + + - name: Skip squash (prerelease detected) + if: needs.meta.outputs.is_prerelease == 'true' + run: | + echo "Prerelease version detected. PR created but squash merge intentionally skipped." + + - name: Create GitHub Release (stable and prerelease) and attach ZIP from src + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VERSION: ${{ needs.meta.outputs.version }} + IS_PRERELEASE: ${{ needs.meta.outputs.is_prerelease }} + run: | + PRERELEASE_FLAG="false" + if [ "${IS_PRERELEASE}" = "true" ]; then + PRERELEASE_FLAG="true" + fi + + echo "Building ZIP from src for version ${VERSION}" + + REPO_NAME="${GITHUB_REPOSITORY##*/}" + ASSET_NAME="${REPO_NAME}-${VERSION}.zip" + + if [ ! -d "src" ]; then + echo "ERROR: src directory does not exist. Cannot build release ZIP." + exit 1 + fi + + mkdir -p dist + cd src + zip -r "../dist/${ASSET_NAME}" . + cd .. + + echo "Preparing GitHub release for ${VERSION} (prerelease=${PRERELEASE_FLAG}) with asset dist/${ASSET_NAME}" + + if gh release view "${VERSION}" >/dev/null 2>&1; then + echo "Release ${VERSION} already exists. Uploading asset." + gh release upload "${VERSION}" "dist/${ASSET_NAME}" --clobber + else + ARGS=( + "${VERSION}" + "dist/${ASSET_NAME}" + --title + "Version ${VERSION}" + --notes + "Release generated from branch version/${VERSION}." + ) + + if [ "${PRERELEASE_FLAG}" = "true" ]; then + ARGS+=(--prerelease) + fi + + gh release create "${ARGS[@]}" + fi + + - name: Optional delete version branch after merge (stable only) + if: needs.meta.outputs.is_prerelease == 'false' + env: + BRANCH: ${{ needs.meta.outputs.branch }} + run: | + echo "Deleting branch ${BRANCH} after squash merge and release" + git push origin --delete "${BRANCH}" || echo "Branch already deleted or cannot delete" diff --git a/.github/workflows/updateserver.yml b/.github/workflows/updateserver.yml new file mode 100644 index 0000000..7865fa3 --- /dev/null +++ b/.github/workflows/updateserver.yml @@ -0,0 +1,61 @@ + - name: Update updates.xml (version, date, download URL only) + if: steps.meta.outputs.skip != 'true' + env: + VERSION: ${{ steps.meta.outputs.version }} + DOWNLOAD_URL: ${{ steps.meta.outputs.download_url }} + UPDATE_FILE: ${{ steps.parse.outputs.update_file }} + run: | + python << 'PY' + import os + from datetime import datetime + import xml.etree.ElementTree as ET + from pathlib import Path + + xml_path = Path(os.environ["UPDATE_FILE"]) + if not xml_path.exists(): + raise SystemExit(f"{xml_path} not found in update server repository") + + tree = ET.parse(xml_path) + root = tree.getroot() + + version = os.environ["VERSION"].strip() + download_url = os.environ["DOWNLOAD_URL"].strip() + today = datetime.utcnow().strftime("%Y-%m-%d") + + # Find an existing update node for this version; if none exists, create one. + target = None + for upd in root.findall("update"): + v_node = upd.find("version") + if v_node is not None and (v_node.text or "").strip() == version: + target = upd + break + + if target is None: + target = ET.SubElement(root, "update") + ET.SubElement(target, "version").text = version + + # Ensure version is set (only set the version field) + v_node = target.find("version") + if v_node is None: + v_node = ET.SubElement(target, "version") + v_node.text = version + + # Ensure creationDate is set + cd_node = target.find("creationDate") + if cd_node is None: + cd_node = ET.SubElement(target, "creationDate") + cd_node.text = today + + # Ensure downloads/downloadurl exists; update text only, keep attributes as-is if present + downloads = target.find("downloads") + if downloads is None: + downloads = ET.SubElement(target, "downloads") + + dl = downloads.find("downloadurl") + if dl is None: + dl = ET.SubElement(downloads, "downloadurl") + + dl.text = download_url + + tree.write(xml_path, encoding="utf-8", xml_declaration=True) + PY diff --git a/.github/workflows/version_branch.yml b/.github/workflows/version_branch.yml new file mode 100644 index 0000000..1e6c3f9 --- /dev/null +++ b/.github/workflows/version_branch.yml @@ -0,0 +1,227 @@ +name: Create version branch and bump versions + +on: + workflow_dispatch: + inputs: + new_version: + description: "New version (for example: 01.02.00). Leave blank to auto-increment from highest version/* branch." + required: false + default: "" + base_branch: + description: "Base branch to create version branch from" + required: false + default: "main" + +permissions: + contents: write + +jobs: + create-version-branch: + name: Create version branch and update versions + runs-on: ubuntu-latest + + env: + BASE_BRANCH: ${{ github.event.inputs.base_branch }} + + steps: + - name: Check out repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ env.BASE_BRANCH }} + + - name: Determine new version (input or auto-increment) + id: version + env: + INPUT_VERSION: ${{ github.event.inputs.new_version }} + run: | + python << 'PY' + import os + import re + import subprocess + + input_version = os.environ.get("INPUT_VERSION", "").strip() + + if input_version: + new_version = input_version + else: + completed = subprocess.run( + ["git", "ls-remote", "--heads", "origin"], + check=True, + capture_output=True, + text=True, + ) + + pattern = re.compile(r"refs/heads/version/([0-9]+\.[0-9]+\.[0-9]+)$") + versions = [] + + for line in completed.stdout.splitlines(): + parts = line.split() + if len(parts) != 2: + continue + ref = parts[1] + m = pattern.search(ref) + if not m: + continue + + v_str = m.group(1) + try: + major, minor, patch = map(int, v_str.split(".")) + except ValueError: + continue + versions.append((major, minor, patch)) + + if versions: + major, minor, patch = max(versions) + patch += 1 + else: + major, minor, patch = 1, 0, 0 + + new_version = f"{major:02d}.{minor:02d}.{patch:02d}" + + print(f"Using version {new_version}") + + with open(os.environ["GITHUB_OUTPUT"], "a", encoding="utf-8") as fh: + fh.write(f"new_version={new_version}\n") + PY + + - name: Compute branch name + id: branch + env: + NEW_VERSION: ${{ steps.version.outputs.new_version }} + run: | + SAFE_VERSION="${NEW_VERSION// /-}" + BRANCH_NAME="version/${SAFE_VERSION}" + echo "Using branch name: $BRANCH_NAME" + echo "branch_name=$BRANCH_NAME" >> "$GITHUB_OUTPUT" + + - name: Create version branch from base + run: | + git checkout -b "${{ steps.branch.outputs.branch_name }}" + + - name: Bump version strings across repo + env: + NEW_VERSION: ${{ steps.version.outputs.new_version }} + run: | + echo "Updating version strings to ${NEW_VERSION} across repository" + + python << 'PY' + import os + import re + from pathlib import Path + + new_version = os.environ["NEW_VERSION"] + + targets = [ + Path("src"), + Path("docs"), + ] + + patterns = [ + (re.compile(r"\(VERSION\s+[0-9]+\.[0-9]+\.[0-9]+\)"), lambda v: f"(VERSION {v})"), + (re.compile(r"(VERSION[:\s]+)([0-9]+\.[0-9]+\.[0-9]+)"), lambda v: r"\1" + v), + (re.compile(r"()([0-9]+\.[0-9]+\.[0-9]+)()"), lambda v: r"\1" + v + r"\3"), + (re.compile(r'(]*\\bversion=")([0-9]+\.[0-9]+\.[0-9]+)(")'), lambda v: r"\1" + v + r"\3"), + (re.compile(r'(\"version\"\s*:\s*\")(\d+\.\d+\.\d+)(\")'), lambda v: r"\1" + v + r"\3"), + ] + + def update_file(path: Path) -> bool: + try: + text = path.read_text(encoding="utf-8") + except UnicodeDecodeError: + return False + + original = text + for regex, repl in patterns: + text = regex.sub(lambda m, r=repl: r(m), text) + + if text != original: + path.write_text(text, encoding="utf-8") + print(f"Updated version in {path}") + return True + + return False + + for root in targets: + if not root.exists(): + continue + + for path in root.rglob("*"): + if not path.is_file(): + continue + + if path.suffix.lower() in { + ".png", ".jpg", ".jpeg", ".gif", ".svg", ".ico", + ".zip", ".pdf", ".tar", ".gz", + }: + continue + + update_file(path) + + repo_root = Path(".").resolve() + + def is_under_any_target(p: Path) -> bool: + for t in targets: + if not t.exists(): + continue + try: + p.resolve().relative_to(t.resolve()) + return True + except ValueError: + continue + return False + + # Explicitly update README.md and CHANGELOG.md + for fname in ["README.md", "CHANGELOG.md"]: + p = Path(fname) + if p.exists() and p.is_file(): + update_file(p) + + # Update remaining markdown files outside src/docs + for path in repo_root.rglob("*.md"): + if not path.is_file(): + continue + + if path.name.lower() in {"readme.md", "changelog.md"}: + continue + + if is_under_any_target(path): + continue + + update_file(path) + PY + + - name: Update CHANGELOG using script + env: + NEW_VERSION: ${{ steps.version.outputs.new_version }} + run: | + if [ ! -f "scripts/update_changelog.sh" ]; then + echo "scripts/update_changelog.sh not found. Failing version branch creation." + exit 1 + fi + + chmod +x scripts/update_changelog.sh + ./scripts/update_changelog.sh "${NEW_VERSION}" + + - name: Configure git user + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + - name: Commit version bump + env: + NEW_VERSION: ${{ steps.version.outputs.new_version }} + run: | + git status + if git diff --quiet; then + echo "No changes detected after version bump. Skipping commit." + exit 0 + fi + + git add -A + + git commit -m "chore: bump version to ${NEW_VERSION}" + + - name: Push version branch + run: | + git push -u origin "${{ steps.branch.outputs.branch_name }}" diff --git a/templates/index.html b/src/templates/index.html similarity index 100% rename from templates/index.html rename to src/templates/index.html diff --git a/templates/moko-cassiopeia/component.php b/src/templates/moko-cassiopeia/component.php similarity index 98% rename from templates/moko-cassiopeia/component.php rename to src/templates/moko-cassiopeia/component.php index 8b7d2bd..d31c76e 100644 --- a/templates/moko-cassiopeia/component.php +++ b/src/templates/moko-cassiopeia/component.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/component.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Minimal component-only template file for Moko-Cassiopeia */ diff --git a/templates/moko-cassiopeia/custom.php b/src/templates/moko-cassiopeia/custom.php similarity index 94% rename from templates/moko-cassiopeia/custom.php rename to src/templates/moko-cassiopeia/custom.php index 3b15175..e58731e 100644 --- a/templates/moko-cassiopeia/custom.php +++ b/src/templates/moko-cassiopeia/custom.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/custom.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Custom entry template file for Moko-Cassiopeia with user-defined overrides */ diff --git a/templates/moko-cassiopeia/error.php b/src/templates/moko-cassiopeia/error.php similarity index 99% rename from templates/moko-cassiopeia/error.php rename to src/templates/moko-cassiopeia/error.php index b882149..1b2a74f 100644 --- a/templates/moko-cassiopeia/error.php +++ b/src/templates/moko-cassiopeia/error.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/error.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Error page template file for Moko-Cassiopeia */ diff --git a/templates/moko-cassiopeia/favicon.ico b/src/templates/moko-cassiopeia/favicon.ico similarity index 100% rename from templates/moko-cassiopeia/favicon.ico rename to src/templates/moko-cassiopeia/favicon.ico diff --git a/src/templates/moko-cassiopeia/favicon.ico.bak b/src/templates/moko-cassiopeia/favicon.ico.bak new file mode 100644 index 0000000000000000000000000000000000000000..710b9c89af50727f14ea0105cfa7cac4551765a5 GIT binary patch literal 15086 zcmeI3>35Yyw#Ls1fh5dAK$!zg6axs700C4`6p%qhxPYQ4t%y^%*x1Mw5uAqwwhgu- zg3y921nyM^l@%OJ!?Snos<+-D znM^j*EYrSyMs-={{=!UVSSFJxD@*%ZMSn-M!Gr7i<(bU5PMJ(U@n}dADP2`2Bfk9K z_uqg2TN~D`+Y`>5Nol52yVU7DcjnBQ zoL%hi*zsAo`Q}++`t+rePsiXrefo3`o7=`4*RyB;CA4VKGR&R(LXO|#=yBV1KDLn~ zZwZP~C@-HHYHPm>Km71R&M#w+YcLuoItL6GoX9KcVZ@00!oGbclb9H@eL*J1V;vhe zZVVS)bWxp-jC|=51`eDM#*V!$Or82j*uDFB&K@!`7TQOS90|AFa!;5vX@2O|ty`U* zW?|H*iISfduD$k=oKNth!?wY{aN)wxym<@xKP9YRzq3xhKy^vz*l~#TKA+>y$G>*% zw#3e&MH|AUmsUxpeQ48WXt?B(a`{mfs;Z_WF^TQP_$N)86$%PULeHKRp|rHO+AYH6 zmrn>ohD=Uy^z1n)+<*Vd^X3B#=%c>+>hZGIIb^dPL;LpKBs)|%Dnn6GiR3$mu3aaE zZQBmza=^0qZA>Rmo(zKqjR*s}b_vDJFOqDB(5h8=C@dThUViz%5?R}GjUN1N6u3beKKmNhoxcTa2&SBp=;x_tOORvBFdRVz~!*Apzb541ctY73} zKjJpJjWwdP_MTjx&EFB4-ba>wrc7mw3j0&?W8=yD2}6NwFBaaj#se1GtPQUZYG}p@ zZi@T)GL~;d=B)S^s}%h7(@%@x@jU(b2T=K5$#+3LhIJm%K6Weu~^19EMs|NvyE5= zT*d@FwoBW(uDfnoxaXev+ACVARD_Q|K9$34KJ?Iz?RdrmYxJoVJET)tU`I=@&~J{?=} znx*gf!3$>Nsjhw`G;7v1vY*jhJQTk8BAsja?VDvhFZ9s`kH?rF+LmD)e$QKsgLeP^ z17y41dG>W+3zuE?OxUxh_Pl(-4l=A|Y6^Dnl{PkP2fH!dywF|H^TG=+emkXE$F(gboihYUtGP#$!vDF3t1b7}9*`+<9u4FkzYYrVZh_ z=ROQCy|g>L_S!+kC-vDlVmroz9q1IdjRhXc-FMFo6%`f9x#|2|jB(_*3v^By5N6KY zA>H*hjK%)pvkNrmEN#=7hpk&b)%E@}?L+^mGe_a?#3RLFoY`!7c=gq zsYiJ5!QF|C*pBDgafs*KeuIN^&Q(`k9oZ=lD^`4+zq9UCeJ8C|gCH9JoZwQY+zArrg{OY71 z#~{Dms?`kf?L064@e4cni5)P+c2g|hg*9tF()xQn%$f5?o%8>qGyGR!+O(OPhaR#E z7V@Apbnkw%&bMvqu(a2Cc9zbVgX;Rl;lBGm$*n8fO>NYl4P!d(4?p}QOrCt7&Z+(6 zcT1hMpVPd5mfUX?6gdB?l>=jiXP|JsRA-NQxHw#Y{YK%wSM5Pz>C$aEAMqWZZJ)M_ z^N#v&e_OAdvz<)n(W6YcH!!qqTM=5etly7EkH&6+&Lr0ob=_s}ZKbn*H|_cTL+{>$6xS-{bQhaK_Lnp1dh0#47z7Lb_a@AGgrkhsk{FLr7=*ABA9c$)+;vA$6jwVivcKkRo7{Ej@C)b5lt2T!N2h!_@{c&yk z#$X#Brv@8z^RN#-{P4rt3$IG{-I9`)vPG<03(H8|8$TL)_2S;TdwBZk?KyetqK@s@ zcd)oXV@~4yU@V`$YuB#idBE`D)w&k7(0%L(*-hty`{}peu02o2`mM|PPYum^K;O1) zlNz3wZW-o@+&OmaSXi=TiOx#>6^qNmzy6i3rC27`O&c9`u{ldz&_kcXn8%%)rdwye z40Nz=-@Y@sZaCKH`5l?F@_~EboNddYE4Gb&#?WWFd8y%t$7AL9&U+ z+R!O=>t?-tFI2AJOET{DME~cXe@^(khd^_&UdHsCC!t%GnsN7O!vimcKE*bv!3RG! z={LnD{3>&#>qK2U(Gj<851lbRza8UA$I`vpe8}SiIB7RkpXK8kS>pn`$~pQJ=dAfX zkG2U9ZTP?pA2qmYYQ7CekJjoQen&WQBE9d14<6)VUC7v`^V>Gj75f?6wBNR=ns*X8 z4Aun=9q`d6c9wx|KTUh*op*Ged^Fr}!#&}#$3980=JQyW@zBSoe`nKvqtBS^A3if~ zTj(;MY1o6$ee<}_d9J9aZRpbFZk;KohJy#wy~enV5u4~C7Pg5F>x<*^dp41QmjWL( zdl+=bgqUN4;x^;(nf~mvJ9UowM(1Acc?RnG-dfM^U(V@5FT9>3`qtkRoAB5_+q4d9 zXmQ_uQG=Oc8g1JqUTfB@(b;IB?th*ZcFtwIp=CgaeN^BQs-99R26-)jn*$C0;9 zXqA9Cz#kl7g zo})*P>Ky~mo?^U>wFm0C*cQDjVh=q3TKs!9u^rpAztrGi+=ae za13w>(yv|-!VeZ3j65%7Qf4jF<(f#wVo|L ztLM=*x%{xr7z0@7yEtE{?Ss$!jsrEtJi6CUeA>JBOgMb_wB9ehsOONJ<1PemL%hYI zQ>QodOuzmdX?)-XgLBB3jLUq~@K8KPjo*w>jvqfBZoF}-&i#{hJ)5U*eYWY@-D~>x z=8`7)zN)b z)~v%HmHRstk1o=#Vrt7l=mu-R#%*2@*I&JK@7(e6C zsGUR10|lPBbN|@LdL5>?f3AD5lyAq59gXni`{RCDC@XtM?`-F5Eu+R zP~BF~{MTuZJDH2CF?lZNQ@|Eug+_dx@16ttv{$a&6F&H0cewJ(s_?`UPwAQet;&&| zx(#u!+;W8@Rx z)>P@cyiMVbJN}%PPu=9#3SE=;g1SfGdUUD96&UN~<8K<@n zZbLtK@N<37uu-|$w+>&r?-Uo$33uJKU-Pn6W7T2UuqhFK{1~cr`D$H$^^)ITh_5V< zr@8j7KWV@DTJI(A(O8k*8~s)9D(cr8_=%(QAod5mo&)=8AE@EozWoE`%58ae(>V9& z(NE7%F4KGL8+Gk0&ATVgD%Un?Kj)ocfvy*O^zQuH2J~e03~8~xMX1qput91+rgLKb zy|VFuh2lMkw((P&jz979+rx(s>pRi0vdh^e#oeY&S7DhMuDNDH@;A5HQJ6pfh}_DJ`Wl$g9KNi)e@XA87b=(Qul4!Zyguy{H4um_dUCFc>xw;?EI&1+|c8>@tTGPZun@k-=~=QZou!PJ@@2%m14|2O$%Y| z6UK~rP~Vi#Pv)Yuw5#6XFAF0_@*dYRaecL}SA1(g-d(RXyf!&c_?qt+g5Q{^!G$l- z9e41X&os{q-#Sg0Fd=#O&NoL~zre${*T$92f{T8d6WMHMy>q@&KGpN2yqp`HH(li4 z0nNcsy(hk3-|*EWxnOKyH7;X?Mgbc&_cGou@fY8y;rCq8j-TK1jn0AvkA}g6CkV^f zFup>$KBIkDHZdDIw~6E1P@7l}Q(>%|o}(VuJ;Zc<-?b~T>G{vM30C9rywIn>%ee8Q z!!+8K!%yqE{r21IFo2_DC@LHs`duy(+a=-Jvy#4EG7_XM8U( zG^|~FMC)dOu9NjRY!f`OP38srU;`6;_Qkd54j%i1jB!IlcFUG6dd|Q)ZYaj}v~0G& z?h(f5TFV+KQ{fs=s#2+E0gvh2yhms0PjhpQU2rvI({Y5yKHwji+(!;ttiv>T>=W&E z>(&WdPvv+s<$4G0p+5J-_-6`hcVT@|-^WyGe@w3d?b_WO{`t=@&zoD@1gA0O+l1~| z!biN3qrgke`nUho9(RonWLZP}55d8M2lZ{@-*qjh)^&DbvWM1x%Q02>`EGE6?zyf@ z#+b9x(q)QMnlp{r#74eN=a9#!<2K{q2V3l$dC*6@F+T3UmM>qf|KF%e?g?A9s?=F; zfPAQ*6WU$6ELV(E+l}e^cQ%oWang4Ir*kFdvrf}IPnJU;JmesI7U$Q!d-o>iv-JKj z^`p9aZ7vShh1`YMlyK2=co$31N znZ?0`$MP3yQ~dld$_ZmIe)o+Ly{6$G#eK)hF-OMO%|~s&@C8|4ORx#Q^)HXm*5HN~c6_Ju~=_=)Q&f8 z`%2rfGG=Vr5AzY%n9n@OyA3Zq(Co{F+LYY-Uw{2I`36O8d`P~9knVH%jy}&ZZQI5! zZHi+KpYcPt-?Wi+EMr;5;{Na1wC|GPTZbfPz^pwi^DBRfGMVMn`dY~~-T(jn??qra Ms-pP*N?&pRAF(hjG5`Po literal 0 HcmV?d00001 diff --git a/templates/moko-cassiopeia/html/com_contact/contact/default.php b/src/templates/moko-cassiopeia/html/com_contact/contact/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_contact/contact/default.php rename to src/templates/moko-cassiopeia/html/com_contact/contact/default.php diff --git a/templates/moko-cassiopeia/html/com_contact/contact/index.html b/src/templates/moko-cassiopeia/html/com_contact/contact/index.html similarity index 98% rename from templates/moko-cassiopeia/html/com_contact/contact/index.html rename to src/templates/moko-cassiopeia/html/com_contact/contact/index.html index 4ded426..d8abe80 100644 --- a/templates/moko-cassiopeia/html/com_contact/contact/index.html +++ b/src/templates/moko-cassiopeia/html/com_contact/contact/index.html @@ -12,8 +12,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/ . # FILE INFORMATION - DEFGROUP: Joomla.Site - INGROUP: Templates.Moko-Cassiopeia + DEFGROUP: Joomla.Templates.Site + INGROUP: Moko-Cassiopeia FILE: index.html BRIEF: Security redirect page to block folder access and forward to site root. --> diff --git a/templates/moko-cassiopeia/html/com_contact/default.php b/src/templates/moko-cassiopeia/html/com_contact/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_contact/default.php rename to src/templates/moko-cassiopeia/html/com_contact/default.php diff --git a/templates/moko-cassiopeia/html/com_contact/index.html b/src/templates/moko-cassiopeia/html/com_contact/index.html similarity index 98% rename from templates/moko-cassiopeia/html/com_contact/index.html rename to src/templates/moko-cassiopeia/html/com_contact/index.html index 4ded426..d8abe80 100644 --- a/templates/moko-cassiopeia/html/com_contact/index.html +++ b/src/templates/moko-cassiopeia/html/com_contact/index.html @@ -12,8 +12,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/ . # FILE INFORMATION - DEFGROUP: Joomla.Site - INGROUP: Templates.Moko-Cassiopeia + DEFGROUP: Joomla.Templates.Site + INGROUP: Moko-Cassiopeia FILE: index.html BRIEF: Security redirect page to block folder access and forward to site root. --> diff --git a/templates/moko-cassiopeia/html/com_content/article/index.html b/src/templates/moko-cassiopeia/html/com_content/article/index.html similarity index 98% rename from templates/moko-cassiopeia/html/com_content/article/index.html rename to src/templates/moko-cassiopeia/html/com_content/article/index.html index 4ded426..d8abe80 100644 --- a/templates/moko-cassiopeia/html/com_content/article/index.html +++ b/src/templates/moko-cassiopeia/html/com_content/article/index.html @@ -12,8 +12,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/ . # FILE INFORMATION - DEFGROUP: Joomla.Site - INGROUP: Templates.Moko-Cassiopeia + DEFGROUP: Joomla.Templates.Site + INGROUP: Moko-Cassiopeia FILE: index.html BRIEF: Security redirect page to block folder access and forward to site root. --> diff --git a/templates/moko-cassiopeia/html/com_content/article/toc-left.php b/src/templates/moko-cassiopeia/html/com_content/article/toc-left.php similarity index 98% rename from templates/moko-cassiopeia/html/com_content/article/toc-left.php rename to src/templates/moko-cassiopeia/html/com_content/article/toc-left.php index 8e374a9..90c0171 100644 --- a/templates/moko-cassiopeia/html/com_content/article/toc-left.php +++ b/src/templates/moko-cassiopeia/html/com_content/article/toc-left.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/html/com_content/article/toc-left.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Template override for Joomla articles with Table of Contents aligned left */ diff --git a/templates/moko-cassiopeia/html/com_content/article/toc-right.php b/src/templates/moko-cassiopeia/html/com_content/article/toc-right.php similarity index 98% rename from templates/moko-cassiopeia/html/com_content/article/toc-right.php rename to src/templates/moko-cassiopeia/html/com_content/article/toc-right.php index 880964c..874a497 100644 --- a/templates/moko-cassiopeia/html/com_content/article/toc-right.php +++ b/src/templates/moko-cassiopeia/html/com_content/article/toc-right.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/html/com_content/article/toc-right.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Template override for Joomla articles with Table of Contents aligned right */ diff --git a/templates/moko-cassiopeia/html/com_content/categories/default.php b/src/templates/moko-cassiopeia/html/com_content/categories/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/categories/default.php rename to src/templates/moko-cassiopeia/html/com_content/categories/default.php diff --git a/templates/moko-cassiopeia/html/com_content/categories/default_items.php b/src/templates/moko-cassiopeia/html/com_content/categories/default_items.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/categories/default_items.php rename to src/templates/moko-cassiopeia/html/com_content/categories/default_items.php diff --git a/templates/moko-cassiopeia/html/com_content/categories/index.html b/src/templates/moko-cassiopeia/html/com_content/categories/index.html similarity index 98% rename from templates/moko-cassiopeia/html/com_content/categories/index.html rename to src/templates/moko-cassiopeia/html/com_content/categories/index.html index 4ded426..d8abe80 100644 --- a/templates/moko-cassiopeia/html/com_content/categories/index.html +++ b/src/templates/moko-cassiopeia/html/com_content/categories/index.html @@ -12,8 +12,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/ . # FILE INFORMATION - DEFGROUP: Joomla.Site - INGROUP: Templates.Moko-Cassiopeia + DEFGROUP: Joomla.Templates.Site + INGROUP: Moko-Cassiopeia FILE: index.html BRIEF: Security redirect page to block folder access and forward to site root. --> diff --git a/templates/moko-cassiopeia/html/com_content/category/blog.php b/src/templates/moko-cassiopeia/html/com_content/category/blog.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/blog.php rename to src/templates/moko-cassiopeia/html/com_content/category/blog.php diff --git a/templates/moko-cassiopeia/html/com_content/category/blog_children.php b/src/templates/moko-cassiopeia/html/com_content/category/blog_children.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/blog_children.php rename to src/templates/moko-cassiopeia/html/com_content/category/blog_children.php diff --git a/templates/moko-cassiopeia/html/com_content/category/blog_item.php b/src/templates/moko-cassiopeia/html/com_content/category/blog_item.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/blog_item.php rename to src/templates/moko-cassiopeia/html/com_content/category/blog_item.php diff --git a/templates/moko-cassiopeia/html/com_content/category/blog_links.php b/src/templates/moko-cassiopeia/html/com_content/category/blog_links.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/blog_links.php rename to src/templates/moko-cassiopeia/html/com_content/category/blog_links.php diff --git a/templates/moko-cassiopeia/html/com_content/category/default.php b/src/templates/moko-cassiopeia/html/com_content/category/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/default.php rename to src/templates/moko-cassiopeia/html/com_content/category/default.php diff --git a/templates/moko-cassiopeia/html/com_content/category/default_articles.php b/src/templates/moko-cassiopeia/html/com_content/category/default_articles.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/default_articles.php rename to src/templates/moko-cassiopeia/html/com_content/category/default_articles.php diff --git a/templates/moko-cassiopeia/html/com_content/category/default_children.php b/src/templates/moko-cassiopeia/html/com_content/category/default_children.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/category/default_children.php rename to src/templates/moko-cassiopeia/html/com_content/category/default_children.php diff --git a/src/templates/moko-cassiopeia/html/com_content/category/index.html b/src/templates/moko-cassiopeia/html/com_content/category/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_content/category/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_content/featured/default.php b/src/templates/moko-cassiopeia/html/com_content/featured/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/featured/default.php rename to src/templates/moko-cassiopeia/html/com_content/featured/default.php diff --git a/templates/moko-cassiopeia/html/com_content/featured/default_item.php b/src/templates/moko-cassiopeia/html/com_content/featured/default_item.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/featured/default_item.php rename to src/templates/moko-cassiopeia/html/com_content/featured/default_item.php diff --git a/templates/moko-cassiopeia/html/com_content/featured/default_links.php b/src/templates/moko-cassiopeia/html/com_content/featured/default_links.php similarity index 100% rename from templates/moko-cassiopeia/html/com_content/featured/default_links.php rename to src/templates/moko-cassiopeia/html/com_content/featured/default_links.php diff --git a/src/templates/moko-cassiopeia/html/com_content/featured/index.html b/src/templates/moko-cassiopeia/html/com_content/featured/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_content/featured/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/src/templates/moko-cassiopeia/html/com_content/index.html b/src/templates/moko-cassiopeia/html/com_content/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_content/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default.php b/src/templates/moko-cassiopeia/html/com_engage/comments/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_engage/comments/default.php rename to src/templates/moko-cassiopeia/html/com_engage/comments/default.php diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_form.php b/src/templates/moko-cassiopeia/html/com_engage/comments/default_form.php similarity index 100% rename from templates/moko-cassiopeia/html/com_engage/comments/default_form.php rename to src/templates/moko-cassiopeia/html/com_engage/comments/default_form.php diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_list.php b/src/templates/moko-cassiopeia/html/com_engage/comments/default_list.php similarity index 100% rename from templates/moko-cassiopeia/html/com_engage/comments/default_list.php rename to src/templates/moko-cassiopeia/html/com_engage/comments/default_list.php diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_login.php b/src/templates/moko-cassiopeia/html/com_engage/comments/default_login.php similarity index 100% rename from templates/moko-cassiopeia/html/com_engage/comments/default_login.php rename to src/templates/moko-cassiopeia/html/com_engage/comments/default_login.php diff --git a/src/templates/moko-cassiopeia/html/com_engage/comments/index.html b/src/templates/moko-cassiopeia/html/com_engage/comments/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_engage/comments/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/src/templates/moko-cassiopeia/html/com_engage/index.html b/src/templates/moko-cassiopeia/html/com_engage/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_engage/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/batch.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/batch.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/batch.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/batch.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/categories.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/categories.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/categories.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/categories.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/columns_plans.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/columns_plans.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/columns_plans.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/columns_plans.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/group_members.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/group_members.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/group_members.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/group_members.php diff --git a/src/templates/moko-cassiopeia/html/com_osmembership/common/index.html b/src/templates/moko-cassiopeia/html/com_osmembership/common/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_osmembership/common/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/plan_information.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/plan_information.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/plan_information.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/plan_information.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php b/src/templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php rename to src/templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php diff --git a/src/templates/moko-cassiopeia/html/com_osmembership/index.html b/src/templates/moko-cassiopeia/html/com_osmembership/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_osmembership/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_upgrade_options.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_upgrade_options.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplan/default_upgrade_options.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplan/default_upgrade_options.php diff --git a/src/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/default.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplans/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplans/default.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplans/default.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php b/src/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php rename to src/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php diff --git a/src/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html b/src/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/plan/default.php b/src/templates/moko-cassiopeia/html/com_osmembership/plan/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plan/default.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plan/default.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php b/src/templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php diff --git a/src/templates/moko-cassiopeia/html/com_osmembership/plan/index.html b/src/templates/moko-cassiopeia/html/com_osmembership/plan/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_osmembership/plan/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/columns.php b/src/templates/moko-cassiopeia/html/com_osmembership/plans/columns.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plans/columns.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plans/columns.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/default.php b/src/templates/moko-cassiopeia/html/com_osmembership/plans/default.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plans/default.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plans/default.php diff --git a/src/templates/moko-cassiopeia/html/com_osmembership/plans/index.html b/src/templates/moko-cassiopeia/html/com_osmembership/plans/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/com_osmembership/plans/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php b/src/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php b/src/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php b/src/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php similarity index 100% rename from templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php rename to src/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php diff --git a/src/templates/moko-cassiopeia/html/index.html b/src/templates/moko-cassiopeia/html/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/layouts/chromes/card.php b/src/templates/moko-cassiopeia/html/layouts/chromes/card.php similarity index 100% rename from templates/moko-cassiopeia/html/layouts/chromes/card.php rename to src/templates/moko-cassiopeia/html/layouts/chromes/card.php diff --git a/templates/moko-cassiopeia/html/layouts/chromes/html5.php b/src/templates/moko-cassiopeia/html/layouts/chromes/html5.php similarity index 100% rename from templates/moko-cassiopeia/html/layouts/chromes/html5.php rename to src/templates/moko-cassiopeia/html/layouts/chromes/html5.php diff --git a/src/templates/moko-cassiopeia/html/layouts/chromes/index.html b/src/templates/moko-cassiopeia/html/layouts/chromes/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/layouts/chromes/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/layouts/chromes/noCard.php b/src/templates/moko-cassiopeia/html/layouts/chromes/noCard.php similarity index 100% rename from templates/moko-cassiopeia/html/layouts/chromes/noCard.php rename to src/templates/moko-cassiopeia/html/layouts/chromes/noCard.php diff --git a/src/templates/moko-cassiopeia/html/layouts/index.html b/src/templates/moko-cassiopeia/html/layouts/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/layouts/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_custom/banner.php b/src/templates/moko-cassiopeia/html/mod_custom/banner.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_custom/banner.php rename to src/templates/moko-cassiopeia/html/mod_custom/banner.php diff --git a/templates/moko-cassiopeia/html/mod_custom/hero.php b/src/templates/moko-cassiopeia/html/mod_custom/hero.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_custom/hero.php rename to src/templates/moko-cassiopeia/html/mod_custom/hero.php diff --git a/src/templates/moko-cassiopeia/html/mod_custom/index.html b/src/templates/moko-cassiopeia/html/mod_custom/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_custom/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_gabble/default.php b/src/templates/moko-cassiopeia/html/mod_gabble/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_gabble/default.php rename to src/templates/moko-cassiopeia/html/mod_gabble/default.php diff --git a/src/templates/moko-cassiopeia/html/mod_gabble/index.html b/src/templates/moko-cassiopeia/html/mod_gabble/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_gabble/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/src/templates/moko-cassiopeia/html/mod_membershipplans/index.html b/src/templates/moko-cassiopeia/html/mod_membershipplans/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_membershipplans/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php b/src/templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php rename to src/templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php b/src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php rename to src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php b/src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php rename to src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php b/src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php rename to src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php b/src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php rename to src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php b/src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php rename to src/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php diff --git a/src/templates/moko-cassiopeia/html/mod_menu/index.html b/src/templates/moko-cassiopeia/html/mod_menu/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_menu/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php diff --git a/src/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html b/src/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/all.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_category/all.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_category/all.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_category/all.php diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/current.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_category/current.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_category/current.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_category/current.php diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/default.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_category/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_category/default.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_category/default.php diff --git a/src/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html b/src/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php diff --git a/src/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html b/src/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php diff --git a/src/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html b/src/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_product/default.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_product/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_product/default.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_product/default.php diff --git a/src/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html b/src/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_search/default.php b/src/templates/moko-cassiopeia/html/mod_virtuemart_search/default.php similarity index 100% rename from templates/moko-cassiopeia/html/mod_virtuemart_search/default.php rename to src/templates/moko-cassiopeia/html/mod_virtuemart_search/default.php diff --git a/src/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html b/src/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/src/templates/moko-cassiopeia/html/tinymce/index.html b/src/templates/moko-cassiopeia/html/tinymce/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/html/tinymce/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/src/templates/moko-cassiopeia/index.html b/src/templates/moko-cassiopeia/index.html new file mode 100644 index 0000000..d8abe80 --- /dev/null +++ b/src/templates/moko-cassiopeia/index.html @@ -0,0 +1,89 @@ + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/index.php b/src/templates/moko-cassiopeia/index.php similarity index 99% rename from templates/moko-cassiopeia/index.php rename to src/templates/moko-cassiopeia/index.php index 33ce0d4..9bd84bd 100644 --- a/templates/moko-cassiopeia/index.php +++ b/src/templates/moko-cassiopeia/index.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/index.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Main template index file for Moko-Cassiopeia rendering site layout */ diff --git a/src/templates/moko-cassiopeia/joomla.asset.json b/src/templates/moko-cassiopeia/joomla.asset.json index c253fd6..782098c 100644 --- a/src/templates/moko-cassiopeia/joomla.asset.json +++ b/src/templates/moko-cassiopeia/joomla.asset.json @@ -1,27 +1,3 @@ -<<<<<<< Updated upstream -/* - Copyright (C) 2025 Moko Consulting - - This file is part of a Moko Consulting project. - - SPDX-LICENSE-IDENTIFIER: GPL-3.0-or-later - - This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License (./LICENSE.md). - - FILE INFORMATION - DEFGROUP: Joomla.Template.Site - INGROUP: Moko-Cassiopeia.Template.Assets - REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia - PATH: ./media/templates/site/moko-cassiopeia/joomla.asset.json - VERSION: 03.00.00 - BRIEF: Joomla asset registry for Moko-Cassiopeia -*/ -======= ->>>>>>> Stashed changes { "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", "name": "moko-cassiopeia", @@ -35,12 +11,6 @@ "project": "Moko-Cassiopeia Template", "spdx_license": "GPL-3.0-or-later", "notice": "This file is part of a Moko Consulting project.", -<<<<<<< Updated upstream - "disclaimer": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/." - "repo": "https://github.com/mokoconsulting-tech/moko-cassiopeia" - }, - -======= "disclaimer": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.", "repo": "https://github.com/mokoconsulting-tech/moko-cassiopeia", "file_information": { @@ -51,84 +21,51 @@ "brief": "Joomla asset registry for Moko-Cassiopeia" } }, ->>>>>>> Stashed changes "assets": [ { "name": "template.base", "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/template.css", -<<<<<<< Updated upstream - "attributes": { "media": "all" } -======= "attributes": {"media": "all"} ->>>>>>> Stashed changes }, { "name": "template.base.min", "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/template.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.user", "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/user.css", -<<<<<<< Updated upstream - "attributes": { "media": "all" } -======= "attributes": {"media": "all"} ->>>>>>> Stashed changes }, { "name": "template.user.min", "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/user.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.editor", "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/editor.css", -<<<<<<< Updated upstream - "attributes": { "media": "all" } -======= "attributes": {"media": "all"} ->>>>>>> Stashed changes }, { "name": "template.editor.min", "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/editor.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "vendor.bootstrap-toc", "type": "style", "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css", -<<<<<<< Updated upstream - "attributes": { "media": "all" } -======= "attributes": {"media": "all"} ->>>>>>> Stashed changes }, { "name": "vendor.bootstrap-toc.min", "type": "style", "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.light.colors_standard", "type": "style", @@ -139,10 +76,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_standard.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.light.colors_alternative", "type": "style", @@ -153,10 +86,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_alternative.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.light.colors_custom", "type": "style", @@ -167,10 +96,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_custom.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.dark.colors_standard", "type": "style", @@ -181,10 +106,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_standard.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.dark.colors_alternative", "type": "style", @@ -195,10 +116,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_alternative.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.dark.colors_custom", "type": "style", @@ -209,120 +126,66 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_custom.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "template.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/template.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } -======= "attributes": {"defer": true} ->>>>>>> Stashed changes }, { "name": "template.js.min", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/template.min.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } - }, - -======= "attributes": {"defer": true} }, ->>>>>>> Stashed changes { "name": "theme-init.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/theme-init.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } -======= "attributes": {"defer": true} ->>>>>>> Stashed changes }, { "name": "theme-init.min.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/theme-init.min.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } - }, - -======= "attributes": {"defer": true} }, ->>>>>>> Stashed changes { "name": "darkmode-toggle.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/darkmode-toggle.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } -======= "attributes": {"defer": true} ->>>>>>> Stashed changes }, { "name": "darkmode-toggle.min.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/darkmode-toggle.min.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } - }, - -======= "attributes": {"defer": true} }, ->>>>>>> Stashed changes { "name": "gtm.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/gtm.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } -======= "attributes": {"defer": true} ->>>>>>> Stashed changes }, { "name": "gtm.min.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/js/gtm.min.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } - }, - -======= "attributes": {"defer": true} }, ->>>>>>> Stashed changes { "name": "vendor.bootstrap-toc.js", "type": "script", "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } -======= "attributes": {"defer": true} ->>>>>>> Stashed changes }, { "name": "vendor.bootstrap-toc.js.min", "type": "script", "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js", -<<<<<<< Updated upstream - "attributes": { "defer": true } - }, - -======= "attributes": {"defer": true} }, ->>>>>>> Stashed changes { "name": "vendor.fa7free.all", "type": "style", @@ -333,10 +196,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "vendor.fa7free.brands", "type": "style", @@ -347,10 +206,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "vendor.fa7free.fontawesome", "type": "style", @@ -361,10 +216,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "vendor.fa7free.regular", "type": "style", @@ -375,10 +226,6 @@ "type": "style", "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css" }, -<<<<<<< Updated upstream - -======= ->>>>>>> Stashed changes { "name": "vendor.fa7free.solid", "type": "style", diff --git a/templates/moko-cassiopeia/offline.php b/src/templates/moko-cassiopeia/offline.php similarity index 99% rename from templates/moko-cassiopeia/offline.php rename to src/templates/moko-cassiopeia/offline.php index de9e038..2bb8e18 100644 --- a/templates/moko-cassiopeia/offline.php +++ b/src/templates/moko-cassiopeia/offline.php @@ -15,8 +15,9 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: Moko-Cassiopeia + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia PATH: ./templates/moko-cassiopeia/offline.php - VERSION: 03.00 + VERSION: 03.00.00 BRIEF: Offline page template file for Moko-Cassiopeia */ diff --git a/templates/moko-cassiopeia/templateDetails.xml b/src/templates/moko-cassiopeia/templateDetails.xml similarity index 86% rename from templates/moko-cassiopeia/templateDetails.xml rename to src/templates/moko-cassiopeia/templateDetails.xml index 30e8a37..6934322 100644 --- a/templates/moko-cassiopeia/templateDetails.xml +++ b/src/templates/moko-cassiopeia/templateDetails.xml @@ -1,34 +1,42 @@ - + You should have received a copy of the GNU General Public License + along with this program. If not, see https://www.gnu.org/licenses/ . + ========================================================================= + FILE INFORMATION + DEFGROUP: Joomla + INGROUP: Moko-Cassiopeia + PATH: templates/moko-cassiopeia/templateDetails.xml + VERSION: 02.01.05 + BRIEF: Template manifest XML file for Moko-Cassiopeia + ========================================================================= +--> https://raw.githubusercontent.com/mokoconsulting-tech/MokoUpdates/refs/heads/main/joomla/moko-cassiopeia/updates.xml moko-cassiopeia - 03.00 - 2025-12-09 + 02.01.05 + 2025-09-23 Jonathan Miller || Moko Consulting hello@mokoconsulting.tech - (C)GNU General Public License Version 3 - 2025 Moko Consulting + (C)GNU General Public License Version 2 - 2025 Moko Consulting TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION 1 @@ -48,7 +56,6 @@ css images fonts - vendor topbar @@ -85,10 +92,12 @@
+ @@ -186,6 +195,9 @@ + + + @@ -202,7 +214,7 @@ - + diff --git a/templates/moko-cassiopeia/html/com_content/category/index.html b/templates/moko-cassiopeia/html/com_content/category/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_content/category/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_content/featured/index.html b/templates/moko-cassiopeia/html/com_content/featured/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_content/featured/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_content/index.html b/templates/moko-cassiopeia/html/com_content/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_content/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_engage/comments/index.html b/templates/moko-cassiopeia/html/com_engage/comments/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_engage/comments/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_engage/index.html b/templates/moko-cassiopeia/html/com_engage/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_engage/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/index.html b/templates/moko-cassiopeia/html/com_osmembership/common/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_osmembership/common/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_osmembership/index.html b/templates/moko-cassiopeia/html/com_osmembership/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_osmembership/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html b/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html b/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_osmembership/plan/index.html b/templates/moko-cassiopeia/html/com_osmembership/plan/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_osmembership/plan/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/index.html b/templates/moko-cassiopeia/html/com_osmembership/plans/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/com_osmembership/plans/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/index.html b/templates/moko-cassiopeia/html/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/layouts/chromes/index.html b/templates/moko-cassiopeia/html/layouts/chromes/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/layouts/chromes/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/layouts/index.html b/templates/moko-cassiopeia/html/layouts/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/layouts/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_custom/index.html b/templates/moko-cassiopeia/html/mod_custom/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_custom/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_gabble/index.html b/templates/moko-cassiopeia/html/mod_gabble/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_gabble/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_membershipplans/index.html b/templates/moko-cassiopeia/html/mod_membershipplans/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_membershipplans/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_menu/index.html b/templates/moko-cassiopeia/html/mod_menu/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_menu/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/html/tinymce/index.html b/templates/moko-cassiopeia/html/tinymce/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/html/tinymce/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/index.html b/templates/moko-cassiopeia/index.html deleted file mode 100644 index 4ded426..0000000 --- a/templates/moko-cassiopeia/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Redirecting… - - - - - - - - - - - - - - - - - - - -
Redirecting to the site root… If you are not redirected, click here.
- - diff --git a/templates/moko-cassiopeia/joomla.asset.json b/templates/moko-cassiopeia/joomla.asset.json deleted file mode 100644 index aeeca33..0000000 --- a/templates/moko-cassiopeia/joomla.asset.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", - "name": "tpl_moko-cassiopeia", - "version": "03.00", - "description": "Moko-Cassiopeia template assets", - "license": "GPL-3.0-or-later", - "x-header": - { - "copyright_year": 2025, - "author": "Jonathan Miller", - "owner": "Moko Consulting", - "contact": "hello@mokoconsulting.tech", - "project": "Moko-Cassiopeia Template", - "spdx_license": "GPL-3.0-or-later", - "notice": "This file is part of a Moko Consulting project.", - "disclaimer": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/." - }, - "assets": [ - { - "name": "template.base", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/template.css", - "attributes": - { - "media": "all" - } - }, - { - "name": "template.user", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/user.css", - "attributes": - { - "media": "all" - } - }, - { - "name": "template.editor", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/editor.css", - "attributes": - { - "media": "all" - } - }, - { - "name": "vendor.bootstrap-toc", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css", - "attributes": - { - "media": "all" - } - }, - { - "name": "template.light.colors_standard", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css" - }, - { - "name": "template.light.colors_alternative", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css" - }, - { - "name": "template.light.colors_custom", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/global/light/colors_custom.css" - }, - - { - "name": "template.dark.colors_standard", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css" - }, - { - "name": "template.dark.colors_alternative", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css" - }, - { - "name": "template.dark.colors_custom", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/global/dark/colors_custom.css" - }, - - { - "name": "template.js", - "type": "script", - "uri": "media/templates/site/moko-cassiopeia/js/template.js", - "attributes": - { - "defer": true - } - }, - { - "name": "theme-init.js", - "type": "script", - "uri": "media/templates/site/moko-cassiopeia/js/theme-init.js", - "attributes": - { - "defer": true - } - }, - { - "name": "darkmode-toggle.js", - "type": "script", - "uri": "media/templates/site/moko-cassiopeia/js/darkmode-toggle.js", - "attributes": - { - "defer": true - } - }, - { - "name": "gtm.js", - "type": "script", - "uri": "media/templates/site/moko-cassiopeia/js/gtm.js", - "attributes": - { - "defer": true - } - }, - { - "name": "vendor.bootstrap-toc.js", - "type": "script", - "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js", - "attributes": - { - "defer": true - } - }, - { - "name": "vendor.fa7free.all", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css" - }, - { - "name": "vendor.fa7free.all.min", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css" - }, - { - "name": "vendor.fa7free.brands", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css" - }, - { - "name": "vendor.fa7free.brands.min", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css" - }, - { - "name": "vendor.fa7free.fontawesome", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css" - }, - { - "name": "vendor.fa7free.fontawesome.min", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css" - }, - { - "name": "vendor.fa7free.regular", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css" - }, - { - "name": "vendor.fa7free.regular.min", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css" - }, - { - "name": "vendor.fa7free.solid", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css" - }, - { - "name": "vendor.fa7free.solid.min", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css" - } - ] -}