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.

main
Zed A. Shaw 2 weeks ago
parent 7e48768e36
commit c64874cb51
  1. 11
      pages/layouts/main.html
  2. 67
      public/base.html
  3. 34
      public/error/index.html
  4. 38
      public/game/1/turings-tarpit/index.html
  5. 60
      public/game/index.html
  6. 33
      public/index.html
  7. 40
      public/live/index.html
  8. 33
      public/login/index.html
  9. 33
      public/register/index.html
  10. 40
      public/stream/1/index.html
  11. 59
      public/stream/index.html
  12. 16
      tools/cmd/sitebuild/main.go

@ -11,7 +11,16 @@
</head>
<body data-testid="{{.PageId}}">
<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>
{{embed}}

@ -5,67 +5,28 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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>
<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>
<body data-testid="base-page">
<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>
<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>
<h1>Footer</h1>

@ -5,24 +5,22 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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>
<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>
<body data-testid="error-index-page">
<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>
<blockstart>
@ -30,11 +28,9 @@
<p>You have an error.</p>
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,30 +5,28 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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 src="/js/code.js"></script>
<script>
let req = new GetJson("/api/game/1/index.json");
</script>
<title>ZedShaw.games</title>
</head>
<body x-init="Game = await req.theData()" x-data="{Game: {}}">
<body data-testid="game-1-turings-tarpit-index-page">
<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>
<script>
let req = new GetJson("/api/game/1/index.json");
</script>
<blockstart>
<shape style="--w: 100%; --h: 300px">Gameplay Demo Video</shape>
@ -65,11 +63,9 @@
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,30 +5,27 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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 src="/js/code.js"></script>
<script>
let Games = new GetJson("/api/game/index.json");
</script>
<title>ZedShaw.games</title>
</head>
<body>
<body data-testid="game-index-page">
<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>
<script>
let Games = new GetJson("/api/game/index.json");
</script>
<blockstart>
<block style="--w: 100%; --value: 7">
<h1>Zed's Trash Ass Games</h1>
@ -44,29 +41,6 @@
</template>
</grid>
<block style="--value: 7">
<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>
<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>
@ -80,11 +54,9 @@ x DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos j
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,23 +5,22 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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>
<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">
<body data-testid="index-page">
<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>
<blockstart>
@ -91,11 +90,9 @@
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,31 +5,30 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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 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>
let req = new GetJson("/api/stream/1");
let link_req = new GetJson("/api/stream/1/links");
</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>
<shape style="--w: 100%; --h: 350px">
@ -60,12 +59,11 @@
</form>
</blockstart>
</div>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,23 +5,22 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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>
<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">
<body data-testid="login-index-page">
<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>
<blockstart style="min-height: 90vw">
@ -48,11 +47,9 @@
</block>
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,23 +5,22 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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>
<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">
<body data-testid="register-index-page">
<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>
<blockstart style="min-height: 90vw">
@ -50,11 +49,9 @@
</block>
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,31 +5,30 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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 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>
let req = new GetJson("/api/stream/1");
let link_req = new GetJson("/api/stream/1/links");
</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>
<block style="--value: 7">
@ -84,12 +83,11 @@ i poutine jianbing chambray.</p>
</block>
</blockstart>
</div>
<footer>
<h1>Footer</h1>
</footer>
</body>
</html>
</body>
</html>

@ -5,31 +5,28 @@
<link rel="stylesheet" href="/global.css">
<link rel="stylesheet" href="/color.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 src="/js/code.js"></script>
<script>
let Streams = new GetJson("/api/stream/");
</script>
<title>ZedShaw.games</title>
</head>
<body>
<body data-testid="stream-index-page">
<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>
<script>
let Streams = new GetJson("/api/stream/");
</script>
<blockstart>
<block style="--value: 7">
<h1 id="streams-title">Past Streams</h1>
@ -48,35 +45,11 @@
</stream>
</template>
</block>
</blockstart>
<footer>
<h1>Footer</h1>
</footer>
</body>
</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>

@ -2,10 +2,24 @@ package main
import (
"log"
"flag"
"zedshaw.games/webapp/zed"
)
type config struct {
source string
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("./pages", "./public", "layouts/main")
zed.RenderPages(cfg.source, cfg.target, cfg.layouts)
}

Loading…
Cancel
Save