create-openclass-uniminuto 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +480 -0
  3. package/bin/create-openclass-uniminuto.mjs +142 -0
  4. package/package.json +39 -0
  5. package/template/.github/workflows/deploy.yml +64 -0
  6. package/template/README.md +326 -0
  7. package/template/config/openclass.config.iot-desde-openclass-iot.json +77 -0
  8. package/template/config/openclass.config.iot-ejemplo.json +81 -0
  9. package/template/demo_semana1.md +11 -0
  10. package/template/demo_semana2.md +11 -0
  11. package/template/demo_semana3.md +11 -0
  12. package/template/demo_semana4.md +11 -0
  13. package/template/demo_semana5.md +11 -0
  14. package/template/demo_semana6.md +11 -0
  15. package/template/demo_semana7.md +11 -0
  16. package/template/demo_semana8.md +11 -0
  17. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana1.md +12 -0
  18. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana2.md +12 -0
  19. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana3.md +12 -0
  20. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana4.md +12 -0
  21. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana5.md +12 -0
  22. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana6.md +12 -0
  23. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana7.md +12 -0
  24. package/template/ejemplos/iot-semanas-1-a-3/raiz/iot_semana8.md +12 -0
  25. package/template/ejemplos/iot-semanas-1-a-3/raiz/slides.md +154 -0
  26. package/template/ejemplos/iot-semanas-1-a-3/semanas/iot_semana1.md +846 -0
  27. package/template/ejemplos/iot-semanas-1-a-3/semanas/iot_semana2.md +1040 -0
  28. package/template/ejemplos/iot-semanas-1-a-3/semanas/iot_semana3.md +1071 -0
  29. package/template/openclass.config.json +79 -0
  30. package/template/package-lock.json +11568 -0
  31. package/template/package.json +61 -0
  32. package/template/plantillas/launcher.md +11 -0
  33. package/template/plantillas/semana.md +177 -0
  34. package/template/public/descargas/.gitkeep +0 -0
  35. package/template/public/favicon.png +0 -0
  36. package/template/public/fondos/slide-01-portada.png +0 -0
  37. package/template/public/fondos/slide-02-titulo.png +0 -0
  38. package/template/public/fondos/slide-03-imagen-izquierda.png +0 -0
  39. package/template/public/fondos/slide-04-imagen-derecha.png +0 -0
  40. package/template/public/fondos/slide-05-template.png +0 -0
  41. package/template/public/fondos/slide-06-cierre.png +0 -0
  42. package/template/public/imagenes/.gitkeep +0 -0
  43. package/template/public/videos/.gitkeep +0 -0
  44. package/template/scripts/build-incremental.mjs +33 -0
  45. package/template/scripts/build-site.mjs +33 -0
  46. package/template/scripts/decks.mjs +29 -0
  47. package/template/scripts/dev-all.mjs +37 -0
  48. package/template/scripts/export-downloads.mjs +53 -0
  49. package/template/scripts/export-incremental.mjs +49 -0
  50. package/template/scripts/generar-desde-config.mjs +279 -0
  51. package/template/scripts/nuevo-curso.mjs +104 -0
  52. package/template/scripts/preparar-github-pages.mjs +52 -0
  53. package/template/scripts/publicar.mjs +36 -0
  54. package/template/scripts/semana.mjs +122 -0
  55. package/template/scripts/zip-template.mjs +70 -0
  56. package/template/semanas/demo_semana1.md +177 -0
  57. package/template/semanas/demo_semana2.md +177 -0
  58. package/template/semanas/demo_semana3.md +177 -0
  59. package/template/semanas/demo_semana4.md +177 -0
  60. package/template/semanas/demo_semana5.md +177 -0
  61. package/template/semanas/demo_semana6.md +177 -0
  62. package/template/semanas/demo_semana7.md +177 -0
  63. package/template/semanas/demo_semana8.md +177 -0
  64. package/template/setup/shiki.ts +10 -0
  65. package/template/slides.md +65 -0
  66. package/template/snippets/external.ts +12 -0
  67. package/template/theme/uniminuto/README-AutoFit.md +28 -0
  68. package/template/theme/uniminuto/components/AutoFitText.vue +159 -0
  69. package/template/theme/uniminuto/components/Counter.vue +37 -0
  70. package/template/theme/uniminuto/components/FontToggle.vue +42 -0
  71. package/template/theme/uniminuto/layouts/slide-01-portada.vue +119 -0
  72. package/template/theme/uniminuto/layouts/slide-02-titulo.vue +63 -0
  73. package/template/theme/uniminuto/layouts/slide-03-imagen-izquierda.vue +110 -0
  74. package/template/theme/uniminuto/layouts/slide-04-imagen-derecha.vue +110 -0
  75. package/template/theme/uniminuto/layouts/slide-05-titulo-superior-texto-derecha.vue +104 -0
  76. package/template/theme/uniminuto/layouts/slide-06-titulo-superior-texto-izquierda.vue +109 -0
  77. package/template/theme/uniminuto/layouts/slide-07-multimedia-con-titulo.vue +87 -0
  78. package/template/theme/uniminuto/layouts/slide-08-titulo-texto.vue +78 -0
  79. package/template/theme/uniminuto/layouts/slide-09-objetivos.vue +77 -0
  80. package/template/theme/uniminuto/layouts/slide-10-titulo-dos-columnas.vue +89 -0
  81. package/template/theme/uniminuto/layouts/slide-11-dos-titulos-dos-columnas.vue +98 -0
  82. package/template/theme/uniminuto/layouts/slide-12-cierre.vue +27 -0
  83. package/template/theme/uniminuto/layouts/slide-codigo.vue +133 -0
  84. package/template/theme/uniminuto/package.json +13 -0
  85. package/template/theme/uniminuto/styles/base.css +109 -0
  86. package/template/theme/uniminuto/styles/index.ts +11 -0
@@ -0,0 +1,64 @@
1
+ name: Deploy Open Class to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+ pages: write
12
+ id-token: write
13
+
14
+ concurrency:
15
+ group: pages
16
+ cancel-in-progress: false
17
+
18
+ jobs:
19
+ build:
20
+ name: Build Open Class
21
+ runs-on: ubuntu-latest
22
+
23
+ env:
24
+ SITE_BASE: /${{ github.event.repository.name }}/
25
+
26
+ steps:
27
+ - name: Checkout repository
28
+ uses: actions/checkout@v4
29
+
30
+ - name: Configure GitHub Pages
31
+ uses: actions/configure-pages@v5
32
+
33
+ - name: Setup Node.js
34
+ uses: actions/setup-node@v4
35
+ with:
36
+ node-version: 22
37
+ cache: npm
38
+
39
+ - name: Install dependencies
40
+ run: npm ci
41
+
42
+ - name: Install Chromium for Slidev export
43
+ run: npx playwright install chromium --with-deps
44
+
45
+ - name: Generate and build Open Class
46
+ run: npm run pages:build
47
+
48
+ - name: Upload GitHub Pages artifact
49
+ uses: actions/upload-pages-artifact@v3
50
+ with:
51
+ path: dist
52
+
53
+ deploy:
54
+ name: Deploy GitHub Pages
55
+ environment:
56
+ name: github-pages
57
+ url: ${{ steps.deployment.outputs.page_url }}
58
+ runs-on: ubuntu-latest
59
+ needs: build
60
+
61
+ steps:
62
+ - name: Deploy to GitHub Pages
63
+ id: deployment
64
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,326 @@
1
+ # Open Class UNIMINUTO · Slidev
2
+
3
+ Proyecto generado con `create-openclass-uniminuto` o creado desde la plantilla `openclass-uniminuto-template`.
4
+
5
+ Este curso está diseñado para organizar una Open Class de **8 semanas**, con generación progresiva de cada semana, portal principal, lanzadores individuales, exportación de PDF/PPTX y publicación automática en **GitHub Pages**.
6
+
7
+ ---
8
+
9
+
10
+ ## Crear el curso dentro de un repositorio ya creado en GitHub
11
+
12
+ Si primero creaste el repositorio en GitHub, clónalo y aplica la plantilla desde npm dentro de la carpeta del repositorio:
13
+
14
+ ```bash
15
+ git clone https://github.com/herrerawilliamh/openclass-iot.git
16
+ cd openclass-iot
17
+ npm create openclass-uniminuto@latest . -- --iot
18
+ npm install
19
+ npm run semana -- 1
20
+ npm run dev
21
+ ```
22
+
23
+ Si el repositorio ya tenía archivos iniciales y deseas reemplazarlos por los de la plantilla:
24
+
25
+ ```bash
26
+ npm create openclass-uniminuto@latest . -- --iot --force
27
+ ```
28
+
29
+ La sincronización con GitHub se hace después con Git:
30
+
31
+ ```bash
32
+ git add -A
33
+ git commit -m "Configura Open Class"
34
+ git push
35
+ ```
36
+
37
+
38
+ ## 1. Primer uso
39
+
40
+ Instala dependencias:
41
+
42
+ ```bash
43
+ npm install
44
+ ```
45
+
46
+ Configura el curso desde consola:
47
+
48
+ ```bash
49
+ npm run nuevo
50
+ ```
51
+
52
+ Genera la primera semana:
53
+
54
+ ```bash
55
+ npm run semana -- 1
56
+ ```
57
+
58
+ Ejecuta el portal principal:
59
+
60
+ ```bash
61
+ npm run dev
62
+ ```
63
+
64
+ Una semana específica se abre con:
65
+
66
+ ```bash
67
+ npm run dev:s1
68
+ npm run dev:s2
69
+ npm run dev:s3
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 2. Tres formas de crear este curso
75
+
76
+ ### Opción A · Desde npm
77
+
78
+ ```bash
79
+ npm create openclass-uniminuto@latest openclass-iot -- --iot
80
+ cd openclass-iot
81
+ npm install
82
+ npm run semana -- 1
83
+ npm run dev
84
+ ```
85
+
86
+ ### Opción B · Desde GitHub Template
87
+
88
+ 1. Entra al repositorio `openclass-uniminuto-template`.
89
+ 2. Clic en **Use this template**.
90
+ 3. Crea un repositorio nuevo, por ejemplo `openclass-iot`.
91
+ 4. Clónalo.
92
+ 5. Ejecuta los comandos del curso.
93
+
94
+ ```bash
95
+ git clone https://github.com/herrerawilliamh/openclass-iot.git
96
+ cd openclass-iot
97
+ npm install
98
+ npm run nuevo
99
+ npm run semana -- 1
100
+ npm run dev
101
+ ```
102
+
103
+ ### Opción C · Repo creado en GitHub y curso generado en local
104
+
105
+ Esta opción combina GitHub y npm.
106
+
107
+ #### Si el repositorio fue creado desde plantilla
108
+
109
+ ```bash
110
+ git clone https://github.com/herrerawilliamh/openclass-iot.git
111
+ cd openclass-iot
112
+ npm install
113
+ npm run nuevo
114
+ npm run semana -- 1
115
+ npm run dev
116
+ ```
117
+
118
+ Luego:
119
+
120
+ ```bash
121
+ git add -A
122
+ git commit -m "Generar semana 1"
123
+ git push
124
+ ```
125
+
126
+ #### Si el repositorio está vacío
127
+
128
+ ```bash
129
+ npm create openclass-uniminuto@latest openclass-iot -- --iot
130
+ cd openclass-iot
131
+ npm install
132
+ npm run semana -- 1
133
+ npm run dev
134
+ ```
135
+
136
+ Después conecta el remoto:
137
+
138
+ ```bash
139
+ git init
140
+ git branch -M main
141
+ git add -A
142
+ git commit -m "Publicación inicial Open Class"
143
+ git remote add origin https://github.com/herrerawilliamh/openclass-iot.git
144
+ git push -u origin main
145
+ ```
146
+
147
+ ---
148
+
149
+ ## 3. Generar semanas una a una
150
+
151
+ El curso siempre se organiza en **8 semanas**. Puedes generarlas progresivamente.
152
+
153
+ ```bash
154
+ npm run semana -- 1
155
+ npm run semana -- 2 --title "Título de la semana 2" --date "Junio 15 de 2026"
156
+ npm run semana -- 3 --title "Título de la semana 3" --theme "Tema central"
157
+ ```
158
+
159
+ El comando `semana` actualiza automáticamente:
160
+
161
+ ```text
162
+ openclass.config.json
163
+ slides.md
164
+ scripts/decks.mjs
165
+ package.json
166
+ curso_semanaN.md
167
+ semanas/curso_semanaN.md
168
+ ```
169
+
170
+ El contenido ya editado dentro de `semanas/*.md` se conserva. Solo se sobrescribe si usas:
171
+
172
+ ```bash
173
+ npm run semana -- 4 --force-content
174
+ ```
175
+
176
+ Para activar únicamente una semana:
177
+
178
+ ```bash
179
+ npm run semana -- 4 --only
180
+ ```
181
+
182
+ ---
183
+
184
+ ## 4. Editar contenido académico
185
+
186
+ El contenido real de cada presentación está en:
187
+
188
+ ```text
189
+ semanas/
190
+ ```
191
+
192
+ Ejemplo:
193
+
194
+ ```text
195
+ semanas/iot_semana1.md
196
+ semanas/iot_semana2.md
197
+ semanas/iot_semana3.md
198
+ ```
199
+
200
+ Los archivos de la raíz como `iot_semana1.md` funcionan como lanzadores. Normalmente no debes editarlos manualmente.
201
+
202
+ ---
203
+
204
+ ## 5. Recursos del curso
205
+
206
+ Usa estas carpetas:
207
+
208
+ ```text
209
+ public/imagenes/ imágenes del curso
210
+ public/videos/ videos y recursos audiovisuales
211
+ public/descargas/ PDF, PPTX u otros descargables
212
+ public/fondos/ fondos institucionales
213
+ ```
214
+
215
+ ---
216
+
217
+ ## 6. Construcción local
218
+
219
+ Construir el portal y las semanas activas:
220
+
221
+ ```bash
222
+ npm run pages:build
223
+ ```
224
+
225
+ Previsualizar la versión estática:
226
+
227
+ ```bash
228
+ npm run pages:preview
229
+ ```
230
+
231
+ Revisar configuración para GitHub Pages:
232
+
233
+ ```bash
234
+ npm run pages:check
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 7. Publicar en GitHub Pages
240
+
241
+ Este proyecto ya incluye:
242
+
243
+ ```text
244
+ .github/workflows/deploy.yml
245
+ ```
246
+
247
+ El workflow construye el sitio y publica la carpeta `dist` en GitHub Pages.
248
+
249
+ En GitHub configura:
250
+
251
+ ```text
252
+ Settings → Pages → Build and deployment → Source → GitHub Actions
253
+ ```
254
+
255
+ Luego sube cambios:
256
+
257
+ ```bash
258
+ git add -A
259
+ git commit -m "Actualizar Open Class"
260
+ git push
261
+ ```
262
+
263
+ Cada `push` a `main` construirá y publicará el sitio automáticamente.
264
+
265
+ La URL esperada será:
266
+
267
+ ```text
268
+ https://herrerawilliamh.github.io/NOMBRE-DEL-REPOSITORIO/
269
+ ```
270
+
271
+ Ejemplo:
272
+
273
+ ```text
274
+ https://herrerawilliamh.github.io/openclass-iot/
275
+ ```
276
+
277
+ ---
278
+
279
+ ## 8. Flujo semanal sugerido
280
+
281
+ Semana 1:
282
+
283
+ ```bash
284
+ npm run semana -- 1 --title "Introducción al curso"
285
+ git add -A
286
+ git commit -m "Agregar semana 1"
287
+ git push
288
+ ```
289
+
290
+ Semana 2:
291
+
292
+ ```bash
293
+ npm run semana -- 2 --title "Tema de la semana 2"
294
+ git add -A
295
+ git commit -m "Agregar semana 2"
296
+ git push
297
+ ```
298
+
299
+ Repite el proceso hasta la semana 8.
300
+
301
+ ---
302
+
303
+ ## 9. Comandos útiles
304
+
305
+ | Comando | Uso |
306
+ |---|---|
307
+ | `npm run nuevo` | Configura un curso desde consola |
308
+ | `npm run semana -- 1` | Genera o activa la semana 1 |
309
+ | `npm run dev` | Abre el portal principal |
310
+ | `npm run dev:s1` | Abre la semana 1 |
311
+ | `npm run pages:check` | Revisa configuración para GitHub Pages |
312
+ | `npm run pages:build` | Construye el sitio estático y exporta descargas |
313
+ | `npm run pages:preview` | Previsualiza la versión publicada |
314
+ | `npm run publicar` | Ejecuta exportaciones y construcción local |
315
+
316
+ ---
317
+
318
+ ## 10. Archivos clave
319
+
320
+ ```text
321
+ openclass.config.json configuración general del curso
322
+ slides.md portal principal
323
+ semanas/ contenido académico real
324
+ scripts/decks.mjs listado de presentaciones activas
325
+ .github/workflows/deploy.yml despliegue automático en GitHub Pages
326
+ ```
@@ -0,0 +1,77 @@
1
+ {
2
+ "course": {
3
+ "shortName": "iot",
4
+ "fullName": "Internet de las cosas",
5
+ "year": "2026",
6
+ "description": "El curso Internet de las cosas introduce al estudiante en el diseño, comprensión y aplicación de sistemas conectados capaces de capturar datos del entorno físico, procesarlos y generar decisiones útiles. A lo largo del curso se estudian sensores, actuadores, microcontroladores, conectividad, procesamiento en la nube, edge computing, seguridad, interoperabilidad, eficiencia energética y aplicaciones en contextos industriales, empresariales, educativos, agrícolas, domésticos y urbanos.",
7
+ "openClassLabel": "Open Class"
8
+ },
9
+ "generation": {
10
+ "weeksTotal": 8,
11
+ "activeWeeks": [1, 2, 3, 4, 5, 6],
12
+ "exportPortal": true,
13
+ "overwriteLaunchers": true,
14
+ "overwritePortal": true,
15
+ "overwriteDecks": true,
16
+ "overwritePackageScripts": true,
17
+ "overwriteWeekContent": false
18
+ },
19
+ "weeks": [
20
+ {
21
+ "number": 1,
22
+ "title": "Generalidades de IoT",
23
+ "date": "Mayo 04 de 2026",
24
+ "centralTheme": "Introducción al Internet de las cosas, componentes, ecosistema conectado y recorrido del dato desde el mundo físico hasta una decisión digital.",
25
+ "activity": "Actividad de reconocimiento conceptual y práctica guiada con ESP32 y MicroPython en Wokwi."
26
+ },
27
+ {
28
+ "number": 2,
29
+ "title": "Estructuras Tecnológicas que soportan IoT",
30
+ "date": "Mayo 11 de 2026",
31
+ "centralTheme": "Arquitectura IoT, sensores, actuadores, conectividad, edge, fog, cloud, estándares, seguridad y resiliencia.",
32
+ "activity": "Mapa rápido de una solución IoT y análisis de sus componentes principales."
33
+ },
34
+ {
35
+ "number": 3,
36
+ "title": "Seguridad y riesgos para sistemas IoT",
37
+ "date": "Mayo 18 de 2026",
38
+ "centralTheme": "Riesgos, vulnerabilidades, controles, monitoreo, privacidad y buenas prácticas para dispositivos y plataformas IoT.",
39
+ "activity": "Simulación de alertas, clasificación de riesgos y propuesta de controles básicos."
40
+ },
41
+ {
42
+ "number": 4,
43
+ "title": "Programación de sistemas IoT",
44
+ "date": "Mayo 25 de 2026",
45
+ "centralTheme": "Desarrollo y programación de soluciones IoT mediante microcontroladores, lenguajes, protocolos, servicios y prácticas de seguridad.",
46
+ "activity": "Diseño breve de una idea IoT y práctica guiada con ESP32, sensor, lógica de decisión y simulación."
47
+ },
48
+ {
49
+ "number": 5,
50
+ "title": "Diseño de Hardware para IoT",
51
+ "date": "Junio 01 de 2026",
52
+ "centralTheme": "Selección de sensores, microcontroladores, comunicación, energía, protección física, mantenimiento y restricciones reales del hardware IoT.",
53
+ "activity": "Análisis de decisiones de hardware para un dispositivo IoT de monitoreo ambiental."
54
+ },
55
+ {
56
+ "number": 6,
57
+ "title": "Internet industrial de las cosas",
58
+ "date": "Junio 08 de 2026",
59
+ "centralTheme": "Aplicación del IoT en entornos industriales mediante sensores, máquinas, sistemas de control, analítica, productividad, eficiencia y sostenibilidad.",
60
+ "activity": "Diagnóstico rápido de datos industriales críticos y relación con decisiones operativas."
61
+ },
62
+ {
63
+ "number": 7,
64
+ "title": "Inteligencia artificial y aprendizaje automático",
65
+ "date": "2026",
66
+ "centralTheme": "Uso de analítica, inteligencia artificial y aprendizaje automático sobre datos provenientes de sistemas IoT.",
67
+ "activity": "Actividad de análisis de datos IoT y posibles decisiones predictivas."
68
+ },
69
+ {
70
+ "number": 8,
71
+ "title": "Impactos del entorno en IoT",
72
+ "date": "2026",
73
+ "centralTheme": "Impactos técnicos, sociales, éticos, ambientales, económicos y organizacionales del Internet de las cosas.",
74
+ "activity": "Reflexión aplicada sobre beneficios, riesgos y criterios de implementación responsable."
75
+ }
76
+ ]
77
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "course": {
3
+ "shortName": "iot",
4
+ "fullName": "Internet de las cosas",
5
+ "year": "2026",
6
+ "description": "El curso Internet de las cosas introduce al estudiante en el diseño, comprensión y aplicación de sistemas conectados capaces de capturar datos del entorno físico, procesarlos y generar decisiones útiles.",
7
+ "openClassLabel": "Open Class"
8
+ },
9
+ "generation": {
10
+ "weeksTotal": 8,
11
+ "activeWeeks": [
12
+ 1,
13
+ 2,
14
+ 3
15
+ ],
16
+ "exportPortal": false,
17
+ "overwriteLaunchers": true,
18
+ "overwritePortal": true,
19
+ "overwriteDecks": true,
20
+ "overwritePackageScripts": true,
21
+ "overwriteWeekContent": false
22
+ },
23
+ "weeks": [
24
+ {
25
+ "number": 1,
26
+ "title": "Generalidades de IoT",
27
+ "date": "Mayo 04 de 2026",
28
+ "centralTheme": "Introducción al Internet de las cosas, componentes y aplicaciones",
29
+ "activity": "Actividad de reconocimiento conceptual"
30
+ },
31
+ {
32
+ "number": 2,
33
+ "title": "Estructuras Tecnológicas que soportan IoT",
34
+ "date": "Mayo 11 de 2026",
35
+ "centralTheme": "Arquitectura, sensores, conectividad, edge, fog y cloud",
36
+ "activity": "Actividad práctica con simulación IoT"
37
+ },
38
+ {
39
+ "number": 3,
40
+ "title": "Seguridad en IoT",
41
+ "date": "Mayo 18 de 2026",
42
+ "centralTheme": "Riesgos, vulnerabilidades, controles, monitoreo y buenas prácticas de seguridad",
43
+ "activity": "Simulación de alertas y clasificación de riesgos"
44
+ },
45
+ {
46
+ "number": 4,
47
+ "title": "Título semana 4",
48
+ "date": "2026",
49
+ "centralTheme": "Tema central de la semana",
50
+ "activity": "Actividad relacionada"
51
+ },
52
+ {
53
+ "number": 5,
54
+ "title": "Título semana 5",
55
+ "date": "2026",
56
+ "centralTheme": "Tema central de la semana",
57
+ "activity": "Actividad relacionada"
58
+ },
59
+ {
60
+ "number": 6,
61
+ "title": "Título semana 6",
62
+ "date": "2026",
63
+ "centralTheme": "Tema central de la semana",
64
+ "activity": "Actividad relacionada"
65
+ },
66
+ {
67
+ "number": 7,
68
+ "title": "Título semana 7",
69
+ "date": "2026",
70
+ "centralTheme": "Tema central de la semana",
71
+ "activity": "Actividad relacionada"
72
+ },
73
+ {
74
+ "number": 8,
75
+ "title": "Título semana 8",
76
+ "date": "2026",
77
+ "centralTheme": "Tema central de la semana",
78
+ "activity": "Actividad relacionada"
79
+ }
80
+ ]
81
+ }
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 1 — Semana de ejemplo
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana1.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 2 — Título semana 2
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana2.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 3 — Título semana 3
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana3.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 4 — Título semana 4
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana4.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 5 — Título semana 5
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana5.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 6 — Título semana 6
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana6.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 7 — Título semana 7
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana7.md
11
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Curso Open Class de ejemplo — Semana 8 — Título semana 8
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/demo_semana8.md
11
+ ---
@@ -0,0 +1,12 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Internet de las cosas — Semana 1
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/iot_semana1.md
11
+ ---
12
+
@@ -0,0 +1,12 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Internet de las cosas — Semana 2
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/iot_semana2.md
11
+ ---
12
+
@@ -0,0 +1,12 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Internet de las cosas — Semana 3
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/iot_semana3.md
11
+ ---
12
+
@@ -0,0 +1,12 @@
1
+ ---
2
+ theme: ./theme/uniminuto
3
+ title: Internet de las cosas — Semana 4
4
+ favicon: /favicon.png
5
+ codeCopy: true
6
+ transition: fade
7
+ routerMode: hash
8
+ drawings:
9
+ persist: false
10
+ src: ./semanas/iot_semana4.md
11
+ ---
12
+