Upgraded FontAwesome 6 to FontAwesome 7 Free
This commit is contained in:
@@ -31,7 +31,9 @@
|
||||
|
||||
### Updated
|
||||
- Copyright Headers to MokoCodingDefaults standards
|
||||
- Fixed `./templates/moko-cassiopeia/index.php` style injection
|
||||
- Fixed `./templates/moko-cassiopeia/index.php` color style injection
|
||||
- Upgraded `FontAwesome 6` to `FontAwesome 7 Free`
|
||||
- Added `Font Awesome 7 Free` style fallback
|
||||
|
||||
## [02.01.05] 2025-09-04
|
||||
- Removed vmbasic.css
|
||||
|
||||
@@ -18,14 +18,13 @@
|
||||
VERSION: 03.00
|
||||
BRIEF: Documentation for Moko-Cassiopeia template
|
||||
PATH: .//templates/moko-cassiopeia/
|
||||
NOTE: Includes Dark Mode and Soft Offline Mode
|
||||
-->
|
||||
|
||||
# Moko-Cassiopeia (v03.00)
|
||||
|
||||
A modern, lightweight enhancement layer for Joomla's Cassiopeia
|
||||
template.
|
||||
Moko-Cassiopeia adds **Font Awesome 6**, **Bootstrap 5** helpers, an
|
||||
Moko-Cassiopeia adds **Font Awesome 7**, **Bootstrap 5** helpers, an
|
||||
automatic **Table of Contents (TOC)** utility, and optional **Moko
|
||||
Expansions** including **Google Tag Manager** and **Google Analytics
|
||||
(GA4)** hooks---all while keeping core template overrides minimal and
|
||||
@@ -103,7 +102,7 @@ If upgrading from a prior version, Joomla will safely overwrite files
|
||||
- **Color Scheme**: Toggle light/dark defaults.\
|
||||
- **Analytics/GTM**: Enable/disable optional expansions.
|
||||
|
||||
### Font Awesome 6
|
||||
### Font Awesome 7
|
||||
|
||||
- Fully integrated into Joomla's asset manager.\
|
||||
- No extra scripts required.
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; #FILE INFORMATION
|
||||
; DEFGROUP: Joomla.Template.Site
|
||||
;INGROUP: Moko-Cassiopeia
|
||||
; INGROUP: Moko-Cassiopeia
|
||||
; PATH: ./language/en-GB/tpl_moko-cassiopeia.ini
|
||||
; VERSION: 03.00
|
||||
; BRIEF: English (GB) language strings for the Moko-Cassiopeia Joomla template
|
||||
@@ -69,8 +70,8 @@ TPL_MOKO-CASSIOPEIA_LOGO_LABEL="Logo"
|
||||
TPL_MOKO-CASSIOPEIA_TITLE="Title (alternative to logo)"
|
||||
TPL_MOKO-CASSIOPEIA_TAGLINE_LABEL="Tagline"
|
||||
TPL_MOKO-CASSIOPEIA_TAGLINE_DESC="Optional text to show as a subheading"
|
||||
TPL_MOKO-CASSIOPEIA_FA6KITCODE_LABEL="Font Awesome 6 Kit Unique Code"
|
||||
TPL_MOKO-CASSIOPEIA_FA6KITCODE_DESC="<i>If left blank, Font Awesome 5 will be used.</i><br>Copy the unique Kit embed code above and paste it into the <head> of your project's HTML file or template.<br><a href='https://fontawesome.com/' target='_blank'>More information at the Font Awesome website.</a>"
|
||||
TPL_MOKO-CASSIOPEIA_FAKITCODE_LABEL="Font Awesome Kit Unique Code"
|
||||
TPL_MOKO-CASSIOPEIA_FAKITCODE_DESC="<i>If left blank, Font Awesome 7 Free will be used.</i><br>Copy the unique Kit embed code above and paste it into the <head> of your project's HTML file or template.<br><a href='https://fontawesome.com/' target='_blank'>More information at the Font Awesome website.</a>"
|
||||
|
||||
; ===== Typography (Theme tab) =====
|
||||
TPL_MOKO-CASSIOPEIA_FONT_LABEL="Fonts Scheme"
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; #FILE INFORMATION
|
||||
; DEFGROUP: Joomla.Template.Site
|
||||
;INGROUP: Moko-Cassiopeia
|
||||
; INGROUP: Moko-Cassiopeia
|
||||
; PATH: ./language/en-GB/tpl_moko-cassiopeia.sys.ini
|
||||
; VERSION: 03.00
|
||||
; BRIEF: English (GB) system language strings for template metadata and installer
|
||||
@@ -45,7 +46,7 @@ TPL_MOKO-CASSIOPEIA_POSITION_TOPBAR="Top Bar"
|
||||
TPL_MOKO-CASSIOPEIA_POSITION_DRAWER-LEFT="Drawer-Left"
|
||||
TPL_MOKO-CASSIOPEIA_POSITION_DRAWER-RIGHT="Drawer-Right"
|
||||
TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION=
|
||||
TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description (v2.0)</h3>
|
||||
TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description</h3>
|
||||
<p>
|
||||
<strong>MOKO-CASSIOPEIA 2.0</strong> continues Joomla’s tradition of space-themed default templates—
|
||||
building on the legacy of <em>Solarflare</em> (Joomla 1.0), <em>Milkyway</em> (Joomla 1.5),
|
||||
@@ -56,27 +57,6 @@ TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description (v
|
||||
preserving its modern, accessible, and mobile-first foundation while introducing new stylistic
|
||||
enhancements and structural refinements specifically tailored for use by Moko Consulting.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Version 2.0</strong> introduces significant new functionality including a Dark Mode toggle,
|
||||
Google Tag Manager (GTM) and Google Analytics 4 (GA4) hooks, and expanded template configuration
|
||||
options — all while keeping overrides minimal and upgrade-friendly.
|
||||
</p>
|
||||
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Fully responsive and mobile-first layout</li>
|
||||
<li>Based on Joomla 4+ template architecture</li>
|
||||
<li>Enhanced SCSS and CSS overrides for streamlined custom styling</li>
|
||||
<li>Built-in support for <strong>Bootstrap 5</strong></li>
|
||||
<li>Font Awesome 6 integration for modern iconography</li>
|
||||
<li>Automatic Table of Contents (TOC) — selectable per article via <code>toc-left</code> or <code>toc-right</code> layouts</li>
|
||||
<li><strong>Dark Mode toggle (new in v2.0)</strong> with user switch and admin override</li>
|
||||
<li><strong>Optional GTM + GA4 hooks (new in v2.0)</strong> for analytics and marketing integration</li>
|
||||
<li>Optimized template structure for performance and maintainability</li>
|
||||
<li>Custom module positions and layout presets</li>
|
||||
<li>Accessible, lightweight, and extensible for long-term use</li>
|
||||
<li>Ideal for professional services, portfolios, and informational websites</li>
|
||||
</ul>
|
||||
|
||||
<h4>Code Attribution</h4>
|
||||
<p>
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; #FILE INFORMATION
|
||||
; DEFGROUP: Joomla.Template.Site
|
||||
;INGROUP: Moko-Cassiopeia
|
||||
; INGROUP: Moko-Cassiopeia
|
||||
; PATH: ./language/en-US/tpl_moko-cassiopeia.ini
|
||||
; VERSION: 03.00
|
||||
; BRIEF: English (US) language strings for the Moko-Cassiopeia Joomla template
|
||||
@@ -69,8 +70,8 @@ TPL_MOKO-CASSIOPEIA_LOGO_LABEL="Logo"
|
||||
TPL_MOKO-CASSIOPEIA_TITLE="Title (alternative to logo)"
|
||||
TPL_MOKO-CASSIOPEIA_TAGLINE_LABEL="Tagline"
|
||||
TPL_MOKO-CASSIOPEIA_TAGLINE_DESC="Optional text to show as a subheading"
|
||||
TPL_MOKO-CASSIOPEIA_FA6KITCODE_LABEL="Font Awesome 6 Kit Unique Code"
|
||||
TPL_MOKO-CASSIOPEIA_FA6KITCODE_DESC="<i>If left blank, Font Awesome 5 will be used.</i><br>Copy the unique Kit embed code above and paste it into the <head> of your project's HTML file or template.<br><a href='https://fontawesome.com/' target='_blank'>More information at the Font Awesome website.</a>"
|
||||
TPL_MOKO-CASSIOPEIA_FAKITCODE_LABEL="Font Awesome Kit Unique Code"
|
||||
TPL_MOKO-CASSIOPEIA_FAKITCODE_DESC="<i>If left blank, Font Awesome 7 Free will be used.</i><br>Copy the unique Kit embed code above and paste it into the <head> of your project's HTML file or template.<br><a href='https://fontawesome.com/' target='_blank'>More information at the Font Awesome website.</a>"
|
||||
|
||||
; ===== Typography (Theme tab) =====
|
||||
TPL_MOKO-CASSIOPEIA_FONT_LABEL="Fonts Scheme"
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; #FILE INFORMATION
|
||||
; DEFGROUP: Joomla.Template.Site
|
||||
;INGROUP: Moko-Cassiopeia
|
||||
; INGROUP: Moko-Cassiopeia
|
||||
; PATH: ./language/en-US/tpl_moko-cassiopeia.sys.ini
|
||||
; VERSION: 03.00
|
||||
; BRIEF: English (US) system language strings for template metadata and installer
|
||||
@@ -45,9 +46,9 @@ TPL_MOKO-CASSIOPEIA_POSITION_TOPBAR="Top Bar"
|
||||
TPL_MOKO-CASSIOPEIA_POSITION_DRAWER-LEFT="Drawer-Left"
|
||||
TPL_MOKO-CASSIOPEIA_POSITION_DRAWER-RIGHT="Drawer-Right"
|
||||
TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION=
|
||||
TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description (v2.0)</h3>
|
||||
TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description</h3>
|
||||
<p>
|
||||
<strong>MOKO-CASSIOPEIA 2.0</strong> continues Joomla’s tradition of space-themed default templates—
|
||||
<strong>MOKO-CASSIOPEIA 3.0</strong> continues Joomla’s tradition of space-themed default templates—
|
||||
building on the legacy of <em>Solarflare</em> (Joomla 1.0), <em>Milkyway</em> (Joomla 1.5),
|
||||
and <em>Protostar</em> (Joomla 3.0).
|
||||
</p>
|
||||
@@ -56,27 +57,6 @@ TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description (v
|
||||
preserving its modern, accessible, and mobile-first foundation while introducing new stylistic
|
||||
enhancements and structural refinements specifically tailored for use by Moko Consulting.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Version 2.0</strong> introduces significant new functionality including a Dark Mode toggle,
|
||||
Google Tag Manager (GTM) and Google Analytics 4 (GA4) hooks, and expanded template configuration
|
||||
options — all while keeping overrides minimal and upgrade-friendly.
|
||||
</p>
|
||||
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Fully responsive and mobile-first layout</li>
|
||||
<li>Based on Joomla 4+ template architecture</li>
|
||||
<li>Enhanced SCSS and CSS overrides for streamlined custom styling</li>
|
||||
<li>Built-in support for <strong>Bootstrap 5</strong></li>
|
||||
<li>Font Awesome 6 integration for modern iconography</li>
|
||||
<li>Automatic Table of Contents (TOC) — selectable per article via <code>toc-left</code> or <code>toc-right</code> layouts</li>
|
||||
<li><strong>Dark Mode toggle (new in v2.0)</strong> with user switch and admin override</li>
|
||||
<li><strong>Optional GTM + GA4 hooks (new in v2.0)</strong> for analytics and marketing integration</li>
|
||||
<li>Optimized template structure for performance and maintainability</li>
|
||||
<li>Custom module positions and layout presets</li>
|
||||
<li>Accessible, lightweight, and extensible for long-term use</li>
|
||||
<li>Ideal for professional services, portfolios, and informational websites</li>
|
||||
</ul>
|
||||
|
||||
<h4>Code Attribution</h4>
|
||||
<p>
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
@charset "UTF-8";
|
||||
/* Copyright (C) 2025 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.Template.Site
|
||||
INGROUP: Moko-Cassiopeia
|
||||
PATH: ./media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css
|
||||
VERSION: 03.00
|
||||
BRIEF: Local Roboto font-face definitions for the Moko-Cassiopeia template
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Regular.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Regular.woff") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-Regular";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Regular.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Regular.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-RegularItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-RegularItalic.woff") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-RegularItalic";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-RegularItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-RegularItalic.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Light.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Light.woff") format("woff");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-Light";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Light.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Light.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-LightItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-LightItalic.woff") format("woff");
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-LightItalic";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-LightItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-LightItalic.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Thin.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Thin.woff") format("woff");
|
||||
font-weight: 100;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-Thin";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Thin.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Thin.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-ThinItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-ThinItalic.woff") format("woff");
|
||||
font-weight: 100;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-ThinItalic";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-ThinItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-ThinItalic.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Medium.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Medium.woff") format("woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-Medium";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Medium.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Medium.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff") format("woff");
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-MediumItalic";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Bold.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Bold.woff") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-Bold";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Bold.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Bold.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BoldItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BoldItalic.woff") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-BoldItalic";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BoldItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BoldItalic.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Black.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Black.woff") format("woff");
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-Black";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Black.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-Black.woff") format("woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BlackItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BlackItalic.woff") format("woff");
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Roboto-BlackItalic";
|
||||
src: url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BlackItalic.woff2") format("woff2"), url("../../../../../vendor/roboto-fontface/fonts/roboto/Roboto-BlackItalic.woff") format("woff");
|
||||
}
|
||||
:root {
|
||||
--font-family-body: "Roboto", sans-serif;
|
||||
--font-family-headings: "Roboto", sans-serif;
|
||||
--font-weight-headings: 700;
|
||||
--font-weight-normal: 400;
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
<!-- Copyright (C) 2025 Moko Consulting <jmiller@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.Site
|
||||
INGROUP: Templates.Moko-Cassiopeia
|
||||
FILE: index.html
|
||||
BRIEF: Security redirect page to block folder access and forward to site root.
|
||||
-->
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Redirecting…</title>
|
||||
|
||||
<!-- Search engines: do not index this placeholder redirect page -->
|
||||
<meta name="robots" content="noindex, nofollow, noarchive" />
|
||||
|
||||
<!-- Instant redirect fallback even if JavaScript is disabled -->
|
||||
<meta http-equiv="refresh" content="0; url=/" />
|
||||
|
||||
<!-- Canonical root reference -->
|
||||
<link rel="canonical" href="/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<script>
|
||||
|
||||
(function redirectToRoot() {
|
||||
// Configuration object with safe defaults.
|
||||
var opts = {
|
||||
fallbackPath: "/", // string: fallback destination if origin is unavailable
|
||||
delayMs: 0, // number: delay before redirect in ms (0 = immediate)
|
||||
behavior: "replace" // enum: "replace" | "assign"
|
||||
};
|
||||
|
||||
// Determine absolute origin in all mainstream browsers.
|
||||
var origin = (typeof location.origin === "string" && location.origin)
|
||||
|| (location.protocol + "//" + location.host);
|
||||
|
||||
// Final destination: absolute root of the current site, or fallback path.
|
||||
var destination = origin ? origin + "/" : opts.fallbackPath;
|
||||
|
||||
function go() {
|
||||
if (opts.behavior === "assign") {
|
||||
location.assign(destination);
|
||||
} else {
|
||||
location.replace(destination);
|
||||
}
|
||||
}
|
||||
|
||||
// Execute redirect, optionally after a short delay.
|
||||
if (opts.delayMs > 0) {
|
||||
setTimeout(go, opts.delayMs);
|
||||
} else {
|
||||
go();
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!--
|
||||
Secondary meta-refresh for no-JS environments is already set above.
|
||||
Some very old crawlers may ignore JS; the meta refresh ensures coverage.
|
||||
-->
|
||||
|
||||
<noscript>
|
||||
<!-- Extra defense-in-depth: if JS is disabled, meta refresh (above) handles redirect. -->
|
||||
<style>
|
||||
html, body { height:100%; }
|
||||
body { display:flex; align-items:center; justify-content:center; margin:0; font: 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
|
||||
.msg { opacity: .75; text-align: center; }
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
<body>
|
||||
<div class="msg">Redirecting to the site root… If you are not redirected, <a href="/">click here</a>.</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,89 +0,0 @@
|
||||
<!-- Copyright (C) 2025 Moko Consulting <jmiller@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.Site
|
||||
INGROUP: Templates.Moko-Cassiopeia
|
||||
FILE: index.html
|
||||
BRIEF: Security redirect page to block folder access and forward to site root.
|
||||
-->
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Redirecting…</title>
|
||||
|
||||
<!-- Search engines: do not index this placeholder redirect page -->
|
||||
<meta name="robots" content="noindex, nofollow, noarchive" />
|
||||
|
||||
<!-- Instant redirect fallback even if JavaScript is disabled -->
|
||||
<meta http-equiv="refresh" content="0; url=/" />
|
||||
|
||||
<!-- Canonical root reference -->
|
||||
<link rel="canonical" href="/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<script>
|
||||
|
||||
(function redirectToRoot() {
|
||||
// Configuration object with safe defaults.
|
||||
var opts = {
|
||||
fallbackPath: "/", // string: fallback destination if origin is unavailable
|
||||
delayMs: 0, // number: delay before redirect in ms (0 = immediate)
|
||||
behavior: "replace" // enum: "replace" | "assign"
|
||||
};
|
||||
|
||||
// Determine absolute origin in all mainstream browsers.
|
||||
var origin = (typeof location.origin === "string" && location.origin)
|
||||
|| (location.protocol + "//" + location.host);
|
||||
|
||||
// Final destination: absolute root of the current site, or fallback path.
|
||||
var destination = origin ? origin + "/" : opts.fallbackPath;
|
||||
|
||||
function go() {
|
||||
if (opts.behavior === "assign") {
|
||||
location.assign(destination);
|
||||
} else {
|
||||
location.replace(destination);
|
||||
}
|
||||
}
|
||||
|
||||
// Execute redirect, optionally after a short delay.
|
||||
if (opts.delayMs > 0) {
|
||||
setTimeout(go, opts.delayMs);
|
||||
} else {
|
||||
go();
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!--
|
||||
Secondary meta-refresh for no-JS environments is already set above.
|
||||
Some very old crawlers may ignore JS; the meta refresh ensures coverage.
|
||||
-->
|
||||
|
||||
<noscript>
|
||||
<!-- Extra defense-in-depth: if JS is disabled, meta refresh (above) handles redirect. -->
|
||||
<style>
|
||||
html, body { height:100%; }
|
||||
body { display:flex; align-items:center; justify-content:center; margin:0; font: 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
|
||||
.msg { opacity: .75; text-align: center; }
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
<body>
|
||||
<div class="msg">Redirecting to the site root… If you are not redirected, <a href="/">click here</a>.</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,89 +0,0 @@
|
||||
<!-- Copyright (C) 2025 Moko Consulting <jmiller@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.Site
|
||||
INGROUP: Templates.Moko-Cassiopeia
|
||||
FILE: index.html
|
||||
BRIEF: Security redirect page to block folder access and forward to site root.
|
||||
-->
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Redirecting…</title>
|
||||
|
||||
<!-- Search engines: do not index this placeholder redirect page -->
|
||||
<meta name="robots" content="noindex, nofollow, noarchive" />
|
||||
|
||||
<!-- Instant redirect fallback even if JavaScript is disabled -->
|
||||
<meta http-equiv="refresh" content="0; url=/" />
|
||||
|
||||
<!-- Canonical root reference -->
|
||||
<link rel="canonical" href="/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<script>
|
||||
|
||||
(function redirectToRoot() {
|
||||
// Configuration object with safe defaults.
|
||||
var opts = {
|
||||
fallbackPath: "/", // string: fallback destination if origin is unavailable
|
||||
delayMs: 0, // number: delay before redirect in ms (0 = immediate)
|
||||
behavior: "replace" // enum: "replace" | "assign"
|
||||
};
|
||||
|
||||
// Determine absolute origin in all mainstream browsers.
|
||||
var origin = (typeof location.origin === "string" && location.origin)
|
||||
|| (location.protocol + "//" + location.host);
|
||||
|
||||
// Final destination: absolute root of the current site, or fallback path.
|
||||
var destination = origin ? origin + "/" : opts.fallbackPath;
|
||||
|
||||
function go() {
|
||||
if (opts.behavior === "assign") {
|
||||
location.assign(destination);
|
||||
} else {
|
||||
location.replace(destination);
|
||||
}
|
||||
}
|
||||
|
||||
// Execute redirect, optionally after a short delay.
|
||||
if (opts.delayMs > 0) {
|
||||
setTimeout(go, opts.delayMs);
|
||||
} else {
|
||||
go();
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!--
|
||||
Secondary meta-refresh for no-JS environments is already set above.
|
||||
Some very old crawlers may ignore JS; the meta refresh ensures coverage.
|
||||
-->
|
||||
|
||||
<noscript>
|
||||
<!-- Extra defense-in-depth: if JS is disabled, meta refresh (above) handles redirect. -->
|
||||
<style>
|
||||
html, body { height:100%; }
|
||||
body { display:flex; align-items:center; justify-content:center; margin:0; font: 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
|
||||
.msg { opacity: .75; text-align: center; }
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
<body>
|
||||
<div class="msg">Redirecting to the site root… If you are not redirected, <a href="/">click here</a>.</div>
|
||||
</body>
|
||||
</html>
|
||||
10663
media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css
vendored
Normal file
10663
media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
9
media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css
vendored
Normal file
9
media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2219
media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css
vendored
Normal file
2219
media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css
vendored
Normal file
6
media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8361
media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css
vendored
Normal file
8361
media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
8
media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css
vendored
Normal file
8
media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
31
media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css
vendored
Normal file
31
media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
/*!
|
||||
* Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2025 Fonticons, Inc.
|
||||
*/
|
||||
:root, :host {
|
||||
--fa-family-classic: "Font Awesome 7 Free";
|
||||
--fa-font-regular: normal 400 1em/1 var(--fa-family-classic);
|
||||
/* deprecated: this older custom property will be removed next major release */
|
||||
--fa-style-family-classic: var(--fa-family-classic);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Font Awesome 7 Free";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-regular-400.woff2");
|
||||
}
|
||||
.far {
|
||||
--fa-family: var(--fa-family-classic);
|
||||
--fa-style: 400;
|
||||
}
|
||||
|
||||
.fa-classic {
|
||||
--fa-family: var(--fa-family-classic);
|
||||
}
|
||||
|
||||
.fa-regular {
|
||||
--fa-style: 400;
|
||||
}
|
||||
6
media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css
vendored
Normal file
6
media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2025 Fonticons, Inc.
|
||||
*/
|
||||
:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2)}.far{--fa-style:400}.fa-classic,.far{--fa-family:var(--fa-family-classic)}.fa-regular{--fa-style:400}
|
||||
31
media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css
vendored
Normal file
31
media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
/*!
|
||||
* Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2025 Fonticons, Inc.
|
||||
*/
|
||||
:root, :host {
|
||||
--fa-family-classic: "Font Awesome 7 Free";
|
||||
--fa-font-solid: normal 900 1em/1 var(--fa-family-classic);
|
||||
/* deprecated: this older custom property will be removed next major release */
|
||||
--fa-style-family-classic: var(--fa-family-classic);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Font Awesome 7 Free";
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: block;
|
||||
src: url("../webfonts/fa-solid-900.woff2");
|
||||
}
|
||||
.fas {
|
||||
--fa-family: var(--fa-family-classic);
|
||||
--fa-style: 900;
|
||||
}
|
||||
|
||||
.fa-classic {
|
||||
--fa-family: var(--fa-family-classic);
|
||||
}
|
||||
|
||||
.fa-solid {
|
||||
--fa-style: 900;
|
||||
}
|
||||
6
media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css
vendored
Normal file
6
media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
* Copyright 2025 Fonticons, Inc.
|
||||
*/
|
||||
:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}
|
||||
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2
vendored
Normal file
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2
vendored
Normal file
Binary file not shown.
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2
vendored
Normal file
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2
vendored
Normal file
Binary file not shown.
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2
vendored
Normal file
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2
vendored
Normal file
Binary file not shown.
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2
vendored
Normal file
BIN
media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2
vendored
Normal file
Binary file not shown.
@@ -45,8 +45,7 @@ $params_googleanalytics = $this->params->get('googleanalytics', false);
|
||||
$params_googleanalyticsid = $this->params->get('googleanalyticsid', null);
|
||||
$params_custom_head_start = $this->params->get('custom_head_start', null);
|
||||
$params_custom_head_end = $this->params->get('custom_head_end', null);
|
||||
$params_leftIcon = htmlspecialchars($this->params->get('drawerLeftIcon', 'fa-solid fa-chevron-left'), ENT_COMPAT, 'UTF-8');
|
||||
$params_rightIcon = htmlspecialchars($this->params->get('drawerRightIcon', 'fa-solid fa-chevron-right'), ENT_COMPAT, 'UTF-8');
|
||||
$params_developmentmode = $this->params->get('developmentmode', false);
|
||||
|
||||
// Bootstrap behaviors (assets handled via WAM)
|
||||
HTMLHelper::_('bootstrap.framework');
|
||||
@@ -165,9 +164,6 @@ if ($params_FontScheme) {
|
||||
}
|
||||
}
|
||||
|
||||
// Expose CSS variables (and any computed font variables)
|
||||
$wa->addInlineStyle(":root {\n --hue: 214;\n --template-bg-light: #f0f4fb;\n --template-text-dark: #495057;\n --template-text-light: #ffffff;\n --template-link-color: #2a69b8;\n --template-special-color: #001B4C;\n $fontStyles\n}");
|
||||
|
||||
// -------------------------------------
|
||||
// Brand: logo from params OR siteTitle
|
||||
// -------------------------------------
|
||||
@@ -206,11 +202,43 @@ $stickyHeader = $this->params->get('stickyHeader') ? 'position-sticky sticky-top
|
||||
// Meta
|
||||
$this->setMetaData('viewport', 'width=device-width, initial-scale=1');
|
||||
|
||||
// Optional Font Awesome Kit (not defined in JSON)
|
||||
if ($this->params->get('fA6KitCode')) {
|
||||
$fa6Kit = "https://kit.fontawesome.com/" . $this->params->get('fA6KitCode') . ".js";
|
||||
HTMLHelper::_('script', $fa6Kit, ['crossorigin' => 'anonymous']);
|
||||
if ($this->params->get('faKitCode')) {
|
||||
$faKit = "https://kit.fontawesome.com/" . $this->params->get('faKitCode') . ".js";
|
||||
HTMLHelper::_('script', $faKit, ['crossorigin' => 'anonymous']);
|
||||
} else {
|
||||
try {
|
||||
if($params_developmentmode){
|
||||
$wa->useStyle('vendor.fa7free.all');
|
||||
$wa->useStyle('vendor.fa7free.brands');
|
||||
$wa->useStyle('vendor.fa7free.fontawesome');
|
||||
$wa->useStyle('vendor.fa7free.regular');
|
||||
$wa->useStyle('vendor.fa7free.solid');
|
||||
} else {
|
||||
$wa->useStyle('vendor.fa7free.all.min');
|
||||
$wa->useStyle('vendor.fa7free.brands.min');
|
||||
$wa->useStyle('vendor.fa7free.fontawesome.min');
|
||||
$wa->useStyle('vendor.fa7free.regular.min');
|
||||
$wa->useStyle('vendor.fa7free.solid.min');
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
if($params_developmentmode){
|
||||
$wa->registerAndUseStyle('vendor.fa7free.all.dynamic', $templatePath . '/vendor/fa7free/css/all.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.brands.dynamic', $templatePath . '/vendor/fa7free/css/brands.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.fontawesome.dynamic', $templatePath . '/vendor/fa7free/css/fontawesome.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.regular.dynamic', $templatePath . '/vendor/fa7free/css/regular.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.solid.dynamic', $templatePath . '/vendor/fa7free/css/solid.css');
|
||||
} else {
|
||||
$wa->registerAndUseStyle('vendor.fa7free.all.min.dynamic', $templatePath . '/vendor/fa7free/css/all.min.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.brands.min.dynamic', $templatePath . '/vendor/fa7free/css/brands.min.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.fontawesome.min.dynamic', $templatePath . '/vendor/fa7free/css/fontawesome.min.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.regular.min.dynamic', $templatePath . '/vendor/fa7free/css/regular.min.css');
|
||||
$wa->registerAndUseStyle('vendor.fa7free.solid.min.dynamic', $templatePath . '/vendor/fa7free/css/solid.min.css');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
$params_leftIcon = htmlspecialchars($this->params->get('drawerLeftIcon', 'fa-solid fa-chevron-left'), ENT_COMPAT, 'UTF-8');
|
||||
$params_rightIcon = htmlspecialchars($this->params->get('drawerRightIcon', 'fa-solid fa-chevron-right'), ENT_COMPAT, 'UTF-8');
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
{
|
||||
"name": "vendor.bootstrap-toc",
|
||||
"type": "style",
|
||||
"uri": "media/templates/site/moko-cassiopeia/css/vendor/afeld/bootstrap-toc.min.css",
|
||||
"uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css",
|
||||
"attributes":
|
||||
{
|
||||
"media": "all"
|
||||
@@ -123,11 +123,61 @@
|
||||
{
|
||||
"name": "vendor.bootstrap-toc.js",
|
||||
"type": "script",
|
||||
"uri": "media/templates/site/moko-cassiopeia/js/vendor/afeld/bootstrap-toc.min.js",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<folder>css</folder>
|
||||
<folder>images</folder>
|
||||
<folder>fonts</folder>
|
||||
<folder>vendor</folder>
|
||||
</media>
|
||||
<positions>
|
||||
<position>topbar</position>
|
||||
@@ -185,9 +186,6 @@
|
||||
<field name="theme_sep_typo" type="spacer" label="Typography" hr="false" class="text fw-bold" />
|
||||
<field name="useFontScheme" type="groupedlist" label="TPL_MOKO-CASSIOPEIA_FONT_LABEL" default="0">
|
||||
<option value="0">JNONE</option>
|
||||
<group label="TPL_MOKO-CASSIOPEIA_FONT_GROUP_LOCAL">
|
||||
<option value="media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css">Roboto (local)</option>
|
||||
</group>
|
||||
<group label="TPL_MOKO-CASSIOPEIA_FONT_GROUP_WEB">
|
||||
<option value="https://fonts.googleapis.com/css2?family=Fira+Sans:wght@100;300;400;700&display=swap">Fira Sans (web)</option>
|
||||
<option value="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100;300;400;700&family=Roboto:wght@100;300;400;700&display=swap">Roboto + Noto Sans (web)</option>
|
||||
@@ -204,7 +202,7 @@
|
||||
<field name="logoFile" type="media" default="media/templates/site/moko-cassiopeia/images/logo.svg" label="TPL_MOKO-CASSIOPEIA_LOGO_LABEL" showon="brand:1" />
|
||||
<field name="siteTitle" type="text" default="" label="TPL_MOKO-CASSIOPEIA_TITLE" filter="string" showon="brand:1" />
|
||||
<field name="siteDescription" type="text" default="" label="TPL_MOKO-CASSIOPEIA_TAGLINE_LABEL" description="TPL_MOKO-CASSIOPEIA_TAGLINE_DESC" filter="string" showon="brand:1" />
|
||||
<field name="fA6KitCode" type="text" default="" label="TPL_MOKO-CASSIOPEIA_FA6KITCODE_LABEL" description="TPL_MOKO-CASSIOPEIA_FA6KITCODE_DESC" filter="string" />
|
||||
<field name="faKitCode" type="text" default="" label="TPL_MOKO-CASSIOPEIA_FAKITCODE_LABEL" description="TPL_MOKO-CASSIOPEIA_FA6KITCODE_DESC" filter="string" />
|
||||
|
||||
<!-- Header & Navigation UI -->
|
||||
<field name="theme_sep_header" type="spacer" label="Header & Navigation" hr="false" class="text fw-bold" />
|
||||
|
||||
Reference in New Issue
Block a user