Modularización de GKACHELE SaaS

This commit is contained in:
gkachele
2026-01-17 11:40:17 +01:00
commit b6820848b8
1338 changed files with 339275 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
</main>
<footer class="gk-footer" style="background: var(--text); color: var(--white); text-align: center; padding: 40px 20px; margin-top: 60px;">
<div style="max-width: 1200px; margin: 0 auto;">
{% if menus.footer %}
<nav style="margin-bottom: 20px;">
<ul style="display: flex; justify-content: center; list-style: none; gap: 20px; flex-wrap: wrap;">
{% for menu_item in menus.footer %}
<li><a href="{{ menu_item.url }}" style="color: var(--white); text-decoration: none;">{{ menu_item.title }}</a></li>
{% endfor %}
</ul>
</nav>
{% endif %}
<p style="margin: 0; opacity: 0.8;">
© 2025 GKACHELE™. Todos los derechos reservados.<br>
Desarrollado desde noviembre 2025 por GKACHELE<br>
Código propiedad de GKACHELE © 2025 - Prohibida su reproducción sin autorización
</p>
</div>
</footer>
</body>
</html>

View File

@@ -0,0 +1,112 @@
<!--
GKACHELE™ Template System
© 2025 GKACHELE™. Todos los derechos reservados.
Desarrollado desde noviembre 2025 por GKACHELE
Código propiedad de GKACHELE © 2025 - Prohibida su reproducción sin autorización
-->
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% if site_name %}{{ site_name }}{% else %}GKACHELE Site{% endif %}</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family={{ typography.font_family|replace(' ', '+') }}:wght@300;400;500;700&display=swap" rel="stylesheet">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary: {{ colors.primary or '#d32f2f' }};
--secondary: {{ colors.secondary or '#ff6f00' }};
--text: {{ colors.text or '#2c2c2c' }};
--bg-light: #f9f9f9;
--white: #ffffff;
}
body {
font-family: '{{ typography.font_family or 'Roboto' }}', sans-serif;
color: var(--text);
line-height: 1.6;
}
/* Header / Navigation */
.gk-header {
background: var(--white);
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
.gk-nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 40px;
max-width: 1200px;
margin: 0 auto;
}
.gk-logo {
font-size: 28px;
color: var(--primary);
font-weight: 700;
text-decoration: none;
}
.gk-menu {
display: flex;
list-style: none;
gap: 30px;
}
.gk-menu a {
text-decoration: none;
color: var(--text);
font-weight: 500;
transition: color 0.3s;
}
.gk-menu a:hover {
color: var(--primary);
}
.gk-menu .current-menu-item a {
color: var(--primary);
}
/* Main Content */
.gk-main {
margin-top: 80px;
min-height: calc(100vh - 160px);
}
@media (max-width: 768px) {
.gk-menu {
display: none;
}
}
</style>
</head>
<body>
<header class="gk-header">
<nav class="gk-nav">
<a href="/" class="gk-logo">{{ site_name or 'GKACHELE Site' }}</a>
{% if menus %}
<ul class="gk-menu">
{% for menu_item in menus.header %}
<li class="{% if menu_item.current %}current-menu-item{% endif %}">
<a href="{{ menu_item.url }}">{{ menu_item.title }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</nav>
</header>
<main class="gk-main">

View File

@@ -0,0 +1,33 @@
<!--
GKACHELE™ Sidebar Widget Area
© 2025 GKACHELE™. Todos los derechos reservados.
-->
<aside class="gk-sidebar" style="width: 300px; padding: 20px; background: var(--bg-light);">
{% if widgets %}
{% for widget in widgets %}
<div class="gk-widget" style="margin-bottom: 30px; padding: 20px; background: var(--white); border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.05);">
{% if widget.title %}
<h3 style="color: var(--primary); margin-bottom: 15px; font-size: 18px;">{{ widget.title }}</h3>
{% endif %}
<div class="gk-widget-content">
{{ widget.content|safe }}
</div>
</div>
{% endfor %}
{% endif %}
{% if menus.sidebar %}
<div class="gk-widget gk-menu-widget" style="margin-bottom: 30px; padding: 20px; background: var(--white); border-radius: 5px;">
<h3 style="color: var(--primary); margin-bottom: 15px; font-size: 18px;">Menú</h3>
<ul style="list-style: none; padding: 0;">
{% for menu_item in menus.sidebar %}
<li style="margin-bottom: 10px;">
<a href="{{ menu_item.url }}" style="color: var(--text); text-decoration: none; transition: color 0.3s;">
{{ menu_item.title }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
</aside>