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