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]));
|
|
|
|
}
|
|
|
|
};
|