Files
MokoOnyx/src/templateDetails.xml
Jonathan Miller 6f15c3f4f0 refactor: remove CSS variables tab, link to repo docs instead
Replace the large inline CSS variables reference fieldset with a
single note linking to the MokoOnyx repo documentation.
Add docs link to template description.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 23:06:53 +00:00

339 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- =========================================================================
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
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
along with this program. If not, see <https://www.gnu.org/licenses/>.
=========================================================================
FILE INFORMATION
DEFGROUP: Joomla
INGROUP: MokoOnyx
PATH: templates/mokoonyx/templateDetails.xml
VERSION: 03.09.03
BRIEF: Template manifest XML file for MokoOnyx
=========================================================================
-->
<extension type="template" client="site" method="upgrade">
<updateservers>
<server type="extension" priority="1" name="MokoOnyx Update Server (Gitea)">
https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/raw/branch/main/updates.xml
</server>
<server type="extension" priority="2" name="MokoOnyx Update Server (GitHub)">
https://raw.githubusercontent.com/mokoconsulting-tech/MokoOnyx/main/updates.xml
</server>
</updateservers>
<name>MokoOnyx</name>
<version>01.00.21</version>
<scriptfile>script.php</scriptfile>
<creationDate>2026-04-15</creationDate>
<author>Jonathan Miller || Moko Consulting</author>
<authorEmail>hello@mokoconsulting.tech</authorEmail>
<copyright>(C)GNU General Public License Version 3 - 2026 Moko Consulting</copyright>
<description><![CDATA[<div style="padding:1rem;border:2px solid #059669;border-radius:8px;background:#ecfdf5;margin-bottom:1rem;"> <h3 style="color:#065f46;margin:0 0 .5rem;">Migrating from MokoCassiopeia?</h3> <p style="margin:0 0 .75rem;">MokoOnyx automatically imports your MokoCassiopeia settings on first use. To trigger the migration:</p> <ol style="margin:0 0 .75rem 1.5rem;"> <li>Install MokoOnyx via <strong>System → Install → Extensions</strong></li> <li>Go to <strong>System → Site Templates</strong> and set <strong>MokoOnyx</strong> as your default template</li> <li><strong>Visit any page on your site</strong> — the migration runs automatically on first page load</li> <li>Check <strong>administrator/logs/mokoonyx_migrate.log.php</strong> to confirm migration completed</li> <li>Uninstall MokoCassiopeia from <strong>Extensions → Manage</strong></li> </ol> <p style="margin:0;font-size:.9em;color:#065f46;"> <strong>What gets migrated:</strong> template style params, custom colour palettes (light.custom.css, dark.custom.css), user.css, user.js, and update server URL. To re-run the migration, delete <code>templates/mokoonyx/.migrated</code> and reload any page. </p></div> <p><img src="https://img.shields.io/gitea/v/release/MokoConsulting/MokoOnyx?gitea_url=https%3A%2F%2Fgit.mokoconsulting.tech&amp;logo=gitea&amp;logoColor=white&amp;label=version" alt="Version" /> <img src="https://img.shields.io/badge/license-GPL--3.0--or--later-green.svg?logo=gnu&amp;logoColor=white" alt="License" /> <img src="https://img.shields.io/badge/Joomla-5.x%20%7C%206.x-red.svg?logo=joomla&amp;logoColor=white" alt="Joomla" /> <img src="https://img.shields.io/badge/PHP-8.1%2B-777BB4.svg?logo=php&amp;logoColor=white" alt="PHP" /></p> <h3>MokoOnyx</h3> <p> <strong>MokoOnyx</strong> (formerly MokoCassiopeia) 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. </p> <h4>Custom Colour Themes</h4> <p> Copy <code>templates/mokoonyx/templates/light.custom.css</code> to <code>media/templates/site/mokoonyx/css/theme/light.custom.css</code> (or dark equivalent), customise the CSS variables, then select "Custom" in the Theme tab. </p> <h4>Custom CSS &amp; JavaScript</h4> <ul> <li><code>media/templates/site/mokoonyx/css/user.css</code> — custom CSS overrides</li> <li><code>media/templates/site/mokoonyx/js/user.js</code> — custom JavaScript</li> </ul> <p>These files survive template updates.</p> <h4>CSS Variables Reference</h4> <p>For a complete list of CSS variables, see the <a href="https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx" target="_blank">MokoOnyx repository documentation</a>.</p>]]></description>
<inheritable>1</inheritable>
<files>
<filename>component.php</filename>
<filename>error.php</filename>
<filename>index.php</filename>
<filename>joomla.asset.json</filename>
<filename>offline.php</filename>
<filename>script.php</filename>
<filename>sync_custom_vars.php</filename>
<filename>templateDetails.xml</filename>
<folder>helper</folder>
<folder>html</folder>
<folder>language</folder>
<folder>templates</folder>
</files>
<stylesheets>
<stylesheet>media/templates/site/mokoonyx/css/editor.css</stylesheet>
</stylesheets>
<media destination="templates/site/mokoonyx" folder="media">
<folder>js</folder>
<folder>css</folder>
<folder>images</folder>
<folder>fonts</folder>
<folder>vendor</folder>
</media>
<positions>
<position>topbar</position>
<position>below-topbar</position>
<position>below-logo</position>
<position>brand-aside</position>
<position>menu</position>
<position>search</position>
<position>banner</position>
<position>top-a</position>
<position>top-b</position>
<position>main-top</position>
<position>main-bottom</position>
<position>breadcrumbs</position>
<position>sidebar-left</position>
<position>sidebar-right</position>
<position>bottom-a</position>
<position>bottom-b</position>
<position>footer-menu</position>
<position>footer</position>
<position>debug</position>
<position>offline-header</position>
<position>offline</position>
<position>offline-footer</position>
<position>drawer-left</position>
<position>drawer-right</position>
</positions>
<languages>
<language tag="en-GB">language/en-GB/tpl_mokoonyx.ini</language>
<language tag="en-GB">language/en-GB/tpl_mokoonyx.sys.ini</language>
<language tag="en-US">language/en-US/tpl_mokoonyx.ini</language>
<language tag="en-US">language/en-US/tpl_mokoonyx.sys.ini</language>
</languages>
<config>
<fields name="params">
<!-- Advanced tab (non-theme/system options only) -->
<fieldset name="migration" label="TPL_MOKOONYX_MIGRATION_FIELDSET_LABEL">
<field name="migration_note" type="note" label="TPL_MOKOONYX_MIGRATION_NOTE_LABEL" description="TPL_MOKOONYX_MIGRATION_NOTE_DESC" />
<field name="migration_run" type="note" label="TPL_MOKOONYX_MIGRATION_RUN_LABEL" description="TPL_MOKOONYX_MIGRATION_RUN_DESC" />
</fieldset>
<fieldset name="advanced">
<field name="developmentmode" type="radio" label="TPL_MOKOONYX_DEVELOPMENTMODE_LABEL" description="TPL_MOKOONYX_DEVELOPMENTMODE_DESC" default="0" layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="fluidContainer" type="radio" layout="joomla.form.field.radio.switcher" default="0" label="TPL_MOKOONYX_FLUID_LABEL">
<option value="0">TPL_MOKOONYX_STATIC</option>
<option value="1">TPL_MOKOONYX_FLUID</option>
</field>
</fieldset>
<!-- Favicon tab -->
<fieldset name="favicon" label="TPL_MOKOONYX_FAVICON_FIELDSET_LABEL">
<field name="favicon_note" type="note" description="TPL_MOKOONYX_FAVICON_NOTE" />
<field name="favicon_source" type="media" label="TPL_MOKOONYX_FAVICON_SOURCE_LABEL" description="TPL_MOKOONYX_FAVICON_SOURCE_DESC" directory="favicons" types="images" accept="image/png" />
</fieldset>
<!-- Google tab -->
<fieldset name="google" label="TPL_MOKOONYX_GOOGLE_FIELDSET_LABEL">
<field name="googletagmanager" type="radio" label="TPL_MOKOONYX_GOOGLETAGMANAGER_LABEL" description="TPL_MOKOONYX_GOOGLETAGMANAGER_DESC" layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="googletagmanagerid" type="text" default="" label="TPL_MOKOONYX_GOOGLETAGMANAGERID_LABEL" description="TPL_MOKOONYX_GOOGLETAGMANAGERID_DESC" filter="string" showon="googletagmanager:1" />
<field name="googleanalytics" type="radio" label="TPL_MOKOONYX_GOOGLEANALYTICS_LABEL" description="TPL_MOKOONYX_GOOGLEANALYTICS_DESC" layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="googleanalyticsid" type="text" default="" label="TPL_MOKOONYX_GOOGLEANALYTICSID_LABEL" description="TPL_MOKOONYX_GOOGLEANALYTICSID_DESC" filter="string" showon="googleanalytics:1" />
<field name="googlesitekey" type="text" default="" label="TPL_MOKOONYX_GOOGLESITEKEY_LABEL" description="TPL_MOKOONYX_GOOGLESITEKEY_DESC" filter="string" />
</fieldset>
<!-- Custom Code tab -->
<fieldset name="custom_head" label="TPL_MOKOONYX_CUSTOM_CODE_FIELDSET">
<field name="custom_head_start" type="textarea" default="" label="TPL_MOKOONYX_CUSTOM_HEAD_START_LABEL" description="TPL_MOKOONYX_CUSTOM_HEAD_START_DESC" filter="raw" />
<field name="custom_head_end" type="textarea" default="" label="TPL_MOKOONYX_CUSTOM_HEAD_END_LABEL" description="TPL_MOKOONYX_CUSTOM_HEAD_END_DESC" filter="raw" />
</fieldset>
<!-- Drawers tab -->
<fieldset name="drawers" label="TPL_MOKOONYX_DRAWERS_FIELDSET_LABEL">
<field name="drawerLeftIcon" type="text" default="fa-solid fa-chevron-right" label="TPL_MOKOONYX_DRAWER_LEFT_ICON_LABEL" description="TPL_MOKOONYX_DRAWER_LEFT_ICON_DESC" filter="string" />
<field name="drawerRightIcon" type="text" default="fa-solid fa-chevron-left" label="TPL_MOKOONYX_DRAWER_RIGHT_ICON_LABEL" description="TPL_MOKOONYX_DRAWER_RIGHT_ICON_DESC" filter="string" />
</fieldset>
<!-- THEME TAB (all style/theme settings grouped) -->
<fieldset name="theme" label="TPL_MOKO_THEME_FIELDSET">
<!-- General -->
<field name="theme_sep_general" type="spacer" label="General" hr="false" class="text fw-bold" />
<field name="theme_enabled" type="radio" default="1"
label="TPL_MOKO_THEME_ENABLED" description="TPL_MOKO_THEME_ENABLED_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="theme_control_type" type="list" default="radios"
label="TPL_MOKO_THEME_CONTROL_TYPE" description="TPL_MOKO_THEME_CONTROL_TYPE_DESC">
<option value="switch">Switch (Light↔Dark)</option>
<option value="radios">Radios (Light/Dark/System)</option>
<option value="none">No visible control</option>
</field>
<field name="theme_default_choice" type="list" default="system"
label="TPL_MOKO_THEME_DEFAULT_CHOICE" description="TPL_MOKO_THEME_DEFAULT_CHOICE_DESC">
<option value="system">System</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</field>
<field name="theme_auto_dark" type="radio" default="0"
label="TPL_MOKO_THEME_AUTO_DARK" description="TPL_MOKO_THEME_AUTO_DARK_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="theme_meta_color_scheme" type="radio" default="1"
label="TPL_MOKO_THEME_META_COLOR_SCHEME" description="TPL_MOKO_THEME_META_COLOR_SCHEME_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="theme_meta_theme_color" type="radio" default="1"
label="TPL_MOKO_THEME_META_THEME_COLOR" description="TPL_MOKO_THEME_META_THEME_COLOR_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="theme_bridge_bs_aria" type="radio" default="1"
label="TPL_MOKO_THEME_BRIDGE" description="TPL_MOKO_THEME_BRIDGE_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<!-- Variables & Palettes -->
<field name="theme_sep_vars" type="spacer" label="Variables &amp; Palettes" hr="false" class="text fw-bold" />
<field name="colorLightName" type="list" label="TPL_MOKOONYX_COLOR_LIGHT_NAME_LABEL" hint="TPL_MOKOONYX_COLOR_LIGHT_NAME_DESC" default="standard">
<option value="standard">TPL_MOKOONYX_COLOR_NAME_STANDARD</option>
<option value="custom">TPL_MOKOONYX_COLOR_NAME_CUSTOM</option>
</field>
<field name="colorDarkName" type="list" label="TPL_MOKOONYX_COLOR_DARK_NAME_LABEL" hint="TPL_MOKOONYX_COLOR_DARK_NAME_DESC" default="standard">
<option value="standard">TPL_MOKOONYX_COLOR_NAME_STANDARD</option>
<option value="custom">TPL_MOKOONYX_COLOR_NAME_CUSTOM</option>
</field>
<!-- Typography -->
<field name="theme_sep_typo" type="spacer" label="Typography" hr="false" class="text fw-bold" />
<field name="useFontScheme" type="groupedlist" label="TPL_MOKOONYX_FONT_LABEL" description="TPL_MOKOONYX_FONT_LABEL_DESC" default="media/templates/site/mokoonyx/css/fonts/roboto.css">
<option value="0">JNONE</option>
<group label="TPL_MOKOONYX_FONT_GROUP_LOCAL">
<option value="media/templates/site/mokoonyx/css/fonts/roboto.css">Roboto (local)</option>
<option value="media/templates/site/mokoonyx/css/fonts/noto-sans.css">Noto Sans (local)</option>
<option value="media/templates/site/mokoonyx/css/fonts/fira-sans.css">Fira Sans (local)</option>
</group>
</field>
<field name="noteFontScheme" type="note" description="TPL_MOKOONYX_FONT_NOTE_TEXT" class="alert alert-warning" />
<!-- Branding & Icons -->
<field name="theme_sep_brand" type="spacer" label="Branding &amp; Icons" hr="false" class="text fw-bold" />
<field name="brand" type="radio" label="TPL_MOKOONYX_BRAND_LABEL" default="1" layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="logoFile" type="media" label="TPL_MOKOONYX_LOGO_LABEL" showon="brand:1" />
<field name="siteTitle" type="text" default="MokoOnyx" label="TPL_MOKOONYX_TITLE" filter="string" showon="brand:1" />
<field name="siteDescription" type="text" default="" label="TPL_MOKOONYX_TAGLINE_LABEL" description="TPL_MOKOONYX_TAGLINE_DESC" filter="string" showon="brand:1" />
<field name="fA6KitCode" type="text" default="" label="TPL_MOKOONYX_FA7KITCODE_LABEL" description="TPL_MOKOONYX_FA7KITCODE_DESC" filter="string" />
<!-- Header & Navigation UI -->
<field name="theme_sep_header" type="spacer" label="Header &amp; Navigation" hr="false" class="text fw-bold" />
<field name="stickyHeader" type="radio" label="TPL_MOKOONYX_STICKY_LABEL" layout="joomla.form.field.radio.switcher" default="0" filter="integer">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="backTop" type="radio" label="TPL_MOKOONYX_BACKTOTOP_LABEL" layout="joomla.form.field.radio.switcher" default="0" filter="integer">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<!-- Accessibility -->
<field name="theme_sep_a11y" type="spacer" label="Accessibility" hr="false" class="text fw-bold" />
<field name="a11y_toolbar_enabled" type="radio" default="1"
label="TPL_MOKO_A11Y_TOOLBAR_ENABLED" description="TPL_MOKO_A11Y_TOOLBAR_ENABLED_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="a11y_text_resize" type="radio" default="1"
label="TPL_MOKO_A11Y_TEXT_RESIZE" description="TPL_MOKO_A11Y_TEXT_RESIZE_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean"
showon="a11y_toolbar_enabled:1">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="a11y_color_inversion" type="radio" default="1"
label="TPL_MOKO_A11Y_COLOR_INVERSION" description="TPL_MOKO_A11Y_COLOR_INVERSION_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean"
showon="a11y_toolbar_enabled:1">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="a11y_high_contrast" type="radio" default="1"
label="TPL_MOKO_A11Y_HIGH_CONTRAST" description="TPL_MOKO_A11Y_HIGH_CONTRAST_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean"
showon="a11y_toolbar_enabled:1">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="a11y_highlight_links" type="radio" default="1"
label="TPL_MOKO_A11Y_HIGHLIGHT_LINKS" description="TPL_MOKO_A11Y_HIGHLIGHT_LINKS_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean"
showon="a11y_toolbar_enabled:1">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="a11y_readable_font" type="radio" default="1"
label="TPL_MOKO_A11Y_READABLE_FONT" description="TPL_MOKO_A11Y_READABLE_FONT_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean"
showon="a11y_toolbar_enabled:1">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<field name="a11y_pause_animations" type="radio" default="1"
label="TPL_MOKO_A11Y_PAUSE_ANIMATIONS" description="TPL_MOKO_A11Y_PAUSE_ANIMATIONS_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean"
showon="a11y_toolbar_enabled:1">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<!-- Position forced to bottom-right in index.php -->
<field name="a11y_toolbar_pos" type="hidden" default="br"
label="TPL_MOKO_A11Y_TOOLBAR_POS" description="TPL_MOKO_A11Y_TOOLBAR_POS_DESC"
showon="a11y_toolbar_enabled:1">
<option value="br">Bottom-right</option>
<option value="bl">Bottom-left</option>
<option value="tr">Top-right</option>
<option value="tl">Top-left</option>
</field>
<!-- Toggle UI -->
<field name="theme_sep_toggle" type="spacer" label="Theme Toggle UI" hr="false" class="text fw-bold" />
<field name="theme_fab_enabled" type="radio" default="1"
label="TPL_MOKO_THEME_FAB_ENABLED" description="TPL_MOKO_THEME_FAB_ENABLED_DESC"
layout="joomla.form.field.radio.switcher" filter="boolean">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
<!-- Position forced to bottom-right in index.php -->
<field name="theme_fab_pos" type="hidden" default="br"
label="TPL_MOKO_THEME_FAB_POS" description="TPL_MOKO_THEME_FAB_POS_DESC">
<option value="br">Bottom-right</option>
<option value="bl">Bottom-left</option>
<option value="tr">Top-right</option>
<option value="tl">Top-left</option>
</field>
</fieldset>
<!-- CSS Variables: see repo documentation -->
<fieldset name="css_variables" label="TPL_MOKOONYX_CSS_VARS_FIELDSET_LABEL">
<field name="css_vars_docs_link" type="note"
description="For a full list of CSS variables and theming options, see the &lt;a href='https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx' target='_blank'&gt;MokoOnyx documentation&lt;/a&gt;."
class="alert alert-info" />
</fieldset>
</fields>
</config>
</extension>