const filePath = 'data/data.txt'; const container = document.getElementById('cardsContainer'); fetch(filePath) .then(response => { if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); return response.text(); }) .then(data => { const lines = data.split('\n'); container.innerHTML = ''; lines.forEach((line, index) => { // Разделяем строку с учетом возможных пустых значений в конце const parts = line.split(';'); // Деструктуризация с заполнением недостающих значений const [ title, image, subtitle, text, date, author, email, tel, link, vacancies, news, announcements, counter, favorite = '' // Значение по умолчанию, если столбец отсутствует ] = parts; // Проверяем наличие обязательных полей и отметку избранного if (image && date && subtitle && counter && favorite.trim() === '*') { const pageUrl = `newscard.html?id=${counter.trim()}`; const card = document.createElement('div'); card.className = 'col-md-4 d-flex'; card.innerHTML = `
`; container.appendChild(card); } }); }) .catch(error => console.error('Error:', error));