Use node and breakdance
This commit is contained in:
parent
3b6f57edaa
commit
ca9592346e
|
@ -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);
|
||||
});
|
||||
}
|
||||
};
|
||||
};
|
|
@ -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>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"breakdance": "^3.0.1"
|
||||
}
|
||||
}
|
|
@ -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>
|
Loading…
Reference in New Issue