From cd31fe5f5a008039f9e724b0d7e43b198ea7cd88 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Fri, 29 May 2026 05:12:23 -0500 Subject: [PATCH 1/8] docs: add CONTRIBUTING.md linking to universal guide [skip bump] Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- CONTRIBUTING.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..bd9c4d1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contributing to MokoOnyx + +See the [universal contributing guide](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/CONTRIBUTING.md) for branching workflow, version policy, and code standards. + +## Repo-specific setup + +```bash +composer install +``` + +## Building + +This is a Joomla site template. The source lives in `src/` and is packaged into a ZIP for installation. + +- CSS/JS minification is handled at build time (CI) and runtime (`MokoMinifyHelper`) +- Custom theme CSS goes in `src/media/css/theme/` +- Template overrides go in `src/html/` + +## Testing + +Install the template on a Joomla 5.x or 6.x site and verify: + +- Theme switching (light/dark/custom) +- Mobile responsive behaviour (hamburger menu, layout) +- Font Awesome icons render correctly +- Table of Contents auto-generation works + +--- + +*Moko Consulting * -- 2.52.0 From 2d140febb28aa6d6eadcdfb73493b946da200384 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <1+jmiller@noreply.git.mokoconsulting.tech> Date: Fri, 29 May 2026 10:31:57 +0000 Subject: [PATCH 2/8] chore: sync .mokogitea/workflows/auto-bump.yml from moko-platform [skip ci] --- .mokogitea/workflows/auto-bump.yml | 134 ++++++++++++++--------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/.mokogitea/workflows/auto-bump.yml b/.mokogitea/workflows/auto-bump.yml index 8673649..a397a9e 100644 --- a/.mokogitea/workflows/auto-bump.yml +++ b/.mokogitea/workflows/auto-bump.yml @@ -1,67 +1,67 @@ -# Copyright (C) 2026 Moko Consulting -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -# FILE INFORMATION -# DEFGROUP: Gitea.Workflow -# INGROUP: moko-platform.Release -# REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-platform -# PATH: /.mokogitea/workflows/auto-bump.yml -# VERSION: 09.02.00 -# BRIEF: Auto patch-bump version on every push to dev (skips merge commits) - -name: "Universal: Auto Version Bump" - -on: - push: - branches: - - dev - - alpha - - beta - - rc - - 'feature/**' - -env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true - GITEA_URL: ${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }} - -permissions: - contents: write - -jobs: - bump: - name: Version Bump - runs-on: release - if: >- - !contains(github.event.head_commit.message, '[skip ci]') && - !contains(github.event.head_commit.message, '[skip bump]') && - !startsWith(github.event.head_commit.message, 'Merge pull request') - - steps: - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - with: - token: ${{ secrets.MOKOGITEA_TOKEN }} - fetch-depth: 1 - - - name: Setup moko-platform tools - run: | - if ! command -v composer &> /dev/null; then - sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer >/dev/null 2>&1 - fi - if [ -d "/opt/moko-platform/cli" ]; then - echo "MOKO_CLI=/opt/moko-platform/cli" >> "$GITHUB_ENV" - else - git clone --depth 1 --branch main --quiet \ - "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/MokoConsulting/moko-platform.git" \ - /tmp/moko-platform-api - cd /tmp/moko-platform-api && composer install --no-dev --no-interaction --quiet - echo "MOKO_CLI=/tmp/moko-platform-api/cli" >> "$GITHUB_ENV" - fi - - - name: Bump version - run: | - php ${MOKO_CLI}/version_auto_bump.php \ - --path . --branch "${GITHUB_REF_NAME}" \ - --token "${{ secrets.MOKOGITEA_TOKEN }}" \ - --repo-url "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/${{ github.repository }}.git" +# Copyright (C) 2026 Moko Consulting +# +# SPDX-License-Identifier: GPL-3.0-or-later +# +# FILE INFORMATION +# DEFGROUP: Gitea.Workflow +# INGROUP: moko-platform.Release +# REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-platform +# PATH: /.mokogitea/workflows/auto-bump.yml +# VERSION: 09.02.00 +# BRIEF: Auto patch-bump version on every push to dev (skips merge commits) + +name: "Universal: Auto Version Bump" + +on: + push: + branches: + - dev + - alpha + - beta + - rc + - 'feature/**' + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + GITEA_URL: ${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }} + +permissions: + contents: write + +jobs: + bump: + name: Version Bump + runs-on: release + if: >- + !contains(github.event.head_commit.message, '[skip ci]') && + !contains(github.event.head_commit.message, '[skip bump]') && + !startsWith(github.event.head_commit.message, 'Merge pull request') + + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + with: + token: ${{ secrets.MOKOGITEA_TOKEN }} + fetch-depth: 1 + + - name: Setup moko-platform tools + run: | + if ! command -v composer &> /dev/null; then + sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer >/dev/null 2>&1 + fi + if [ -d "/opt/moko-platform/cli" ]; then + echo "MOKO_CLI=/opt/moko-platform/cli" >> "$GITHUB_ENV" + else + git clone --depth 1 --branch main --quiet \ + "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/MokoConsulting/moko-platform.git" \ + /tmp/moko-platform-api + cd /tmp/moko-platform-api && composer install --no-dev --no-interaction --quiet + echo "MOKO_CLI=/tmp/moko-platform-api/cli" >> "$GITHUB_ENV" + fi + + - name: Bump version + run: | + php ${MOKO_CLI}/version_auto_bump.php \ + --path . --branch "${GITHUB_REF_NAME}" \ + --token "${{ secrets.MOKOGITEA_TOKEN }}" \ + --repo-url "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/${{ github.repository }}.git" -- 2.52.0 From 613c3092945d261dbfc2ceae683f7b37d855f917 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Fri, 29 May 2026 05:52:41 -0500 Subject: [PATCH 3/8] fix: add php_minimum, remove stale version comment [skip bump] Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- src/templateDetails.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templateDetails.xml b/src/templateDetails.xml index 859482e..1d186f7 100644 --- a/src/templateDetails.xml +++ b/src/templateDetails.xml @@ -43,6 +43,7 @@ hello@mokoconsulting.tech (C)GNU General Public License Version 3 - 2026 Moko Consulting Version License Joomla PHP

MokoOnyx

MokoOnyx is a modern, lightweight enhancement layer built on Joomla's Cassiopeia template. It adds Font Awesome 7, Bootstrap 5 helpers, automatic Table of Contents, advanced Dark Mode theming, and optional Google Tag Manager / GA4 integration — all with minimal core overrides for maximum upgrade compatibility.

Custom Colour Themes

Copy templates/mokoonyx/templates/light.custom.css to media/templates/site/mokoonyx/css/theme/light.custom.css (or dark equivalent), customise the CSS variables, then select "Custom" in the Theme tab.

Custom CSS & JavaScript

  • media/templates/site/mokoonyx/css/user.css — custom CSS overrides
  • media/templates/site/mokoonyx/js/user.js — custom JavaScript

These files survive template updates.

]]>
+ 8.1.0 1 component.php @@ -365,5 +366,4 @@ - -- 2.52.0 From bb8a59d8afb1ee9533deac7210129bf25a02db0c Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Fri, 29 May 2026 10:52:56 +0000 Subject: [PATCH 4/8] chore(version): auto-bump 02.09.01-dev [skip ci] --- .mokogitea/manifest.xml | 2 +- .mokogitea/workflows/issue-branch.yml | 2 +- CHANGELOG.md | 4 ++-- SECURITY.md | 2 +- src/html/com_joomgallery/category/default.php | 2 +- src/html/com_joomgallery/category/default_cat.php | 2 +- src/html/com_joomgallery/gallery/default.php | 2 +- src/html/com_joomgallery/image/default.php | 2 +- src/html/layouts/joomla/module/card.php | 2 +- src/html/layouts/mokoonyx/article-metadata.php | 2 +- src/media/css/a11y-high-contrast.css | 2 +- src/templateDetails.xml | 2 +- updates.xml | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.mokogitea/manifest.xml b/.mokogitea/manifest.xml index 9febe09..b0a6860 100644 --- a/.mokogitea/manifest.xml +++ b/.mokogitea/manifest.xml @@ -8,7 +8,7 @@ Template - MokoOnyx MokoConsulting MokoOnyx - Joomla site template (successor to MokoCassiopeia) - 02.09.00 + 02.09.01 GNU General Public License v3 diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index f084fe1..d08e87a 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: moko-platform.Automation -# VERSION: 01.00.00 +# VERSION: 02.09.01 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CHANGELOG.md b/CHANGELOG.md index 14bfa7e..261ab91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,11 @@ DEFGROUP: Joomla.Template.Site INGROUP: MokoOnyx.Documentation PATH: ./CHANGELOG.md - VERSION: 03.09.03 + VERSION: 02.09.01 BRIEF: Changelog file documenting version history of MokoOnyx --> -# Changelog — MokoOnyx (VERSION: 03.09.03) +# Changelog — MokoOnyx (VERSION: 02.09.01) ## [Unreleased] ## [02.08.00] --- 2026-05-29 diff --git a/SECURITY.md b/SECURITY.md index 7016afe..9647471 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,7 +10,7 @@ INGROUP: MokoOnyx.Governance REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx FILE: SECURITY.md - VERSION: 03.09.03 + VERSION: 02.09.01 BRIEF: Security policy and vulnerability reporting process for MokoOnyx. PATH: /SECURITY.md NOTE: This policy is process oriented and does not replace secure engineering practices. diff --git a/src/html/com_joomgallery/category/default.php b/src/html/com_joomgallery/category/default.php index a3118e2..c2a07a9 100644 --- a/src/html/com_joomgallery/category/default.php +++ b/src/html/com_joomgallery/category/default.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/category/default.php - * VERSION: 01.00.00 + * VERSION: 02.09.01 * BRIEF: Category view override — password gate then loads default_cat sub-layout */ diff --git a/src/html/com_joomgallery/category/default_cat.php b/src/html/com_joomgallery/category/default_cat.php index fbbcad2..a5b62ac 100644 --- a/src/html/com_joomgallery/category/default_cat.php +++ b/src/html/com_joomgallery/category/default_cat.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/category/default_cat.php - * VERSION: 01.00.00 + * VERSION: 02.09.01 * BRIEF: Category sub-layout — subcategories grid + images grid with pagination */ diff --git a/src/html/com_joomgallery/gallery/default.php b/src/html/com_joomgallery/gallery/default.php index 8eb0aae..f3e62ba 100644 --- a/src/html/com_joomgallery/gallery/default.php +++ b/src/html/com_joomgallery/gallery/default.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/gallery/default.php - * VERSION: 01.00.00 + * VERSION: 02.09.01 * BRIEF: Gallery view override — main image grid with masonry/justified layout */ diff --git a/src/html/com_joomgallery/image/default.php b/src/html/com_joomgallery/image/default.php index 536fcdc..ba2b27e 100644 --- a/src/html/com_joomgallery/image/default.php +++ b/src/html/com_joomgallery/image/default.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/image/default.php - * VERSION: 01.00.00 + * VERSION: 02.09.01 * BRIEF: Image detail view override — single image with metadata, tags, custom fields */ diff --git a/src/html/layouts/joomla/module/card.php b/src/html/layouts/joomla/module/card.php index 1c9de60..52bf39e 100644 --- a/src/html/layouts/joomla/module/card.php +++ b/src/html/layouts/joomla/module/card.php @@ -10,7 +10,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/layouts/joomla/module/card.php - * VERSION: 01.00.07 + * VERSION: 02.09.01 * BRIEF: Custom card module chrome — renders module titles for all modules */ diff --git a/src/html/layouts/mokoonyx/article-metadata.php b/src/html/layouts/mokoonyx/article-metadata.php index 418f164..9509c63 100644 --- a/src/html/layouts/mokoonyx/article-metadata.php +++ b/src/html/layouts/mokoonyx/article-metadata.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx.Layouts * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /src/html/layouts/mokoonyx/article-metadata.php - * VERSION: 03.09.04 + * VERSION: 02.09.01 * BRIEF: Article metadata footer layout -- renders jcfields grouped by field group */ diff --git a/src/media/css/a11y-high-contrast.css b/src/media/css/a11y-high-contrast.css index dac45c4..ac1a13c 100644 --- a/src/media/css/a11y-high-contrast.css +++ b/src/media/css/a11y-high-contrast.css @@ -10,7 +10,7 @@ * INGROUP: MokoOnyx.Accessibility * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: ./media/css/a11y-high-contrast.css - * VERSION: 03.09.14 + * VERSION: 02.09.01 * BRIEF: High-contrast stylesheet for accessibility toolbar */ diff --git a/src/templateDetails.xml b/src/templateDetails.xml index 1d186f7..fa98770 100644 --- a/src/templateDetails.xml +++ b/src/templateDetails.xml @@ -36,7 +36,7 @@ Template - MokoOnyx - 02.08.00-dev + 02.09.01-dev script.php 2026-05-16 Jonathan Miller || Moko Consulting diff --git a/updates.xml b/updates.xml index bbef77b..0af0498 100644 --- a/updates.xml +++ b/updates.xml @@ -1,7 +1,7 @@ -- 2.52.0 From da84c02ba6c298d4ea12f88513025628e38d9f2b Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Fri, 29 May 2026 05:53:57 -0500 Subject: [PATCH 5/8] style: add margin-right to .fa-regular icons Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- src/media/css/template.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/media/css/template.css b/src/media/css/template.css index 129d4c4..dc5b887 100644 --- a/src/media/css/template.css +++ b/src/media/css/template.css @@ -23510,3 +23510,7 @@ font-size: 0.8125rem; .fa-solid { margin-right: 0.25rem; } + +.fa-regular { + margin-right: 0.25rem; +} -- 2.52.0 From c2c2389d718991aacd39e6e0b6804ce0171c10b7 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Fri, 29 May 2026 10:54:33 +0000 Subject: [PATCH 6/8] chore(version): auto-bump 02.09.02-dev [skip ci] --- .mokogitea/manifest.xml | 2 +- .mokogitea/workflows/issue-branch.yml | 2 +- CHANGELOG.md | 4 ++-- SECURITY.md | 2 +- src/html/com_joomgallery/category/default.php | 2 +- src/html/com_joomgallery/category/default_cat.php | 2 +- src/html/com_joomgallery/gallery/default.php | 2 +- src/html/com_joomgallery/image/default.php | 2 +- src/html/layouts/joomla/module/card.php | 2 +- src/html/layouts/mokoonyx/article-metadata.php | 2 +- src/media/css/a11y-high-contrast.css | 2 +- src/templateDetails.xml | 2 +- updates.xml | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.mokogitea/manifest.xml b/.mokogitea/manifest.xml index b0a6860..5af7967 100644 --- a/.mokogitea/manifest.xml +++ b/.mokogitea/manifest.xml @@ -8,7 +8,7 @@ Template - MokoOnyx MokoConsulting MokoOnyx - Joomla site template (successor to MokoCassiopeia) - 02.09.01 + 02.09.02 GNU General Public License v3 diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index d08e87a..becb3a5 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: moko-platform.Automation -# VERSION: 02.09.01 +# VERSION: 02.09.02 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CHANGELOG.md b/CHANGELOG.md index 261ab91..f1868e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,11 @@ DEFGROUP: Joomla.Template.Site INGROUP: MokoOnyx.Documentation PATH: ./CHANGELOG.md - VERSION: 02.09.01 + VERSION: 02.09.02 BRIEF: Changelog file documenting version history of MokoOnyx --> -# Changelog — MokoOnyx (VERSION: 02.09.01) +# Changelog — MokoOnyx (VERSION: 02.09.02) ## [Unreleased] ## [02.08.00] --- 2026-05-29 diff --git a/SECURITY.md b/SECURITY.md index 9647471..ce424e0 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,7 +10,7 @@ INGROUP: MokoOnyx.Governance REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx FILE: SECURITY.md - VERSION: 02.09.01 + VERSION: 02.09.02 BRIEF: Security policy and vulnerability reporting process for MokoOnyx. PATH: /SECURITY.md NOTE: This policy is process oriented and does not replace secure engineering practices. diff --git a/src/html/com_joomgallery/category/default.php b/src/html/com_joomgallery/category/default.php index c2a07a9..f806229 100644 --- a/src/html/com_joomgallery/category/default.php +++ b/src/html/com_joomgallery/category/default.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/category/default.php - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: Category view override — password gate then loads default_cat sub-layout */ diff --git a/src/html/com_joomgallery/category/default_cat.php b/src/html/com_joomgallery/category/default_cat.php index a5b62ac..f09db12 100644 --- a/src/html/com_joomgallery/category/default_cat.php +++ b/src/html/com_joomgallery/category/default_cat.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/category/default_cat.php - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: Category sub-layout — subcategories grid + images grid with pagination */ diff --git a/src/html/com_joomgallery/gallery/default.php b/src/html/com_joomgallery/gallery/default.php index f3e62ba..a87a87f 100644 --- a/src/html/com_joomgallery/gallery/default.php +++ b/src/html/com_joomgallery/gallery/default.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/gallery/default.php - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: Gallery view override — main image grid with masonry/justified layout */ diff --git a/src/html/com_joomgallery/image/default.php b/src/html/com_joomgallery/image/default.php index ba2b27e..ef7efb2 100644 --- a/src/html/com_joomgallery/image/default.php +++ b/src/html/com_joomgallery/image/default.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/image/default.php - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: Image detail view override — single image with metadata, tags, custom fields */ diff --git a/src/html/layouts/joomla/module/card.php b/src/html/layouts/joomla/module/card.php index 52bf39e..bf0cd1f 100644 --- a/src/html/layouts/joomla/module/card.php +++ b/src/html/layouts/joomla/module/card.php @@ -10,7 +10,7 @@ * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/layouts/joomla/module/card.php - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: Custom card module chrome — renders module titles for all modules */ diff --git a/src/html/layouts/mokoonyx/article-metadata.php b/src/html/layouts/mokoonyx/article-metadata.php index 9509c63..a0b2e69 100644 --- a/src/html/layouts/mokoonyx/article-metadata.php +++ b/src/html/layouts/mokoonyx/article-metadata.php @@ -11,7 +11,7 @@ * INGROUP: MokoOnyx.Layouts * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /src/html/layouts/mokoonyx/article-metadata.php - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: Article metadata footer layout -- renders jcfields grouped by field group */ diff --git a/src/media/css/a11y-high-contrast.css b/src/media/css/a11y-high-contrast.css index ac1a13c..d8ac8f9 100644 --- a/src/media/css/a11y-high-contrast.css +++ b/src/media/css/a11y-high-contrast.css @@ -10,7 +10,7 @@ * INGROUP: MokoOnyx.Accessibility * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: ./media/css/a11y-high-contrast.css - * VERSION: 02.09.01 + * VERSION: 02.09.02 * BRIEF: High-contrast stylesheet for accessibility toolbar */ diff --git a/src/templateDetails.xml b/src/templateDetails.xml index fa98770..701973b 100644 --- a/src/templateDetails.xml +++ b/src/templateDetails.xml @@ -36,7 +36,7 @@ Template - MokoOnyx - 02.09.01-dev + 02.09.02-dev script.php 2026-05-16 Jonathan Miller || Moko Consulting diff --git a/updates.xml b/updates.xml index 0af0498..a3a4196 100644 --- a/updates.xml +++ b/updates.xml @@ -1,7 +1,7 @@ -- 2.52.0 From 3fc84f5aaadbff29ae85958a3a9d82ee171e27dc Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Fri, 29 May 2026 18:41:01 -0500 Subject: [PATCH 7/8] fix(workflows): trigger promote-rc on PR opened to main [skip bump] Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- .mokogitea/workflows/auto-release.yml | 82 +++++++++++++++++++++------ 1 file changed, 65 insertions(+), 17 deletions(-) diff --git a/.mokogitea/workflows/auto-release.yml b/.mokogitea/workflows/auto-release.yml index 72ce95a..5216e6b 100644 --- a/.mokogitea/workflows/auto-release.yml +++ b/.mokogitea/workflows/auto-release.yml @@ -51,12 +51,12 @@ permissions: contents: write jobs: - # ── Draft PR → Promote highest pre-release to RC ───────────────────────────── + # ── PR Opened → Rename branch to RC and build RC release ───────────────────── promote-rc: - name: Promote Pre-Release to RC + name: Promote to RC runs-on: release if: >- - (github.event.action == 'opened' && github.event.pull_request.draft == true) || + (github.event.action == 'opened' && github.event.pull_request.merged != true) || (github.event_name == 'workflow_dispatch' && inputs.action == 'promote-rc') steps: @@ -82,14 +82,56 @@ jobs: cd /tmp/moko-platform-api composer install --no-dev --no-interaction --quiet - - name: Promote to release-candidate + - name: Rename source branch to rc run: | + SOURCE_BRANCH="${{ github.event.pull_request.head.ref || 'dev' }}" API_BASE="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}" - php /tmp/moko-platform-api/cli/release_promote.php \ - --from auto --to release-candidate \ + PR_NUM="${{ github.event.pull_request.number }}" + php /tmp/moko-platform-api/cli/branch_rename.php \ + --from "$SOURCE_BRANCH" --to rc \ --token "${{ secrets.MOKOGITEA_TOKEN }}" \ --api-base "${API_BASE}" \ - --branch "${{ github.event.pull_request.head.ref || 'dev' }}" + --pr "$PR_NUM" + + - name: Set RC version on renamed branch + run: | + # Checkout the new rc branch + git fetch origin rc + git checkout rc + API_BASE="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}" + MOKO_CLI="/tmp/moko-platform-api/cli" + + VERSION=$(php ${MOKO_CLI}/version_read.php --path .) || true + [ -z "$VERSION" ] && { echo "No version — skipping"; exit 0; } + + php ${MOKO_CLI}/version_set_platform.php \ + --path . --version "$VERSION" --branch rc --stability rc 2>/dev/null || true + php ${MOKO_CLI}/version_check.php --path . --fix 2>/dev/null || true + + if ! git diff --quiet || ! git diff --cached --quiet; then + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" + git add -A + git commit -m "chore(version): set RC stability suffix [skip ci]" \ + --author="gitea-actions[bot] " + git push origin rc + fi + + - name: Build RC release + run: | + API_BASE="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}" + MOKO_CLI="/tmp/moko-platform-api/cli" + VERSION=$(php ${MOKO_CLI}/version_read.php --path .) || true + + php ${MOKO_CLI}/release_create.php \ + --path . --version "$VERSION" --tag "release-candidate" \ + --token "${{ secrets.MOKOGITEA_TOKEN }}" --api-base "$API_BASE" \ + --repo "${GITEA_REPO}" --branch rc 2>&1 || true + + php ${MOKO_CLI}/release_package.php \ + --path . --version "$VERSION" --tag "release-candidate" \ + --token "${{ secrets.MOKOGITEA_TOKEN }}" --api-base "$API_BASE" \ + --repo "${GITEA_REPO}" --output /tmp 2>&1 || true - name: Cascade lesser channels continue-on-error: true @@ -104,7 +146,7 @@ jobs: if: always() run: | echo "## Promoted to Release Candidate" >> $GITHUB_STEP_SUMMARY - echo "Draft PR opened — promoted highest pre-release to RC" >> $GITHUB_STEP_SUMMARY + echo "Draft PR opened — branch renamed to rc, RC release built" >> $GITHUB_STEP_SUMMARY # ── Merged PR → Build & Release (or promote RC to stable) ──────────────────── release: @@ -165,9 +207,8 @@ jobs: echo "skip=true" >> "$GITHUB_OUTPUT" exit 0 fi - # Strip any pre-release suffix merged from dev (e.g. 01.02.20-dev → 01.02.20) - VERSION=$(echo "$VERSION" | sed 's/-\(dev\|alpha\|beta\|rc\)$//') - MAJOR=$(echo "$VERSION" | cut -d. -f1) + # version_set_platform strips suffixes internally when --stability stable + MAJOR=$(echo "$VERSION" | cut -d. -f1 | sed 's/-.*//') echo "version=${VERSION}" >> "$GITHUB_OUTPUT" echo "release_tag=stable" >> "$GITHUB_OUTPUT" echo "skip=false" >> "$GITHUB_OUTPUT" @@ -181,7 +222,7 @@ jobs: API_BASE="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}" RC_JSON=$(curl -sf -H "Authorization: token ${{ secrets.MOKOGITEA_TOKEN }}" \ "${API_BASE}/releases/tags/release-candidate" 2>/dev/null || echo "{}") - RC_ID=$(echo "$RC_JSON" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('id',''))" 2>/dev/null || true) + RC_ID=$(echo "$RC_JSON" | php -r "\$d=json_decode(file_get_contents('php://stdin'),true); echo \$d['id'] ?? '';" 2>/dev/null || true) if [ -n "$RC_ID" ] && [ "$RC_ID" != "None" ] && [ "$RC_ID" != "" ]; then echo "promote=true" >> "$GITHUB_OUTPUT" @@ -201,8 +242,7 @@ jobs: MOKO_API="/tmp/moko-platform-api/cli" php ${MOKO_API}/version_bump.php --path . --minor 2>&1 || true VERSION=$(php ${MOKO_API}/version_read.php --path .) - # Strip any pre-release suffix — stable releases have no suffix - VERSION=$(echo "$VERSION" | sed 's/-\(dev\|alpha\|beta\|rc\)$//') + # version_set_platform handles suffix stripping — just pass clean base version echo "version=${VERSION}" >> "$GITHUB_OUTPUT" echo "Bumped to: ${VERSION}" @@ -376,7 +416,7 @@ jobs: API="${GITEA_URL}/api/v1/repos/${{ github.repository }}" curl -sf -H "Authorization: token ${GITEA_TOKEN}" \ "${API}/contents/updates.xml?ref=main" 2>/dev/null | \ - python3 -c "import sys,json,base64; print(base64.b64decode(json.load(sys.stdin)['content']).decode())" \ + php -r "\$d=json_decode(file_get_contents('php://stdin'),true); echo base64_decode(\$d['content'] ?? '');" \ > updates.xml 2>/dev/null || true SHA_FLAG="" @@ -457,13 +497,21 @@ jobs: --token "${{ secrets.MOKOGITEA_TOKEN }}" \ --api-base "${API_BASE}" 2>/dev/null || true - - name: "Step 11: Delete and recreate dev branch from main" + - name: "Step 11: Clean up pre-release branches and recreate dev from main" if: steps.version.outputs.skip != 'true' continue-on-error: true run: | API_BASE="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}" TOKEN="${{ secrets.MOKOGITEA_TOKEN }}" + # Delete ephemeral pre-release branches (rc, alpha, beta) + for EPHEMERAL in rc alpha beta; do + curl -sf -X DELETE -H "Authorization: token ${TOKEN}" \ + "${API_BASE}/branches/${EPHEMERAL}" 2>/dev/null \ + && echo "Deleted ${EPHEMERAL} branch" \ + || echo "${EPHEMERAL} branch not found" + done + # Delete dev branch curl -sf -X DELETE -H "Authorization: token ${TOKEN}" \ "${API_BASE}/branches/dev" 2>/dev/null && echo "Deleted dev branch" @@ -474,7 +522,7 @@ jobs: "${API_BASE}/branches" \ -d '{"new_branch_name":"dev","old_branch_name":"main"}' 2>/dev/null && echo "Recreated dev from main" - echo "Dev branch reset from main (keeps dev ahead after release)" >> $GITHUB_STEP_SUMMARY + echo "Pre-release branches cleaned, dev reset from main" >> $GITHUB_STEP_SUMMARY - name: "Step 12: Create version branch from main" if: steps.version.outputs.skip != 'true' -- 2.52.0 From 8353651f8da9be9153ae12f51ba9601b0e31d70c Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Sat, 30 May 2026 00:27:35 +0000 Subject: [PATCH 8/8] chore(version): set RC stability suffix [skip ci] --- src/templateDetails.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templateDetails.xml b/src/templateDetails.xml index 701973b..94cb8c8 100644 --- a/src/templateDetails.xml +++ b/src/templateDetails.xml @@ -36,7 +36,7 @@ Template - MokoOnyx - 02.09.02-dev + 02.09.02-rc script.php 2026-05-16 Jonathan Miller || Moko Consulting -- 2.52.0