Редизайн: газетная палитра — белый фон, чёрный текст, serif-шрифт

This commit is contained in:
Агальцов Антон
2026-04-26 17:31:52 +03:00
parent acba5dd5f1
commit cc0b342208
4 changed files with 175 additions and 143 deletions
+4
View File
@@ -37,6 +37,10 @@ Hugo static site with custom theme. Russian-language personal documentation/know
- **creds**: `title`, `description`, `service` — body contains base64-encoded encrypted payload
- **leadera / personal-site**: `title`, `tags`
## Workflow
- **Always run `hugo` after making any changes** (content, templates, config, CSS, JS) to verify the build succeeds without errors. This is mandatory before considering a task complete.
## Gotchas
- Static assets must go in `static/` at project root, not `themes/a2v/static/` (the theme static dir is empty).
+5 -5
View File
@@ -6,11 +6,11 @@ relativeURLs = true
canonifyURLs = false
[params]
warmPrimary = "#c4623a"
warmBg = "#f5f0e8"
warmText = "#3d3530"
warmAccent = "#d4a853"
warmGray = "#6b6560"
warmPrimary = "#1a1a1a"
warmBg = "#ffffff"
warmText = "#111111"
warmAccent = "#444444"
warmGray = "#888888"
[taxonomies]
tag = "tags"
+83 -69
View File
@@ -1,44 +1,53 @@
:root {
--warm-bg: #f5f0e8;
--warm-primary: #c4623a;
--warm-text: #3d3530;
--warm-gray: #6b6560;
--warm-accent: #d4a853;
--warm-white: #fffdf9;
--warm-bg: #ffffff;
--warm-primary: #1a1a1a;
--warm-text: #111111;
--warm-gray: #888888;
--warm-accent: #444444;
--warm-white: #ffffff;
--border-color: #d0d0d0;
}
body {
background-color: var(--warm-bg);
color: var(--warm-text);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 1rem;
min-height: 100vh;
display: flex;
flex-direction: column;
line-height: 1.7;
}
/* Header */
.site-header {
background-color: var(--warm-primary);
padding: 0.5rem 0;
border-bottom: 3px solid var(--warm-primary);
}
.site-header .navbar-brand {
color: var(--warm-white);
font-weight: 600;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
font-family: Georgia, "Times New Roman", Times, serif;
}
.site-header .nav-link {
color: rgba(255, 255, 255, 0.85);
color: rgba(255, 255, 255, 0.8);
padding: 0.5rem 1rem;
transition: color 0.2s;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.site-header .nav-link:hover,
.site-header .nav-link.active {
color: var(--warm-white);
background-color: rgba(255, 255, 255, 0.1);
border-radius: 4px;
background-color: rgba(255, 255, 255, 0.12);
border-radius: 2px;
}
.navbar-toggler {
@@ -52,6 +61,7 @@ body {
.search-form input {
background-color: rgba(255, 255, 255, 0.9);
border: none;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.search-form input:focus {
@@ -59,15 +69,14 @@ body {
box-shadow: 0 0 0 2px var(--warm-accent);
}
/* Search Results */
.search-results {
position: absolute;
top: 100%;
right: 0;
left: 0;
background: var(--warm-white);
border-top: 1px solid var(--warm-gray);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
border-top: 1px solid var(--border-color);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
z-index: 1000;
max-height: 400px;
overflow-y: auto;
@@ -87,7 +96,7 @@ body {
.search-results li {
padding: 0.5rem 0;
border-bottom: 1px solid var(--warm-bg);
border-bottom: 1px solid var(--border-color);
}
.search-results li:last-child {
@@ -101,52 +110,52 @@ body {
.search-results a:hover {
color: var(--warm-primary);
text-decoration: underline;
}
/* Sidebar */
.sidebar {
background-color: var(--warm-white);
border-right: 1px solid #e0d8cc;
border-right: 1px solid var(--border-color);
min-height: calc(100vh - 60px);
padding: 1.5rem 1rem;
}
.sidebar-content h6 {
color: var(--warm-primary);
font-weight: 600;
font-weight: 700;
margin-bottom: 0.75rem;
font-size: 0.875rem;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.5px;
letter-spacing: 1px;
border-bottom: 2px solid var(--warm-primary);
padding-bottom: 0.4rem;
}
.sidebar-content .nav-link {
color: var(--warm-text);
padding: 0.375rem 0.75rem;
border-radius: 4px;
border-radius: 2px;
font-size: 0.9rem;
}
.sidebar-content .nav-link:hover {
background-color: var(--warm-bg);
background-color: #f5f5f5;
}
/* Main Content */
.main-content {
padding: 2rem;
flex: 1;
}
/* Cards */
.card {
background-color: var(--warm-white);
border: 1px solid #e0d8cc;
border-radius: 8px;
border: 1px solid var(--border-color);
border-radius: 2px;
transition: box-shadow 0.2s;
}
.card:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.card-title a {
@@ -156,9 +165,9 @@ body {
.card-title a:hover {
color: var(--warm-primary);
text-decoration: underline;
}
/* Plan Cards */
.plan-card {
margin-bottom: 1rem;
}
@@ -172,20 +181,19 @@ body {
}
.plan-card.in-progress {
border-left: 4px solid #e67e22;
border-left: 4px solid #c4623a;
}
.plan-card.done {
border-left: 4px solid #27ae60;
border-left: 4px solid #2a2a2a;
opacity: 0.8;
}
.plan-card.cancelled {
border-left: 4px solid #e74c3c;
border-left: 4px solid #999;
opacity: 0.6;
}
/* Diary Timeline */
.diary-timeline {
position: relative;
padding-left: 2rem;
@@ -205,7 +213,7 @@ body {
position: relative;
margin-bottom: 2rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid #e0d8cc;
border-bottom: 1px solid var(--border-color);
}
.diary-entry:last-child {
@@ -217,11 +225,11 @@ body {
position: absolute;
left: -2rem;
top: 0.5rem;
width: 12px;
height: 12px;
width: 10px;
height: 10px;
background-color: var(--warm-primary);
border-radius: 50%;
transform: translateX(-5px);
transform: translateX(-4px);
}
.diary-entry .time {
@@ -231,27 +239,26 @@ body {
.diary-date {
color: var(--warm-primary);
font-weight: 600;
font-weight: 700;
}
/* Credentials */
.creds-card {
position: relative;
}
.creds-card .encrypted-data {
font-family: monospace;
background: var(--warm-bg);
background: #f5f5f5;
padding: 1rem;
border-radius: 4px;
border-radius: 2px;
word-break: break-all;
font-size: 0.75rem;
}
.creds-card .decrypted-fields {
background: var(--warm-bg);
background: #f5f5f5;
padding: 1rem;
border-radius: 4px;
border-radius: 2px;
}
.creds-card .field-row {
@@ -270,11 +277,10 @@ body {
font-family: monospace;
}
/* Source path */
.source-path {
background-color: var(--warm-bg);
border: 1px solid #e0d8cc;
border-radius: 4px;
background-color: #f5f5f5;
border: 1px solid var(--border-color);
border-radius: 2px;
padding: 0.4rem 0.75rem;
display: inline-block;
}
@@ -284,19 +290,19 @@ body {
}
.source-path .btn-outline-secondary {
font-size: 0.75rem;
border-color: #d0c8bc;
border-color: var(--border-color);
}
.source-path .btn-outline-secondary:hover {
background-color: var(--warm-primary);
border-color: var(--warm-primary);
color: #fff;
}
/* Article styles */
.article-content {
background-color: var(--warm-white);
padding: 2rem;
border-radius: 8px;
border: 1px solid #e0d8cc;
border-radius: 2px;
border: 1px solid var(--border-color);
}
.article-content h1,
@@ -310,6 +316,12 @@ body {
margin-top: 0;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--warm-primary);
font-size: 1.75rem;
}
.article-content h2 {
border-bottom: 1px solid var(--border-color);
padding-bottom: 0.3rem;
}
.article-content table {
@@ -327,21 +339,21 @@ body {
.article-content th,
.article-content td {
padding: 0.75rem;
border: 1px solid #e0d8cc;
border: 1px solid var(--border-color);
}
.article-content code {
background-color: var(--warm-bg);
background-color: #f0f0f0;
padding: 0.2rem 0.4rem;
border-radius: 3px;
border-radius: 2px;
font-size: 0.9em;
}
.article-content pre {
background-color: var(--warm-text);
color: var(--warm-bg);
background-color: #1a1a1a;
color: #e0e0e0;
padding: 1rem;
border-radius: 4px;
border-radius: 2px;
overflow-x: auto;
}
@@ -351,14 +363,15 @@ body {
}
.article-content a {
color: var(--warm-primary);
color: var(--warm-text);
text-decoration: underline;
text-underline-offset: 2px;
}
.article-content a:hover {
color: var(--warm-accent);
}
/* Tags */
.tags {
display: flex;
flex-wrap: wrap;
@@ -367,28 +380,30 @@ body {
}
.tag {
background-color: var(--warm-bg);
color: var(--warm-gray);
background-color: #f5f5f5;
color: var(--warm-text);
padding: 0.25rem 0.75rem;
border-radius: 20px;
border-radius: 2px;
font-size: 0.8rem;
text-decoration: none;
border: 1px solid var(--border-color);
}
.tag:hover {
background-color: var(--warm-primary);
color: white;
border-color: var(--warm-primary);
}
/* Footer */
.site-footer {
background-color: var(--warm-text);
color: var(--warm-bg);
background-color: var(--warm-primary);
color: #ccc;
padding: 1rem 0;
margin-top: auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 0.85rem;
}
/* Responsive */
@media (max-width: 767.98px) {
.sidebar {
position: fixed;
@@ -416,10 +431,9 @@ body {
}
}
/* Context Quote */
.context-quote {
background-color: var(--warm-bg);
border-left: 4px solid var(--warm-accent);
background-color: #f5f5f5;
border-left: 3px solid var(--warm-accent);
padding: 1rem;
margin-top: 1rem;
font-style: italic;
+83 -69
View File
@@ -1,44 +1,53 @@
:root {
--warm-bg: #f5f0e8;
--warm-primary: #c4623a;
--warm-text: #3d3530;
--warm-gray: #6b6560;
--warm-accent: #d4a853;
--warm-white: #fffdf9;
--warm-bg: #ffffff;
--warm-primary: #1a1a1a;
--warm-text: #111111;
--warm-gray: #888888;
--warm-accent: #444444;
--warm-white: #ffffff;
--border-color: #d0d0d0;
}
body {
background-color: var(--warm-bg);
color: var(--warm-text);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 1rem;
min-height: 100vh;
display: flex;
flex-direction: column;
line-height: 1.7;
}
/* Header */
.site-header {
background-color: var(--warm-primary);
padding: 0.5rem 0;
border-bottom: 3px solid var(--warm-primary);
}
.site-header .navbar-brand {
color: var(--warm-white);
font-weight: 600;
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
font-family: Georgia, "Times New Roman", Times, serif;
}
.site-header .nav-link {
color: rgba(255, 255, 255, 0.85);
color: rgba(255, 255, 255, 0.8);
padding: 0.5rem 1rem;
transition: color 0.2s;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.site-header .nav-link:hover,
.site-header .nav-link.active {
color: var(--warm-white);
background-color: rgba(255, 255, 255, 0.1);
border-radius: 4px;
background-color: rgba(255, 255, 255, 0.12);
border-radius: 2px;
}
.navbar-toggler {
@@ -52,6 +61,7 @@ body {
.search-form input {
background-color: rgba(255, 255, 255, 0.9);
border: none;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.search-form input:focus {
@@ -59,15 +69,14 @@ body {
box-shadow: 0 0 0 2px var(--warm-accent);
}
/* Search Results */
.search-results {
position: absolute;
top: 100%;
right: 0;
left: 0;
background: var(--warm-white);
border-top: 1px solid var(--warm-gray);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
border-top: 1px solid var(--border-color);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
z-index: 1000;
max-height: 400px;
overflow-y: auto;
@@ -87,7 +96,7 @@ body {
.search-results li {
padding: 0.5rem 0;
border-bottom: 1px solid var(--warm-bg);
border-bottom: 1px solid var(--border-color);
}
.search-results li:last-child {
@@ -101,52 +110,52 @@ body {
.search-results a:hover {
color: var(--warm-primary);
text-decoration: underline;
}
/* Sidebar */
.sidebar {
background-color: var(--warm-white);
border-right: 1px solid #e0d8cc;
border-right: 1px solid var(--border-color);
min-height: calc(100vh - 60px);
padding: 1.5rem 1rem;
}
.sidebar-content h6 {
color: var(--warm-primary);
font-weight: 600;
font-weight: 700;
margin-bottom: 0.75rem;
font-size: 0.875rem;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.5px;
letter-spacing: 1px;
border-bottom: 2px solid var(--warm-primary);
padding-bottom: 0.4rem;
}
.sidebar-content .nav-link {
color: var(--warm-text);
padding: 0.375rem 0.75rem;
border-radius: 4px;
border-radius: 2px;
font-size: 0.9rem;
}
.sidebar-content .nav-link:hover {
background-color: var(--warm-bg);
background-color: #f5f5f5;
}
/* Main Content */
.main-content {
padding: 2rem;
flex: 1;
}
/* Cards */
.card {
background-color: var(--warm-white);
border: 1px solid #e0d8cc;
border-radius: 8px;
border: 1px solid var(--border-color);
border-radius: 2px;
transition: box-shadow 0.2s;
}
.card:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.card-title a {
@@ -156,9 +165,9 @@ body {
.card-title a:hover {
color: var(--warm-primary);
text-decoration: underline;
}
/* Plan Cards */
.plan-card {
margin-bottom: 1rem;
}
@@ -172,20 +181,19 @@ body {
}
.plan-card.in-progress {
border-left: 4px solid #e67e22;
border-left: 4px solid #c4623a;
}
.plan-card.done {
border-left: 4px solid #27ae60;
border-left: 4px solid #2a2a2a;
opacity: 0.8;
}
.plan-card.cancelled {
border-left: 4px solid #e74c3c;
border-left: 4px solid #999;
opacity: 0.6;
}
/* Diary Timeline */
.diary-timeline {
position: relative;
padding-left: 2rem;
@@ -205,7 +213,7 @@ body {
position: relative;
margin-bottom: 2rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid #e0d8cc;
border-bottom: 1px solid var(--border-color);
}
.diary-entry:last-child {
@@ -217,11 +225,11 @@ body {
position: absolute;
left: -2rem;
top: 0.5rem;
width: 12px;
height: 12px;
width: 10px;
height: 10px;
background-color: var(--warm-primary);
border-radius: 50%;
transform: translateX(-5px);
transform: translateX(-4px);
}
.diary-entry .time {
@@ -231,27 +239,26 @@ body {
.diary-date {
color: var(--warm-primary);
font-weight: 600;
font-weight: 700;
}
/* Credentials */
.creds-card {
position: relative;
}
.creds-card .encrypted-data {
font-family: monospace;
background: var(--warm-bg);
background: #f5f5f5;
padding: 1rem;
border-radius: 4px;
border-radius: 2px;
word-break: break-all;
font-size: 0.75rem;
}
.creds-card .decrypted-fields {
background: var(--warm-bg);
background: #f5f5f5;
padding: 1rem;
border-radius: 4px;
border-radius: 2px;
}
.creds-card .field-row {
@@ -270,11 +277,10 @@ body {
font-family: monospace;
}
/* Source path */
.source-path {
background-color: var(--warm-bg);
border: 1px solid #e0d8cc;
border-radius: 4px;
background-color: #f5f5f5;
border: 1px solid var(--border-color);
border-radius: 2px;
padding: 0.4rem 0.75rem;
display: inline-block;
}
@@ -284,19 +290,19 @@ body {
}
.source-path .btn-outline-secondary {
font-size: 0.75rem;
border-color: #d0c8bc;
border-color: var(--border-color);
}
.source-path .btn-outline-secondary:hover {
background-color: var(--warm-primary);
border-color: var(--warm-primary);
color: #fff;
}
/* Article styles */
.article-content {
background-color: var(--warm-white);
padding: 2rem;
border-radius: 8px;
border: 1px solid #e0d8cc;
border-radius: 2px;
border: 1px solid var(--border-color);
}
.article-content h1,
@@ -310,6 +316,12 @@ body {
margin-top: 0;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--warm-primary);
font-size: 1.75rem;
}
.article-content h2 {
border-bottom: 1px solid var(--border-color);
padding-bottom: 0.3rem;
}
.article-content table {
@@ -327,21 +339,21 @@ body {
.article-content th,
.article-content td {
padding: 0.75rem;
border: 1px solid #e0d8cc;
border: 1px solid var(--border-color);
}
.article-content code {
background-color: var(--warm-bg);
background-color: #f0f0f0;
padding: 0.2rem 0.4rem;
border-radius: 3px;
border-radius: 2px;
font-size: 0.9em;
}
.article-content pre {
background-color: var(--warm-text);
color: var(--warm-bg);
background-color: #1a1a1a;
color: #e0e0e0;
padding: 1rem;
border-radius: 4px;
border-radius: 2px;
overflow-x: auto;
}
@@ -351,14 +363,15 @@ body {
}
.article-content a {
color: var(--warm-primary);
color: var(--warm-text);
text-decoration: underline;
text-underline-offset: 2px;
}
.article-content a:hover {
color: var(--warm-accent);
}
/* Tags */
.tags {
display: flex;
flex-wrap: wrap;
@@ -367,28 +380,30 @@ body {
}
.tag {
background-color: var(--warm-bg);
color: var(--warm-gray);
background-color: #f5f5f5;
color: var(--warm-text);
padding: 0.25rem 0.75rem;
border-radius: 20px;
border-radius: 2px;
font-size: 0.8rem;
text-decoration: none;
border: 1px solid var(--border-color);
}
.tag:hover {
background-color: var(--warm-primary);
color: white;
border-color: var(--warm-primary);
}
/* Footer */
.site-footer {
background-color: var(--warm-text);
color: var(--warm-bg);
background-color: var(--warm-primary);
color: #ccc;
padding: 1rem 0;
margin-top: auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 0.85rem;
}
/* Responsive */
@media (max-width: 767.98px) {
.sidebar {
position: fixed;
@@ -416,10 +431,9 @@ body {
}
}
/* Context Quote */
.context-quote {
background-color: var(--warm-bg);
border-left: 4px solid var(--warm-accent);
background-color: #f5f5f5;
border-left: 3px solid var(--warm-accent);
padding: 1rem;
margin-top: 1rem;
font-style: italic;