Un editor de código moderno y completo construido con React, TypeScript y Vite. Inspirado en editores como CodePen, este proyecto permite escribir HTML, CSS y JavaScript con vista previa en tiempo real.
- Editor Triple Panel - HTML, CSS y JavaScript separados
- Vista Previa en Tiempo Real - Los cambios se reflejan instantáneamente
- Ejecución Automática - Código que se ejecuta mientras escribes (configurable)
- Persistencia Automática - Tu trabajo se guarda automáticamente en localStorage
- Temas Claro/Oscuro - Alternancia fluida entre temas
- Sistema de Plantillas - Comienza con ejemplos predefinidos
- Guardar/Cargar Proyectos - Exporta e importa proyectos como JSON
- Exportar HTML - Descarga tu proyecto como archivo HTML completo
- Consola Integrada - Ve los console.log de tu código
- Manejo de Errores - Muestra errores JavaScript en la vista previa
- Atajos de Teclado - Navegación rápida con shortcuts
Ctrl/Cmd + Enter→ Ejecutar códigoCtrl/Cmd + S→ Guardar proyectoCtrl/Cmd + Shift + R→ Reset códigoCtrl/Cmd + D→ Cambiar temaCtrl/Cmd + ,→ Abrir configuración
🔗 Ver Demo
-
Frontend:
- React 18 - Biblioteca de UI
- TypeScript - Tipado estático
- Vite - Build tool y dev server
- Tailwind CSS - Framework CSS
-
Librerías:
- Lucide React - Iconos modernos
- LocalStorage API - Persistencia de datos
- Node.js 16+
- npm o yarn
# Clonar el repositorio
git clone https://github.com/cmurestudillos/code-editor-clone.git
# Navegar al directorio
cd code-editor-clone
# Instalar dependencias
npm install
# Ejecutar en modo desarrollo
npm run devsrc/
├── components/
│ ├── Editor.tsx # Componente principal del editor
│ ├── KeyboardShortcuts.tsx # Manejo de atajos de teclado
│ └── ConsolePanel.tsx # Panel de consola integrada
├── assets/
│ └── index.css # Estilos globales
├── App.tsx # Componente principal
└── main.tsx # Punto de entrada
Comienza desde cero con un lienzo limpio.
<div class="container">
<h1>¡Hola Mundo!</h1>
<button onclick="cambiarColor()">Cambiar Color</button>
</div>Una calculadora completamente funcional con diseño moderno.
// En App.tsx
const templates = {
miPlantilla: {
html: '<div>Mi HTML</div>',
css: '.mi-clase { color: red; }',
js: 'console.log("¡Hola!");',
name: 'Mi Plantilla'
}
};/* En src/assets/index.css */
.bg-mi-tema {
background-color: #tu-color;
}¡Las contribuciones son bienvenidas! Si quieres mejorar este proyecto:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/amazing-feature) - Commit tus cambios (
git commit -m 'Add amazing feature') - Push a la rama (
git push origin feature/amazing-feature) - Abre un Pull Request
Si encuentras un bug, por favor abre un issue con:
- Descripción detallada del problema
- Pasos para reproducirlo
- Capturas de pantalla (si aplica)
- Información del navegador/OS
- Colaboración en tiempo real - Edición colaborativa
- Más plantillas - React, Vue, Angular
- Autocompletado - Sugerencias inteligentes
- Exportar a CodePen - Integración directa
- Modo de presentación - Para demos y tutoriales
- Integración con GitHub - Guardar en repositorios
- Múltiples archivos - Soporte para proyectos complejos
- Presets de librerías - Bootstrap, jQuery, etc.
- PWA - Aplicación web progresiva
- Monaco Editor - Editor más avanzado
- Web Workers - Ejecución de código en background
- Tests automatizados - Jest + Testing Library
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
- Inspirado en CodePen
- Iconos por Lucide
- Fuentes por Google Fonts
- Comunidad de React y Vite
⭐ ¿Te gustó el proyecto? ¡Dale una estrella en GitHub! ⭐