socialtree/src/index.js

49 lines
1.4 KiB
JavaScript
Raw Normal View History

import express from "express";
import yaml from "js-yaml";
import fs from "node:fs";
import * as dotenv from "dotenv";
console.log("🔧 Configuring socialtree...");
2022-10-13 14:59:02 +01:00
dotenv.config();
const app = express();
const port = process.env.PORT || 3000;
const engine = "ejs";
2022-10-13 14:59:02 +01:00
const customMainPartialThemes = [
// Array of themes that require a custom main partial
"98",
];
2023-01-06 22:21:17 +00:00
app.set("view engine", engine);
app.set("views", "./src/views");
app.use(express.static("src/dist"));
app.use(express.static("assets"));
2022-10-13 14:59:02 +01:00
app.get("/", (req, res) => {
let config = yaml.load(fs.readFileSync("assets/config/config.yml"), "utf8");
res.render("index", {
name: config.name,
url: config.url,
filenameProfilePic: config.profilePic
? config.profilePic
: "profilepic.jpg",
summaryText: config.summaryText ? config.summaryText : "",
2022-10-18 08:20:54 +01:00
links: config.links,
2022-10-28 07:57:30 +01:00
smallLinks: config.smallLinks,
2022-12-30 00:57:42 +00:00
theme: config.theme,
2023-01-06 22:21:17 +00:00
roundPB: config.roundPB,
customMainPartialThemes: customMainPartialThemes,
metaDescription: config.summaryText
? config.summaryText
: config.links.map((link) => link.text).join(" | "),
siteName: config.siteName ? config.siteName : "SocialTree",
});
});
2022-10-13 14:59:02 +01:00
app.listen(port, () =>
console.log(
`🚀 Socialtree started on port ${port}, with view engine ${engine}`
)
);