diff --git a/package-lock.json b/package-lock.json
index 6f65edc..c973032 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,15 +1,15 @@
{
"name": "madisonlinux",
- "version": "0.1.0",
+ "version": "0.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "madisonlinux",
- "version": "0.1.0",
+ "version": "0.2.0",
"license": "MIT",
"dependencies": {
- "body-parser": "^2.2.0",
+ "body-parser": "^2.2.1",
"ejs": "3.1.10",
"express": "^5.2.1",
"ics": "^3.8.1",
@@ -17,8 +17,8 @@
},
"devDependencies": {
"@sindresorhus/tsconfig": "8.0.1",
- "@types/express": "^5.0.3",
- "@types/node": "^24.7.0",
+ "@types/express": "^5.0.6",
+ "@types/node": "^24.10.1",
"forking-build-shit": "1.0.5",
"typescript": "5.9.3"
}
@@ -368,15 +368,15 @@
}
},
"node_modules/@types/express": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz",
- "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz",
+ "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/body-parser": "*",
"@types/express-serve-static-core": "^5.0.0",
- "@types/serve-static": "*"
+ "@types/serve-static": "^2"
}
},
"node_modules/@types/express-serve-static-core": {
@@ -399,21 +399,14 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/node": {
- "version": "24.7.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.0.tgz",
- "integrity": "sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==",
+ "version": "24.10.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
+ "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~7.14.0"
+ "undici-types": "~7.16.0"
}
},
"node_modules/@types/qs": {
@@ -441,25 +434,13 @@
}
},
"node_modules/@types/serve-static": {
- "version": "1.15.9",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.9.tgz",
- "integrity": "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz",
+ "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "<1"
- }
- },
- "node_modules/@types/serve-static/node_modules/@types/send": {
- "version": "0.17.5",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz",
- "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
"@types/node": "*"
}
},
@@ -1692,9 +1673,9 @@
}
},
"node_modules/undici-types": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz",
- "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==",
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
+ "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"dev": true,
"license": "MIT"
},
diff --git a/package.json b/package.json
index 7b6dac7..6a03ac7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "madisonlinux",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "Website for upcoming Linux install party in Madison WI",
"keywords": [
"web",
@@ -24,7 +24,7 @@
"views"
],
"dependencies": {
- "body-parser": "^2.2.0",
+ "body-parser": "^2.2.1",
"ejs": "3.1.10",
"express": "^5.2.1",
"ics": "^3.8.1",
@@ -32,8 +32,8 @@
},
"devDependencies": {
"@sindresorhus/tsconfig": "8.0.1",
- "@types/express": "^5.0.3",
- "@types/node": "^24.7.0",
+ "@types/express": "^5.0.6",
+ "@types/node": "^24.10.1",
"forking-build-shit": "1.0.5",
"typescript": "5.9.3"
},
diff --git a/src/Web.ts b/src/Web.ts
index 89dedca..35da598 100644
--- a/src/Web.ts
+++ b/src/Web.ts
@@ -83,7 +83,7 @@ class Web {
else if(!adminMode){
console.log(req.headers?.['user-agent']);
}
- res.render('index_after', {
+ res.render('lug', {
page: {
title: 'Madison End of 10 Install Party',
titlesuffix: 'Get help installing Linux',
@@ -129,18 +129,22 @@ class Web {
app.get('/event.ics', (_, res) => {
createEvent({
- uid: '1@madisonlinux.com',
- start: [2025, 11, 1, 19, 30],
- duration: { hours: 3, minutes: 0 },
- title: 'Madison Linux Workshop',
- description: 'Keep your current PC up-to-date by installing a free OS!',
+ uid: '2@madisonlinux.com',
+ sequence: 1,
+ startInputType: 'local',
+ startOutputType: 'local',
+ start: [2026, 1, 15, 19, 0],
+ duration: { hours: 1, minutes: 0 },
+ title: 'Madison Linux User Group',
+ description: 'A place for Linux users of all skill levels to meet and share knowledge, troubleshoot, and show off',
location: '56 Corry St, Madison, WI 53704',
url: 'https://madisonlinux.com/',
geo: { lat: 43.0982199, lon: -89.3481373 },
status: 'CONFIRMED',
busyStatus: 'TENTATIVE',
organizer: { name: 'Cory Sanin', email: 'endof10@cory.sanin.dev' },
- method: 'REQUEST'
+ method: 'REQUEST',
+ recurrenceRule: 'FREQ=MONTHLY;BYDAY=TH;BYSETPOS=3'
}, (err, s) => {
if (err) {
console.error(err);
diff --git a/views/lug.ejs b/views/lug.ejs
new file mode 100644
index 0000000..6a6ccdf
--- /dev/null
+++ b/views/lug.ejs
@@ -0,0 +1,51 @@
+
+
+
+
+ <%- include("head", locals) %>
+
+
+
+ <%- include("navigation", locals) %>
+
+ <% if (adminMode) { %>
+ <%- include("installform", locals) %>
+ <% } %>
+
Madison Linux
+
+ A Linux user Group (LUG) is coming to your neighborhood...
+
+
+ Madison Linux is (will be?) a place for Linux users of all skill levels to meet and share knowledge, troubleshoot, and show off.
+ Completely open to the pulic, we will meet monthly starting in January 2026. Every 3rd Thursday, at 7PM.
+ Sector67 is hosting us again, so a big thank you to them!
+
+
+ 🗓️ Add to Calendar
+
+
+ Agenda for January 15th:
+
+ - Decide on what communication platform(s) will we use
+ - Casual presentation on the format of other Linux User Groups; how-to LUG
+ - Get a sense where the community's interests lie
+ - Some time to meet and chat
+
+
+
+ Hope to see you soon!
+
+
+ <% if (installs && installs.length) { %>
+
+
We have saved <%= installs.length %> computer<% if (installs.length > 1) { %>s<% } %>!
+
+ <% } %>
+
Need help?
+
+ If we set up your Linux installation and you need help or guidance, shoot me an
+ email at endof10@cory.sanin.dev.
+
+
+
+