Use node and breakdance

This commit is contained in:
Jared He 2021-06-03 17:10:05 -05:00
parent 3b6f57edaa
commit ca9592346e
5 changed files with 1934 additions and 34 deletions

View File

@ -1,9 +1,14 @@
const converter = new showdown.Converter();
const Breakdance = require("breakdance");
const converter = new Breakdance();
const fs = require("fs");
fetch("./event-test.xml")
.then((response) => response.text())
.then((jsonResponse) => parseXML(jsonResponse))
.catch((error) => console.error(error));
fs.readFile("./event-test.xml", "utf8", (err, data) => {
if (err) {
console.error(err);
return;
}
parseXML(data);
});
const parseXML = (XML) => {
const eventItemRegex = /<eventitem.*>(.|\n)*?<\/eventitem>/g;
@ -26,19 +31,20 @@ const parseXML = (XML) => {
abstractRegex.lastIndex = 0;
const eventItem = eventItems[0];
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);
let short = shortRegex.exec(eventItem);
let abstract = abstractRegex.exec(eventItem);
const dateStr = dateRegex.exec(eventItem);
const timeStr = timeRegex.exec(eventItem);
console.log(eventItem);
console.log(date);
console.log(room[0]);
console.log(title[0]);
console.log(converter.makeMarkdown(short[0]));
console.log(converter.makeMarkdown(abstract[0]));
const title = titleRegex.exec(eventItem)[0];
const short = shortRegex.exec(eventItem)[0];
// const short = shortRegex.exec(eventItem)[0]; if we want shorts in mdx
const room = roomRegex.exec(eventItem)[0];
const date = new Date(`${dateStr[0]} ${timeStr[0]}`);
const abstract = converter.render(abstractRegex.exec(eventItem)[0]);
mdx = `export const metadata = {\n name: ${title},\n short: ${short},\n date: ${date},\n online: TODO FIX THIS,\n location: ${room},\n registerLink: TODO FIX THIS,\n}\n\n${abstract}`;
fs.writeFile(`${timeRegex.lastIndex}.mdx`, mdx, function (err) {
if (err) return console.log(err);
});
}
};
};

View File

@ -20,7 +20,7 @@
<p>Kick off your Spring term with CSC! Come join us on Discord to learn more about what we'll be up to this term and how you can participate!</p>
<p>Afterwards, stick around for a relaxing and fun game night. See you there!</p>
<h1>Here, I am also testing with</h1>
<h2>Many headings, as well as <strong>bold text</strong> and <i>italics</i>.</h2>
<h2>Many headings, as well as <strong>bold text</strong> and <i>italics</i></h2>
<h4>More headings</h4>
<ul>
<li>One</li>

1903
scripts/mdx-scripts/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
{
"dependencies": {
"breakdance": "^3.0.1"
}
}

View File

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/showdown@1.9.1/dist/showdown.min.js"></script>
<script src="event-conversion.js"></script>
<title>Document</title>
</head>
<body>
</body>
</html>