diff --git a/media/templates/site/moko-cassiopeia/css/template.css b/media/templates/site/moko-cassiopeia/css/template.css index 0be94c0..04fbda4 100644 --- a/media/templates/site/moko-cassiopeia/css/template.css +++ b/media/templates/site/moko-cassiopeia/css/template.css @@ -21,6 +21,22 @@ scroll-behavior: smooth; } } +@media print { + nav, + .container-topbar, + .container-nav, + #rssocial-133, + .container-sidebar-right, + .container-sidebar-left, + .container-bottom-a, + .container-bottom-b, + #lhc_container_v2 *, + footer, + .fb-comments, + { + display: none!important; + } +} body { margin: 0; diff --git a/media/templates/site/moko-cassiopeia/css/vendor/afeld/bootstrap-toc.min.css b/media/templates/site/moko-cassiopeia/css/vendor/afeld/bootstrap-toc.min.css new file mode 100644 index 0000000..3c62107 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/vendor/afeld/bootstrap-toc.min.css @@ -0,0 +1,4 @@ +/*! + * Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */nav[data-toggle=toc] .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#767676}nav[data-toggle=toc] .nav>li>a:focus,nav[data-toggle=toc] .nav>li>a:hover{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}nav[data-toggle=toc] .nav-link.active,nav[data-toggle=toc] .nav-link.active:focus,nav[data-toggle=toc] .nav-link.active:hover{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}nav[data-toggle=toc] .nav-link+ul{display:none;padding-bottom:10px}nav[data-toggle=toc] .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}nav[data-toggle=toc] .nav .nav>li>a:focus,nav[data-toggle=toc] .nav .nav>li>a:hover{padding-left:29px}nav[data-toggle=toc] .nav .nav>li>.active,nav[data-toggle=toc] .nav .nav>li>.active:focus,nav[data-toggle=toc] .nav .nav>li>.active:hover{padding-left:28px;font-weight:500}nav[data-toggle=toc] .nav-link.active+ul{display:block} \ No newline at end of file diff --git a/media/templates/site/moko-cassiopeia/js/vendor/afeld/bootstrap-toc.min.js b/media/templates/site/moko-cassiopeia/js/vendor/afeld/bootstrap-toc.min.js new file mode 100644 index 0000000..c628326 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/js/vendor/afeld/bootstrap-toc.min.js @@ -0,0 +1,5 @@ +/*! + * Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ +!function(a){"use strict";window.Toc={helpers:{findOrFilter:function(e,t){var n=e.find(t);return e.filter(t).add(n).filter(":not([data-toc-skip])")},generateUniqueIdBase:function(e){return a(e).text().trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,64).replace(/^-+|-+$/gm,"").toLowerCase()||e.tagName.toLowerCase()},generateUniqueId:function(e){for(var t=this.generateUniqueIdBase(e),n=0;;n++){var r=t;if(0')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('');n.attr("href","#"+e),n.text(t);var r=a("
  • ");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1item->publish_down) && $this->item->publish echo $this->item->toc; endif; ?>
    + pageclass_sfx, 'no-toc') === false) { - echo ''; - } - ?> - item->text; ?> + echo $this->item->text; ?>
    diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default.php b/templates/moko-cassiopeia/html/com_engage/comments/default.php new file mode 100644 index 0000000..88962ef --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default.php @@ -0,0 +1,77 @@ + +
    + +

    + headerKey, $this->pagination->total, $this->title) ?> +

    + + loadPosition('engage-before-comments') ?> + + pagination->total): ?> +
    + loadTemplate('list') ?> +
    + + loadPosition('engage-after-comments') ?> + + pagination->pagesTotal > 1): ?> +
    + +
    + + + + areCommentsClosed && $this->user->guest && !$this->perms['create']): ?> + loadTemplate('login') ?> + + + perms['create'] && !$this->areCommentsClosed): ?> + loadTemplate('form') ?> + + + perms['create'] && $this->areCommentsClosed): ?> +
    +

    + +

    +

    + areCommentsClosedAfterTime): ?> + + + + +

    +
    + +
    \ No newline at end of file diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_form.php b/templates/moko-cassiopeia/html/com_engage/comments/default_form.php new file mode 100644 index 0000000..8bfc03f --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default_form.php @@ -0,0 +1,89 @@ +get('comments_reply_bad_ux', 0) == 1) && empty($this->form->getValue('body')); + +HTMLHelper::_('behavior.formvalidator'); +?> + +
    + +
    + + +
    + + + + + +
    +

    + +

    + + loadPosition('engage-before-reply'); ?> + +
    +
    +
    + + Some User +
    + + +
    +
    + + form->getFieldsets()) as $fieldSet) + { + echo $this->form->renderFieldset($fieldSet); + } ?> + +
    +
    + +
    +
    + + loadPosition('engage-after-reply'); ?> +
    +
    \ No newline at end of file diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_list.php b/templates/moko-cassiopeia/html/com_engage/comments/default_list.php new file mode 100644 index 0000000..c86aa41 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default_list.php @@ -0,0 +1,284 @@ + 0]; +$parentNames = [0 => '']; + +foreach ($this->items as $comment): +$user = !empty($comment->created_by) && empty($comment->name) ? UserFetcher::getUser($comment->created_by) : new User(); + +if (empty($comment->created_by) || !empty($comment->name)) { + $user->name = $comment->name; + $user->email = $comment->email; +} + +$parentIds[$comment->depth] = $comment->id; +$parentNames[$comment->depth] = $user->name; +// Deeper level comment. Indent with + + + + + diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_login.php b/templates/moko-cassiopeia/html/com_engage/comments/default_login.php new file mode 100644 index 0000000..395f8f0 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default_login.php @@ -0,0 +1,44 @@ +get('login_module', '-1'); +$moduleContent = (empty($loginModule) || ($loginModule === '-1')) ? '' : trim($this->loadModule($loginModule)); +$positionContent = trim($this->loadPosition('engage-login')); + +/** + * A reason for this to happen is that site owner wants discussion to be open to invitation-only members of the site but + * visible by anyone. This is mostly relevant in political organizations, NGOs and local / closed community + * organizations where a small number of people are openly discussing a public interest issue, but they don't want to + * allow random people to detract the conversation. + */ +if (empty($moduleContent) && empty($positionContent)) +{ + return; +} +?> +
    +

    + +

    + + + +
    \ No newline at end of file diff --git a/templates/moko-cassiopeia/index.php b/templates/moko-cassiopeia/index.php index 0cde266..fa58d7a 100644 --- a/templates/moko-cassiopeia/index.php +++ b/templates/moko-cassiopeia/index.php @@ -157,10 +157,10 @@ if ($this->params->get('fA6KitCode')) { $wa->getAsset('style', 'fontawesome')->setAttribute('rel', 'lazy-stylesheet'); } // Add Bootstrap TOC CSS -$this->addStyleSheet('https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.css'); +$this->addStyleSheet($templatePath . '/css/vendor/afeld/bootstrap-toc.min.css'); // Add Bootstrap TOC JS (should be loaded after Bootstrap JS) -$this->addScript('https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.js'); +$this->addScript($templatePath . '/js/vendor/afeld/bootstrap-toc.min.js'); ?> diff --git a/templates/moko-cassiopeia/templateDetails.xml b/templates/moko-cassiopeia/templateDetails.xml index 404e7f2..4b57339 100644 --- a/templates/moko-cassiopeia/templateDetails.xml +++ b/templates/moko-cassiopeia/templateDetails.xml @@ -4,7 +4,7 @@ https://mokoconsulting.tech/updates/updates.xml moko-cassiopeia - 1.10 + 1.11 2023-05 Jonathan Miller || Moko Consulting jmiller@mokoconsulting.tech diff --git a/updates/moko-cassiopeia_v1.11.zip b/updates/moko-cassiopeia_v1.11.zip new file mode 100644 index 0000000..8d44c02 Binary files /dev/null and b/updates/moko-cassiopeia_v1.11.zip differ diff --git a/updates/updates.xml b/updates/updates.xml index ba1758d..2e5f8d9 100644 --- a/updates/updates.xml +++ b/updates/updates.xml @@ -5,14 +5,14 @@ moko-cassiopeia template site - 1.10 + 1.11 2023-05 Jonathan Miller || Moko Consulting jmiller@mokoconsulting.tech (C)GNU General Public License Version 2 - 2025 Moko Consulting https://mokoconsulting.tech/moko-cassiopeia - https://mokoconsulting.tech/updates/moko-cassiopeia_v1.10.zip + https://mokoconsulting.tech/updates/moko-cassiopeia_v1.11.zip stable