Files
2026-05-18 11:46:02 +02:00

373 lines
8.4 KiB
SCSS

.blog {
.post .post-title a {
color: $base-color;
}
.has-sidebar {
display: flex;
flex-wrap: wrap;
gap: 2rem;
@media (min-width: 768px) {
flex-wrap: nowrap;
}
}
// Add specific ordering for sidebar right layout
.col-sidebar {
width: 100%;
min-width: 280px;
@media (min-width: 768px) {
min-width: 250px;
}
@media (max-width: 380px) {
min-width: 240px;
}
}
.col-content {
&.narrow-content {
max-width: 720px;
}
}
// Blog post readability improvements
.post-summary,
.post-content {
line-height: 1.75;
font-size: 1.125rem; // 18px
color: var(--bs-body-color);
p {
margin-bottom: 1.5rem;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 2rem;
margin-bottom: 1rem;
line-height: 1.3;
font-weight: 600;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1.125rem; }
ul, ol {
margin-bottom: 1.5rem;
li {
margin-bottom: 0.75rem;
line-height: 1.75;
}
}
blockquote {
border-left: 4px solid var(--bs-primary);
padding-left: 1.5rem;
margin: 2rem 0;
font-style: italic;
color: var(--bs-secondary-color);
}
code {
background-color: var(--bs-gray-100);
padding: 0.2em 0.4em;
border-radius: 3px;
font-size: 0.9em;
}
pre {
background-color: var(--bs-gray-100);
padding: 1rem;
border-radius: 0.375rem;
overflow-x: auto;
margin: 1.5rem 0;
code {
background-color: transparent;
padding: 0;
}
}
}
.blog-sidebar {
position: sticky;
top: 2rem;
.sidebar-section {
margin-bottom: 2rem;
padding: 1.5rem;
background: #edf1f4;
border-radius: 0.5rem;
// Increase padding and set minimum width on smaller screens
@media (max-width: 767px) {
padding: 2rem;
min-width: 280px;
width: 100%;
}
@media (max-width: 380px) {
min-width: 240px;
padding: 1.5rem;
}
h3 {
margin-bottom: 1rem;
font-size: 1.2rem;
font-weight: 600;
color: var(--bs-gray-900);
}
ul {
list-style: none;
padding: 0;
margin: 0;
li {
margin-bottom: 0.75rem;
a {
color: $sidebar-link-color;
transition: color 0.2s ease;
font-weight: 300;;
&:hover {
color: var(--bs-primary);
text-decoration: underline;
}
}
}
}
&.recent-posts {
ul li {
// Ensure proper wrapping on small screens
@media (max-width: 767px) {
a {
overflow-wrap: break-word;
line-height: 1.4;
display: block;
}
}
}
.post-date {
display: block;
font-size: 0.875rem;
color: var(--bs-gray-900);
}
}
// Categories use the global tag styling for consistency
}
}
// Featured posts styling
.featured-post-container {
width: 100%;
.p-4 {
padding: 2rem !important;
}
.col-lg-8 {
max-width: 100%;
}
@media (min-width: 992px) {
.p-md-5 {
padding: 3rem !important;
}
.col-lg-8 {
max-width: 90%;
}
}
}
// Featured post thumbnail styling
.featured-thumbnail {
max-height: 300px;
width: auto;
object-fit: cover;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
@media (min-width: 992px) {
max-height: 350px;
}
}
// Secondary featured posts image styling
.secondary-featured-img {
width: 200px;
height: 250px;
object-fit: cover;
}
// Table of Contents styling
.table-of-contents {
margin: 2rem 0;
padding: 1.5rem;
background: #f8f9fa;
border-radius: 0.5rem;
border-left: 4px solid var(--bs-primary);
.toc-heading {
margin-bottom: 1rem;
font-size: 1.2rem;
font-weight: 600;
color: var(--bs-gray-900);
}
.toc-content {
ul {
list-style: none;
padding-left: 0;
margin: 0;
ul {
padding-left: 1.5rem;
margin-top: 0.5rem;
}
li {
margin-bottom: 0.5rem;
a {
color: var(--bs-body-color);
text-decoration: none;
font-weight: 400;
transition: color 0.2s ease;
&:hover {
color: var(--bs-primary);
text-decoration: underline;
}
}
}
}
}
}
}
@include color-mode(dark) {
.blog {
.post .post-title a {
color: $dark-primary;
}
// Readability improvements for dark mode
.post-summary,
.post-content {
color: var(--bs-gray-200);
code {
background-color: var(--bs-gray-800);
color: var(--bs-gray-200);
}
pre {
background-color: var(--bs-gray-800);
}
blockquote {
color: var(--bs-gray-400);
}
}
.blog-sidebar {
.sidebar-section {
background: var(--bs-gray-800);
h3 {
color: var(--bs-white);
}
/* Remove the general black color for all links */
/* ul li a {
color: black;
} */
&.recent-posts {
a {
color: white;
}
.post-date {
color: var(--bs-gray-500);
}
}
// Categories dark mode handled by global tag styling
}
}
// Table of Contents dark mode styling
.table-of-contents {
background: var(--bs-gray-800);
.toc-heading {
color: var(--bs-white);
}
.toc-content ul li a {
color: var(--bs-gray-300);
&:hover {
color: var(--bs-primary);
}
}
}
}
.btn-outline-secondary{
color: var(--bs-white);
border-color: var(--bs-white);
}
}
.posts-list-simple {
list-style: none;
padding: 0;
margin: 0;
li.post {
padding: 1rem 0;
border-bottom: 1px solid var(--bs-border-color);
&:last-child {
border-bottom: none;
}
a {
color: var(--bs-body-color);
text-decoration: none;
font-size: 1.1rem;
font-weight: 500;
&:hover {
color: var(--bs-primary);
}
}
.meta {
font-size: 0.9rem;
color: var(--bs-secondary-color);
margin-top: 0.25rem;
}
}
}