Make blog page dynamic using JSON data

- Blog posts now load from blog/posts.json
- Create blog/script.js to dynamically render posts
- Each post displays: title, date, content, image
- Support hash-based navigation to specific posts
- Updated blog/index.html to load posts dynamically
- Added styling for blog posts and containers
- First post is 'Status' matching the original content
This commit is contained in:
dangrubbb
2026-02-28 16:38:42 -05:00
parent a965274a31
commit 73f6c462f8
4 changed files with 127 additions and 13 deletions

View File

@ -219,4 +219,68 @@ a:focus-visible {
.viewport-image {
height: 40vh; /* 60% of the viewport height */
width: auto; /* Maintain aspect ratio */
}
/* Blog Posts Styling */
.blogs-container {
margin: 40px auto 0;
max-width: 65em;
width: 100%;
}
.blog-post {
margin: 40px 0;
padding: 20px;
border: 1px solid rgba(155, 169, 180, 0.2);
border-radius: 4px;
background: linear-gradient(135deg, rgba(13, 10, 20, 0.4), rgba(50, 30, 80, 0.2));
scroll-margin-top: 100px;
}
.blog-post-title {
color: #ffff00;
font-weight: bold;
font-size: 1.8rem;
margin: 0 0 10px;
text-align: center;
}
.blog-post-date {
color: #aa95bd;
font-size: 0.9rem;
text-align: center;
margin-bottom: 20px;
}
.blog-post-content {
color: #9d9aa4;
font-size: 0.95rem;
line-height: 1.6;
margin: 20px 0;
}
.blog-post-content p {
margin: 0 0 15px;
}
.blog-post-image {
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}
.blog-post-image img {
max-width: 100%;
height: auto;
max-height: 60vh;
border-radius: 4px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.no-posts,
.error {
text-align: center;
color: #9d9aa4;
padding: 40px 20px;
}