test
import express from "express";
const app = express();
const PORT = process.env.PORT || 3000;
const PATH_PAGE = "/kontakt/tomas-odvarko";
const PATH_VCF = "/kontakt/tomas-odvarko.vcf";
const VCARD = `BEGIN:VCARD
VERSION:3.0
N:Odvárko;Tomáš;;;
FN:Tomáš Odvárko
ORG:Sunnysoft s.r.o.
TITLE:Marketing Specialist
TEL;TYPE=CELL,VOICE:+420727912583
END:VCARD
`;
function escapeHtml(s) {
return String(s)
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll('"', """)
.replaceAll("'", "'");
}
app.get(PATH_VCF, (req, res) => {
res.setHeader("Content-Type", "text/vcard; charset=utf-8");
res.setHeader("Content-Disposition", "inline; filename=tomas-odvarko.vcf");
res.setHeader("Cache-Control", "public, max-age=86400");
res.send(VCARD);
});
app.get(PATH_PAGE, (req, res) => {
const name = "Tomáš Odvárko";
const org = "Sunnysoft s.r.o.";
const title = "Marketing Specialist";
const phonePretty = "+420 727 912 583";
const html = `
${escapeHtml(name)}
TO
${escapeHtml(name)}
${escapeHtml(title)}
${escapeHtml(org)}
Telefon
${escapeHtml(phonePretty)}
QR kód může mířit na tuto stránku. Tlačítko stáhne kontakt jako vCard.
`;
res.setHeader("Content-Type", "text/html; charset=utf-8");
res.setHeader("Cache-Control", "public, max-age=3600");
res.status(200).send(html);
});
app.get("/", (req, res) => {
res.status(200).send("OK");
});
app.listen(PORT, () => {
console.log(`Server běží na http://localhost:${PORT}`);
});