Skip to content

Commit 50583e4

Browse files
Copilotnitrocode
andauthored
migrate all pages to Jekyll layouts, add site.posts loop, remove em dashes from prose
Agent-Logs-Url: https://github.com/nitrocode/nitrocode.github.io/sessions/181afaa3-a1c9-4277-81e3-3604a9dd18ab Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
1 parent 330a2bb commit 50583e4

9 files changed

Lines changed: 88 additions & 830 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
*.swp
2+
_site/

README.md

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,44 @@
11
# nitrocode.github.io
22

3-
Personal portfolio site for [nitrocode](https://nitrocode.github.io) Full Stack Engineer.
3+
Personal portfolio site for [nitrocode](https://nitrocode.github.io), Full Stack Engineer.
44

55
## Site structure
66

77
| Path | Description |
88
|------|-------------|
9-
| `/` | Landing page hero, five-pillar skills grid, AI angle |
9+
| `/` | Landing page: hero, five-pillar skills grid, AI angle |
1010
| `/about/` | Background and career arc |
11-
| `/blog/` | Case studies and engineering deep-dives |
11+
| `/blog/` | Case studies and engineering deep-dives (auto-generated from `_posts/`) |
1212
| `/blog/opentofu-registry/` | Case study: emulating the Terraform release registry for OpenTofu |
13+
| `/blog/how-this-blog-is-built/` | Meta post: the full stack behind this site |
1314
| `/projects/` | Notable projects and open-source contributions |
1415
| `/resume/` | Print-friendly résumé |
1516
| `/opentofu/` | Legacy: static OpenTofu version registry emulation |
1617

1718
## Tech
1819

19-
Plain HTML + [Tailwind CSS CDN](https://tailwindcss.com/docs/installation/play-cdn). No build step — hosted on GitHub Pages.
20+
[Jekyll](https://jekyllrb.com) + [Tailwind CSS CDN](https://tailwindcss.com/docs/installation/play-cdn), hosted on GitHub Pages. No build pipeline. GitHub Pages runs Jekyll natively on push to `main`.
21+
22+
- **Layouts**: `_layouts/` (default, post, resume)
23+
- **Includes**: `_includes/nav.html`, `_includes/footer.html`
24+
- **Posts**: `_posts/*.md` with YAML front matter
25+
26+
## Adding a new blog post
27+
28+
Create `_posts/YYYY-MM-DD-post-slug.md` with front matter:
29+
30+
```yaml
31+
---
32+
layout: post
33+
title: "Post Title"
34+
description: "One-sentence summary shown in post cards."
35+
date: YYYY-MM-DD
36+
tags: [Tag One, Tag Two]
37+
permalink: /blog/post-slug/
38+
---
39+
```
40+
41+
Write the post body in Markdown below the front matter. Commit and push. Done.
2042

2143
## OpenTofu registry
2244

about/index.html

Lines changed: 14 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,8 @@
1-
<!DOCTYPE html>
2-
<html lang="en" class="scroll-smooth">
3-
<head>
4-
<meta charset="UTF-8" />
5-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>About — nitrocode</title>
7-
<meta name="description" content="About nitrocode — Full Stack Engineer with roots in QA, DevOps, and Security." />
8-
<script src="https://cdn.tailwindcss.com"></script>
9-
<script>
10-
tailwind.config = {
11-
theme: { extend: { fontFamily: { mono: ['ui-monospace','SFMono-Regular','Menlo','Monaco','Consolas','monospace'] } } }
12-
}
13-
</script>
14-
<style>
15-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
16-
body { font-family: 'Inter', sans-serif; }
17-
</style>
18-
</head>
19-
<body class="bg-slate-950 text-slate-100 antialiased">
20-
21-
<!-- Nav -->
22-
<nav class="fixed top-0 inset-x-0 z-50 bg-slate-950/80 backdrop-blur border-b border-slate-800">
23-
<div class="max-w-6xl mx-auto px-6 flex items-center justify-between h-16">
24-
<a href="/" class="font-mono text-sky-400 font-semibold tracking-tight text-lg">&gt; nitrocode</a>
25-
<div class="flex items-center gap-6 text-sm font-medium text-slate-400">
26-
<a href="/about/" class="text-slate-100">About</a>
27-
<a href="/blog/" class="hover:text-slate-100 transition-colors">Blog</a>
28-
<a href="/projects/" class="hover:text-slate-100 transition-colors">Projects</a>
29-
<a href="/resume/" class="hover:text-slate-100 transition-colors">Résumé</a>
30-
<a href="https://github.com/nitrocode" target="_blank" rel="noopener" class="hover:text-slate-100 transition-colors">GitHub ↗</a>
31-
</div>
32-
</div>
33-
</nav>
1+
---
2+
layout: default
3+
title: "About — nitrocode"
4+
description: "About nitrocode — Full Stack Engineer with roots in QA, DevOps, and Security."
5+
---
346

357
<!-- Header -->
368
<header class="pt-32 pb-16 px-6 border-b border-slate-800">
@@ -48,7 +20,7 @@ <h1 class="text-4xl sm:text-5xl font-extrabold mb-4">About</h1>
4820
<p class="text-lg text-slate-300 leading-relaxed mb-5">
4921
I'm a <strong class="text-slate-100">Full Stack Engineer</strong> who started in QA,
5022
moved through test automation, software development, full stack engineering, DevOps/SRE,
51-
and security and came out the other side having been on every side of the wall.
23+
and security, and came out the other side having been on every side of the wall.
5224
</p>
5325
<p class="text-lg text-slate-400 leading-relaxed mb-5">
5426
That journey means I've personally shipped the feature, written the tests that caught
@@ -57,12 +29,12 @@ <h1 class="text-4xl sm:text-5xl font-extrabold mb-4">About</h1>
5729
on one side of the stack ripple into consequences on another.
5830
</p>
5931
<p class="text-lg text-slate-400 leading-relaxed mb-5">
60-
I bring security thinking into every phase of the product lifecycle not as a final
32+
I bring security thinking into every phase of the product lifecycle, not as a final
6133
audit, but as a design constraint from day one. Systems I build are observable,
6234
testable, and defensible.
6335
</p>
6436
<p class="text-lg text-slate-400 leading-relaxed">
65-
I leverage AI tooling to move faster across the full stack from rapid prototyping
37+
I leverage AI tooling to move faster across the full stack, from rapid prototyping
6638
to code review to infrastructure automation. It's a force multiplier, not a
6739
replacement for engineering judgment.
6840
</p>
@@ -83,19 +55,19 @@ <h3 class="text-lg font-semibold mb-1">QA Engineering</h3>
8355
<div class="relative">
8456
<div class="absolute -left-10 top-1 w-4 h-4 rounded-full bg-sky-500 border-2 border-slate-950"></div>
8557
<h3 class="text-lg font-semibold mb-1">Test Automation</h3>
86-
<p class="text-slate-400 text-sm">Moved from manual testing to building automated test frameworks and CI pipelines. Wrote code to validate code which demanded thinking like a developer while keeping a QA mindset.</p>
58+
<p class="text-slate-400 text-sm">Moved from manual testing to building automated test frameworks and CI pipelines. Wrote code to validate code, which demanded thinking like a developer while keeping a QA mindset.</p>
8759
</div>
8860

8961
<div class="relative">
9062
<div class="absolute -left-10 top-1 w-4 h-4 rounded-full bg-sky-500 border-2 border-slate-950"></div>
9163
<h3 class="text-lg font-semibold mb-1">Software Developer</h3>
92-
<p class="text-slate-400 text-sm">Crossed to the other side of the wall. Built backend services and APIs. Understood what it feels like to have a QA team file bugs against your code and designed to prevent them.</p>
64+
<p class="text-slate-400 text-sm">Crossed to the other side of the wall. Built backend services and APIs. Understood what it feels like to have a QA team file bugs against your code, and designed to prevent them.</p>
9365
</div>
9466

9567
<div class="relative">
9668
<div class="absolute -left-10 top-1 w-4 h-4 rounded-full bg-sky-500 border-2 border-slate-950"></div>
9769
<h3 class="text-lg font-semibold mb-1">Full Stack Development</h3>
98-
<p class="text-slate-400 text-sm">Expanded into frontend React, component systems, responsive UIs. Developed intuition for how UI decisions affect backend load and how backend design shapes user experience.</p>
70+
<p class="text-slate-400 text-sm">Expanded into frontend: React, component systems, responsive UIs. Developed intuition for how UI decisions affect backend load and how backend design shapes user experience.</p>
9971
</div>
10072

10173
<div class="relative">
@@ -107,13 +79,13 @@ <h3 class="text-lg font-semibold mb-1">DevOps / SRE</h3>
10779
<div class="relative">
10880
<div class="absolute -left-10 top-1 w-4 h-4 rounded-full bg-sky-500 border-2 border-slate-950"></div>
10981
<h3 class="text-lg font-semibold mb-1">Security Engineering</h3>
110-
<p class="text-slate-400 text-sm">AppSec, DevSecOps, threat modeling, policy as code, SAST/DAST. Shifted security left not as a gatekeeper, but as a collaborator who had already been on every other side of the table.</p>
82+
<p class="text-slate-400 text-sm">AppSec, DevSecOps, threat modeling, policy as code, SAST/DAST. Shifted security left, not as a gatekeeper, but as a collaborator who had already been on every other side of the table.</p>
11183
</div>
11284

11385
<div class="relative">
11486
<div class="absolute -left-10 top-1 w-4 h-4 rounded-full bg-violet-500 border-2 border-slate-950"></div>
11587
<p class="font-mono text-violet-400 text-xs mb-1 uppercase tracking-widest">Now</p>
116-
<h3 class="text-lg font-semibold mb-1">Full Stack all of it</h3>
88+
<h3 class="text-lg font-semibold mb-1">Full Stack: all of it</h3>
11789
<p class="text-slate-400 text-sm">Combining everything: I can own a feature from spec to deploy to security review to on-call runbook. Having been on every side of the wall means I know how to build systems that work for everyone.</p>
11890
</div>
11991

@@ -134,7 +106,7 @@ <h3 class="font-semibold mb-2">Build it, prove it</h3>
134106
</div>
135107
<div class="bg-slate-900 border border-slate-800 rounded-xl p-5">
136108
<h3 class="font-semibold mb-2">Security as a feature</h3>
137-
<p class="text-slate-400 text-sm">Security isn't a final audit — it's a design constraint from day one.</p>
109+
<p class="text-slate-400 text-sm">Security isn't a final audit. It's a design constraint from day one.</p>
138110
</div>
139111
<div class="bg-slate-900 border border-slate-800 rounded-xl p-5">
140112
<h3 class="font-semibold mb-2">Own the full lifecycle</h3>
@@ -204,16 +176,3 @@ <h2 class="text-2xl font-bold mb-8">Guiding principles</h2>
204176

205177
</div>
206178
</main>
207-
<footer class="py-10 px-6 border-t border-slate-800">
208-
<div class="max-w-6xl mx-auto flex flex-col sm:flex-row justify-between items-center gap-4 text-slate-500 text-sm">
209-
<p class="font-mono">&gt; nitrocode</p>
210-
<div class="flex gap-6">
211-
<a href="https://github.com/nitrocode" target="_blank" rel="noopener" class="hover:text-slate-300 transition-colors">GitHub</a>
212-
<a href="/blog/" class="hover:text-slate-300 transition-colors">Blog</a>
213-
<a href="/resume/" class="hover:text-slate-300 transition-colors">Résumé</a>
214-
</div>
215-
</div>
216-
</footer>
217-
218-
</body>
219-
</html>

0 commit comments

Comments
 (0)