75 lines
2.3 KiB
TypeScript
75 lines
2.3 KiB
TypeScript
import { answer, Riddle, riddles } from "../../html/find-the-code-together.tsx";
|
|
|
|
const render_riddle = ({ riddle, id }: { riddle: string; id: number }) => (
|
|
`${
|
|
id == 0
|
|
? "The answer to this riddle is 10 digits (0-9)."
|
|
: "All riddles (sans one) have a one letter answer (a-z)."
|
|
}
|
|
This is riddle #${id} ${id == 0 ? "(nice job finding this one!)" : ""}
|
|
${riddle}`
|
|
);
|
|
|
|
const encoder = new TextEncoder();
|
|
|
|
async function write_riddle(riddle: Riddle, id: number) {
|
|
const file = await Deno.open(`/home/mbk/Aims/cohost/static/ftct/${id}.txt`, {
|
|
write: true,
|
|
create: true,
|
|
truncate: true,
|
|
});
|
|
file.write(encoder.encode(render_riddle({ ...riddle, id })));
|
|
file.close();
|
|
}
|
|
|
|
riddles.map(write_riddle);
|
|
|
|
const winners: string[] = [];
|
|
|
|
const file = await Deno.open(
|
|
`/home/mbk/Aims/cohost/static/ftct/${answer}.html`,
|
|
{
|
|
write: true,
|
|
create: true,
|
|
},
|
|
);
|
|
file.write(encoder.encode(`
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>you did it!!!!</title>
|
|
<style>
|
|
body {
|
|
margin: 0 auto;
|
|
width: min(500px, 96vw);
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Congratulations!!!!</h1>
|
|
<p>You (plural, I hope) have done well to find this.
|
|
<p>I have prepared two rewards for everyone who has found this, alone or working together
|
|
<ol>
|
|
<li>if you'd like, you can join <a href="https://pyrope.net/mcai">my discord
|
|
server i created to say "man, computers are incredible" every day</a>, and post
|
|
proof that you helped find the code (or at least interesting fake proof) in the
|
|
#ftct channel (you should get access to it pretty quickly (ping @mehbark and ask me if i agree)), and
|
|
your name will be added to the list below
|
|
|
|
<li>you get to be the first ones to see my cohost git repository! here it is: <a
|
|
href="https://git.pyrope.net/mbk/cohost">https://git.pyrope.net/mbk/cohost</a> i
|
|
know this is sort of lame, but there's over 2300 lines of typescript JSX, a lot
|
|
of comments showing my thought processes, and a (decent) git history for you to
|
|
look through so i hope you'll enjoy it. you probably like cohost, right?
|
|
</ol>
|
|
|
|
winners:
|
|
<ul>
|
|
<!-- i'm doing the winners by hand so don't try to be clever -->
|
|
${winners.map((w) => `<li>${w}`).join("\n")}
|
|
</body>
|
|
</html>
|
|
`));
|