Commit Graph

106 Commits

Author SHA1 Message Date
97d3133843 03.09.01 — mod_custom hero override, palette starter files, updated descriptions (#84)
* Add mod_custom hero layout override and bump version to 03.09.01

Adds src/html/mod_custom/hero.php — a banner-overlay style template
override for mod_custom, mirroring Cassiopeia's banner layout pattern.
Includes background image support via WebAssetManager and respects the
Module Manager's moduleclass_sfx field.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Ignore and untrack .claude/settings.local.json

Adds .claude/settings.local.json to .gitignore and removes it from
version control to keep local Claude Code permissions out of the repo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Ship custom palette starters and update template description

- Add src/templates/light.custom.css and dark.custom.css as starter
  palette files that ship with the template, giving users a full
  variable reference to copy and customise
- Register src/templates/ folder in templateDetails.xml <files>
- Update <description> in templateDetails.xml: correct palette source
  paths, add Custom CSS & JavaScript section (user.css / user.js),
  link docs to GitHub repo docs/ directory
- Sync en-GB and en-US tpl_mokocassiopeia.sys.ini with same changes,
  preserving British/American spelling variants; bump version to 03.09.01

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add CSS Variables reference tab to template options

Adds a new 'CSS Variables' tab to the template configuration with eight
documented sections (brand, typography, navigation, header background,
container backgrounds, borders/shadows, forms/focus) so site builders
can reference all available custom properties without leaving Joomla admin.

Also removes external docs links from descriptions in templateDetails.xml
and both language files, replacing them with a pointer to the new tab.
Fixes stale custom palette source paths in en-GB and en-US ini files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Expand CSS Variables tab to full variable reference and add custom-hero class

- Replace 8-field CSS Variables tab with 21 comprehensive sections covering
  all variables from light.standard.css and dark.standard.css
- New sections: Links, Layout & Spacing, Breakpoints, Bootstrap Semantic
  Palette, Bootstrap State Colors, Alert & List Group Colors, Standard
  Colors/Grays/Opacity, Shadows & Shadow Tokens, Buttons, Cards,
  Component & Plugin Colors, VirtueMart, Gable
- Add custom-hero class to hero.php outer div (always present)
- Both en-GB and en-US language files updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add Google Search Console verification and ensure all Google services coexist

- Add googlesitekey param to Google fieldset in templateDetails.xml
- Inject <meta name="google-site-verification"> via setMetaData() in
  index.php, component.php, and offline.php
- GTM, GA, and Search Console verification can now all be active simultaneously
- Add language strings for new field in en-US and en-GB

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add header-aside module position to the right of the logo

- New position renders inside .header-brand-wrap, right-aligned via
  margin-inline-start: auto on .container-header-aside
- CSS: .header-brand-wrap uses flexbox so logo stays left, aside floats right
- Registered in templateDetails.xml positions list
- Language strings added to both en-US and en-GB sys.ini files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add minify build script and generate .min CSS/JS; rename position to brand-aside

Build tooling:
- Add package.json with clean-css and terser dev dependencies
- Add scripts/minify.js: reads joomla.asset.json, auto-detects source/.min
  pairs, and minifies all template-owned CSS and JS files
- Add node_modules/ to .gitignore

Generated .min files (all 6 manifest pairs):
- css/template.min.css      (17.8% saved)
- css/editor.min.css        (49.4% saved)
- css/theme/light.standard.min.css  (13.1% saved)
- css/theme/dark.standard.min.css   (14.4% saved)
- js/template.min.js        (58.2% saved)
- js/gtm.min.js             (62.3% saved)

Rename: header-aside → brand-aside (position, CSS class, language keys)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add hero/banner-overlay CSS variables and wire template.css

- Add HERO / BANNER OVERLAY section to light.standard.css and dark.standard.css:
  --hero-height, --hero-color, --hero-bg-repeat, --hero-bg-attachment,
  --hero-bg-position, --hero-bg-size, --hero-border-bottom,
  --hero-overlay-bg (light: 0.1 alpha / dark: 0.3 alpha),
  --hero-overlay-padding, --hero-overlay-text-align, --hero-overlay-text-color
- Replace all hardcoded values in .container-banner .banner-overlay and
  .overlay with var() references (with fallbacks)
- Fix background-position: comma syntax → correct space-separated single-bg value
- Add css_vars_hero note field to CSS Variables tab in templateDetails.xml
- Add TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_LABEL/DESC to en-US and en-GB
- Regenerate .min files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add smooth theme-switch transitions and restore hero .overlay wrapper

- Add prefers-reduced-motion-scoped CSS transitions (bg, color, border) on
  :root, body, and key layout containers so light/dark theme switches animate
  smoothly instead of snapping
- Restore <div class="overlay"> child in hero.php; slim .custom-hero rule to a
  customisation hook only — visual overlay styles are handled by .overlay child
- Regenerate template.min.css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Update template.css

* Merge duplicate prefers-reduced-motion media queries

Consolidate the two @media (prefers-reduced-motion: no-preference) blocks
into one — scroll-behavior and theme-switch colour transitions share the
same query and are cleaner in a single block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Promote offcanvas variables to :root theme files and document in CSS Variables tab

- Move --offcanvas-* definitions from component-scoped .offcanvas selector in
  template.css into :root[data-bs-theme] blocks in light.standard.css and
  dark.standard.css so they are overridable via user.css at root level
- Fix two bugs in the old definitions: --offcanvas-bg was incorrectly set to
  var(--body-color) (text colour); corrected to var(--body-bg); and
  --offcanvas-color had a spurious 'color:' prefix
- Dark theme uses a heavier box-shadow (0.3 alpha) for better depth perception
- Add css_vars_offcanvas field to templateDetails.xml CSS Variables tab
- Add en-US and en-GB language strings for the new Offcanvas Panel section
- Rebuild all .min CSS files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Promote Bootstrap component variables from template.css to :root theme files

Move 16 component variable groups from component-scoped selectors in
template.css into :root[data-bs-theme] blocks in light.standard.css and
dark.standard.css:

accordion, breadcrumb, pagination, badge, alert, progress, list-group,
dropdown, toast, modal, tooltip, popover, spinner, nav, nav-tabs, nav-pills

Dark theme values adapted for dark surfaces: semantic var() references,
lighter SVG icon fill colours, heavier shadows, secondary-bg backgrounds.
Component selectors in template.css retain only non-variable rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Promote table and backdrop variables to :root theme files

Move --table-* and --backdrop-* base definitions from component selectors
in template.css into :root[data-bs-theme] blocks in light/dark theme files.

Dark table uses white-rgb-based striped/active overlays for proper contrast
on dark surfaces. Deduplicate the double --table-active-* declarations that
existed in template.css. Backdrop values are identical in both themes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add CSS Variables tab documentation for all promoted Bootstrap components

Add LABEL/DESC language strings (en-US + en-GB) for all 17 Bootstrap
component variable groups now living in the :root theme files:

accordion, alert, badge, backdrop, breadcrumb, dropdown, list-group,
modal, nav-tabs, nav-pills, pagination, popover, progress, spinner,
table, toast, tooltip

Each section documents variables with HTML subheadings (Dimensions,
Colours, Typography, Stacking, Animation) and <code> tags for every
variable name. British English spellings used throughout en-GB.

Adds 34 new lines per language file (17 LABEL + 17 DESC pairs, 80
CSS_VARS_* keys total). XML fields were already present from the
prior migration commit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 16:48:07 -05:00
copilot-swe-agent[bot]
8159b134a5 Address final code review feedback
- Add setup notes to font CSS files about required downloads
- Restore alert-warning class for font note (important setup info)
- Fix alignment in success message border

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 20:53:18 +00:00
copilot-swe-agent[bot]
3881dfd3df Fix code review issues: version numbers and headers
- Update font CSS files to use version 03.08.04 (current release)
- Add copyright header to GOOGLE_FONTS_README.md
- Fix border alignment in download-google-fonts.sh header

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 20:51:30 +00:00
copilot-swe-agent[bot]
6130302312 Add self-hosted Google Fonts infrastructure
- Create @font-face CSS files for Roboto, Noto Sans, Fira Sans
- Add download script for Google Fonts (download-google-fonts.sh)
- Add GOOGLE_FONTS_README.md with download instructions
- Font files ready for woff2 files to be added

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 20:42:51 +00:00
copilot-swe-agent[bot]
4e81b95fdf Remove client fork references from documentation
- Update README.md to remove client fork sections
- Update CLAUDE.md to remove client fork file references
- Update copilot-instructions.md to remove client fork section
- Update templates/README.md for empty directory
- Update scripts/README.md to remove create-client-fork.sh
- Update docs/README.md to remove CLIENT_FORK_WORKFLOW.md references

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 20:41:28 +00:00
copilot-swe-agent[bot]
e8a432c82a Remove client fork infrastructure and update nav padding
- Remove client fork automation script and workflow
- Remove client fork documentation and templates
- Update .container-header nav padding to 0 2rem

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 20:37:06 +00:00
copilot-swe-agent[bot]
ded3cc53d9 Simplify client fork workflow to colors only
- Created templates/gitignore-template for client forks
- Updated scripts/create-client-fork.sh to only handle colors
- Updated .github/workflows/create-client-fork.yml to match simplified workflow
- Updated docs/CLIENT_FORK_WORKFLOW.md with colors-only approach
- Updated templates/README.md to remove custom code fork references
- Client forks now only track custom color files, not README or custom code

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-04 05:18:35 +00:00
copilot-swe-agent[bot]
1a210bdb95 Fix remaining src/templates references in workflow and scripts
- Update release.yml to use src/templateDetails.xml for version updates
- Fix scripts/README.md documentation to use correct src/ paths
- All documentation and scripts now use consistent correct paths

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-01 07:21:08 +00:00
copilot-swe-agent[bot]
6b2d21ad48 Fix documentation and build scripts for src/ hierarchy
- Update all documentation files to reflect correct src/ structure
- Fix release.yml workflow to copy from src/ instead of src/templates/
- Fix build-release.sh script to use correct paths
- Remove references to non-existent src/templates/ directory

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-01 07:19:55 +00:00
copilot-swe-agent[bot]
63a7b9dbb4 Add release workflows and build scripts from MokoStandards
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-02-27 04:31:30 +00:00
copilot-swe-agent[bot]
64e8db75aa Add client fork creation workflow and script
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-02-20 01:38:06 +00:00
copilot-swe-agent[bot]
6da543f208 Delete workflows/, scripts/ directories
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-02-08 07:13:49 +00:00
Moko Standards Bot
f5c8f42440 chore: sync workflows, scripts, and configurations from MokoStandards 2026-01-30 04:44:59 +00:00
copilot-swe-agent[bot]
e02bc0323f fix: Standardize XML schema and update timestamps
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-30 02:40:29 +00:00
copilot-swe-agent[bot]
a5cd287431 refactor: Remove unused imports and add exception comments
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-30 02:39:10 +00:00
Moko Standards Bot
0f2c0c1166 chore: sync workflows, scripts, and configurations from MokoStandards 2026-01-30 02:15:07 +00:00
copilot-swe-agent[bot]
09a4b0b490 Sync with MokoStandards: remove local scripts and reusable workflows
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-18 01:36:58 +00:00
copilot-swe-agent[bot]
1881ced6bf Changes before error encountered
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-17 23:51:45 +00:00
83705e10d9 Fix for Syntax error
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com>
2026-01-17 17:34:30 -06:00
46ce1328ff Unused local variable 2026-01-17 17:31:40 -06:00
f70b702b76 Unused import A module is imported (using the import statement) but that module is never used. This creates a dependency that does not need to exist and makes the code more difficult to read. Recommendation Delete the import statement. 2026-01-17 17:21:10 -06:00
copilot-swe-agent[bot]
91b2c643d2 Fix regex character class in version escaping
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-09 01:20:41 +00:00
copilot-swe-agent[bot]
1ee2b16c7b Improve date normalization script with validation and regex escaping
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-09 01:19:43 +00:00
copilot-swe-agent[bot]
d65ccfe6ba Add date normalization script for release pipeline
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-09 01:18:20 +00:00
copilot-swe-agent[bot]
52a7d341ef Refine error handling and Dolibarr detection patterns
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 21:18:23 +00:00
copilot-swe-agent[bot]
4f88790215 Address code review feedback and improve platform detection
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 21:16:47 +00:00
copilot-swe-agent[bot]
a14418e838 Add dev tools and make build/release platform-aware (Joomla/Dolibarr)
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 21:14:45 +00:00
copilot-swe-agent[bot]
f8568ffff5 Convert shell scripts to Python with Joomla/Dolibarr platform support
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:26:12 +00:00
copilot-swe-agent[bot]
22bf6894c9 Fix scripts README.md
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:23:38 +00:00
copilot-swe-agent[bot]
a90461f503 Update documentation for Python scripts and Dolibarr support
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:23:16 +00:00
copilot-swe-agent[bot]
09989a386c Delete all shell script files, keeping only Python versions
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:21:25 +00:00
copilot-swe-agent[bot]
c471225a93 Add validate_all.py and update package_extension.py for Dolibarr support
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:20:19 +00:00
copilot-swe-agent[bot]
ef9bf28444 Update workflows and Makefile to use Python scripts instead of shell scripts
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:18:51 +00:00
copilot-swe-agent[bot]
4ad79f27d2 Add Dolibarr support and convert tabs/no_secrets validation to Python
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 08:16:35 +00:00
copilot-swe-agent[bot]
d1818ec859 feat: add Python packaging script for extensions
- Add scripts/release/package_extension.py for creating distribution ZIPs
- Auto-detects extension type, version, and manifest
- Configurable exclusion patterns
- Support for including/excluding docs and tests
- Progress indicators during packaging
- JSON output for automation
- Tested and working (175 files, 477KB package)

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 05:19:06 +00:00
copilot-swe-agent[bot]
404987a59d feat: convert validation scripts to Python
- Add scripts/validate/manifest.py for manifest validation
- Add scripts/validate/php_syntax.py for PHP syntax checking
- Add scripts/validate/xml_wellformed.py for XML validation
- All Python validators maintain CLI compatibility with bash versions
- Support both JSON output and verbose human-readable output
- Update .gitignore to exclude Python cache files
- Update Makefile with scaffolding commands

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 05:17:28 +00:00
copilot-swe-agent[bot]
64f4b959f8 Changes before error encountered
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 04:41:54 +00:00
copilot-swe-agent[bot]
4d8963fd27 feat: add Python library infrastructure and extension scaffolding
- Add scripts/lib/common.py with core utilities (logging, validation, JSON, file ops, git)
- Add scripts/lib/joomla_manifest.py for manifest parsing and validation
- Add scripts/run/scaffold_extension.py to create extension scaffolding
- Support all Joomla extension types (component, module, plugin, template, package)
- Maintain CLI compatibility with existing bash scripts
- Foundation for converting remaining scripts to Python

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 04:40:29 +00:00
copilot-swe-agent[bot]
15205433c9 fix: address code review feedback
- Fix command injection vulnerabilities in pre-commit script
- Use proper file path quoting for YAML validation
- Use xargs -0 for safe filename handling
- Fix incorrect date (2026 -> 2025) in documentation
- Add scripts/git to allowed directories in repo_health workflow

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 04:29:20 +00:00
copilot-swe-agent[bot]
e1c7f54fec feat: add development workflow improvements
- Add comprehensive workflow documentation (WORKFLOW_GUIDE.md)
- Add quick start guide (QUICK_START.md)
- Add caching to GitHub Actions workflows for faster CI/CD
- Create Makefile with common development tasks
- Add pre-commit hook script for local validation
- Add VS Code tasks configuration
- Add git hooks installation script
- Update .gitignore to allow VS Code config files

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 04:27:23 +00:00
Jonathan Miller
9d38c4d5d7 Merge pull request #30 from mokoconsulting-tech/copilot/add-joomla-development-scripts
Add Joomla-aware development workflows and scripts
2026-01-03 22:17:26 -06:00
copilot-swe-agent[bot]
d9b4147e8b Update documentation and fix repository URL
- Add package_extension.sh documentation to scripts README
- Add Development section to main README with Joomla workflows
- Fix repository URL typo (moko-cassiopeoa -> moko-cassiopeia)
- Remove extra space in repository URL

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 04:12:31 +00:00
copilot-swe-agent[bot]
9d7651d349 Add Joomla-aware development workflows and scripts
- Created extension packaging script
- Added PHPStan configuration for static analysis
- Added PHP_CodeSniffer configuration with Joomla standards
- Created Codeception testing framework setup
- Added PHP quality check workflow
- Added Joomla testing workflow with multiple versions
- Added staging deployment workflow
- Created comprehensive documentation
- Set up test directory structure with sample tests

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 03:03:20 +00:00
copilot-swe-agent[bot]
dab2477f55 Fix newline handling in migrate_unreleased.sh Python code
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 02:05:54 +00:00
copilot-swe-agent[bot]
a0babe26e4 Add migrate_unreleased.sh script to automate changelog migrations
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 02:03:47 +00:00
copilot-swe-agent[bot]
c286e98212 Remove mandatory Unreleased section requirement from changelog validation
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 01:36:00 +00:00
copilot-swe-agent[bot]
2534fd3cae Address code review feedback - improve error handling and use bash built-ins
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 01:26:21 +00:00
copilot-swe-agent[bot]
d89744df28 Add CI improvements and version management scripts
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-04 01:24:38 +00:00
copilot-swe-agent[bot]
aaa6560d74 Implement verbose error feedback across all scripts
- Enhanced die() function with environment context and stack trace
- Added detailed error output with line numbers and file paths
- Improved check_dependencies with installation guides
- Enhanced PHP syntax validation with full error details
- Added verbose error messages to manifest, tabs, and paths validations
- Updated validate_all to show error summaries (full output in verbose mode)
- Updated smoke_test with detailed PHP error reporting
- Updated ENTERPRISE.md with verbose error examples
- All error messages now provide actionable troubleshooting steps

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-03 23:16:45 +00:00
copilot-swe-agent[bot]
0341131f18 Add enterprise features: timeout handling, duration tracking, and health checking
- Add timeout handling to PHP syntax validation
- Add execution duration tracking to smoke_test and validate_all
- Create script_health.sh to validate enterprise standards compliance
- Enhance error messages with better context and actionable guidance
- Add log_duration helper function to common.sh
- Update ENTERPRISE.md and README.md with new features
- All scripts now follow complete enterprise standards

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-01-03 23:12:40 +00:00