create-openclass-uniminuto 1.6.1 → 1.6.4
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.
- package/bin/create-openclass-uniminuto.mjs +333 -59
- package/package.json +1 -1
- package/template/.github/workflows/deploy.yml +2 -2
- package/template/README.md +477 -149
- package/template/demo_semana1.md +1 -1
- package/template/demo_semana2.md +1 -1
- package/template/demo_semana3.md +1 -1
- package/template/demo_semana4.md +1 -1
- package/template/demo_semana5.md +1 -1
- package/template/demo_semana6.md +1 -1
- package/template/demo_semana7.md +1 -1
- package/template/demo_semana8.md +1 -1
- package/template/package-lock.json +11568 -11568
- package/template/package.json +63 -63
- package/template/plantillas/launcher.md +1 -1
- package/template/plantillas/semana.md +214 -88
- package/template/scripts/decks.mjs +13 -4
- package/template/scripts/dev-all.mjs +20 -7
- package/template/scripts/generar-desde-config.mjs +312 -48
- package/template/slides.md +1 -1
- package/template/theme/uniminuto/styles/base.css +9 -8
package/template/README.md
CHANGED
|
@@ -1,326 +1,654 @@
|
|
|
1
|
-
# Open Class UNIMINUTO
|
|
1
|
+
# Open Class UNIMINUTO Template
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Plantilla base para construir presentaciones académicas tipo **Open Class** con Slidev, tema institucional UNIMINUTO, semanas independientes, portal principal, exportación a PDF/PPTX y despliegue automático en GitHub Pages.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Esta plantilla está pensada para cursos universitarios organizados por semanas. Cada semana se desarrolla como una presentación Slidev independiente, pero todas se integran en un portal principal generado automáticamente.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 1. ¿Qué contiene esta plantilla?
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
La estructura general del proyecto es:
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
```text
|
|
14
|
+
.
|
|
15
|
+
├─ .github/
|
|
16
|
+
│ └─ workflows/
|
|
17
|
+
│ └─ deploy.yml
|
|
18
|
+
├─ openclass.config.json
|
|
19
|
+
├─ package.json
|
|
20
|
+
├─ slides.md
|
|
21
|
+
├─ plantillas/
|
|
22
|
+
│ ├─ launcher.md
|
|
23
|
+
│ └─ semana.md
|
|
24
|
+
├─ public/
|
|
25
|
+
│ ├─ favicon.png
|
|
26
|
+
│ ├─ fondos/
|
|
27
|
+
│ ├─ imagenes/
|
|
28
|
+
│ ├─ descargas/
|
|
29
|
+
│ └─ videos/
|
|
30
|
+
├─ scripts/
|
|
31
|
+
│ ├─ generar-desde-config.mjs
|
|
32
|
+
│ ├─ semana.mjs
|
|
33
|
+
│ ├─ decks.mjs
|
|
34
|
+
│ ├─ build-site.mjs
|
|
35
|
+
│ ├─ export-downloads.mjs
|
|
36
|
+
│ ├─ preparar-github-pages.mjs
|
|
37
|
+
│ ├─ publicar.mjs
|
|
38
|
+
│ └─ nuevo-curso.mjs
|
|
39
|
+
├─ semanas/
|
|
40
|
+
└─ theme/
|
|
41
|
+
└─ uniminuto/
|
|
42
|
+
```
|
|
13
43
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 2. Recursos visuales obligatorios
|
|
47
|
+
|
|
48
|
+
El tema institucional requiere estos archivos:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
public/fondos/slide-01-portada.png
|
|
52
|
+
public/fondos/slide-05-template.png
|
|
53
|
+
public/fondos/slide-06-cierre.png
|
|
54
|
+
public/imagenes/avion.png
|
|
55
|
+
public/imagenes/favicon.png
|
|
56
|
+
public/favicon.png
|
|
21
57
|
```
|
|
22
58
|
|
|
23
|
-
|
|
59
|
+
`public/favicon.png` se usa como favicon del navegador.
|
|
24
60
|
|
|
25
|
-
|
|
26
|
-
|
|
61
|
+
`public/imagenes/favicon.png` puede usarse como imagen institucional dentro de las diapositivas.
|
|
62
|
+
|
|
63
|
+
Las imágenes académicas propias de cada curso deben ubicarse preferiblemente en:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
public/imagenes/
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 3. Concepto general de funcionamiento
|
|
72
|
+
|
|
73
|
+
La fuente principal de configuración es:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
openclass.config.json
|
|
27
77
|
```
|
|
28
78
|
|
|
29
|
-
|
|
79
|
+
Desde ese archivo se definen:
|
|
80
|
+
|
|
81
|
+
* Nombre corto del curso.
|
|
82
|
+
* Nombre completo del curso.
|
|
83
|
+
* Descripción general.
|
|
84
|
+
* Número total de semanas.
|
|
85
|
+
* Semanas activas.
|
|
86
|
+
* Título, fecha, tema y actividad de cada semana.
|
|
87
|
+
|
|
88
|
+
Las semanas activas se controlan en:
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
"generation": {
|
|
92
|
+
"activeWeeks": [1, 2, 3]
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Solo las semanas incluidas en `activeWeeks` aparecen en el portal, se exportan y se construyen para GitHub Pages.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 4. Archivos principales
|
|
101
|
+
|
|
102
|
+
### `slides.md`
|
|
103
|
+
|
|
104
|
+
Portal principal del curso. Se genera automáticamente con:
|
|
30
105
|
|
|
31
106
|
```bash
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
107
|
+
npm run config
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
No se recomienda editarlo manualmente, porque puede ser reemplazado por el generador.
|
|
111
|
+
|
|
112
|
+
### `curso_semanaN.md`
|
|
113
|
+
|
|
114
|
+
Archivo lanzador de cada semana. Incluye la configuración global de Slidev y referencia el contenido real desde `semanas/`.
|
|
115
|
+
|
|
116
|
+
Ejemplo:
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
demo_semana1.md
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### `semanas/curso_semanaN.md`
|
|
123
|
+
|
|
124
|
+
Contenido académico real de la semana.
|
|
125
|
+
|
|
126
|
+
Ejemplo:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
semanas/demo_semana1.md
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Este archivo no se sobrescribe por defecto. Eso permite conservar el contenido diseñado por el docente.
|
|
133
|
+
|
|
134
|
+
### `plantillas/semana.md`
|
|
135
|
+
|
|
136
|
+
Plantilla base usada al crear una semana nueva. Debe incluir ejemplos de todos los layouts disponibles para que funcione como catálogo inicial.
|
|
137
|
+
|
|
138
|
+
### `plantillas/launcher.md`
|
|
139
|
+
|
|
140
|
+
Plantilla del archivo lanzador raíz de cada semana.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 5. Caso de uso 1: crear un curso desde GitHub Template
|
|
145
|
+
|
|
146
|
+
Este caso se recomienda cuando se quiere iniciar un curso directamente desde GitHub.
|
|
147
|
+
|
|
148
|
+
### Paso 1. Crear repositorio desde la plantilla
|
|
149
|
+
|
|
150
|
+
En GitHub:
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
Use this template → Create a new repository
|
|
35
154
|
```
|
|
36
155
|
|
|
156
|
+
Nombre sugerido:
|
|
37
157
|
|
|
38
|
-
|
|
158
|
+
```text
|
|
159
|
+
openclass-nombrecurso
|
|
160
|
+
```
|
|
39
161
|
|
|
40
|
-
|
|
162
|
+
Ejemplos:
|
|
163
|
+
|
|
164
|
+
```text
|
|
165
|
+
openclass-iot
|
|
166
|
+
openclass-bigdata
|
|
167
|
+
openclass-gestionseguridad
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Paso 2. Clonar el repositorio
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
git clone https://github.com/TU_USUARIO/openclass-nombrecurso.git
|
|
174
|
+
cd openclass-nombrecurso
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Paso 3. Instalar dependencias
|
|
41
178
|
|
|
42
179
|
```bash
|
|
43
180
|
npm install
|
|
44
181
|
```
|
|
45
182
|
|
|
46
|
-
|
|
183
|
+
### Paso 4. Editar `openclass.config.json`
|
|
184
|
+
|
|
185
|
+
Cambiar:
|
|
186
|
+
|
|
187
|
+
```json
|
|
188
|
+
{
|
|
189
|
+
"course": {
|
|
190
|
+
"shortName": "nombrecurso",
|
|
191
|
+
"fullName": "Nombre completo del curso",
|
|
192
|
+
"year": "2026",
|
|
193
|
+
"description": "Descripción general del curso.",
|
|
194
|
+
"openClassLabel": "Open Class"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Paso 5. Generar estructura del curso
|
|
47
200
|
|
|
48
201
|
```bash
|
|
49
|
-
npm run
|
|
202
|
+
npm run config
|
|
50
203
|
```
|
|
51
204
|
|
|
52
|
-
|
|
205
|
+
### Paso 6. Activar semanas
|
|
53
206
|
|
|
54
207
|
```bash
|
|
55
208
|
npm run semana -- 1
|
|
209
|
+
npm run semana -- 2
|
|
210
|
+
npm run semana -- 3
|
|
56
211
|
```
|
|
57
212
|
|
|
58
|
-
|
|
213
|
+
### Paso 7. Probar localmente
|
|
59
214
|
|
|
60
215
|
```bash
|
|
61
216
|
npm run dev
|
|
62
217
|
```
|
|
63
218
|
|
|
64
|
-
|
|
219
|
+
Para una semana específica:
|
|
65
220
|
|
|
66
221
|
```bash
|
|
67
222
|
npm run dev:s1
|
|
68
|
-
|
|
69
|
-
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Paso 8. Construir para GitHub Pages
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
npm run pages:build
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Paso 9. Publicar
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
git add -A
|
|
235
|
+
git commit -m "Publicación inicial Open Class"
|
|
236
|
+
git push
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
En GitHub:
|
|
240
|
+
|
|
241
|
+
```text
|
|
242
|
+
Settings → Pages → Build and deployment → Source: GitHub Actions
|
|
70
243
|
```
|
|
71
244
|
|
|
72
245
|
---
|
|
73
246
|
|
|
74
|
-
##
|
|
247
|
+
## 6. Caso de uso 2: crear un curso con npm
|
|
248
|
+
|
|
249
|
+
Este caso se recomienda cuando se quiere crear el curso desde consola usando el generador publicado en npm.
|
|
75
250
|
|
|
76
|
-
###
|
|
251
|
+
### Paso 1. Crear carpeta del curso
|
|
77
252
|
|
|
78
253
|
```bash
|
|
79
|
-
|
|
80
|
-
cd openclass-
|
|
81
|
-
npm install
|
|
82
|
-
npm run semana -- 1
|
|
83
|
-
npm run dev
|
|
254
|
+
mkdir openclass-nombrecurso
|
|
255
|
+
cd openclass-nombrecurso
|
|
84
256
|
```
|
|
85
257
|
|
|
86
|
-
###
|
|
258
|
+
### Paso 2. Ejecutar el generador
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
npm create openclass-uniminuto@latest .
|
|
262
|
+
```
|
|
87
263
|
|
|
88
|
-
|
|
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.
|
|
264
|
+
### Paso 3. Instalar dependencias
|
|
93
265
|
|
|
94
266
|
```bash
|
|
95
|
-
git clone https://github.com/herrerawilliamh/openclass-iot.git
|
|
96
|
-
cd openclass-iot
|
|
97
267
|
npm install
|
|
98
|
-
npm run nuevo
|
|
99
|
-
npm run semana -- 1
|
|
100
|
-
npm run dev
|
|
101
268
|
```
|
|
102
269
|
|
|
103
|
-
###
|
|
270
|
+
### Paso 4. Configurar el curso
|
|
104
271
|
|
|
105
|
-
|
|
272
|
+
Puedes editar manualmente:
|
|
106
273
|
|
|
107
|
-
|
|
274
|
+
```text
|
|
275
|
+
openclass.config.json
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
o ejecutar:
|
|
108
279
|
|
|
109
280
|
```bash
|
|
110
|
-
git clone https://github.com/herrerawilliamh/openclass-iot.git
|
|
111
|
-
cd openclass-iot
|
|
112
|
-
npm install
|
|
113
281
|
npm run nuevo
|
|
114
|
-
npm run semana -- 1
|
|
115
|
-
npm run dev
|
|
116
282
|
```
|
|
117
283
|
|
|
118
|
-
|
|
284
|
+
### Paso 5. Generar curso
|
|
119
285
|
|
|
120
286
|
```bash
|
|
121
|
-
|
|
122
|
-
git commit -m "Generar semana 1"
|
|
123
|
-
git push
|
|
287
|
+
npm run config
|
|
124
288
|
```
|
|
125
289
|
|
|
126
|
-
|
|
290
|
+
### Paso 6. Probar y construir
|
|
127
291
|
|
|
128
292
|
```bash
|
|
129
|
-
npm create openclass-uniminuto@latest openclass-iot -- --iot
|
|
130
|
-
cd openclass-iot
|
|
131
|
-
npm install
|
|
132
|
-
npm run semana -- 1
|
|
133
293
|
npm run dev
|
|
294
|
+
npm run pages:build
|
|
134
295
|
```
|
|
135
296
|
|
|
136
|
-
|
|
297
|
+
### Paso 7. Crear repositorio remoto
|
|
137
298
|
|
|
138
299
|
```bash
|
|
139
300
|
git init
|
|
140
301
|
git branch -M main
|
|
302
|
+
git remote add origin https://github.com/TU_USUARIO/openclass-nombrecurso.git
|
|
141
303
|
git add -A
|
|
142
304
|
git commit -m "Publicación inicial Open Class"
|
|
143
|
-
git remote add origin https://github.com/herrerawilliamh/openclass-iot.git
|
|
144
305
|
git push -u origin main
|
|
145
306
|
```
|
|
146
307
|
|
|
147
308
|
---
|
|
148
309
|
|
|
149
|
-
##
|
|
310
|
+
## 7. Caso de uso 3: crear desde GitHub Template y sincronizar con npm
|
|
311
|
+
|
|
312
|
+
Este caso se recomienda cuando ya existe un repositorio creado desde la plantilla de GitHub, pero se quiere actualizar después con la versión más reciente publicada en npm.
|
|
313
|
+
|
|
314
|
+
### Paso 1. Crear el repositorio desde GitHub Template
|
|
150
315
|
|
|
151
|
-
|
|
316
|
+
Usar:
|
|
317
|
+
|
|
318
|
+
```text
|
|
319
|
+
Use this template → Create a new repository
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Paso 2. Clonar localmente
|
|
152
323
|
|
|
153
324
|
```bash
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
325
|
+
git clone https://github.com/TU_USUARIO/openclass-nombrecurso.git
|
|
326
|
+
cd openclass-nombrecurso
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Paso 3. Instalar dependencias
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
npm install
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Paso 4. Actualizar infraestructura desde npm
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
npm create openclass-uniminuto@latest . -- --update-theme
|
|
157
339
|
```
|
|
158
340
|
|
|
159
|
-
|
|
341
|
+
Este comando debe actualizar:
|
|
342
|
+
|
|
343
|
+
* Tema institucional.
|
|
344
|
+
* Layouts.
|
|
345
|
+
* Componentes.
|
|
346
|
+
* Scripts.
|
|
347
|
+
* Plantillas.
|
|
348
|
+
* Workflow de GitHub Pages.
|
|
349
|
+
|
|
350
|
+
No debe sobrescribir el contenido académico existente en:
|
|
160
351
|
|
|
161
352
|
```text
|
|
162
|
-
|
|
163
|
-
slides.md
|
|
164
|
-
scripts/decks.mjs
|
|
165
|
-
package.json
|
|
166
|
-
curso_semanaN.md
|
|
167
|
-
semanas/curso_semanaN.md
|
|
353
|
+
semanas/
|
|
168
354
|
```
|
|
169
355
|
|
|
170
|
-
|
|
356
|
+
### Paso 5. Regenerar configuración
|
|
171
357
|
|
|
172
358
|
```bash
|
|
173
|
-
npm run
|
|
359
|
+
npm run config
|
|
174
360
|
```
|
|
175
361
|
|
|
176
|
-
|
|
362
|
+
### Paso 6. Validar GitHub Pages
|
|
177
363
|
|
|
178
364
|
```bash
|
|
179
|
-
npm run
|
|
365
|
+
npm run pages:check
|
|
366
|
+
npm run pages:build
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Paso 7. Publicar cambios
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
git add -A
|
|
373
|
+
git commit -m "Actualiza infraestructura Open Class"
|
|
374
|
+
git push
|
|
180
375
|
```
|
|
181
376
|
|
|
182
377
|
---
|
|
183
378
|
|
|
184
|
-
##
|
|
379
|
+
## 8. Comandos principales
|
|
380
|
+
|
|
381
|
+
### Generar portal, lanzadores, scripts y decks
|
|
185
382
|
|
|
186
|
-
|
|
383
|
+
```bash
|
|
384
|
+
npm run config
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Activar una semana
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
npm run semana -- 4
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### Activar una semana y cambiar metadatos
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
npm run semana -- 4 --title "Título de la semana" --date "Junio 20 de 2026"
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### Forzar sobrescritura del contenido de una semana
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
npm run semana -- 4 --force-content
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Usar con cuidado, porque puede reemplazar el archivo en:
|
|
187
406
|
|
|
188
407
|
```text
|
|
189
408
|
semanas/
|
|
190
409
|
```
|
|
191
410
|
|
|
192
|
-
|
|
411
|
+
### Ver portal principal
|
|
193
412
|
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
413
|
+
```bash
|
|
414
|
+
npm run dev
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
### Ver una semana específica
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
npm run dev:s1
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### Exportar PDF y PPTX
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
npm run export:downloads
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Construir sitio completo
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
npm run build:all
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### Construir para GitHub Pages
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
npm run pages:build
|
|
198
439
|
```
|
|
199
440
|
|
|
200
|
-
|
|
441
|
+
### Publicar cambios en GitHub
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
npm run publicar
|
|
445
|
+
```
|
|
201
446
|
|
|
202
447
|
---
|
|
203
448
|
|
|
204
|
-
##
|
|
449
|
+
## 9. Flujo recomendado para crear una nueva semana
|
|
205
450
|
|
|
206
|
-
|
|
451
|
+
```bash
|
|
452
|
+
npm run semana -- 5
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
Luego editar:
|
|
207
456
|
|
|
208
457
|
```text
|
|
209
|
-
|
|
210
|
-
public/videos/ videos y recursos audiovisuales
|
|
211
|
-
public/descargas/ PDF, PPTX u otros descargables
|
|
212
|
-
public/fondos/ fondos institucionales
|
|
458
|
+
semanas/nombrecurso_semana5.md
|
|
213
459
|
```
|
|
214
460
|
|
|
215
|
-
|
|
461
|
+
Agregar imágenes en:
|
|
216
462
|
|
|
217
|
-
|
|
463
|
+
```text
|
|
464
|
+
public/imagenes/
|
|
465
|
+
```
|
|
218
466
|
|
|
219
|
-
|
|
467
|
+
Probar:
|
|
220
468
|
|
|
221
469
|
```bash
|
|
222
|
-
npm run
|
|
470
|
+
npm run dev:s5
|
|
223
471
|
```
|
|
224
472
|
|
|
225
|
-
|
|
473
|
+
Construir:
|
|
226
474
|
|
|
227
475
|
```bash
|
|
228
|
-
npm run pages:
|
|
476
|
+
npm run pages:build
|
|
229
477
|
```
|
|
230
478
|
|
|
231
|
-
|
|
479
|
+
Publicar:
|
|
232
480
|
|
|
233
481
|
```bash
|
|
234
|
-
npm run
|
|
482
|
+
npm run publicar
|
|
235
483
|
```
|
|
236
484
|
|
|
237
485
|
---
|
|
238
486
|
|
|
239
|
-
##
|
|
487
|
+
## 10. Layouts disponibles
|
|
240
488
|
|
|
241
|
-
|
|
489
|
+
Los layouts disponibles en el tema son:
|
|
242
490
|
|
|
243
491
|
```text
|
|
244
|
-
|
|
492
|
+
slide-01-portada
|
|
493
|
+
slide-02-titulo
|
|
494
|
+
slide-03-imagen-izquierda
|
|
495
|
+
slide-04-imagen-derecha
|
|
496
|
+
slide-05-titulo-superior-texto-derecha
|
|
497
|
+
slide-06-titulo-superior-texto-izquierda
|
|
498
|
+
slide-07-multimedia-con-titulo
|
|
499
|
+
slide-08-titulo-texto
|
|
500
|
+
slide-09-objetivos
|
|
501
|
+
slide-10-titulo-dos-columnas
|
|
502
|
+
slide-11-dos-titulos-dos-columnas
|
|
503
|
+
slide-12-cierre
|
|
504
|
+
slide-codigo
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
La plantilla:
|
|
508
|
+
|
|
509
|
+
```text
|
|
510
|
+
plantillas/semana.md
|
|
245
511
|
```
|
|
246
512
|
|
|
247
|
-
|
|
513
|
+
incluye ejemplos de uso para cada layout.
|
|
514
|
+
|
|
515
|
+
---
|
|
516
|
+
|
|
517
|
+
## 11. Recomendaciones de edición
|
|
248
518
|
|
|
249
|
-
|
|
519
|
+
No editar manualmente estos archivos salvo que estés modificando la infraestructura:
|
|
250
520
|
|
|
251
521
|
```text
|
|
252
|
-
|
|
522
|
+
slides.md
|
|
523
|
+
scripts/decks.mjs
|
|
524
|
+
curso_semanaN.md
|
|
525
|
+
package.json
|
|
253
526
|
```
|
|
254
527
|
|
|
255
|
-
|
|
528
|
+
Estos archivos pueden regenerarse con:
|
|
256
529
|
|
|
257
530
|
```bash
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
531
|
+
npm run config
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
Editar principalmente:
|
|
535
|
+
|
|
536
|
+
```text
|
|
537
|
+
openclass.config.json
|
|
538
|
+
semanas/curso_semanaN.md
|
|
539
|
+
public/imagenes/
|
|
261
540
|
```
|
|
262
541
|
|
|
263
|
-
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
## 12. Despliegue con GitHub Pages
|
|
264
545
|
|
|
265
|
-
|
|
546
|
+
El workflow está en:
|
|
266
547
|
|
|
267
548
|
```text
|
|
268
|
-
|
|
549
|
+
.github/workflows/deploy.yml
|
|
269
550
|
```
|
|
270
551
|
|
|
271
|
-
|
|
552
|
+
Cada vez que se hace `push` a `main`, GitHub Actions ejecuta:
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
npm run pages:build
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
El sitio generado queda en:
|
|
272
559
|
|
|
273
560
|
```text
|
|
274
|
-
|
|
561
|
+
dist/
|
|
275
562
|
```
|
|
276
563
|
|
|
564
|
+
y se publica automáticamente con GitHub Pages.
|
|
565
|
+
|
|
277
566
|
---
|
|
278
567
|
|
|
279
|
-
##
|
|
568
|
+
## 13. Solución de problemas frecuentes
|
|
569
|
+
|
|
570
|
+
### Error en `scripts/decks.mjs`
|
|
571
|
+
|
|
572
|
+
Si aparece un error similar a:
|
|
573
|
+
|
|
574
|
+
```text
|
|
575
|
+
SyntaxError: Invalid regular expression: missing /
|
|
576
|
+
```
|
|
280
577
|
|
|
281
|
-
|
|
578
|
+
revisar que la función `withBase()` tenga esta línea:
|
|
579
|
+
|
|
580
|
+
```js
|
|
581
|
+
return `${SITE_BASE}${value.replace(/^[/]+/, "")}`;
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
### No aparece una semana en el portal
|
|
585
|
+
|
|
586
|
+
Revisar que esté activa en:
|
|
587
|
+
|
|
588
|
+
```json
|
|
589
|
+
"activeWeeks": [1, 2, 3]
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
También se puede activar con:
|
|
282
593
|
|
|
283
594
|
```bash
|
|
284
|
-
npm run semana --
|
|
285
|
-
git add -A
|
|
286
|
-
git commit -m "Agregar semana 1"
|
|
287
|
-
git push
|
|
595
|
+
npm run semana -- N
|
|
288
596
|
```
|
|
289
597
|
|
|
290
|
-
|
|
598
|
+
### No se ven imágenes
|
|
599
|
+
|
|
600
|
+
Revisar que estén en:
|
|
601
|
+
|
|
602
|
+
```text
|
|
603
|
+
public/imagenes/
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
y que se referencien así:
|
|
607
|
+
|
|
608
|
+
```html
|
|
609
|
+
<img src="/imagenes/nombre.png" alt="Descripción de la imagen" />
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
### No se ven los fondos institucionales
|
|
613
|
+
|
|
614
|
+
Verificar que existan:
|
|
615
|
+
|
|
616
|
+
```text
|
|
617
|
+
public/fondos/slide-01-portada.png
|
|
618
|
+
public/fondos/slide-05-template.png
|
|
619
|
+
public/fondos/slide-06-cierre.png
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
## 14. Flujo de mantenimiento del template
|
|
625
|
+
|
|
626
|
+
Cuando se mejore el template base:
|
|
291
627
|
|
|
292
628
|
```bash
|
|
293
|
-
npm run semana -- 2 --title "Tema de la semana 2"
|
|
294
629
|
git add -A
|
|
295
|
-
git commit -m "
|
|
630
|
+
git commit -m "Mejora plantilla Open Class"
|
|
296
631
|
git push
|
|
297
632
|
```
|
|
298
633
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
---
|
|
634
|
+
Luego copiar la plantilla actualizada al paquete generador:
|
|
302
635
|
|
|
303
|
-
|
|
636
|
+
```bash
|
|
637
|
+
robocopy D:\OpenClass\openclass-uniminuto-template D:\OpenClass\create-openclass-uniminuto\template /E /XD .git node_modules dist .slidev /XF openclass-template.zip
|
|
638
|
+
```
|
|
304
639
|
|
|
305
|
-
|
|
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 |
|
|
640
|
+
Publicar nueva versión del paquete:
|
|
315
641
|
|
|
316
|
-
|
|
642
|
+
```bash
|
|
643
|
+
cd D:\OpenClass\create-openclass-uniminuto
|
|
644
|
+
npm version patch
|
|
645
|
+
npm publish --access public
|
|
646
|
+
```
|
|
317
647
|
|
|
318
|
-
|
|
648
|
+
Actualizar cursos existentes:
|
|
319
649
|
|
|
320
|
-
```
|
|
321
|
-
openclass.
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
scripts/decks.mjs listado de presentaciones activas
|
|
325
|
-
.github/workflows/deploy.yml despliegue automático en GitHub Pages
|
|
650
|
+
```bash
|
|
651
|
+
npm create openclass-uniminuto@latest . -- --update-theme
|
|
652
|
+
npm run config
|
|
653
|
+
npm run pages:build
|
|
326
654
|
```
|