blob: 406829318d5d4d03a3d2c17d78db35a61e2d2374 [file]
/**
* Apache Ignite Blog Custom Styles
* Styles for individual blog post pages and shared blog elements.
* Blog listing page uses component-scoped CSS modules.
*/
/* === Individual Blog Post Page === */
.blogPostPage {
padding-top: var(--section-spacing-sm);
padding-bottom: var(--section-spacing-md);
}
/* Post title on detail page */
.blogPostPage h1 {
font-size: clamp(2.8rem, 2.2rem + 2vw, 4.2rem);
line-height: 1.2;
font-weight: 700;
margin-bottom: var(--ai-spacing-lg);
color: var(--ai-text-primary);
}
/* Post metadata on detail page */
.blogPostPage header time {
font-size: 1.5rem;
color: var(--ai-text-secondary);
display: block;
margin-bottom: var(--ai-spacing-md);
}
/* Author info on detail page */
.blogPostPage .avatar {
margin: var(--ai-spacing-xl) 0;
padding: var(--ai-spacing-lg) 0;
border-top: 1px solid var(--ai-border-light);
border-bottom: 1px solid var(--ai-border-light);
display: flex;
align-items: center;
gap: var(--ai-spacing-md);
}
.blogPostPage .avatar__photo {
width: 50px;
height: 50px;
border-radius: var(--ai-radius-circle);
}
.blogPostPage .avatar__name {
font-size: 1.6rem;
font-weight: 600;
color: var(--ai-text-primary);
display: block;
}
.blogPostPage .avatar__intro {
font-size: 1.4rem;
color: var(--ai-text-secondary);
display: block;
}
/* === Blog Post Content === */
/* Content wrapper */
.blogPostPage .markdown {
font-size: 1.8rem;
line-height: 1.7;
color: var(--ai-text-primary);
max-width: 800px;
}
/* Paragraphs */
.blogPostPage .markdown p {
margin-bottom: var(--ai-spacing-lg);
}
/* Headings in content */
.blogPostPage .markdown h2 {
font-size: clamp(2.2rem, 1.8rem + 1vw, 3rem);
line-height: 1.3;
font-weight: 700;
margin-top: var(--ai-spacing-3xl);
margin-bottom: var(--ai-spacing-lg);
color: var(--ai-text-primary);
}
.blogPostPage .markdown h3 {
font-size: clamp(1.8rem, 1.6rem + 0.5vw, 2.4rem);
line-height: 1.4;
font-weight: 700;
margin-top: var(--ai-spacing-2xl);
margin-bottom: var(--ai-spacing-md);
color: var(--ai-text-primary);
}
.blogPostPage .markdown h4 {
font-size: clamp(1.6rem, 1.4rem + 0.3vw, 2rem);
line-height: 1.4;
font-weight: 600;
margin-top: var(--ai-spacing-xl);
margin-bottom: var(--ai-spacing-sm);
color: var(--ai-text-primary);
}
/* Lists */
.blogPostPage .markdown ul,
.blogPostPage .markdown ol {
margin-bottom: var(--ai-spacing-lg);
padding-left: var(--ai-spacing-xl);
}
.blogPostPage .markdown li {
font-size: 1.8rem;
line-height: 1.7;
margin-bottom: var(--ai-spacing-xs);
}
.blogPostPage .markdown ul {
list-style-type: disc;
}
.blogPostPage .markdown ol {
list-style-type: decimal;
}
/* Links in content */
.blogPostPage .markdown a {
color: var(--ai-blue);
text-decoration: underline;
}
.blogPostPage .markdown a:hover {
color: var(--ai-blue-dark);
}
/* Code blocks */
.blogPostPage .markdown pre {
margin-bottom: var(--ai-spacing-xl);
border-radius: var(--ai-radius-sm);
overflow: hidden;
}
.blogPostPage .markdown pre code {
font-size: 1.5rem;
line-height: 1.6;
}
/* Inline code */
.blogPostPage .markdown p code,
.blogPostPage .markdown li code {
font-size: 1.6rem;
background: var(--ai-gray-50);
padding: 2px 6px;
border-radius: var(--ai-radius-xs);
color: #d63384;
font-family: var(--ai-font-mono, monospace);
}
/* Blockquotes */
.blogPostPage .markdown blockquote {
border-left: 4px solid var(--ai-blue);
padding-left: var(--ai-spacing-lg);
margin: var(--ai-spacing-xl) 0;
font-style: italic;
color: var(--ai-text-secondary);
}
/* Images */
.blogPostPage .markdown img {
max-width: 100%;
height: auto;
border-radius: var(--ai-radius-sm);
margin: var(--ai-spacing-xl) 0;
}
/* Tables */
.blogPostPage .markdown table {
width: 100%;
margin: var(--ai-spacing-xl) 0;
border-collapse: collapse;
}
.blogPostPage .markdown th,
.blogPostPage .markdown td {
padding: var(--ai-spacing-sm) var(--ai-spacing-md);
border: 1px solid var(--ai-border-medium);
text-align: left;
}
.blogPostPage .markdown th {
background: var(--ai-gray-50);
font-weight: 600;
}
/* === Tags on Post Page === */
.blogPostPage .tags {
margin-top: var(--ai-spacing-xl);
display: flex;
flex-wrap: wrap;
gap: var(--ai-spacing-xs);
}
.blogPostPage .tags a {
font-size: 1.3rem;
color: var(--ai-blue);
background: var(--ai-blue-lighter);
padding: 4px 12px;
border-radius: var(--ai-radius-full);
text-decoration: none;
transition: background var(--ai-transition-normal);
}
.blogPostPage .tags a:hover {
background: var(--ai-blue-light);
text-decoration: none;
}
/* === Table of Contents === */
.table-of-contents__left-border {
padding-left: var(--ai-spacing-sm);
}
/* === Pagination (Post Navigation) === */
.pagination-nav {
margin-top: var(--ai-spacing-3xl);
padding-top: var(--ai-spacing-2xl);
border-top: 1px solid var(--ai-border-light);
}
.pagination-nav__link {
background: var(--ai-gray-50);
border-radius: var(--ai-radius-md);
padding: var(--ai-spacing-lg);
text-decoration: none;
transition: background var(--ai-transition-normal);
display: flex;
flex-direction: column;
gap: var(--ai-spacing-xs);
}
.pagination-nav__link:hover {
background: var(--ai-gray-100);
text-decoration: none;
}
.pagination-nav__sublabel {
font-size: 1.3rem;
color: var(--ai-text-secondary);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.pagination-nav__label {
font-size: 1.6rem;
color: var(--ai-text-primary);
font-weight: 600;
}
/* === Blog Sidebar (for post pages) === */
.blog-sidebar h2 {
font-size: 1.8rem;
font-weight: 700;
margin-bottom: var(--ai-spacing-lg);
color: var(--ai-text-primary);
}
.blog-sidebar ul {
list-style: none;
padding: 0;
}
.blog-sidebar li {
margin-bottom: var(--ai-spacing-sm);
}
.blog-sidebar a {
font-size: 1.4rem;
color: var(--ai-text-primary);
text-decoration: none;
transition: color var(--ai-transition-normal);
}
.blog-sidebar a:hover {
color: var(--ai-blue);
text-decoration: none;
}
/* === Archive Page === */
.blog-archive h1 {
font-size: clamp(2.4rem, 2rem + 1.5vw, 3.6rem);
font-weight: 700;
margin-bottom: var(--ai-spacing-2xl);
color: var(--ai-text-primary);
}
.blog-archive h2 {
font-size: 2rem;
font-weight: 700;
margin-top: var(--ai-spacing-2xl);
margin-bottom: var(--ai-spacing-lg);
color: var(--ai-text-primary);
}
.blog-archive ul {
list-style: none;
padding: 0;
}
.blog-archive li {
margin-bottom: var(--ai-spacing-md);
padding-bottom: var(--ai-spacing-md);
border-bottom: 1px solid var(--ai-border-light);
}
.blog-archive li:last-child {
border-bottom: none;
}
.blog-archive a {
font-size: 1.6rem;
font-weight: 500;
color: var(--ai-text-primary);
text-decoration: none;
}
.blog-archive a:hover {
color: var(--ai-blue);
}
.blog-archive time {
font-size: 1.4rem;
color: var(--ai-text-secondary);
display: block;
margin-top: var(--ai-spacing-xs);
}
/* === Responsive Design === */
@media (max-width: 996px) {
.blogPostPage .markdown {
font-size: 1.7rem;
}
.blogPostPage .markdown li {
font-size: 1.7rem;
}
}
@media (max-width: 768px) {
.blogPostPage {
padding-top: var(--section-spacing-xxs);
padding-bottom: var(--section-spacing-sm);
}
.blogPostPage .markdown {
font-size: 1.6rem;
}
.blogPostPage .markdown li {
font-size: 1.6rem;
}
.pagination-nav {
margin-top: var(--ai-spacing-2xl);
padding-top: var(--ai-spacing-xl);
}
.pagination-nav__link {
padding: var(--ai-spacing-md);
}
}