From 94f3c457ec812573b3cb2c2f07781479f9a13964 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Tue, 16 Dec 2025 15:15:36 -0600 Subject: [PATCH] Reorganization --- .github/workflows/squash_version_to_main.yml | 109 +++++ scripts/update_changelog.sh | 80 ++++ scripts/validate_manifest.sh | 42 ++ scripts/verify_changelog.sh | 25 ++ {language => src/language}/en-GB/index.html | 0 .../language}/en-GB/tpl_moko-cassiopeia.ini | 0 .../en-GB/tpl_moko-cassiopeia.sys.ini | 0 {language => src/language}/en-US/index.html | 0 .../language}/en-US/tpl_moko-cassiopeia.ini | 0 .../en-US/tpl_moko-cassiopeia.sys.ini | 0 {language => src/language}/index.html | 0 {media => src/media}/index.html | 0 {media => src/media}/templates/index.html | 0 .../media}/templates/site/index.html | 0 .../site/moko-cassiopeia/css/editor.css | 0 .../site/moko-cassiopeia/css/gable.css | 0 .../css/global/dark/colors_alternative.css | 0 .../css/global/dark/colors_standard.css | 0 .../css/global/dark/index.html | 0 .../moko-cassiopeia/css/global/index.html | 0 .../css/global/light/colors_alternative.css | 0 .../css/global/light/colors_standard.css | 0 .../css/global/light/index.html | 0 .../css/global/social-media-demo.css | 0 .../site/moko-cassiopeia/css/index.html | 0 .../moko-cassiopeia/css/system/index.html | 0 .../css/system/searchtools/index.html | 0 .../css/system/searchtools/searchtools.css | 0 .../site/moko-cassiopeia/css/template-rtl.css | 0 .../site/moko-cassiopeia/css/template.css | 0 .../site/moko-cassiopeia/css/user.css | 0 .../site/moko-cassiopeia/fonts/index.html | 0 .../site/moko-cassiopeia/fonts/osaka-re.ttf | Bin .../site/moko-cassiopeia/images/bg.svg | 0 .../site/moko-cassiopeia/images/index.html | 0 .../site/moko-cassiopeia/images/logo.svg | 0 .../images/select-bg-active-rtl.svg | 0 .../images/select-bg-active.svg | 0 .../moko-cassiopeia/images/select-bg-rtl.svg | 0 .../site/moko-cassiopeia/images/select-bg.svg | 0 .../moko-cassiopeia/images/teaser_bg_sm.png | Bin .../images/template_preview.png | Bin .../images/template_thumbnail.png | Bin .../templates/site/moko-cassiopeia/index.html | 0 .../moko-cassiopeia/js/darkmode-toggle.js | 0 .../templates/site/moko-cassiopeia/js/gtm.js | 0 .../site/moko-cassiopeia/js/index.html | 0 .../moko-cassiopeia/js/mod_menu/index.html | 0 .../js/mod_menu/menu-metismenu-es5.js | 0 .../js/mod_menu/menu-metismenu.js | 0 .../site/moko-cassiopeia/js/template.js | 0 .../site/moko-cassiopeia/js/theme-init.js | 0 .../templates/site/moko-cassiopeia/js/user.js | 0 .../vendor/afeld/bootstrap-toc.min.css | 0 .../vendor/afeld/bootstrap-toc.min.js | 0 .../vendor/choicesjs/choices.css | 0 .../vendor/choicesjs/index.html | 0 .../vendor/fa7free/css/all.css | 0 .../vendor/fa7free/css/all.min.css | 0 .../vendor/fa7free/css/brands.css | 0 .../vendor/fa7free/css/brands.min.css | 0 .../vendor/fa7free/css/fontawesome.css | 0 .../vendor/fa7free/css/fontawesome.min.css | 0 .../vendor/fa7free/css/regular.css | 0 .../vendor/fa7free/css/regular.min.css | 0 .../vendor/fa7free/css/solid.css | 0 .../vendor/fa7free/css/solid.min.css | 0 .../fa7free/webfonts/fa-brands-400.woff2 | Bin .../fa7free/webfonts/fa-regular-400.woff2 | Bin .../fa7free/webfonts/fa-solid-900.woff2 | Bin .../fa7free/webfonts/fa-v4compatibility.woff2 | Bin .../site/moko-cassiopeia/vendor/index.html | 0 .../vendor/joomla-custom-elements/index.html | 0 .../joomla-custom-elements/joomla-alert.css | 0 src/templateDetails.xml | 237 +++++++++++ .../moko-cassiopeia/joomla.asset.json | 393 ++++++++++++++++++ 76 files changed, 886 insertions(+) create mode 100644 .github/workflows/squash_version_to_main.yml create mode 100644 scripts/update_changelog.sh create mode 100644 scripts/validate_manifest.sh create mode 100644 scripts/verify_changelog.sh rename {language => src/language}/en-GB/index.html (100%) rename {language => src/language}/en-GB/tpl_moko-cassiopeia.ini (100%) rename {language => src/language}/en-GB/tpl_moko-cassiopeia.sys.ini (100%) rename {language => src/language}/en-US/index.html (100%) rename {language => src/language}/en-US/tpl_moko-cassiopeia.ini (100%) rename {language => src/language}/en-US/tpl_moko-cassiopeia.sys.ini (100%) rename {language => src/language}/index.html (100%) rename {media => src/media}/index.html (100%) rename {media => src/media}/templates/index.html (100%) rename {media => src/media}/templates/site/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/editor.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/gable.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/dark/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/light/colors_standard.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/light/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/global/social-media-demo.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/system/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/system/searchtools/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/template-rtl.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/template.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/css/user.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/fonts/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/fonts/osaka-re.ttf (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/bg.svg (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/logo.svg (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/select-bg-active.svg (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/select-bg-rtl.svg (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/select-bg.svg (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/teaser_bg_sm.png (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/template_preview.png (100%) rename {media => src/media}/templates/site/moko-cassiopeia/images/template_thumbnail.png (100%) rename {media => src/media}/templates/site/moko-cassiopeia/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/darkmode-toggle.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/gtm.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/mod_menu/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/template.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/theme-init.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/js/user.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/choicesjs/choices.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/choicesjs/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2 (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2 (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2 (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2 (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/index.html (100%) rename {media => src/media}/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/joomla-alert.css (100%) create mode 100644 src/templateDetails.xml create mode 100644 src/templates/moko-cassiopeia/joomla.asset.json diff --git a/.github/workflows/squash_version_to_main.yml b/.github/workflows/squash_version_to_main.yml new file mode 100644 index 0000000..6cd0711 --- /dev/null +++ b/.github/workflows/squash_version_to_main.yml @@ -0,0 +1,109 @@ +name: Squash merge version branch into main + +on: + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + squash-merge-version: + name: Conditional squash merge version/* into main + runs-on: ubuntu-latest + + steps: + - name: Determine branch and version + id: meta + run: | + BRANCH="${GITHUB_REF_NAME}" + + echo "Running on branch: $BRANCH" + + if [[ ! "$BRANCH" =~ ^version\/[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9]+)?$ ]]; then + echo "This workflow must be run on a branch named version/X.Y.Z or version/X.Y.Z-tag" + exit 1 + fi + + VERSION="${BRANCH#version/}" + + echo "Detected version: $VERSION" + + # prerelease detection + if [[ "$VERSION" =~ -(alpha|beta|rc|pre|preview|dev|test) ]]; then + echo "Version is prerelease: $VERSION" + IS_PRERELEASE="true" + else + echo "Version is stable: $VERSION" + IS_PRERELEASE="false" + fi + + echo "branch=$BRANCH" >> "$GITHUB_OUTPUT" + echo "version=$VERSION" >> "$GITHUB_OUTPUT" + echo "is_prerelease=$IS_PRERELEASE" >> "$GITHUB_OUTPUT" + + - name: Check out repository + uses: actions/checkout@v4 + + - name: Create or reuse PR from version branch to main + id: cpr + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.GITHUB_TOKEN }} + head: ${{ steps.meta.outputs.branch }} + base: main + title: "Merge version ${{ steps.meta.outputs.version }} into main" + body: | + Automated PR to merge version **${{ steps.meta.outputs.version }}** into **main**. + + - Branch: `${{ steps.meta.outputs.branch }}` + - Version: `${{ steps.meta.outputs.version }}` + - Prerelease: `${{ steps.meta.outputs.is_prerelease }}` + + This PR was generated by the squash merge workflow. + labels: | + release + version-update + + ########################################################### + # Only squash merge IF the branch version is NOT prerelease + ########################################################### + - name: Squash merge PR into main (stable only) + if: steps.meta.outputs.is_prerelease == 'false' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + VERSION: ${{ steps.meta.outputs.version }} + PR_NUMBER: ${{ steps.cpr.outputs.pull-request-number }} + run: | + if [ -z "$PR_NUMBER" ]; then + echo "No pull request number returned. Cannot squash merge." + exit 1 + fi + + echo "Performing squash merge PR #${PR_NUMBER} into main" + + curl -sS -X PUT \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "Accept: application/vnd.github+json" \ + "https://api.github.com/repos/${REPO}/pulls/${PR_NUMBER}/merge" \ + -d "$(jq -n \ + --arg method "squash" \ + --arg title "Squash merge version ${VERSION} into main" \ + '{merge_method: $method, commit_title: $title}')" + + ########################################################### + # If prerelease, annotate and skip squash + ########################################################### + - name: Skip squash (prerelease detected) + if: steps.meta.outputs.is_prerelease == 'true' + run: | + echo "Prerelease version detected. PR created but squash merge intentionally skipped." + + - name: Optional delete version branch after merge + if: steps.meta.outputs.is_prerelease == 'false' + env: + BRANCH: ${{ steps.meta.outputs.branch }} + run: | + echo "Deleting branch ${BRANCH} after squash merge" + git push origin --delete "${BRANCH}" || echo "Branch already deleted or cannot delete" diff --git a/scripts/update_changelog.sh b/scripts/update_changelog.sh new file mode 100644 index 0000000..2889e41 --- /dev/null +++ b/scripts/update_changelog.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash +set -euo pipefail + +# scripts/update_changelog.sh +# +# Purpose: +# - Apply the MokoWaaS-Brand CHANGELOG template entry for a given version. +# - Insert a new header at the top of CHANGELOG.md, immediately after "# Changelog". +# - Avoid duplicates if an entry for the version already exists. +# - Preserve the rest of the file verbatim. +# +# Usage: +# ./scripts/update_changelog.sh +# +# Example: +# ./scripts/update_changelog.sh 01.05.00 + +VERSION="${1:-}" + +if [[ -z "${VERSION}" ]]; then + echo "ERROR: Version argument is required. Usage: scripts/update_changelog.sh " >&2 + exit 1 +fi + +CHANGELOG_FILE="CHANGELOG.md" + +DATE_UTC="$(date -u +"%Y-%m-%d")" +HEADER="## ${VERSION} - ${DATE_UTC}" + +if [[ ! -f "${CHANGELOG_FILE}" ]]; then + { + echo "# Changelog" + echo + } > "${CHANGELOG_FILE}" +fi + +# Do not duplicate existing entries +if grep -qE "^##[[:space:]]+${VERSION}[[:space:]]+-[[:space:]]+" "${CHANGELOG_FILE}"; then + echo "CHANGELOG.md already contains an entry for ${VERSION}. No changes made." + exit 0 +fi + +TMP_FILE="${CHANGELOG_FILE}.tmp" + +# Insert after the first '# Changelog' line. +# If '# Changelog' is missing, prepend it. +if grep -qE "^# Changelog$" "${CHANGELOG_FILE}"; then + awk -v header="${HEADER}" ' + BEGIN { inserted=0 } + { + print + if (!inserted && $0 ~ /^# Changelog$/) { + print "" + print header + print "" + inserted=1 + } + } + END { + if (!inserted) { + # fallback: append at end + print "" + print header + print "" + } + } + ' "${CHANGELOG_FILE}" > "${TMP_FILE}" +else + { + echo "# Changelog" + echo + echo "${HEADER}" + echo + cat "${CHANGELOG_FILE}" + } > "${TMP_FILE}" +fi + +mv "${TMP_FILE}" "${CHANGELOG_FILE}" + +echo "Applied changelog header: ${HEADER}" diff --git a/scripts/validate_manifest.sh b/scripts/validate_manifest.sh new file mode 100644 index 0000000..703f768 --- /dev/null +++ b/scripts/validate_manifest.sh @@ -0,0 +1,42 @@ +#!/bin/bash +set -e + +MANIFEST="src/mokowaasbrand.xml" + +echo "Validating Joomla manifest: $MANIFEST" + +if [ ! -f "$MANIFEST" ]; then + echo "ERROR: Manifest not found: $MANIFEST" + exit 1 +fi + +# Check XML syntax +if ! xmllint --noout "$MANIFEST"; then + echo "ERROR: Manifest XML is not valid." + exit 1 +fi + +# Required fields +REQUIRED_NODES=( + "//extension" + "//name" + "//version" + "//author" + "//creationDate" +) + +for NODE in "${REQUIRED_NODES[@]}"; do + if ! xmllint --xpath "$NODE" "$MANIFEST" > /dev/null 2>&1; then + echo "ERROR: Required manifest node missing: $NODE" + exit 1 + fi +done + +VERSION=$(xmllint --xpath "string(//version)" "$MANIFEST") + +if [ -z "$VERSION" ]; then + echo "ERROR: Version node is empty in manifest." + exit 1 +fi + +echo "Manifest OK. Version: $VERSION" diff --git a/scripts/verify_changelog.sh b/scripts/verify_changelog.sh new file mode 100644 index 0000000..3884efd --- /dev/null +++ b/scripts/verify_changelog.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e + +echo "Running changelog verifier" + +BRANCH="${GITHUB_REF_NAME}" + +if [[ ! "$BRANCH" =~ ^version/ ]]; then + echo "Not on a version branch. Skipping changelog verification." + exit 0 +fi + +VERSION="${BRANCH#version/}" + +if [ ! -f "CHANGELOG.md" ]; then + echo "ERROR: CHANGELOG.md does not exist." + exit 1 +fi + +if ! grep -q "$VERSION" CHANGELOG.md; then + echo "ERROR: CHANGELOG.md missing entry for version $VERSION" + exit 1 +fi + +echo "Changelog contains correct version section." diff --git a/language/en-GB/index.html b/src/language/en-GB/index.html similarity index 100% rename from language/en-GB/index.html rename to src/language/en-GB/index.html diff --git a/language/en-GB/tpl_moko-cassiopeia.ini b/src/language/en-GB/tpl_moko-cassiopeia.ini similarity index 100% rename from language/en-GB/tpl_moko-cassiopeia.ini rename to src/language/en-GB/tpl_moko-cassiopeia.ini diff --git a/language/en-GB/tpl_moko-cassiopeia.sys.ini b/src/language/en-GB/tpl_moko-cassiopeia.sys.ini similarity index 100% rename from language/en-GB/tpl_moko-cassiopeia.sys.ini rename to src/language/en-GB/tpl_moko-cassiopeia.sys.ini diff --git a/language/en-US/index.html b/src/language/en-US/index.html similarity index 100% rename from language/en-US/index.html rename to src/language/en-US/index.html diff --git a/language/en-US/tpl_moko-cassiopeia.ini b/src/language/en-US/tpl_moko-cassiopeia.ini similarity index 100% rename from language/en-US/tpl_moko-cassiopeia.ini rename to src/language/en-US/tpl_moko-cassiopeia.ini diff --git a/language/en-US/tpl_moko-cassiopeia.sys.ini b/src/language/en-US/tpl_moko-cassiopeia.sys.ini similarity index 100% rename from language/en-US/tpl_moko-cassiopeia.sys.ini rename to src/language/en-US/tpl_moko-cassiopeia.sys.ini diff --git a/language/index.html b/src/language/index.html similarity index 100% rename from language/index.html rename to src/language/index.html diff --git a/media/index.html b/src/media/index.html similarity index 100% rename from media/index.html rename to src/media/index.html diff --git a/media/templates/index.html b/src/media/templates/index.html similarity index 100% rename from media/templates/index.html rename to src/media/templates/index.html diff --git a/media/templates/site/index.html b/src/media/templates/site/index.html similarity index 100% rename from media/templates/site/index.html rename to src/media/templates/site/index.html diff --git a/media/templates/site/moko-cassiopeia/css/editor.css b/src/media/templates/site/moko-cassiopeia/css/editor.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/editor.css rename to src/media/templates/site/moko-cassiopeia/css/editor.css diff --git a/media/templates/site/moko-cassiopeia/css/gable.css b/src/media/templates/site/moko-cassiopeia/css/gable.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/gable.css rename to src/media/templates/site/moko-cassiopeia/css/gable.css diff --git a/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css b/src/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css rename to src/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css diff --git a/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css b/src/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css rename to src/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css diff --git a/media/templates/site/moko-cassiopeia/css/global/dark/index.html b/src/media/templates/site/moko-cassiopeia/css/global/dark/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/dark/index.html rename to src/media/templates/site/moko-cassiopeia/css/global/dark/index.html diff --git a/media/templates/site/moko-cassiopeia/css/global/index.html b/src/media/templates/site/moko-cassiopeia/css/global/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/index.html rename to src/media/templates/site/moko-cassiopeia/css/global/index.html diff --git a/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css b/src/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css rename to src/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css diff --git a/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css b/src/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css rename to src/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css diff --git a/media/templates/site/moko-cassiopeia/css/global/light/index.html b/src/media/templates/site/moko-cassiopeia/css/global/light/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/light/index.html rename to src/media/templates/site/moko-cassiopeia/css/global/light/index.html diff --git a/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css b/src/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/global/social-media-demo.css rename to src/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css diff --git a/media/templates/site/moko-cassiopeia/css/index.html b/src/media/templates/site/moko-cassiopeia/css/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/css/index.html rename to src/media/templates/site/moko-cassiopeia/css/index.html diff --git a/media/templates/site/moko-cassiopeia/css/system/index.html b/src/media/templates/site/moko-cassiopeia/css/system/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/css/system/index.html rename to src/media/templates/site/moko-cassiopeia/css/system/index.html diff --git a/media/templates/site/moko-cassiopeia/css/system/searchtools/index.html b/src/media/templates/site/moko-cassiopeia/css/system/searchtools/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/css/system/searchtools/index.html rename to src/media/templates/site/moko-cassiopeia/css/system/searchtools/index.html diff --git a/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css b/src/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css rename to src/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css diff --git a/media/templates/site/moko-cassiopeia/css/template-rtl.css b/src/media/templates/site/moko-cassiopeia/css/template-rtl.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/template-rtl.css rename to src/media/templates/site/moko-cassiopeia/css/template-rtl.css diff --git a/media/templates/site/moko-cassiopeia/css/template.css b/src/media/templates/site/moko-cassiopeia/css/template.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/template.css rename to src/media/templates/site/moko-cassiopeia/css/template.css diff --git a/media/templates/site/moko-cassiopeia/css/user.css b/src/media/templates/site/moko-cassiopeia/css/user.css similarity index 100% rename from media/templates/site/moko-cassiopeia/css/user.css rename to src/media/templates/site/moko-cassiopeia/css/user.css diff --git a/media/templates/site/moko-cassiopeia/fonts/index.html b/src/media/templates/site/moko-cassiopeia/fonts/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/fonts/index.html rename to src/media/templates/site/moko-cassiopeia/fonts/index.html diff --git a/media/templates/site/moko-cassiopeia/fonts/osaka-re.ttf b/src/media/templates/site/moko-cassiopeia/fonts/osaka-re.ttf similarity index 100% rename from media/templates/site/moko-cassiopeia/fonts/osaka-re.ttf rename to src/media/templates/site/moko-cassiopeia/fonts/osaka-re.ttf diff --git a/media/templates/site/moko-cassiopeia/images/bg.svg b/src/media/templates/site/moko-cassiopeia/images/bg.svg similarity index 100% rename from media/templates/site/moko-cassiopeia/images/bg.svg rename to src/media/templates/site/moko-cassiopeia/images/bg.svg diff --git a/media/templates/site/moko-cassiopeia/images/index.html b/src/media/templates/site/moko-cassiopeia/images/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/images/index.html rename to src/media/templates/site/moko-cassiopeia/images/index.html diff --git a/media/templates/site/moko-cassiopeia/images/logo.svg b/src/media/templates/site/moko-cassiopeia/images/logo.svg similarity index 100% rename from media/templates/site/moko-cassiopeia/images/logo.svg rename to src/media/templates/site/moko-cassiopeia/images/logo.svg diff --git a/media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg b/src/media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg similarity index 100% rename from media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg rename to src/media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg diff --git a/media/templates/site/moko-cassiopeia/images/select-bg-active.svg b/src/media/templates/site/moko-cassiopeia/images/select-bg-active.svg similarity index 100% rename from media/templates/site/moko-cassiopeia/images/select-bg-active.svg rename to src/media/templates/site/moko-cassiopeia/images/select-bg-active.svg diff --git a/media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg b/src/media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg similarity index 100% rename from media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg rename to src/media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg diff --git a/media/templates/site/moko-cassiopeia/images/select-bg.svg b/src/media/templates/site/moko-cassiopeia/images/select-bg.svg similarity index 100% rename from media/templates/site/moko-cassiopeia/images/select-bg.svg rename to src/media/templates/site/moko-cassiopeia/images/select-bg.svg diff --git a/media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png b/src/media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png similarity index 100% rename from media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png rename to src/media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png diff --git a/media/templates/site/moko-cassiopeia/images/template_preview.png b/src/media/templates/site/moko-cassiopeia/images/template_preview.png similarity index 100% rename from media/templates/site/moko-cassiopeia/images/template_preview.png rename to src/media/templates/site/moko-cassiopeia/images/template_preview.png diff --git a/media/templates/site/moko-cassiopeia/images/template_thumbnail.png b/src/media/templates/site/moko-cassiopeia/images/template_thumbnail.png similarity index 100% rename from media/templates/site/moko-cassiopeia/images/template_thumbnail.png rename to src/media/templates/site/moko-cassiopeia/images/template_thumbnail.png diff --git a/media/templates/site/moko-cassiopeia/index.html b/src/media/templates/site/moko-cassiopeia/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/index.html rename to src/media/templates/site/moko-cassiopeia/index.html diff --git a/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js b/src/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/darkmode-toggle.js rename to src/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js diff --git a/media/templates/site/moko-cassiopeia/js/gtm.js b/src/media/templates/site/moko-cassiopeia/js/gtm.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/gtm.js rename to src/media/templates/site/moko-cassiopeia/js/gtm.js diff --git a/media/templates/site/moko-cassiopeia/js/index.html b/src/media/templates/site/moko-cassiopeia/js/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/js/index.html rename to src/media/templates/site/moko-cassiopeia/js/index.html diff --git a/media/templates/site/moko-cassiopeia/js/mod_menu/index.html b/src/media/templates/site/moko-cassiopeia/js/mod_menu/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/js/mod_menu/index.html rename to src/media/templates/site/moko-cassiopeia/js/mod_menu/index.html diff --git a/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js b/src/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js rename to src/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js diff --git a/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js b/src/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js rename to src/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js diff --git a/media/templates/site/moko-cassiopeia/js/template.js b/src/media/templates/site/moko-cassiopeia/js/template.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/template.js rename to src/media/templates/site/moko-cassiopeia/js/template.js diff --git a/media/templates/site/moko-cassiopeia/js/theme-init.js b/src/media/templates/site/moko-cassiopeia/js/theme-init.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/theme-init.js rename to src/media/templates/site/moko-cassiopeia/js/theme-init.js diff --git a/media/templates/site/moko-cassiopeia/js/user.js b/src/media/templates/site/moko-cassiopeia/js/user.js similarity index 100% rename from media/templates/site/moko-cassiopeia/js/user.js rename to src/media/templates/site/moko-cassiopeia/js/user.js diff --git a/media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css b/src/media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css rename to src/media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css diff --git a/media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js b/src/media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js rename to src/media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js diff --git a/media/templates/site/moko-cassiopeia/vendor/choicesjs/choices.css b/src/media/templates/site/moko-cassiopeia/vendor/choicesjs/choices.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/choicesjs/choices.css rename to src/media/templates/site/moko-cassiopeia/vendor/choicesjs/choices.css diff --git a/media/templates/site/moko-cassiopeia/vendor/choicesjs/index.html b/src/media/templates/site/moko-cassiopeia/vendor/choicesjs/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/choicesjs/index.html rename to src/media/templates/site/moko-cassiopeia/vendor/choicesjs/index.html diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/all.min.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/brands.min.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/fontawesome.min.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/regular.min.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/css/solid.min.css diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2 b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2 similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2 rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-brands-400.woff2 diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2 b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2 similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2 rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-regular-400.woff2 diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2 b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2 similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2 rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-solid-900.woff2 diff --git a/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2 b/src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2 similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2 rename to src/media/templates/site/moko-cassiopeia/vendor/fa7free/webfonts/fa-v4compatibility.woff2 diff --git a/media/templates/site/moko-cassiopeia/vendor/index.html b/src/media/templates/site/moko-cassiopeia/vendor/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/index.html rename to src/media/templates/site/moko-cassiopeia/vendor/index.html diff --git a/media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/index.html b/src/media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/index.html similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/index.html rename to src/media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/index.html diff --git a/media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/joomla-alert.css b/src/media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/joomla-alert.css similarity index 100% rename from media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/joomla-alert.css rename to src/media/templates/site/moko-cassiopeia/vendor/joomla-custom-elements/joomla-alert.css diff --git a/src/templateDetails.xml b/src/templateDetails.xml new file mode 100644 index 0000000..d2ba6b8 --- /dev/null +++ b/src/templateDetails.xml @@ -0,0 +1,237 @@ + + + + + https://raw.githubusercontent.com/mokoconsulting-tech/MokoUpdates/refs/heads/main/joomla/moko-cassiopeia/updates.xml + + moko-cassiopeia + 03.00 + 2025-12-09 + Jonathan Miller || Moko Consulting + hello@mokoconsulting.tech + (C)GNU General Public License Version 3 - 2025 Moko Consulting + TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION + 1 + + component.php + error.php + index.php + joomla.asset.json + offline.php + templateDetails.xml + html + + + media/templates/site/moko-cassiopeia/css/editor.css + + + js + css + images + fonts + vendor + + + topbar + below-topbar + below-logo + menu + search + banner + top-a + top-b + main-top + main-bottom + breadcrumbs + sidebar-left + sidebar-right + bottom-a + bottom-b + footer-menu + footer + debug + offline-header + offline + offline-footer + drawer-left + drawer-right + + + en-GB/tpl_moko-cassiopeia.ini + en-GB/tpl_moko-cassiopeia.sys.ini + en-US/tpl_moko-cassiopeia.ini + en-US/tpl_moko-cassiopeia.sys.ini + + + + +
+ + + + + + + + +
+ + +
+ + + + + + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
diff --git a/src/templates/moko-cassiopeia/joomla.asset.json b/src/templates/moko-cassiopeia/joomla.asset.json new file mode 100644 index 0000000..c253fd6 --- /dev/null +++ b/src/templates/moko-cassiopeia/joomla.asset.json @@ -0,0 +1,393 @@ +<<<<<<< Updated upstream +/* + Copyright (C) 2025 Moko Consulting + + This file is part of a Moko Consulting project. + + SPDX-LICENSE-IDENTIFIER: GPL-3.0-or-later + + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License (./LICENSE.md). + + FILE INFORMATION + DEFGROUP: Joomla.Template.Site + INGROUP: Moko-Cassiopeia.Template.Assets + REPO: https://github.com/mokoconsulting-tech/moko-cassiopeia + PATH: ./media/templates/site/moko-cassiopeia/joomla.asset.json + VERSION: 03.00.00 + BRIEF: Joomla asset registry for Moko-Cassiopeia +*/ +======= +>>>>>>> Stashed changes +{ + "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", + "name": "moko-cassiopeia", + "description": "Moko-Cassiopeia template assets", + "license": "GPL-3.0-or-later", + "x-header": { + "copyright_year": 2025, + "author": "Jonathan Miller", + "owner": "Moko Consulting", + "contact": "hello@mokoconsulting.tech", + "project": "Moko-Cassiopeia Template", + "spdx_license": "GPL-3.0-or-later", + "notice": "This file is part of a Moko Consulting project.", +<<<<<<< Updated upstream + "disclaimer": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/." + "repo": "https://github.com/mokoconsulting-tech/moko-cassiopeia" + }, + +======= + "disclaimer": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.", + "repo": "https://github.com/mokoconsulting-tech/moko-cassiopeia", + "file_information": { + "defgroup": "Joomla.Template.Site", + "ingroup": "Moko-Cassiopeia.Template.Assets", + "path": "./media/templates/site/moko-cassiopeia/joomla.asset.json", + "version": "03.00.00", + "brief": "Joomla asset registry for Moko-Cassiopeia" + } + }, +>>>>>>> Stashed changes + "assets": [ + { + "name": "template.base", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/template.css", +<<<<<<< Updated upstream + "attributes": { "media": "all" } +======= + "attributes": {"media": "all"} +>>>>>>> Stashed changes + }, + { + "name": "template.base.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/template.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.user", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/user.css", +<<<<<<< Updated upstream + "attributes": { "media": "all" } +======= + "attributes": {"media": "all"} +>>>>>>> Stashed changes + }, + { + "name": "template.user.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/user.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.editor", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/editor.css", +<<<<<<< Updated upstream + "attributes": { "media": "all" } +======= + "attributes": {"media": "all"} +>>>>>>> Stashed changes + }, + { + "name": "template.editor.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/editor.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "vendor.bootstrap-toc", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css", +<<<<<<< Updated upstream + "attributes": { "media": "all" } +======= + "attributes": {"media": "all"} +>>>>>>> Stashed changes + }, + { + "name": "vendor.bootstrap-toc.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.light.colors_standard", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_standard.css" + }, + { + "name": "template.light.colors_standard.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_standard.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.light.colors_alternative", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_alternative.css" + }, + { + "name": "template.light.colors_alternative.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_alternative.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.light.colors_custom", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_custom.css" + }, + { + "name": "template.light.colors_custom.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/light/colors_custom.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.dark.colors_standard", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_standard.css" + }, + { + "name": "template.dark.colors_standard.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_standard.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.dark.colors_alternative", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_alternative.css" + }, + { + "name": "template.dark.colors_alternative.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_alternative.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.dark.colors_custom", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_custom.css" + }, + { + "name": "template.dark.colors_custom.min", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/colors/dark/colors_custom.min.css" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "name": "template.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/template.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } +======= + "attributes": {"defer": true} +>>>>>>> Stashed changes + }, + { + "name": "template.js.min", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/template.min.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } + }, + +======= + "attributes": {"defer": true} + }, +>>>>>>> Stashed changes + { + "name": "theme-init.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/theme-init.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } +======= + "attributes": {"defer": true} +>>>>>>> Stashed changes + }, + { + "name": "theme-init.min.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/theme-init.min.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } + }, + +======= + "attributes": {"defer": true} + }, +>>>>>>> Stashed changes + { + "name": "darkmode-toggle.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/darkmode-toggle.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } +======= + "attributes": {"defer": true} +>>>>>>> Stashed changes + }, + { + "name": "darkmode-toggle.min.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/darkmode-toggle.min.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } + }, + +======= + "attributes": {"defer": true} + }, +>>>>>>> Stashed changes + { + "name": "gtm.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/gtm.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } +======= + "attributes": {"defer": true} +>>>>>>> Stashed changes + }, + { + "name": "gtm.min.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/gtm.min.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } + }, + +======= + "attributes": {"defer": true} + }, +>>>>>>> Stashed changes + { + "name": "vendor.bootstrap-toc.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } +======= + "attributes": {"defer": true} +>>>>>>> Stashed changes + }, + { + "name": "vendor.bootstrap-toc.js.min", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/vendor/afeld/bootstrap-toc.min.js", +<<<<<<< Updated upstream + "attributes": { "defer": true } + }, + +======= + "attributes": {"defer": true} + }, +>>>>>>> Stashed changes + { + "name": "vendor.fa7free.all", + "type": "style", + "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" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "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" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "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" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "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" + }, +<<<<<<< Updated upstream + +======= +>>>>>>> Stashed changes + { + "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" + } + ] +}