Compare commits
16 Commits
dev
...
cierre-202
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d696c4c5d | ||
|
|
e409f25ab4 | ||
|
|
1fa4b166e5 | ||
|
|
dd98e9d9f0 | ||
|
|
b1602f7067 | ||
|
|
7c5f67150c | ||
|
|
78e47929d9 | ||
|
|
429602c1e2 | ||
|
|
5b9c9fb42b | ||
|
|
c20c9a71f7 | ||
|
|
1c04f04170 | ||
|
|
22e564e524 | ||
|
|
fe8657e495 | ||
|
|
06d4781dc6 | ||
|
|
6aad246fbc | ||
|
|
cb99f261c5 |
74
codex/VERSIONADO_IA.md
Normal file
74
codex/VERSIONADO_IA.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Versionado IA - UB24/Elementor
|
||||
|
||||
## Rama de trabajo
|
||||
- `ai/ub24-builder-v1`
|
||||
|
||||
## Regla de trabajo
|
||||
1. Cada cambio funcional se guarda en un commit separado.
|
||||
2. Cada commit se registra con su hash.
|
||||
3. Cada commit debe incluir comando de reversión rápida.
|
||||
|
||||
## Registro de hashes
|
||||
### Baseline
|
||||
- Commit: `cb99f26`
|
||||
- Objetivo: crear rama y política de versionado para trabajo IA.
|
||||
- Revert:
|
||||
- `git revert <hash>`
|
||||
- o volver a commit previo: `git reset --hard <hash_anterior>` (solo si se aprueba explícitamente)
|
||||
|
||||
## Convención de mensaje
|
||||
- `feat(builder): ...`
|
||||
- `fix(builder): ...`
|
||||
- `refactor(builder): ...`
|
||||
- `chore(versioning): ...`
|
||||
|
||||
## Flujo con Gitea
|
||||
1. Trabajo local en `ai/ub24-builder-v1`.
|
||||
2. Push continuo a `origin/ai/ub24-builder-v1`.
|
||||
3. Merge cuando validemos en local y Raspberry.
|
||||
|
||||
### Correccion historial
|
||||
- Commit: `fe8657e`
|
||||
- Objetivo: revertir commit no deseado y mantener separacion de cambios.
|
||||
- Revert:
|
||||
- `git revert fe8657e`
|
||||
|
||||
### Fix local Elementor
|
||||
- Commit: `22e564e`
|
||||
- Objetivo: robustecer arranque local y carga de themes en Windows (BOM + logs seguros).
|
||||
- Revert:
|
||||
- `git revert 22e564e`
|
||||
|
||||
### Fase 1 Builder (visual pro)
|
||||
- Commit: `1c04f04`
|
||||
- Objetivo: consolidar estilos reutilizables y subir calidad visual en hero, features, cards y contact del preview.
|
||||
- Revert:
|
||||
- `git revert 1c04f04`
|
||||
|
||||
## URL local canonica (unificada)
|
||||
- Base local: `http://127.0.0.1:5001`
|
||||
- Builder local: `http://127.0.0.1:5001/elementor/1`
|
||||
- Regla: usar siempre `127.0.0.1` (no `localhost`) en scripts, pruebas y documentacion local.
|
||||
|
||||
## Control de rama (local/remoto)
|
||||
- Rama local activa: `ai/ub24-builder-v1`
|
||||
- Upstream remoto: `origin/ai/ub24-builder-v1`
|
||||
- Estado al registrar: local `ahead 5`
|
||||
- Politica: seguir commits atomicos y luego `git push origin ai/ub24-builder-v1` por lote validado.
|
||||
|
||||
## Fases memorizadas (builder)
|
||||
1. Fase 1 (UI Pro base): navbar premium, hero premium, sistema de espaciado/grid, pulido visual consistente.
|
||||
2. Fase 2 (estructura): separar renderers por bloque y reducir inline styles para automatizacion.
|
||||
3. Fase 3 (presets): presets por rubro + reglas responsive + variantes exportables.
|
||||
|
||||
### Ajustes Builder (limpieza + preview + ancho)
|
||||
- Commit: `7c5f671`
|
||||
- Objetivo: quitar texto en barra Apple, limpiar menu vacio, preview local funcional sin salir de builder, ancho desktop al 100%, control de ancho por bloque y descripcion en bloque video.
|
||||
- Revert:
|
||||
- `git revert 7c5f671`
|
||||
|
||||
### Ajustes Builder (preview limpio + menu modos)
|
||||
- Commit: `dd98e9d`
|
||||
- Objetivo: mejorar vista previa (forzar modo limpio y restaurar estado), eliminar precarga automatica de bloques, y agregar modo de menu (horizontal/acordeon/ambos).
|
||||
- Revert:
|
||||
- `git revert dd98e9d`
|
||||
@@ -40,7 +40,7 @@ def handle_404(e):
|
||||
|
||||
@app.errorhandler(Exception)
|
||||
def handle_exception(e):
|
||||
print(f"❌ EXCEPCIÓN: {e}")
|
||||
print(f"ERROR: EXCEPCION: {e}")
|
||||
return jsonify({'success': False, 'error': str(e)}), 500
|
||||
|
||||
# Middleware
|
||||
@@ -51,5 +51,5 @@ def add_header(response):
|
||||
return response
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(f"🚀 GKACHELE™ SaaS Modular iniciado en puerto {PORT}")
|
||||
print(f"GKACHELE SaaS Modular iniciado en puerto {PORT}")
|
||||
app.run(debug=True, host='0.0.0.0', port=PORT)
|
||||
|
||||
@@ -22,8 +22,8 @@ def scan_available_themes():
|
||||
continue
|
||||
|
||||
try:
|
||||
with open(config_path, 'r', encoding='utf-8') as f:
|
||||
config = json.load(f)
|
||||
with open(config_path, 'r', encoding='utf-8-sig') as f:
|
||||
config = json.load(f)
|
||||
|
||||
themes[theme_dir] = {
|
||||
'id': theme_dir,
|
||||
@@ -38,7 +38,7 @@ def scan_available_themes():
|
||||
'preview': f'/themes/{theme_dir}/preview.jpg' if os.path.exists(os.path.join(theme_path, 'preview.jpg')) else None
|
||||
}
|
||||
except Exception as e:
|
||||
print(f"⚠️ Error cargando template {theme_dir}: {e}")
|
||||
print(f"WARNING: Error cargando template {theme_dir}: {e}")
|
||||
continue
|
||||
|
||||
return themes
|
||||
@@ -50,10 +50,10 @@ def get_theme_config(theme_id):
|
||||
return None
|
||||
|
||||
try:
|
||||
with open(config_path, 'r', encoding='utf-8') as f:
|
||||
return json.load(f)
|
||||
except Exception as e:
|
||||
print(f"⚠️ Error cargando config de {theme_id}: {e}")
|
||||
with open(config_path, 'r', encoding='utf-8-sig') as f:
|
||||
return json.load(f)
|
||||
except Exception as e:
|
||||
print(f"WARNING: Error cargando config de {theme_id}: {e}")
|
||||
return None
|
||||
|
||||
def get_themes_by_rubro(rubro, user_plan='base'):
|
||||
@@ -127,7 +127,7 @@ def render_gkachele_template(theme, content, site_id=None, user_id=None):
|
||||
menus = get_site_menus(site_id, user_id)
|
||||
widgets = get_site_widgets(site_id, user_id)
|
||||
except Exception as e:
|
||||
print(f"⚠️ Error obteniendo menús/widgets: {e}")
|
||||
print(f"WARNING: Error obteniendo menus/widgets: {e}")
|
||||
|
||||
theme_template = ''
|
||||
theme_path = os.path.join(THEMES_DIR, theme, 'template.html')
|
||||
|
||||
1755
elementor/templates/elementor_builder.html
Normal file
1755
elementor/templates/elementor_builder.html
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user