Can now generate a lot of the static content from templates in pages/ WARNING: I kept seeing page _templates_ getting corrupted on rendering, which is no bueno.

This commit is contained in:
Zed A. Shaw 2025-07-04 23:59:25 -04:00
parent 7e48768e36
commit c64874cb51
12 changed files with 516 additions and 608 deletions

View file

@ -11,7 +11,16 @@
</head> </head>
<body data-testid="{{.PageId}}"> <body data-testid="{{.PageId}}">
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
{{embed}} {{embed}}

View file

@ -5,67 +5,28 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head> </head>
<body data-testid="base-page">
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
</head>
<body>
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart> <blockstart>
</blockstart> </blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>
<block class="horizontal">
<shape style="--w: 200px; --h: 200px;">Some Image</shape>
<p x-text="Game.description">Description</p>
</block>
</block>
<block>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block>
<block style="--value: 7;">
<h2>Current Status</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block>
<block>
<h2>Planned Work</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block>
<block style="--value: 2; --text: 9">
<h2>Read The Code</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
<button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button>
</block>
</blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>

View file

@ -5,36 +5,32 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head> </head>
<body data-testid="error-index-page">
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
</head>
<body>
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart> <blockstart>
<h1>ERROR</h1> <h1>ERROR</h1>
<p>You have an error.</p> <p>You have an error.</p>
</blockstart> </blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,34 +5,32 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
<script defer src="/js/alpine.js"></script> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script> <script src="/js/code.js"></script>
<script> <title>ZedShaw.games</title>
let req = new GetJson("/api/game/1/index.json");
</script>
</head> </head>
<body data-testid="game-1-turings-tarpit-index-page">
<body x-init="Game = await req.theData()" x-data="{Game: {}}">
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart> <script>
<shape style="--w: 100%; --h: 300px">Gameplay Demo Video</shape> let req = new GetJson("/api/game/1/index.json");
</script>
<block style="--value: 7"> <blockstart>
<shape style="--w: 100%; --h: 300px">Gameplay Demo Video</shape>
<block style="--value: 7">
<h1 x-text="Game.title">Title</h1> <h1 x-text="Game.title">Title</h1>
<block class="horizontal"> <block class="horizontal">
@ -40,36 +38,34 @@
<p x-text="Game.description">Description</p> <p x-text="Game.description">Description</p>
</block> </block>
</block> </block>
<block> <block>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> <p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block> </block>
<block style="--value: 7;"> <block style="--value: 7;">
<h2>Current Status</h2> <h2>Current Status</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> <p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block> </block>
<block> <block>
<h2>Planned Work</h2> <h2>Planned Work</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> <p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block> </block>
<block style="--value: 2; --text: 9"> <block style="--value: 2; --text: 9">
<h2>Read The Code</h2> <h2>Read The Code</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> <p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
<button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button> <button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button>
</block> </block>
</blockstart>
</blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,86 +5,58 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
<script defer src="/js/alpine.js"></script> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script> <script src="/js/code.js"></script>
<script> <title>ZedShaw.games</title>
let Games = new GetJson("/api/game/index.json");
</script>
</head> </head>
<body data-testid="game-index-page">
<body>
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart> <script>
<block style="--w: 100%; --value: 7"> let Games = new GetJson("/api/game/index.json");
</script>
<blockstart>
<block style="--w: 100%; --value: 7">
<h1>Zed's Trash Ass Games</h1> <h1>Zed's Trash Ass Games</h1>
<p>More fun than a barrel full of monkeys with syphilus. <p>More fun than a barrel full of monkeys with syphilus.
</p> </p>
</block> </block>
<hr/> <hr/>
<grid x-data="Games" style="--cols: 2"> <grid x-data="Games" style="--cols: 2">
<template x-for="item in theData"> <template x-for="item in theData">
<shape style="--h: 200px"><a x-text="item.title" x-bind:href="item.url"></a></shape> <shape style="--h: 200px"><a x-text="item.title" x-bind:href="item.url"></a></shape>
</template> </template>
</grid> </grid>
<block style="--value: 7"> <block>
<grid style="--cols: 2">
<shape>Left Image</shape>
<div>
<h2>Checkout my Git</h2>
<p>I put al of my code online for people to read and study. If you're curious about the code behind my games or anything else I make then take a look at my git. It's like a buffet of half-finished genius.</p>
<a href="https://git.learnjsthehardway.com"><button style="--value: 2; --text: 9">View my Git</button></a>
</div>
</grid>
</block>
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
x DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block>
<block>
<h2>Planned Work</h2> <h2>Planned Work</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> <p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block> </block>
<block style="--value: 2; --text: 9"> <block style="--value: 2; --text: 9">
<h2>Read The Code</h2> <h2>Read The Code</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> <p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
<button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button> <button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button>
</block> </block>
</blockstart>
</blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,97 +5,94 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head> </head>
<body data-testid="index-page">
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
</head>
<body data-testid="home-page">
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart> <blockstart>
<h1>Zed's Game Dev Website</h1> <h1>Zed's Game Dev Website</h1>
<shape style="--w: 100%; --h: 300px"> <shape style="--w: 100%; --h: 300px">
<button><a id="streams" href="/stream/">View Past Streams</a></button> <button><a id="streams" href="/stream/">View Past Streams</a></button>
<button><a href="/live/">Watch Today's Livestream</a></button> <button><a href="/live/">Watch Today's Livestream</a></button>
</shape> </shape>
<block data-testid="clickblock"> <block data-testid="clickblock">
<p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby. <p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby.
</p> </p>
</block> </block>
<block style="--value: 7; --border: 1px;" class="horizontal"> <block style="--value: 7; --border: 1px;" class="horizontal">
<grid style="--cols: 2"> <grid style="--cols: 2">
<shape>Left Image</shape> <shape>Left Image</shape>
<div> <div>
<h3>I stream on Twitch.</h3> <h3>I stream on Twitch.</h3>
<p>I stream every day at 10AM/10PM EST time. 60% of the time it's a chill laid back stream with only programming and a bit of talking about programming. 30% of the time it's art for games I'm making. 10% of the time it's games I'm playing.</p> <p>I stream every day at 10AM/10PM EST time. 60% of the time it's a chill laid back stream with only programming and a bit of talking about programming. 30% of the time it's art for games I'm making. 10% of the time it's games I'm playing.</p>
<a href="https://twitch.tv/zedashaw"><button style="--value: 2; --text: 9">Watch me on Twitch</button></a> <a href="https://twitch.tv/zedashaw"><button style="--value: 2; --text: 9">Watch me on Twitch</button></a>
</div> </div>
</grid> </grid>
</block> </block>
<block> <block>
<p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby. <p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby.
</p> </p>
</block> </block>
<block style="--value: 7"> <block style="--value: 7">
<grid style="--cols: 2"> <grid style="--cols: 2">
<div> <div>
<h2>Zed's Trash Ass Games</h2> <h2>Zed's Trash Ass Games</h2>
<p>Are you a fan of retro styled half-assed but fun games? Me too, so here's my games I've made with that theme. Think "it's the late 80s and nobody knows how to make a game" when you play these and you'll enjoy every minute of it.</p> <p>Are you a fan of retro styled half-assed but fun games? Me too, so here's my games I've made with that theme. Think "it's the late 80s and nobody knows how to make a game" when you play these and you'll enjoy every minute of it.</p>
<a href="/game/"><button style="--value: 2; --text: 9">Play my Games</button></a> <a href="/game/"><button style="--value: 2; --text: 9">Play my Games</button></a>
</div> </div>
<shape>Right Image</shape> <shape>Right Image</shape>
</grid> </grid>
</block> </block>
<block> <block>
<p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby. <p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby.
</p> </p>
</block> </block>
<block style="--value: 7"> <block style="--value: 7">
<grid style="--cols: 2"> <grid style="--cols: 2">
<shape>Left Image</shape> <shape>Left Image</shape>
<div> <div>
<h2>Checkout my Git</h2> <h2>Checkout my Git</h2>
<p>I put al of my code online for people to read and study. If you're curious about the code behind my games or anything else I make then take a look at my git. It's like a buffet of half-finished genius.</p> <p>I put al of my code online for people to read and study. If you're curious about the code behind my games or anything else I make then take a look at my git. It's like a buffet of half-finished genius.</p>
<a href="https://git.learnjsthehardway.com"><button style="--value: 2; --text: 9">View my Git</button></a> <a href="https://git.learnjsthehardway.com"><button style="--value: 2; --text: 9">View my Git</button></a>
</div> </div>
</grid> </grid>
</block> </block>
<block> <block>
<p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby. <p>Zombie ipsum reversus ab viral inferno, nam rick grimes malum cerebro. De carne lumbering animata corpora quaeritis. Summus brains sit, morbo vel maleficia? De apocalypsi gorger omero undead survivor dictum mauris. Hi mindless mortuis soulless creaturas, imo evil stalking monstra adventus resi dentevil vultus comedat cerebella viventium. Qui animated corpse, cricket bat max brucks terribilem incessu zomby.
</p> </p>
</block> </block>
</blockstart>
</blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,31 +5,30 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
<script defer src="/js/alpine.js"></script> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script> <script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head>
<body data-testid="live-index-page">
<header>
<blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header>
<script> <script>
let req = new GetJson("/api/stream/1"); let req = new GetJson("/api/stream/1");
let link_req = new GetJson("/api/stream/1/links"); let link_req = new GetJson("/api/stream/1/links");
</script> </script>
</head>
<body x-init="Stream = await req.theData()" x-data="{Stream: {}}">
<header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span>
</header>
<div x-init="Stream = await req.theData()" x-data="{Stream: {}}">
<blockstart> <blockstart>
<shape style="--w: 100%; --h: 350px"> <shape style="--w: 100%; --h: 350px">
@ -60,12 +59,11 @@
</form> </form>
</blockstart> </blockstart>
</div>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,28 +5,27 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head> </head>
<body data-testid="login-index-page">
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
</head>
<body data-testid="login-page">
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart style="min-height: 90vw"> <blockstart style="min-height: 90vw">
<h1>Login</h1> <h1>Login</h1>
<block class="center-self" style="--w: 500px; --h: 500px;"> <block class="center-self" style="--w: 500px; --h: 500px;">
<form action="/api/login" method="POST"> <form action="/api/login" method="POST">
<card> <card>
<top><h2 style="color: white">Login</h2></top> <top><h2 style="color: white">Login</h2></top>
@ -45,14 +44,12 @@
</card> </card>
</form> </form>
<div class="center"><a href="/register/">Need an account? Click to Register.</a></div> <div class="center"><a href="/register/">Need an account? Click to Register.</a></div>
</block> </block>
</blockstart> </blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,28 +5,27 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head> </head>
<body data-testid="register-index-page">
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
</head>
<body data-testid="register-page">
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart style="min-height: 90vw"> <blockstart style="min-height: 90vw">
<h1>Login</h1> <h1>Login</h1>
<block class="center-self" style="--w: 500px; --h: 500px;"> <block class="center-self" style="--w: 500px; --h: 500px;">
<form action="/api/register" method="POST"> <form action="/api/register" method="POST">
<card> <card>
<top><h2 style="color: white">Register</h2></top> <top><h2 style="color: white">Register</h2></top>
@ -47,14 +46,12 @@
</card> </card>
</form> </form>
<div class="center"><a href="/login/">Have an account? Click to Login.</a></div> <div class="center"><a href="/login/">Have an account? Click to Login.</a></div>
</block> </block>
</blockstart> </blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,31 +5,30 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
<script defer src="/js/alpine.js"></script> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script> <script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head>
<body data-testid="stream-1-index-page">
<header>
<blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header>
<script> <script>
let req = new GetJson("/api/stream/1"); let req = new GetJson("/api/stream/1");
let link_req = new GetJson("/api/stream/1/links"); let link_req = new GetJson("/api/stream/1/links");
</script> </script>
</head>
<body x-init="Stream = await req.theData()" x-data="{Stream: {}}">
<header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span>
</header>
<div x-init="Stream = await req.theData()" x-data="{Stream: {}}">
<blockstart> <blockstart>
<block style="--value: 7"> <block style="--value: 7">
@ -72,7 +71,7 @@
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
i poutine jianbing chambray.</p> i poutine jianbing chambray.</p>
</block> </block>
@ -84,12 +83,11 @@ i poutine jianbing chambray.</p>
</block> </block>
</blockstart> </blockstart>
</div>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
</body>
</html>

View file

@ -5,32 +5,29 @@
<link rel="stylesheet" href="/global.css"> <link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css"> <link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css"> <link rel="stylesheet" href="/blockstart.css">
<title>Hello</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.css">
<link rel="stylesheet" href="/blockstart.css">
<title>ZedShaw's Game Thing</title>
<script defer src="/js/alpine.js"></script> <script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script> <script src="/js/code.js"></script>
<script> <title>ZedShaw.games</title>
let Streams = new GetJson("/api/stream/");
</script>
</head> </head>
<body data-testid="stream-index-page">
<body>
<header> <header>
<a href="/">🏡</a> <span>Zed's Game Dev Website Yay</span> <blockstart style="background-color: var(--value0)">
<block style="--value: 0; --text: 9" class="horizontal">
<a href="/">🏡</a>
<a href="/live/">Live</a>
<a href="/stream/">Streams</a>
<a href="/game/">Games</a>
<a href="/register/">Register</a>
<a href="/login/">Login</a>
</block>
</blockstart>
</header> </header>
<blockstart> <script>
let Streams = new GetJson("/api/stream/");
</script>
<blockstart>
<block style="--value: 7"> <block style="--value: 7">
<h1 id="streams-title">Past Streams</h1> <h1 id="streams-title">Past Streams</h1>
<p>This is where you can checkout information we dropped in a past stream. Did I post a link and you need to remember it? Did someone in chat mention something? Here's where you find it.</p> <p>This is where you can checkout information we dropped in a past stream. Did I post a link and you need to remember it? Did someone in chat mention something? Here's where you find it.</p>
@ -48,35 +45,11 @@
</stream> </stream>
</template> </template>
</block> </block>
</blockstart>
</blockstart>
<footer> <footer>
<h1>Footer</h1> <h1>Footer</h1>
</footer> </footer>
</body> </body>
</html> </html>
ral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block>
<block>
<h2>Planned Work</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
</block>
<block style="--value: 2; --text: 9">
<h2>Read The Code</h2>
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p>
<button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button>
</block>
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

View file

@ -2,10 +2,24 @@ package main
import ( import (
"log" "log"
"flag"
"zedshaw.games/webapp/zed" "zedshaw.games/webapp/zed"
) )
func main() { type config struct {
log.Println("Generating site from pages to public.") source string
zed.RenderPages("./pages", "./public", "layouts/main") target string
layouts string
}
func main() {
var cfg config
flag.StringVar(&cfg.source, "source", "./pages", "The templates to load and process.")
flag.StringVar(&cfg.target, "target", "./public", "The target to write the resulting content.")
flag.StringVar(&cfg.layouts, "layouts", "layouts/main", "The default layout to use, must be a template in <source>")
log.Println("Generating site from pages to public.")
zed.RenderPages(cfg.source, cfg.target, cfg.layouts)
} }