refactor: move personal site to sites/nrd.sh/

Reorganize for monorepo structure:
- Move content/, templates/, static/, site.toml → sites/nrd.sh/
- Frees root for sukr docs site
- Build with: sukr -c sites/nrd.sh/site.toml
This commit is contained in:
Timothy DeHerrera
2026-01-31 15:47:47 -07:00
parent e1ee18ca8a
commit 0516bfc600
49 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,410 @@
/* nrd.sh - Minimal Base Styles */
:root {
/* Typography */
--font-sans: system-ui, -apple-system, sans-serif;
--font-mono: ui-monospace, "Cascadia Code", "Fira Code", monospace;
--font-size: 1rem;
--line-height: 1.6;
/* Spacing */
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 2rem;
--space-xl: 4rem;
/* Layout */
--max-width: 48rem;
/* Colors - Light */
--bg: #fafafa;
--bg-alt: #f0f0f0;
--text: #1a1a1a;
--text-muted: #666;
--accent: #0066cc;
--accent-hover: #0052a3;
--border: #ddd;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #1a1a1a;
--bg-alt: #252525;
--text: #e0e0e0;
--text-muted: #999;
--accent: #6ab0f3;
--accent-hover: #8cc4f7;
--border: #333;
}
}
/* Reset */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
/* Base */
html {
font-family: var(--font-sans);
font-size: var(--font-size);
line-height: var(--line-height);
background: var(--bg);
color: var(--text);
}
body {
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* Layout */
nav,
main,
footer {
width: 100%;
max-width: var(--max-width);
margin: 0 auto;
padding: var(--space-md);
}
nav {
display: flex;
gap: var(--space-lg);
border-bottom: 1px solid var(--border);
padding-block: var(--space-md);
}
main {
flex: 1;
padding-block: var(--space-lg);
}
footer {
border-top: 1px solid var(--border);
padding-block: var(--space-md);
color: var(--text-muted);
font-size: 0.875rem;
}
/* Typography */
h1,
h2,
h3 {
line-height: 1.3;
margin-block: var(--space-lg) var(--space-md);
}
h1 {
font-size: 2rem;
}
h2 {
font-size: 1.5rem;
}
h3 {
font-size: 1.25rem;
}
h1:first-child,
h2:first-child,
h3:first-child {
margin-top: 0;
}
p {
margin-block: var(--space-md);
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
color: var(--accent-hover);
text-decoration: underline;
}
/* Code */
code,
pre {
font-family: var(--font-mono);
font-size: 0.9em;
}
code {
background: var(--bg-alt);
padding: var(--space-xs) var(--space-sm);
border-radius: 3px;
}
pre {
background: var(--bg-alt);
padding: var(--space-md);
overflow-x: auto;
border-radius: 4px;
margin-block: var(--space-md);
}
pre code {
background: none;
padding: 0;
}
/* Lists */
ul,
ol {
margin-block: var(--space-md);
padding-left: var(--space-lg);
}
li {
margin-block: var(--space-xs);
}
/* Blockquote */
blockquote {
border-left: 3px solid var(--accent);
padding-left: var(--space-md);
margin-block: var(--space-md);
color: var(--text-muted);
}
/* Post */
article.post header {
margin-bottom: var(--space-lg);
}
.date {
color: var(--text-muted);
font-size: 0.9rem;
}
.description {
color: var(--text-muted);
font-style: italic;
}
.tags {
list-style: none;
display: flex;
gap: var(--space-sm);
padding: 0;
margin-top: var(--space-sm);
}
.tags li a {
background: var(--bg-alt);
padding: var(--space-xs) var(--space-sm);
border-radius: 3px;
font-size: 0.85rem;
}
/* Post List */
.post-list {
list-style: none;
padding: 0;
}
.post-list li {
margin-block: var(--space-md);
padding-bottom: var(--space-md);
border-bottom: 1px solid var(--border);
}
.post-list li:last-child {
border-bottom: none;
}
.post-list .title {
display: block;
font-weight: 600;
}
/* Project Cards */
.project-cards {
list-style: none;
padding: 0;
display: grid;
gap: var(--space-md);
}
.card {
background: var(--bg-alt);
padding: var(--space-md);
border-radius: 4px;
}
.card h2 {
font-size: 1.1rem;
margin: 0 0 var(--space-sm);
}
.card p {
margin: 0;
color: var(--text-muted);
font-size: 0.9rem;
}
/* Hero */
.hero {
text-align: center;
padding-block: var(--space-xl);
}
.hero h1 {
font-size: 2.5rem;
}
.tagline {
font-size: 1.25rem;
color: var(--text-muted);
}
/* Syntax Highlighting */
:root {
--hl-keyword: #d73a49;
--hl-string: #22863a;
--hl-string-special: #032f62;
--hl-comment: #6a737d;
--hl-function: #6f42c1;
--hl-type: #005cc5;
--hl-number: #005cc5;
--hl-operator: #d73a49;
--hl-variable: #e36209;
--hl-constant: #005cc5;
--hl-property: #005cc5;
--hl-punctuation: #586069;
--hl-punctuation-special: #d73a49;
--hl-attribute: #22863a;
--hl-escape: #005cc5;
--hl-embedded: #6f42c1;
}
@media (prefers-color-scheme: dark) {
:root {
--hl-keyword: #f97583;
--hl-string: #9ecbff;
--hl-string-special: #b392f0;
--hl-comment: #6a737d;
--hl-function: #b392f0;
--hl-type: #79b8ff;
--hl-number: #79b8ff;
--hl-operator: #f97583;
--hl-variable: #ffab70;
--hl-constant: #79b8ff;
--hl-property: #79b8ff;
--hl-punctuation: #a0a0a0;
--hl-punctuation-special: #f97583;
--hl-attribute: #85e89d;
--hl-escape: #79b8ff;
--hl-embedded: #b392f0;
}
}
.hl-keyword {
color: var(--hl-keyword);
}
.hl-string {
color: var(--hl-string);
}
.hl-comment {
color: var(--hl-comment);
font-style: italic;
}
.hl-function {
color: var(--hl-function);
}
.hl-function-builtin {
color: var(--hl-function);
}
.hl-type {
color: var(--hl-type);
}
.hl-type-builtin {
color: var(--hl-type);
}
.hl-number {
color: var(--hl-number);
}
.hl-operator {
color: var(--hl-operator);
}
.hl-variable {
color: var(--hl-variable);
}
.hl-variable-builtin {
color: var(--hl-variable);
}
.hl-variable-parameter {
color: var(--hl-variable);
}
.hl-constant {
color: var(--hl-constant);
}
.hl-constant-builtin {
color: var(--hl-constant);
}
.hl-property {
color: var(--hl-property);
}
.hl-punctuation {
color: var(--hl-punctuation);
}
.hl-punctuation-bracket {
color: var(--hl-punctuation);
}
.hl-punctuation-delimiter {
color: var(--hl-punctuation);
}
.hl-attribute {
color: var(--hl-attribute);
}
.hl-constructor {
color: var(--hl-type);
}
.hl-escape {
color: var(--hl-escape);
font-weight: 600;
}
.hl-embedded {
color: var(--hl-embedded);
}
.hl-string-special,
.hl-string-special-path,
.hl-string-special-uri {
color: var(--hl-string-special);
}
.hl-punctuation-special {
color: var(--hl-punctuation-special);
}