Skip to content

Commit 42ac5e7

Browse files
author
Aldo Caneo
committed
Add Valparaiso Schedule
1 parent f66cad8 commit 42ac5e7

14 files changed

Lines changed: 168 additions & 33 deletions

assets/css/schedule.css

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
display: inline-block;
9595
}
9696

97-
.level.Básico {
97+
.level.Básico, .level.Principiante {
9898
background: green;
9999
}
100100

@@ -106,7 +106,7 @@
106106
background: red;
107107
}
108108

109-
.category.Data {
109+
.category.Data, .category.Datos {
110110
background: orange;
111111
}
112112

@@ -117,4 +117,16 @@
117117
.category.Auto {
118118
background: #808;
119119
color: white;
120+
}
121+
122+
.media-icon {
123+
margin: 4px;
124+
}
125+
126+
.media-icon.instagram {
127+
color: purple;
128+
}
129+
130+
.special-event {
131+
font-size: 32px;
120132
}

assets/js/valparaiso.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ const FILES =[
22
'header.html',
33
'about.html',
44
'location.html',
5-
//'schedule.html',
5+
'schedule.html',
66
'gallery.html',
77
'../footer.html'
88
]
99
for(let i=0; i<FILES.length;i++){
1010
await fetch('assets/sections/valparaiso/' + FILES[i] + '?v=1.0').then(r => r.text()).then(r => document.body.innerHTML+=r)
1111
}
12+
import schedule from '/assets/js/valparaiso/schedule.js?v=1.0';
13+
schedule()

assets/js/valparaiso/schedule.js

Lines changed: 136 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,158 @@
11
export default () => {
22
const tbody = document.getElementById('schedule').tBodies[0];
33
[
4-
//{block: ' - ', author: 'AUTH', title: '', photos: [''], level: '', category: ''},
4+
{
5+
block: '10:00 - 10:15',
6+
title: '🎫 Registro',
7+
},
8+
{
9+
block: '10:15 - 10:30',
10+
title: '🌄 Bienvenida',
11+
},
12+
{
13+
block: '10:30 - 11:00',
14+
author: 'Alejando Weinstein',
15+
title: 'Procesando señales definidas sobre grafos usando Python',
16+
photos: ['alejandro-weinstein.jpg'],
17+
level: 'Intermedio',
18+
category: 'Datos',
19+
twitter: 'ajweinstein',
20+
linkedin: 'alejandro-weinstein-8610a43',
21+
instagram: 'ajweinsteino'
22+
},
23+
{
24+
block: '11:15 - 11:45',
25+
author: 'Jorge Marin & Mario Romero',
26+
title: 'Diseño de chips analógicos asistida con Python',
27+
photos: ['jorge-marin.png', 'mario-romero.png'],
28+
level: 'Intermedio',
29+
category: 'Diseño',
30+
linkedin: 'jorge-mar%C3%ADn-a1258417',
31+
},
32+
{
33+
block: '12:00 - 12:30',
34+
author: 'Francisco Alfaro',
35+
title: 'Potenciando tu Perfil en GitHub: Estrategias y Herramientas para Destacar como Desarrollador',
36+
photos: ['francisco-alfaro.png'],
37+
level: 'Principiante',
38+
category: 'Comunidades',
39+
linkedin: 'faam'},
40+
{
41+
block: '12:30 - 14:00',
42+
title: '🍝 Almuerzo'},
43+
{
44+
block: '14:00 - 14:30',
45+
author: 'Jesús Henríquez',
46+
title: 'Construyendo un game engine en Python',
47+
photos: ['jesus-henriquez.jpg'],
48+
level: 'Intermedio',
49+
category: 'Juegos',
50+
twitter: 'xhenryx14',
51+
linkedin: 'hernaldo-henriquez'},
52+
{
53+
block: '14:45 - 15:15',
54+
author: 'Oscar Cariceo',
55+
title: 'Inteligencia Artificial Generativa con LangChain y Python',
56+
photos: ['oscar-cariceo.png'],
57+
level: 'Intermedio',
58+
category: 'Inteligencia Artificial',
59+
linkedin: 'ocariceo',
60+
instagram: 'kintuai',
61+
},
62+
{
63+
block: '15:30 - 16:00',
64+
author: 'Elizabeth Fuentes',
65+
title: 'Prompt engineering: la llave maestra para aprovechar al máximo la generative IA',
66+
photos: ['elizabeth-fuentes.jpg'],
67+
level: 'Principiante',
68+
category: 'Inteligencia Artificial',
69+
linkedin: 'lizfue',
70+
twitter: 'ElizabethFue12',
71+
instagram: 'elifue.tech'},
72+
{
73+
block: '16:00 - 16:20',
74+
title: '⚡ Charlas Relámpagos y 🎲 Trivia',
75+
},
76+
{
77+
block: '16:00 - 16:20',
78+
title: '🌅 Cierre',
79+
},
80+
581
].forEach(obj=>{
682
const row = tbody.insertRow();
783
const blockCell = row.insertCell();
84+
85+
blockCell.className = "text-center py-5 fw-bolder"
886
blockCell.innerHTML = obj.block;
987
const eventCell = row.insertCell();
88+
if (!('author' in obj)){
89+
eventCell.className = 'special-event'
90+
eventCell.innerHTML = obj.title;
91+
return null;
92+
}
93+
eventCell.className = "d-flex align-items-center"
94+
const profileDiv = document.createElement("div");
95+
96+
const photosDiv = document.createElement("div");
97+
photosDiv.className = "photo-speaker-container";
98+
99+
const mediaDiv = document.createElement("div");
100+
101+
const eventDiv = document.createElement("div");
102+
eventDiv.className = 'event ml-3';
103+
10104
obj.photos.forEach(photo => {
11105
const img = document.createElement('img')
12106
img.className='photo-speaker';
13107
img.src= 'assets/speakers/valparaiso/'+ photo;
14-
eventCell.appendChild(img)
108+
photosDiv.appendChild(img)
15109
});
16-
const eventDiv = document.createElement("div");
17-
eventDiv.className='event'
18110
const titleDiv = document.createElement("div");
19111
titleDiv.className = 'title';
20-
titleDiv.innerHTML=obj.title;
112+
titleDiv.innerHTML = obj.title;
21113
eventDiv.appendChild(titleDiv);
22114
const authorDiv = document.createElement("div");
23115
authorDiv.className = 'author';
24-
authorDiv.innerHTML=obj.author;
116+
authorDiv.innerHTML = obj.author;
25117
eventDiv.appendChild(authorDiv);
26-
const levelDiv = document.createElement("div");
27-
levelDiv.className = 'level ' + obj.level;
28-
levelDiv.innerHTML=obj.level;
29-
eventDiv.appendChild(levelDiv);
30-
const categoryDiv = document.createElement("div");
31-
categoryDiv.className = 'category ' + (['Data', 'Web'].includes(obj.category) ? obj.category : 'Auto') ;
32-
categoryDiv.innerHTML=obj.category;
33-
eventDiv.appendChild(categoryDiv);
118+
if (obj.level) {
119+
const levelDiv = document.createElement("div");
120+
levelDiv.className = 'level ' + obj.level;
121+
levelDiv.innerHTML = obj.level;
122+
eventDiv.appendChild(levelDiv);
123+
}
124+
if (obj.category) {
125+
const categoryDiv = document.createElement("div");
126+
categoryDiv.className = 'category ' + (['Datos', 'Web'].includes(obj.category) ? obj.category : 'Auto') ;
127+
categoryDiv.innerHTML = obj.category;
128+
eventDiv.appendChild(categoryDiv);
129+
}
130+
let link, icon
131+
const urls = {
132+
github: 'https://github.com/',
133+
facebook: 'https://www.facebook.com/',
134+
instagram: 'https://www.instagram.com/',
135+
youtube: 'https://www.youtube.com/',
136+
twitter: 'https://x.com/',
137+
linkedin: 'https://www.linkedin.com/in/',
138+
twitch: 'https://www.twitch.com/',
139+
discord: 'https://discord.gg/',
140+
}
141+
Object.keys(urls).forEach(key=>{
142+
if (key in obj){
143+
link = document.createElement("a");
144+
link.href = `${urls[key]}${obj[key]}`;
145+
link.target = '_blank'
146+
icon = document.createElement("i");
147+
icon.className = `media-icon bi bi-${key} ` + key;
148+
link.appendChild(icon);
149+
mediaDiv.appendChild(link);
150+
}
151+
})
152+
profileDiv.appendChild(photosDiv)
153+
profileDiv.appendChild(mediaDiv)
154+
eventCell.appendChild(profileDiv)
34155
eventCell.appendChild(eventDiv)
156+
35157
})
36158
}

assets/sections/copiapo/schedule.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
<!-- Sección de Cronograma -->
31
<section class="py-5" id="cronograma">
42
<div class="container">
53
<h2 class="text-center mb-4">Cronograma</h2>

assets/sections/valparaiso/about.html

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ <h2 class="text-center mb-4">¿Cómo participar?</h2>
1616
<div class="mt-4">
1717
<a href="https://docs.google.com/forms/d/e/1FAIpQLSchoM_s8Km5vMeoqMY-a_rgeyjYgvYlT9D6swq4Oy4xivPohQ/viewform" target="_blank" class="btn btn-primary " aria-disabled="true">Regístrate</a>
1818
</div>
19-
20-
<div class="mt-4">
21-
<a href="https://sessionize.com/pyday-2024/" target="_blank" class="btn btn-primary " aria-disabled="true">Postula tu Charla</a> </div>
2219
</div>
2320
</div>
2421
</div>
Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
<table id="schedule"/>
2-
<thead>
3-
<tr>
4-
<th>Módulo</th>
5-
<th>Evento</th>
6-
</tr>
7-
</thead>
8-
<tbody>
9-
</tbody>
10-
</table>
1+
<section class="py-5" id="cronograma">
2+
<div class="container">
3+
<table id="schedule"/>
4+
<thead>
5+
<tr>
6+
<th>Módulo</th>
7+
<th>Evento</th>
8+
</tr>
9+
</thead>
10+
<tbody>
11+
</tbody>
12+
</table>
13+
</div>
14+
</section>
235 KB
Loading
56.6 KB
Loading
207 KB
Loading
283 KB
Loading

0 commit comments

Comments
 (0)