create-openclass-uniminuto
v1.6.13
Published
Creador de proyectos Open Class UNIMINUTO basados en Slidev, con generación incremental por semanas, actualización de tema y GitHub Pages.
Maintainers
Readme
create-openclass-uniminuto
Creador de proyectos Open Class UNIMINUTO basados en Slidev, con estructura institucional, generación progresiva de 8 semanas, exportación de recursos y despliegue automático en GitHub Pages.
Este repositorio cumple dos funciones:
- Publicar un paquete npm llamado
create-openclass-uniminuto. - Servir como base para mantener una plantilla reutilizable de cursos Open Class.
Flujo recomendado cuando el repositorio ya existe en GitHub
Este es el flujo pensado para la opción C: primero creas el repositorio en GitHub y luego generas el curso dentro de ese repositorio clonado.
git clone https://github.com/herrerawilliamh/openclass-iot.git
cd openclass-iot
npm create openclass-uniminuto@latest . -- --iot
npm install
npm run semana -- 1
npm run devSi el repositorio no está completamente vacío y quieres reemplazar archivos existentes de la plantilla, usa --force:
npm create openclass-uniminuto@latest . -- --iot --forceDespués sincronizas con GitHub mediante Git, no mediante npm:
git add -A
git commit -m "Configura Open Class IoT"
git pushnpm create genera o completa el proyecto; git push sincroniza el repositorio y activa GitHub Actions/GitHub Pages.
1. Nombres recomendados
Paquete npm
"name": "create-openclass-uniminuto"Uso esperado después de publicarlo:
npm create openclass-uniminuto@latest openclass-iotCon configuración inicial de IoT:
npm create openclass-uniminuto@latest openclass-iot -- --iotLa relación es esta:
Paquete publicado: create-openclass-uniminuto
Comando de uso : npm create openclass-uniminuto@latest nombre-del-cursoRepositorio GitHub del generador npm
herrerawilliamh/create-openclass-uniminutoRepositorio GitHub de la plantilla visual
herrerawilliamh/openclass-uniminuto-templateEste segundo repositorio puede marcarse como Template repository en GitHub para crear cursos desde el botón Use this template.
Repositorios de cursos generados
herrerawilliamh/openclass-iot
herrerawilliamh/openclass-bigdata
herrerawilliamh/openclass-gestion-seguridad
herrerawilliamh/openclass-percepcion-computacionalURL esperada de GitHub Pages:
https://herrerawilliamh.github.io/openclass-iot/2. Estructura que genera el paquete
mi-openclass/
├─ .github/
│ └─ workflows/
│ └─ deploy.yml
├─ config/
│ ├─ openclass.config.iot-ejemplo.json
│ └─ openclass.config.iot-desde-openclass-iot.json
├─ plantillas/
│ ├─ launcher.md
│ └─ semana.md
├─ public/
│ ├─ descargas/
│ ├─ fondos/
│ ├─ imagenes/
│ └─ videos/
├─ scripts/
│ ├─ generar-desde-config.mjs
│ ├─ nuevo-curso.mjs
│ ├─ semana.mjs
│ ├─ preparar-github-pages.mjs
│ ├─ build-site.mjs
│ ├─ export-downloads.mjs
│ └─ decks.mjs
├─ semanas/
├─ openclass.config.json
├─ slides.md
├─ package.json
└─ README.md3. Tres formas de trabajar
Opción A · Crear curso desde npm
Útil cuando quieres trabajar desde consola y generar todo el proyecto localmente.
npm create openclass-uniminuto@latest openclass-iot -- --iot
cd openclass-iot
npm install
npm run semana -- 1
npm run devLuego creas el repositorio en GitHub y subes el proyecto.
Opción B · Crear curso desde GitHub Template
Útil cuando quieres crear el repositorio primero desde GitHub.
- Entra al repositorio
openclass-uniminuto-template. - Clic en Use this template.
- Crea un repositorio nuevo, por ejemplo
openclass-iot. - Clónalo en tu equipo.
- Ejecuta los comandos del curso.
git clone https://github.com/herrerawilliamh/openclass-iot.git
cd openclass-iot
npm install
npm run nuevo
npm run semana -- 1
npm run devOpción C · Crear repo en GitHub y generar curso en local
Esta es una opción híbrida y recomendada cuando quieres separar el repositorio remoto de la generación local.
Primero creas en GitHub el repositorio openclass-iot. Puede ser:
- desde el botón Use this template;
- o como repositorio vacío.
Luego, en local, tienes dos posibilidades.
C1. Si el repositorio fue creado desde la plantilla
git clone https://github.com/herrerawilliamh/openclass-iot.git
cd openclass-iot
npm install
npm run nuevo
npm run semana -- 1
npm run devDespués subes los cambios:
git add -A
git commit -m "Generar semana 1"
git pushC2. Si el repositorio en GitHub está vacío
npm create openclass-uniminuto@latest openclass-iot -- --iot
cd openclass-iot
npm install
npm run semana -- 1
npm run devLuego conectas ese proyecto local con el repositorio remoto:
git init
git branch -M main
git add -A
git commit -m "Publicación inicial Open Class IoT"
git remote add origin https://github.com/herrerawilliamh/openclass-iot.git
git push -u origin mainAmbas rutas llevan al mismo resultado: un curso Open Class versionado en GitHub y publicable en GitHub Pages.
4. Publicar este generador en npm
Desde la carpeta de este paquete:
npm login
npm whoami
npm pack --dry-run
npm publish --access publicDespués de publicar, prueba desde otra carpeta:
npm create openclass-uniminuto@latest prueba-openclass
cd prueba-openclass
npm install
npm run semana -- 1
npm run dev5. Subir este generador a GitHub
Crea el repositorio:
herrerawilliamh/create-openclass-uniminutoLuego ejecuta:
git init
git branch -M main
git add -A
git commit -m "Versión inicial del generador Open Class UNIMINUTO"
git remote add origin https://github.com/herrerawilliamh/create-openclass-uniminuto.git
git push -u origin main6. Crear el repositorio plantilla de GitHub
El repositorio plantilla debe llamarse preferiblemente:
openclass-uniminuto-templatePara crearlo, puedes copiar el contenido de la carpeta template/ como raíz de un nuevo repositorio:
mkdir openclass-uniminuto-template
cp -R template/. openclass-uniminuto-template/
cd openclass-uniminuto-template
git init
git branch -M main
git add -A
git commit -m "Plantilla Open Class UNIMINUTO"
git remote add origin https://github.com/herrerawilliamh/openclass-uniminuto-template.git
git push -u origin mainEn GitHub activa:
Settings → General → Template repositoryCon eso podrás crear cursos desde:
Use this template → Create a new repository7. Generar semanas una a una
Cada curso tiene 8 semanas. El comando principal es:
npm run semana -- 1Ejemplos:
npm run semana -- 2 --title "Arquitectura física de soluciones IoT" --date "Junio 15 de 2026"npm run semana -- 3 --title "Protocolos de comunicación" --theme "MQTT, HTTP y comunicación entre dispositivos"npm run semana -- 4 --title "Integración con plataformas en la nube" --activity "Laboratorio guiado" --duration "120 minutos"Activar solo una semana y desactivar las demás:
npm run semana -- 5 --onlyRegenerar y sobrescribir el contenido interno de una semana:
npm run semana -- 6 --force-contentEl comando semana actualiza:
openclass.config.json
slides.md
scripts/decks.mjs
package.json
curso_semanaN.md
semanas/curso_semanaN.mdPor defecto conserva el contenido ya editado en semanas/*.md.
8. GitHub Pages
Cada curso generado incluye:
.github/workflows/deploy.ymlEl workflow realiza este proceso:
- Clona el repositorio.
- Configura GitHub Pages.
- Instala Node.js.
- Ejecuta
npm ci. - Instala Chromium para exportar PDF/PPTX con Slidev.
- Ejecuta
npm run pages:build. - Sube
distcomo artefacto de GitHub Pages. - Publica el sitio.
En cada repositorio de curso debes activar GitHub Pages así:
Settings → Pages → Build and deployment → Source → GitHub ActionsDespués, cada git push a main publicará el sitio automáticamente.
9. Flujo semanal sugerido para un curso
Semana 1:
npm run semana -- 1 --title "Introducción al curso"
git add -A
git commit -m "Agregar semana 1"
git pushSemana 2:
npm run semana -- 2 --title "Tema de la semana 2"
git add -A
git commit -m "Agregar semana 2"
git pushRepite el proceso hasta la semana 8.
10. Actualizar el generador en npm
Cambio pequeño:
npm version patch
npm publishCambio funcional compatible:
npm version minor
npm publishCambio mayor:
npm version major
npm publish11. Convenciones recomendadas
| Curso | Repositorio GitHub | Nombre corto sugerido |
|---|---|---|
| Internet de las Cosas | openclass-iot | iot |
| Big Data | openclass-bigdata | bigdata |
| Gestión de Seguridad de la Información | openclass-gestion-seguridad | gsi |
| Percepción Computacional | openclass-percepcion-computacional | percepcioncomputacional |
12. Resumen operativo
Para publicar el generador:
npm publish --access publicPara crear un curso desde npm:
npm create openclass-uniminuto@latest openclass-iot -- --iotPara crear un curso desde GitHub:
Use this template → openclass-iotPara generar una semana:
npm run semana -- 1Para publicar en GitHub Pages:
git add -A
git commit -m "Actualizar Open Class"
git push