{"id":32740641,"url":"https://github.com/d4vram369/codexrenderer","last_synced_at":"2026-04-17T05:02:12.974Z","repository":{"id":320494641,"uuid":"1078520120","full_name":"D4vRAM369/CodexRenderer","owner":"D4vRAM369","description":"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.","archived":false,"fork":false,"pushed_at":"2025-11-01T16:31:16.000Z","size":22106,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-01T18:05:27.164Z","etag":null,"topics":["ai","alacritty","chatgpt","cli","codex","converter","dark-mode","export","generator","html","markdown","odfpy","opensource","pandoc","python","static-html","terminal","text-renderer","tool"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/D4vRAM369.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-17T21:44:19.000Z","updated_at":"2025-11-01T16:03:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d692112-e044-4740-8cdf-0362bd4bf86f","html_url":"https://github.com/D4vRAM369/CodexRenderer","commit_stats":null,"previous_names":["d4vram369/codexrenderer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/D4vRAM369/CodexRenderer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D4vRAM369%2FCodexRenderer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D4vRAM369%2FCodexRenderer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D4vRAM369%2FCodexRenderer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D4vRAM369%2FCodexRenderer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/D4vRAM369","download_url":"https://codeload.github.com/D4vRAM369/CodexRenderer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D4vRAM369%2FCodexRenderer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31915900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","alacritty","chatgpt","cli","codex","converter","dark-mode","export","generator","html","markdown","odfpy","opensource","pandoc","python","static-html","terminal","text-renderer","tool"],"created_at":"2025-11-03T10:01:27.433Z","updated_at":"2026-04-17T05:02:12.969Z","avatar_url":"https://github.com/D4vRAM369.png","language":"HTML","readme":"# ⚡️ CodexRenderer — ODT/TXT → Markdown → HTML (tema Alacritty/Codex)\n[🌍 English version](README_english-version.md)\n\n![Python](https://img.shields.io/badge/Python-3.10%2B-blue)\n![License](https://img.shields.io/badge/License-GPLv3-green)\n![Platform](https://img.shields.io/badge/Platform-Linux-lightgrey)\n![Made_with](https://img.shields.io/badge/Made_with-Love_\u0026_Coffee-ff69b4)\n[![coffee](https://img.shields.io/badge/Buy_me_a_coffee-☕-5F7FFF)](https://www.buymeacoffee.com/D4vRAM369)\n\n\u003cimg width=\"891\" height=\"620\" alt=\"CodexRenderer preview\" src=\"https://github.com/user-attachments/assets/aacffd84-bf30-455a-84c9-c46a8828b4b1\" /\u003e\n\n\u003e 🧠 **Convierte sesiones enteras de Codex en CLI copiadas y pegadas** en `.odt` o `.txt` a un **HTML oscuro estilo terminal** (Alacritty/Codex).  \n\u003e Ideal para logs, prompts de IA, diarios técnicos o documentación minimalista.\n\n---\n\n## 🖼️ Ejemplos visuales\n\nCapturas de un archivo `sample.odt` procesado por **CodexRenderer**, mostrando el resultado final en HTML oscuro estilo Alacritty.\n\n\u003cimg width=\"2440\" height=\"833\" alt=\"image\" src=\"https://github.com/user-attachments/assets/12e68318-5e65-450f-bd85-abe30ae78c39\" /\u003e\n\u003cimg width=\"2493\" height=\"850\" alt=\"image\" src=\"https://github.com/user-attachments/assets/9f96fcfc-87b0-4d64-a33a-26ce6bcebd5d\" /\u003e\n\n---\n\n## 📁 Estructura del proyecto\n\n```bash\nCodexRenderer/\n├── CodexRunner.spec\n├── cli_entry.py\n├── convert_codex.sh\n├── convert_gemini.sh\n├── gui_entry.py\n├── pyproject.toml\n├── requirements.txt\n├── run.sh\n├── src/\n│   └── codexrenderer/\n│       ├── __init__.py\n│       ├── cli.py\n│       ├── codex.py\n│       ├── codexrenderer_gui.py\n│       ├── gemini_cli.py\n│       ├── geminirenderer_core.py\n│       ├── geminirenderer_gui.py\n│       ├── claudecode_cli.py\n│       ├── claudecode_gui.py\n│       ├── assets/\n│       │   └── alacritty.css\n│       └── thirdparty/\n│           ├── tkdnd/ …\n│           └── vendor/\n│               └── tkinterdnd2/ …\n├── thirdparty/\n│   └── vendor/\n│       └── tkinterdnd2/ …\n├── tests/\n│   ├── test_cli.py\n│   └── test_gui_import.py\n├── build/\n├── dist/\n└── .github/workflows/\n    ├── ci.yml\n    └── release.yml\n```\n\n---\n\n## 🧉 Descripción\n\nCodexRenderer **renderiza notas/sesiones** a HTML con un tema visual basado en la terminal *Alacritty*.  \nAplica reglas semánticas automáticas sobre texto plano o documentos `.odt` para resaltar contenido según su función:\n\n| Tipo de línea              | Ejemplo                          | Renderizado                |\n|----------------------------|----------------------------------|----------------------------|\n| 🧠 **Pensamientos IA** (`•`) | `• esto es una idea interna`      | Verde + cursiva            |\n| 🟩 **Líneas añadidas** (`+`)  | `+ nueva línea añadida`           | Bloque `diff` verde        |\n| 🔴 **Líneas eliminadas** (`-`)| `- línea eliminada`               | Bloque `diff` rojo         |\n| 💻 **Bloques de código**      | `````bash ... `````               | Tema oscuro estilo terminal |\n\nEl **CSS se embebe directamente** en el HTML final, garantizando un mismo aspecto en cualquier carpeta o sistema.\n\n---\n\n## 🌠 Extensiones GUI: GeminiRenderer y ClaudeCode\n\nLas GUIs de **GeminiRenderer** y **ClaudeCodeRenderer** amplían la experiencia de CodexRenderer con soporte *drag \u0026 drop* y estilos de exportación específicos. Comparten la base Tkinter + tkinterdnd2 vendorizada y se distribuyen junto al lanzador `run.sh`.\n\n- **GeminiRenderer GUI** adapta el flujo Codex al ecosistema Gemini y sirvió como base para la integración multiplataforma de TkDND.\n- **ClaudeCode GUI** reutiliza la misma capa de conversión, añadiendo presets orientados a flujos Claude.\n\n```bash\n./run.sh --debug        # Autodetecta GUI disponible y abre GeminiRenderer\ncodex-gemini --debug    # Lanza la interfaz Gemini\ncodex-claude --debug    # Lanza la interfaz ClaudeCode\n```\n\n📦 Requisitos adicionales (ambas GUIs):\n\n```bash\nsudo apt install -y python3-tk tkdnd pandoc\n```\n\n🧩 Dependencias vendorizadas:\n\n- `src/codexrenderer/thirdparty/vendor/tkinterdnd2/`\n- `src/codexrenderer/thirdparty/tkdnd/\u003cplataforma\u003e/`\n- `thirdparty/vendor/tkinterdnd2/` (soporte fuera de entornos virtuales)\n\n---\n\n## ⚙️ Requisitos\n\n- 🐍 **Python 3.10+**\n- 📦 **Pandoc**\n  ```bash\n  sudo apt install -y pandoc\n  ```\n- 🔹 Paquetes Python:\n  - [`odfpy`](https://pypi.org/project/odfpy/) → para leer `.odt`\n\n---\n\n## 🧪 Instalación recomendada (entorno virtual)\n\n```bash\ncd ~/CodexRenderer\npython3 -m venv .venv\nsource .venv/bin/activate\npython -m pip install --upgrade pip\npython -m pip install -e \".[gui]\"\nsudo apt install -y pandoc  # requerido para generar HTML\n```\n\nComandos disponibles tras la instalación editable:\n\n```bash\ncodexrenderer --help           # CLI ODT/TXT/MD → MD/HTML\ngeminirenderer --help          # CLI estilo Gemini\ngeminirenderer-gui --debug     # GUI con drag \u0026 drop\ncodexrenderer-gui --debug      # GUI clásica (Codex)\nclaudecoderenderer --help      # CLI estilo Claude\nclaudecoderenderer-gui --debug # GUI Claude\ncodex-gemini --debug           # Alias lanzador Gemini\ncodex-claude --debug           # Alias lanzador Claude\n```\n\n### Opciones CLI útiles\n\n- `--md-only`: crea únicamente el `.md` (útil en entornos sin Pandoc instalado).\n- `--inline-css/--no-inline-css`: controla si el CSS del tema se embebe al inicio del Markdown.\n\n---\n\n## 🚀 Uso rápido\n\n```bash\n./convert_codex.sh ~/Documentos/MiSesion.odt\n```\n\nSalida generada:\n- 📝 `MiSesion.md`\n- 🌐 `MiSesion.html` (con tema Alacritty/Codex embebido)\n\n---\n\n## 🧠 Reglas semánticas (resumen visual)\n\n````markdown\n• Pensamiento IA → *\u003cspan class=\"ia-thought\"\u003etexto verde en cursiva\u003c/span\u003e*\n\n+ Línea añadida\n- Línea eliminada\n```bash\n# Bloque de código\necho \"Hello, Codex!\"\n```\n````\n\n---\n\n## 🤰 Conversión por lotes\n\nConvierte automáticamente todos los `.odt` y `.txt` de una carpeta:\n\n```bash\nfind ./notas -type f \\( -name '*.odt' -o -name '*.txt' \\) -print0 \\\n| xargs -0 -I{} ./convert_codex.sh \"{}\"\n```\n\n---\n\n## 🎨 Tema visual (Alacritty/Codex)\n\n\u003e 💚 Basado en el estilo limpio de Alacritty, con un toque retro tipo Matrix en el banner.\n\n- 🖤 Fondo negro profundo \n- 💚 Verde neón (`#00ff80`) \n- 🧮 Tipografía monoespaciada \n- 💿 Código resaltado con bordes luminosos \n\n---\n\n## 📦 Empaquetado con PyInstaller (CodexRunner)\n\n```bash\npython -m pip install -r requirements.txt pyinstaller\npyinstaller CodexRunner.spec --clean --noconfirm\n```\n\nEl ejecutable se genera en `dist/CodexRunner/`. Lo habitual es comprimir esa carpeta y adjuntarla como asset en la release correspondiente.\n\n---\n\n## 🗟️ Licencia\n\n**CodexRenderer** está licenciado bajo [GNU GPL v3.0](./LICENSE), garantizando que siga siendo software libre.\n\n**Componentes de terceros incluidos**\n- `tkinterdnd2` vendorizado (CLI/GUI y launcher): licencia en `src/codexrenderer/thirdparty/vendor/tkinterdnd2-0.4.3.dist-info/LICENSE`.\n- TkDND (binarios nativos para arrastrar y soltar): archivos redistribuidos en `src/codexrenderer/thirdparty/tkdnd/` y `thirdparty/vendor/tkinterdnd2/tkdnd/` siguiendo su licencia original.\n\n---\n\n## 🚢 Checklist previa a un release\n\n1. Actualizar `pyproject.toml` y cualquier banner con la nueva versión.\n2. Instalar dependencias de desarrollo y ejecutar verificaciones:\n   ```bash\n   python -m pip install -e \".[gui]\" pytest ruff black build twine\n   ruff check .\n   black --check .\n   pytest\n   ```\n3. Generar artefactos y validar metadatos:\n   ```bash\n   python -m build\n   twine check dist/*\n   pyinstaller CodexRunner.spec --clean --noconfirm\n   ```\n4. Confirmar los cambios relevantes (evitando `venv/`, `out/` o binarios temporales).\n5. Etiquetar la versión (`git tag vX.Y.Z \u0026\u0026 git push --tags`) para activar `release.yml`.\n6. Revisar el borrador automático en GitHub Releases y documentar las notas de cambio.\n\n---\n\n## 💬 Créditos\n\nCreado con 💻 y ☕ por **D4vRAM**  \n\u003e “Del texto crudo al código vivo — de la mente al render.” 🧠⚡️\n\n---\n\n### 🧉 Etiquetas\n\n`#markdown` `#html` `#converter` `#terminal-theme` `#python` `#matrix` `#alacritty` `#opensource`\n\n[![Buy Me a Coffee](https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20coffee\u0026emoji=☕\u0026slug=D4vRAM369\u0026button_colour=5F7FFF\u0026font_colour=ffffff\u0026font_family=Inter\u0026outline_colour=000000\u0026coffee_colour=FFDD00)](https://www.buymeacoffee.com/D4vRAM369)\n","funding_links":["https://www.buymeacoffee.com/D4vRAM369","https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20coffee\u0026emoji="],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd4vram369%2Fcodexrenderer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd4vram369%2Fcodexrenderer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd4vram369%2Fcodexrenderer/lists"}