Domain Strategy: - fig.systems: Homelab services only (removed edfig.dev fallback from all services) - edfig.dev: Professional/public sites (personal site, blog) - figgy.foo: Experimental/private content (SSO protected) Removed edfig.dev Fallbacks: - Updated 22 compose files to remove || Host(...edfig.dev) pattern - All homelab services now use fig.systems only - Traefik email remains admin@edfig.dev Added Caddy Static Sites Service: - compose/services/static-sites/ with Caddy 2 - Serves three domains with different configurations: * edfig.dev (personal/professional) - Public, no SSO * blog.edfig.dev (blog) - Public, Markdown rendering, templates * figgy.foo (experimental) - SSO protected, directory browsing - Example sites with modern, responsive designs - Comprehensive README with usage examples - Auto-reload on config changes (no restarts needed) Features: - Markdown rendering (write .md, serves as HTML) - Go templates for dynamic content - Directory browsing (figgy.foo) - Automatic gzip compression - Static asset caching - Zero-downtime config reloads Updated Documentation: - README.md: Added domain strategy section, static sites in directory structure - README.md: Added static sites to service URLs table - README.md: Updated deployment instructions
160 lines
4.1 KiB
HTML
160 lines
4.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Blog | Eduardo Figueroa</title>
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
line-height: 1.6;
|
|
color: #333;
|
|
background: #f5f5f5;
|
|
}
|
|
|
|
header {
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
color: white;
|
|
padding: 2em 0;
|
|
text-align: center;
|
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
header h1 {
|
|
font-size: 2.5em;
|
|
margin-bottom: 0.3em;
|
|
}
|
|
|
|
header p {
|
|
font-size: 1.1em;
|
|
opacity: 0.9;
|
|
}
|
|
|
|
.container {
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
padding: 40px 20px;
|
|
}
|
|
|
|
.post {
|
|
background: white;
|
|
border-radius: 10px;
|
|
padding: 30px;
|
|
margin-bottom: 30px;
|
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
transition: transform 0.2s, box-shadow 0.2s;
|
|
}
|
|
|
|
.post:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.post h2 {
|
|
color: #667eea;
|
|
margin-bottom: 0.5em;
|
|
font-size: 1.8em;
|
|
}
|
|
|
|
.post-meta {
|
|
color: #999;
|
|
font-size: 0.9em;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
.post p {
|
|
color: #555;
|
|
line-height: 1.8;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
.read-more {
|
|
color: #667eea;
|
|
text-decoration: none;
|
|
font-weight: 500;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
}
|
|
|
|
.read-more:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.no-posts {
|
|
text-align: center;
|
|
padding: 60px 20px;
|
|
color: #999;
|
|
}
|
|
|
|
.no-posts h2 {
|
|
font-size: 2em;
|
|
margin-bottom: 0.5em;
|
|
color: #667eea;
|
|
}
|
|
|
|
nav {
|
|
text-align: center;
|
|
margin-top: 2em;
|
|
}
|
|
|
|
nav a {
|
|
color: #667eea;
|
|
text-decoration: none;
|
|
font-weight: 500;
|
|
}
|
|
|
|
nav a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>Blog</h1>
|
|
<p>Thoughts on technology, systems, and automation</p>
|
|
</header>
|
|
|
|
<div class="container">
|
|
<!-- Example post structure - replace with real posts -->
|
|
<div class="no-posts">
|
|
<h2>Coming Soon</h2>
|
|
<p>Blog posts will appear here. Stay tuned!</p>
|
|
<p style="margin-top: 2em;">
|
|
In the meantime, you can write posts as:<br>
|
|
<code style="background: #f5f5f5; padding: 5px 10px; border-radius: 5px;">
|
|
/srv/blog.edfig.dev/posts/my-post.md
|
|
</code>
|
|
</p>
|
|
<p style="margin-top: 1em; font-size: 0.9em; color: #666;">
|
|
Markdown files (.md) will automatically render as HTML!
|
|
</p>
|
|
</div>
|
|
|
|
<!-- Example of how posts would look -->
|
|
<!--
|
|
<article class="post">
|
|
<h2>Setting Up a Homelab with Docker and Traefik</h2>
|
|
<div class="post-meta">January 10, 2025 • 5 min read</div>
|
|
<p>
|
|
Learn how to set up a complete homelab infrastructure using Docker Compose,
|
|
Traefik for reverse proxy, and automated SSL certificates...
|
|
</p>
|
|
<a href="/posts/homelab-setup.html" class="read-more">
|
|
Read more →
|
|
</a>
|
|
</article>
|
|
-->
|
|
|
|
<nav>
|
|
<a href="https://edfig.dev">← Back to Home</a>
|
|
</nav>
|
|
</div>
|
|
</body>
|
|
</html>
|