old-website/scripts/mdx-scripts/event-conversion.js

45 lines
1.5 KiB
JavaScript
Raw Normal View History

2021-06-03 08:35:58 -04:00
const converter = new showdown.Converter();
fetch("./event-test.xml")
.then((response) => response.text())
.then((jsonResponse) => parseXML(jsonResponse))
.catch((error) => console.error(error));
const parseXML = (XML) => {
const eventItemRegex = /<eventitem.*>(.|\n)*?<\/eventitem>/g;
const shortRegex = /(?<=<short>)(.|\n)*?(?=<\/short>)/g;
const abstractRegex = /(?<=<abstract>)(.|\n)*?(?=<\/abstract>)/g;
2021-06-03 09:00:22 -04:00
const dateRegex = /(?<=<eventitem(.*)date=")(.|\n)*?(?="(.*)>)/g;
const timeRegex = /(?<=<eventitem(.*)time=")(.|\n)*?(?="(.*)>)/g;
const roomRegex = /(?<=<eventitem(.*)room=")(.|\n)*?(?="(.*)>)/g;
const titleRegex = /(?<=<eventitem(.*)title=")(.|\n)*?(?="(.*)>)/g;
2021-06-03 08:35:58 -04:00
let eventItems = [];
while ((eventItems = eventItemRegex.exec(XML)) !== null) {
2021-06-03 09:00:22 -04:00
dateRegex.lastIndex = 0;
timeRegex.lastIndex = 0;
roomRegex.lastIndex = 0;
titleRegex.lastIndex = 0;
shortRegex.lastIndex = 0;
abstractRegex.lastIndex = 0;
2021-06-03 08:35:58 -04:00
const eventItem = eventItems[0];
2021-06-03 09:00:22 -04:00
let dateStr = dateRegex.exec(eventItem);
let timeStr = timeRegex.exec(eventItem);
date = new Date(dateStr[0] + " " + timeStr[0]);
let room = roomRegex.exec(eventItem);
let title = titleRegex.exec(eventItem);
2021-06-03 08:35:58 -04:00
let short = shortRegex.exec(eventItem);
let abstract = abstractRegex.exec(eventItem);
2021-06-03 09:00:22 -04:00
console.log(eventItem);
console.log(date);
console.log(room[0]);
console.log(title[0]);
console.log(converter.makeMarkdown(short[0]));
2021-06-03 08:35:58 -04:00
console.log(converter.makeMarkdown(abstract[0]));
}
};