https://github.com/d4vram369/codexrenderer
Convierte sesiones de Codex o terminal en .odt o .txt a un HTML oscuro estilo Alacritty, con resaltado semántico y diseño tipo terminal. Ideal para guardar sesiones, compartir o publicar logs técnicos y prompts de IA.
https://github.com/d4vram369/codexrenderer
ai alacritty chatgpt cli codex converter dark-mode export generator html markdown odfpy opensource pandoc python static-html terminal text-renderer tool
Last synced: 10 days ago
JSON representation
Convierte sesiones de Codex o terminal en .odt o .txt a un HTML oscuro estilo Alacritty, con resaltado semántico y diseño tipo terminal. Ideal para guardar sesiones, compartir o publicar logs técnicos y prompts de IA.
- Host: GitHub
- URL: https://github.com/d4vram369/codexrenderer
- Owner: D4vRAM369
- License: gpl-3.0
- Created: 2025-10-17T21:44:19.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-11-01T16:31:16.000Z (6 months ago)
- Last Synced: 2025-11-01T18:05:27.164Z (6 months ago)
- Topics: ai, alacritty, chatgpt, cli, codex, converter, dark-mode, export, generator, html, markdown, odfpy, opensource, pandoc, python, static-html, terminal, text-renderer, tool
- Language: HTML
- Homepage:
- Size: 21.1 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ⚡️ CodexRenderer — ODT/TXT → Markdown → HTML (tema Alacritty/Codex)
[🌍 English version](README_english-version.md)




[](https://www.buymeacoffee.com/D4vRAM369)

> 🧠 **Convierte sesiones enteras de Codex en CLI copiadas y pegadas** en `.odt` o `.txt` a un **HTML oscuro estilo terminal** (Alacritty/Codex).
> Ideal para logs, prompts de IA, diarios técnicos o documentación minimalista.
---
## 🖼️ Ejemplos visuales
Capturas de un archivo `sample.odt` procesado por **CodexRenderer**, mostrando el resultado final en HTML oscuro estilo Alacritty.

---
## 📁 Estructura del proyecto
```bash
CodexRenderer/
├── CodexRunner.spec
├── cli_entry.py
├── convert_codex.sh
├── convert_gemini.sh
├── gui_entry.py
├── pyproject.toml
├── requirements.txt
├── run.sh
├── src/
│ └── codexrenderer/
│ ├── __init__.py
│ ├── cli.py
│ ├── codex.py
│ ├── codexrenderer_gui.py
│ ├── gemini_cli.py
│ ├── geminirenderer_core.py
│ ├── geminirenderer_gui.py
│ ├── claudecode_cli.py
│ ├── claudecode_gui.py
│ ├── assets/
│ │ └── alacritty.css
│ └── thirdparty/
│ ├── tkdnd/ …
│ └── vendor/
│ └── tkinterdnd2/ …
├── thirdparty/
│ └── vendor/
│ └── tkinterdnd2/ …
├── tests/
│ ├── test_cli.py
│ └── test_gui_import.py
├── build/
├── dist/
└── .github/workflows/
├── ci.yml
└── release.yml
```
---
## 🧉 Descripción
CodexRenderer **renderiza notas/sesiones** a HTML con un tema visual basado en la terminal *Alacritty*.
Aplica reglas semánticas automáticas sobre texto plano o documentos `.odt` para resaltar contenido según su función:
| Tipo de línea | Ejemplo | Renderizado |
|----------------------------|----------------------------------|----------------------------|
| 🧠 **Pensamientos IA** (`•`) | `• esto es una idea interna` | Verde + cursiva |
| 🟩 **Líneas añadidas** (`+`) | `+ nueva línea añadida` | Bloque `diff` verde |
| 🔴 **Líneas eliminadas** (`-`)| `- línea eliminada` | Bloque `diff` rojo |
| 💻 **Bloques de código** | `````bash ... ````` | Tema oscuro estilo terminal |
El **CSS se embebe directamente** en el HTML final, garantizando un mismo aspecto en cualquier carpeta o sistema.
---
## 🌠 Extensiones GUI: GeminiRenderer y ClaudeCode
Las GUIs de **GeminiRenderer** y **ClaudeCodeRenderer** amplían la experiencia de CodexRenderer con soporte *drag & drop* y estilos de exportación específicos. Comparten la base Tkinter + tkinterdnd2 vendorizada y se distribuyen junto al lanzador `run.sh`.
- **GeminiRenderer GUI** adapta el flujo Codex al ecosistema Gemini y sirvió como base para la integración multiplataforma de TkDND.
- **ClaudeCode GUI** reutiliza la misma capa de conversión, añadiendo presets orientados a flujos Claude.
```bash
./run.sh --debug # Autodetecta GUI disponible y abre GeminiRenderer
codex-gemini --debug # Lanza la interfaz Gemini
codex-claude --debug # Lanza la interfaz ClaudeCode
```
📦 Requisitos adicionales (ambas GUIs):
```bash
sudo apt install -y python3-tk tkdnd pandoc
```
🧩 Dependencias vendorizadas:
- `src/codexrenderer/thirdparty/vendor/tkinterdnd2/`
- `src/codexrenderer/thirdparty/tkdnd//`
- `thirdparty/vendor/tkinterdnd2/` (soporte fuera de entornos virtuales)
---
## ⚙️ Requisitos
- 🐍 **Python 3.10+**
- 📦 **Pandoc**
```bash
sudo apt install -y pandoc
```
- 🔹 Paquetes Python:
- [`odfpy`](https://pypi.org/project/odfpy/) → para leer `.odt`
---
## 🧪 Instalación recomendada (entorno virtual)
```bash
cd ~/CodexRenderer
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[gui]"
sudo apt install -y pandoc # requerido para generar HTML
```
Comandos disponibles tras la instalación editable:
```bash
codexrenderer --help # CLI ODT/TXT/MD → MD/HTML
geminirenderer --help # CLI estilo Gemini
geminirenderer-gui --debug # GUI con drag & drop
codexrenderer-gui --debug # GUI clásica (Codex)
claudecoderenderer --help # CLI estilo Claude
claudecoderenderer-gui --debug # GUI Claude
codex-gemini --debug # Alias lanzador Gemini
codex-claude --debug # Alias lanzador Claude
```
### Opciones CLI útiles
- `--md-only`: crea únicamente el `.md` (útil en entornos sin Pandoc instalado).
- `--inline-css/--no-inline-css`: controla si el CSS del tema se embebe al inicio del Markdown.
---
## 🚀 Uso rápido
```bash
./convert_codex.sh ~/Documentos/MiSesion.odt
```
Salida generada:
- 📝 `MiSesion.md`
- 🌐 `MiSesion.html` (con tema Alacritty/Codex embebido)
---
## 🧠 Reglas semánticas (resumen visual)
````markdown
• Pensamiento IA → *texto verde en cursiva*
+ Línea añadida
- Línea eliminada
```bash
# Bloque de código
echo "Hello, Codex!"
```
````
---
## 🤰 Conversión por lotes
Convierte automáticamente todos los `.odt` y `.txt` de una carpeta:
```bash
find ./notas -type f \( -name '*.odt' -o -name '*.txt' \) -print0 \
| xargs -0 -I{} ./convert_codex.sh "{}"
```
---
## 🎨 Tema visual (Alacritty/Codex)
> 💚 Basado en el estilo limpio de Alacritty, con un toque retro tipo Matrix en el banner.
- 🖤 Fondo negro profundo
- 💚 Verde neón (`#00ff80`)
- 🧮 Tipografía monoespaciada
- 💿 Código resaltado con bordes luminosos
---
## 📦 Empaquetado con PyInstaller (CodexRunner)
```bash
python -m pip install -r requirements.txt pyinstaller
pyinstaller CodexRunner.spec --clean --noconfirm
```
El ejecutable se genera en `dist/CodexRunner/`. Lo habitual es comprimir esa carpeta y adjuntarla como asset en la release correspondiente.
---
## 🗟️ Licencia
**CodexRenderer** está licenciado bajo [GNU GPL v3.0](./LICENSE), garantizando que siga siendo software libre.
**Componentes de terceros incluidos**
- `tkinterdnd2` vendorizado (CLI/GUI y launcher): licencia en `src/codexrenderer/thirdparty/vendor/tkinterdnd2-0.4.3.dist-info/LICENSE`.
- TkDND (binarios nativos para arrastrar y soltar): archivos redistribuidos en `src/codexrenderer/thirdparty/tkdnd/` y `thirdparty/vendor/tkinterdnd2/tkdnd/` siguiendo su licencia original.
---
## 🚢 Checklist previa a un release
1. Actualizar `pyproject.toml` y cualquier banner con la nueva versión.
2. Instalar dependencias de desarrollo y ejecutar verificaciones:
```bash
python -m pip install -e ".[gui]" pytest ruff black build twine
ruff check .
black --check .
pytest
```
3. Generar artefactos y validar metadatos:
```bash
python -m build
twine check dist/*
pyinstaller CodexRunner.spec --clean --noconfirm
```
4. Confirmar los cambios relevantes (evitando `venv/`, `out/` o binarios temporales).
5. Etiquetar la versión (`git tag vX.Y.Z && git push --tags`) para activar `release.yml`.
6. Revisar el borrador automático en GitHub Releases y documentar las notas de cambio.
---
## 💬 Créditos
Creado con 💻 y ☕ por **D4vRAM**
> “Del texto crudo al código vivo — de la mente al render.” 🧠⚡️
---
### 🧉 Etiquetas
`#markdown` `#html` `#converter` `#terminal-theme` `#python` `#matrix` `#alacritty` `#opensource`
[](https://www.buymeacoffee.com/D4vRAM369)