1"use strict"; 2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 4 return new (P || (P = Promise))(function (resolve, reject) { 5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 8 step((generator = generator.apply(thisArg, _arguments || [])).next()); 9 }); 10}; 11function loadTalks() { 12 return __awaiter(this, void 0, void 0, function* () { 13 try { 14 const response = yield fetch('_data/talks.yml'); 15 if (!response.ok) { 16 throw new Error(`HTTP error! status: ${response.status}`); 17 } 18 const yamlText = yield response.text(); 19 const talks = jsyaml.load(yamlText); 20 const talksContainer = document.querySelector('#talks .row'); 21 if (!talksContainer) { 22 console.error('Talks container not found'); 23 return; 24 } 25 talksContainer.innerHTML = ''; // Clear existing talks 26 for (const talk of talks) { 27 const talkElement = document.createElement('div'); 28 talkElement.className = 'col-md-6 mb-4'; 29 let innerHtml; 30 if (talk.image && talk.url) { 31 innerHtml = ` 32 <div class="card"> 33 <div class="row g-0"> 34 <div class="col-md-8"> 35 <div class="card-body"> 36 <h5 class="card-title">${talk.title}</h5> 37 <p class="card-text"><small class="text-muted">${talk.location}</small></p> 38 <p class="card-text">${talk.date}</p> 39 </div> 40 </div> 41 <div class="col-md-4 d-flex align-items-center"> 42 <div class="text-center"> 43 <a href="${talk.url}"><img src="${talk.image}" class="img-fluid rounded-end"/></a> 44 ${talk.video ? `<br/><a href="${talk.video}" class="btn btn-link btn-sm">Video</a>` : ''} 45 </div> 46 </div> 47 </div> 48 </div> 49 `; 50 } 51 else { 52 innerHtml = ` 53 <div class="card"> 54 <div class="card-body"> 55 <h5 class="card-title">${talk.title}</h5> 56 <p class="card-text"><small class="text-muted">${talk.location}</small></p> 57 <p class="card-text">${talk.date}</p> 58 ${talk.video ? `<a href="${talk.video}" class="btn btn-primary btn-sm mt-2">Video</a>` : ''} 59 </div> 60 </div> 61 `; 62 } 63 talkElement.innerHTML = innerHtml; 64 talksContainer.appendChild(talkElement); 65 } 66 } 67 catch (error) { 68 console.error('Failed to load talks:', error); 69 } 70 }); 71} 72document.addEventListener('DOMContentLoaded', loadTalks);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.