Migrate Vite SPA to Hugo (hugo-coder, dark) with WebGPU background
- Hugo static site at root: config, content (home/about/resume/blog + 5 projects), data/resume.yaml, custom layouts (gpu background, resume renderer, projects list), dark theme with canvas behind content - gpu-bg/: extracted WebGPU/WebGL2 spiral engine as a Vite sub-package; slim bootstrap drops router/overlay/text renderer; fixed uniforms (scene0/dim0); self-contained engine.js - archive/: retired Vite SPA preserved (router, overlay, data, engine/text orphaned) - 3-stage Dockerfile (node -> hugo extended/dart-sass -> nginx), static nginx config - DEPLOYMENT.md handover + README rewrite; pre-hugo rollback tag
This commit is contained in:
11
layouts/home.html
Normal file
11
layouts/home.html
Normal file
@@ -0,0 +1,11 @@
|
||||
{{ define "content" }}
|
||||
{{ partial "gpu-background.html" . }}
|
||||
{{ partial "home.html" . }}
|
||||
{{ if .Content }}
|
||||
<section class="container centered">
|
||||
<div class="about home-content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
2
layouts/partials/gpu-background.html
Normal file
2
layouts/partials/gpu-background.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<canvas id="gpu" aria-hidden="true"></canvas>
|
||||
<script src="{{ "gpu/engine.js" | relURL }}" defer></script>
|
||||
37
layouts/projects/list.html
Normal file
37
layouts/projects/list.html
Normal file
@@ -0,0 +1,37 @@
|
||||
{{ define "title" }}
|
||||
{{ .Title }} · {{ .Site.Title }}
|
||||
{{ end }}
|
||||
{{ define "content" }}
|
||||
<section class="container list">
|
||||
<header>
|
||||
<h1 class="title">
|
||||
<a class="title-link" href="{{ .Permalink | safeURL }}">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="project-card">
|
||||
{{ if .Params.period }}
|
||||
<p class="project-period">{{ .Params.period }}</p>
|
||||
{{ end }}
|
||||
<h2 class="project-name">
|
||||
<a class="title-link" href="{{ .RelPermalink }}">{{ .Title }}</a>
|
||||
</h2>
|
||||
{{ if .Params.description }}
|
||||
<p class="project-desc">{{ .Params.description }}</p>
|
||||
{{ end }}
|
||||
{{ if .Params.tags }}
|
||||
<p class="project-tags">
|
||||
{{ range .Params.tags }}
|
||||
<span class="pill">{{ . }}</span>
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</section>
|
||||
{{ end }}
|
||||
68
layouts/resume/single.html
Normal file
68
layouts/resume/single.html
Normal file
@@ -0,0 +1,68 @@
|
||||
{{ define "title" }}
|
||||
{{ .Title }} · {{ .Site.Title }}
|
||||
{{ end }}
|
||||
{{ define "content" }}
|
||||
{{ with hugo.Data.resume }}
|
||||
<section class="container page">
|
||||
<article class="resume">
|
||||
<header>
|
||||
<h1 class="title">{{ .name }}</h1>
|
||||
<p class="resume-contact">
|
||||
{{ range $i, $c := .contact }}
|
||||
{{ if $i }}<span class="contact-sep"> · </span>{{ end }}
|
||||
<a href="{{ $c.href | safeURL }}">{{ $c.label }}</a>
|
||||
{{ end }}
|
||||
</p>
|
||||
<p class="resume-meta">{{ .location }}</p>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<h2>Summary</h2>
|
||||
<p>{{ .summary }}</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Work Experience</h2>
|
||||
{{ range .work }}
|
||||
<div class="resume-card">
|
||||
<p class="resume-period">{{ .date }}</p>
|
||||
<h3>{{ .role }}</h3>
|
||||
<p class="resume-meta">{{ .company }} — {{ .location }}</p>
|
||||
<ul>
|
||||
{{ range .bullets }}
|
||||
<li>{{ . }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Education</h2>
|
||||
{{ range .education }}
|
||||
<div class="resume-card">
|
||||
<p class="resume-period">{{ .date }}</p>
|
||||
<h3>{{ .role }}</h3>
|
||||
<p class="resume-meta">{{ .company }} — {{ .location }}</p>
|
||||
{{ if .thesis }}
|
||||
<p class="resume-meta resume-thesis"><em>{{ .thesis }}</em></p>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Skills</h2>
|
||||
{{ range .skills }}
|
||||
<h3>{{ .label }}</h3>
|
||||
<p>
|
||||
{{ range .skills }}
|
||||
<span class="pill">{{ . }}</span>
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
</section>
|
||||
</article>
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
Reference in New Issue
Block a user