Temporarily hardcode critical css in forked theme

This commit is contained in:
Dave Gallant
2024-01-02 10:53:34 -05:00
parent 789cae3baa
commit 0da424dd19
6 changed files with 997 additions and 34 deletions

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "themes/hugo-video"]
path = themes/hugo-video
url = https://github.com/martignoni/hugo-video.git

View File

@@ -14,6 +14,8 @@ params:
text: davegallant.ca text: davegallant.ca
url: / url: /
defaultTheme: "dark"
comments: comments:
utterances: utterances:
enable: true enable: true
@@ -61,6 +63,13 @@ module:
imports: imports:
- path: github.com/davegallant/hugo-theme-gruvbox - path: github.com/davegallant/hugo-theme-gruvbox
- path: github.com/schnerring/hugo-mod-json-resume - path: github.com/schnerring/hugo-mod-json-resume
mounts:
- source: data
target: data
- source: layouts
target: layouts
- source: assets/css/json-resume.css
target: assets/css/critical/44-json-resume.css
mounts: mounts:
- source: node_modules/simple-icons/icons - source: node_modules/simple-icons/icons
target: assets/simple-icons target: assets/simple-icons

3
go.mod
View File

@@ -3,7 +3,6 @@ module davegallant.github.io
go 1.23 go 1.23
require ( require (
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83 // indirect github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102155230-cac2894e8557 // indirect
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a // indirect github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a // indirect
github.com/schnerring/hugo-theme-gruvbox v0.0.0-20231222001142-c40bfccc26fe // indirect
) )

10
go.sum
View File

@@ -1,6 +1,12 @@
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20231022204344-8475ce73a204 h1:dfY8ArYEahXoWnvKbqcEr4sVj03ZV3q33kPz8Lait3Y=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20231022204344-8475ce73a204/go.mod h1:ZEP0AB4v1k845Jmx9XmOY39CuR7Zud/owFh8wRGgeZg=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83 h1:1K2zeS/GlzUztodRODqVdT0L53So3oKQl2W6xv3hk3k= github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83 h1:1K2zeS/GlzUztodRODqVdT0L53So3oKQl2W6xv3hk3k=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo= github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102154627-e80c3018f9fb h1:T40lsmpjUFil3z8BoQVsQF2Gu685DSIjdTpCz6iV0Ns=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102154627-e80c3018f9fb/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102155230-cac2894e8557 h1:rXYdDcfrr/E2k2o3nnuLE6BmDw8K+JSs8hHFCLKzJGo=
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102155230-cac2894e8557/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231022202951-552402b37357 h1:FR5kIQJNpHrB+P6yb8PrDVO8FpbUxF5fdTXLQp7UUpI=
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231022202951-552402b37357/go.mod h1:an+FdylzRESQ2N+NuFK+iLerxnDRWbOqkxCDUXflGF4=
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a h1:EZRiOf0iW5k9lycVv3LngzSsGUxDRszYS4U7ea2r8RY= github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a h1:EZRiOf0iW5k9lycVv3LngzSsGUxDRszYS4U7ea2r8RY=
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a/go.mod h1:5dixHC0WHu0w2Aqb8hsOCrIU1OBYr1w5Q6HZAmTub7Q= github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a/go.mod h1:5dixHC0WHu0w2Aqb8hsOCrIU1OBYr1w5Q6HZAmTub7Q=
github.com/schnerring/hugo-theme-gruvbox v0.0.0-20231222001142-c40bfccc26fe h1:YFCe/83618UT24IqSn7Ka0TSSZ54BNvDJ7n0WzxWgsg=
github.com/schnerring/hugo-theme-gruvbox v0.0.0-20231222001142-c40bfccc26fe/go.mod h1:ZEP0AB4v1k845Jmx9XmOY39CuR7Zud/owFh8wRGgeZg=

View File

@@ -1,35 +1,35 @@
{ {
"comments": { "comments": {
"dependencies": { "dependencies": {
"@tabler/icons": "github.com/davegallant/hugo-theme-gruvbox", "@tabler/icons": " github.com/davegallant/hugo-theme-gruvbox",
"flexsearch": "github.com/davegallant/hugo-theme-gruvbox", "flexsearch": " github.com/davegallant/hugo-theme-gruvbox",
"normalize.css": "github.com/davegallant/hugo-theme-gruvbox", "normalize.css": " github.com/davegallant/hugo-theme-gruvbox",
"prism-themes": "github.com/davegallant/hugo-theme-gruvbox", "prism-themes": " github.com/davegallant/hugo-theme-gruvbox",
"prismjs": "github.com/davegallant/hugo-theme-gruvbox", "prismjs": " github.com/davegallant/hugo-theme-gruvbox",
"simple-icons": "github.com/schnerring/hugo-mod-json-resume", "simple-icons": "github.com/schnerring/hugo-mod-json-resume",
"typeface-fira-code": "github.com/davegallant/hugo-theme-gruvbox", "typeface-fira-code": " github.com/davegallant/hugo-theme-gruvbox",
"typeface-roboto-slab": "github.com/davegallant/hugo-theme-gruvbox" "typeface-roboto-slab": " github.com/davegallant/hugo-theme-gruvbox"
}, },
"devDependencies": { "devDependencies": {
"@fullhuman/postcss-purgecss": "github.com/davegallant/hugo-theme-gruvbox", "@fullhuman/postcss-purgecss": " github.com/davegallant/hugo-theme-gruvbox",
"cssnano": "github.com/davegallant/hugo-theme-gruvbox", "cssnano": " github.com/davegallant/hugo-theme-gruvbox",
"eslint": "github.com/davegallant/hugo-theme-gruvbox", "eslint": " github.com/davegallant/hugo-theme-gruvbox",
"eslint-config-prettier": "github.com/davegallant/hugo-theme-gruvbox", "eslint-config-prettier": " github.com/davegallant/hugo-theme-gruvbox",
"eslint-plugin-prettier": "github.com/davegallant/hugo-theme-gruvbox", "eslint-plugin-prettier": " github.com/davegallant/hugo-theme-gruvbox",
"husky": "github.com/davegallant/hugo-theme-gruvbox", "husky": " github.com/davegallant/hugo-theme-gruvbox",
"lint-staged": "github.com/davegallant/hugo-theme-gruvbox", "lint-staged": " github.com/davegallant/hugo-theme-gruvbox",
"markdownlint-cli": "github.com/davegallant/hugo-theme-gruvbox", "markdownlint-cli": " github.com/davegallant/hugo-theme-gruvbox",
"postcss": "github.com/davegallant/hugo-theme-gruvbox", "postcss": " github.com/davegallant/hugo-theme-gruvbox",
"postcss-cli": "github.com/davegallant/hugo-theme-gruvbox", "postcss-cli": " github.com/davegallant/hugo-theme-gruvbox",
"postcss-custom-media": "github.com/davegallant/hugo-theme-gruvbox", "postcss-custom-media": " github.com/davegallant/hugo-theme-gruvbox",
"postcss-import": "github.com/davegallant/hugo-theme-gruvbox", "postcss-import": " github.com/davegallant/hugo-theme-gruvbox",
"postcss-nesting": "github.com/davegallant/hugo-theme-gruvbox", "postcss-nesting": " github.com/davegallant/hugo-theme-gruvbox",
"postcss-preset-env": "github.com/davegallant/hugo-theme-gruvbox", "postcss-preset-env": " github.com/davegallant/hugo-theme-gruvbox",
"postcss-url": "github.com/davegallant/hugo-theme-gruvbox", "postcss-url": " github.com/davegallant/hugo-theme-gruvbox",
"prettier": "github.com/davegallant/hugo-theme-gruvbox", "prettier": " github.com/davegallant/hugo-theme-gruvbox",
"prettier-plugin-go-template": "github.com/davegallant/hugo-theme-gruvbox", "prettier-plugin-go-template": " github.com/davegallant/hugo-theme-gruvbox",
"stylelint": "github.com/davegallant/hugo-theme-gruvbox", "stylelint": " github.com/davegallant/hugo-theme-gruvbox",
"stylelint-prettier": "github.com/davegallant/hugo-theme-gruvbox" "stylelint-prettier": " github.com/davegallant/hugo-theme-gruvbox"
} }
}, },
"dependencies": { "dependencies": {

View File

@@ -130,13 +130,126 @@ pre[class*="language-"] {
/* Default license header for non-vendor CSS source code that follows */ /* Default license header for non-vendor CSS source code that follows */
/*! MIT License | github.com/schnerring/hugo-theme-gruvbox */ /*! MIT License | github.com/davegallant/hugo-theme-gruvbox */
/*
Critical CSS for above-the-fold content, delivered inline to increase first
paint performance
*/
/*! purgecss start ignore */
/* Typefaces */
/* Normalize */
/*! purgecss end ignore */
/*! CC BY-SA 3.0 License | https://stackoverflow.com/a/36118384/1154965 */
@keyframes blink {
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* Default license header for non-vendor CSS source code that follows */
/*! MIT License | github.com/davegallant/hugo-theme-gruvbox */
/* /*
Bootstrap 5 breakpoints Bootstrap 5 breakpoints
See: https://getbootstrap.com/docs/5.0/layout/breakpoints/#available-breakpoints See: https://getbootstrap.com/docs/5.0/layout/breakpoints/#available-breakpoints
*/ */
/*
Bootstrap 5 breakpoints
See: https://getbootstrap.com/docs/5.0/layout/breakpoints/#available-breakpoints
*/
:root[data-theme="light"] {
--bg: var(--bg0);
--bg0: #fbf1c7;
--bg0_h: #f9f5d7;
--bg0_s: #f2e5bc;
--bg1: #ebdbb2;
--bg2: #d5c4a1;
--bg3: #bdae93;
--bg4: #a89984;
--fg: var(--fg1);
--fg0: #282828;
--fg1: #3c3836;
--fg2: #504945;
--fg3: #665c54;
--fg4: #7c6f64;
--gray1: var(--fg4);
--gray2: #928374;
--red1: #cc241d;
--red2: #9d0006;
--green1: #98971a;
--green2: #797403;
--yellow1: #d79921;
--yellow2: #b57614;
--blue1: #458588;
--blue2: #076678;
--purple1: #b16286;
--purple2: #8f3f71;
--aqua1: #689d6a;
--aqua2: #427b58;
--orange1: #d65d0e;
--orange2: #af3a03;
}
[data-theme="light"]:root .light--hidden {
display: none;
}
:root[data-theme="dark"] {
--bg: var(--bg0);
--bg0: #282828;
--bg0_h: #1d2021;
--bg0_s: #32302f;
--bg1: #3c3836;
--bg2: #504945;
--bg3: #665c54;
--bg4: #7c6f64;
--fg: var(--fg1);
--fg0: #fbf1c7;
--fg1: #ebdbb2;
--fg2: #d5c4a1;
--fg3: #bdae93;
--fg4: #a89984;
--gray1: var(--fg4);
--gray2: #928374;
--red1: #cc241d;
--red2: #fb4934;
--green1: #98971a;
--green2: #b8bb26;
--yellow1: #d79921;
--yellow2: #fabd2f;
--blue1: #458588;
--blue2: #83a598;
--purple1: #b16286;
--purple2: #d3869b;
--aqua1: #689d6a;
--aqua2: #8ec07c;
--orange1: #d65d0e;
--orange2: #fe8019;
}
[data-theme="dark"]:root .dark--hidden {
display: none;
}
:root {
--primary: var(--blue1);
--primary-alt: var(--blue2);
}
footer { footer {
align-items: center; align-items: center;
color: var(--fg3); color: var(--fg3);
@@ -149,6 +262,244 @@ footer {
text-align: center; text-align: center;
} }
:root {
--font-monospace: "Fira Code", "Lucida Console", Monaco, monospace;
--font-sans-serif: Verdana, Helvetica, sans-serif;
--font-serif: "Roboto Slab", Georgia, serif;
}
html {
font-family: var(--font-serif);
font-size: 1rem;
scroll-behavior: smooth;
}
body {
background: var(--bg);
color: var(--fg);
line-height: 1.675;
word-wrap: break-word;
}
strong {
letter-spacing: 0.35px;
}
a {
color: inherit;
text-decoration: none;
}
a.link--external::after {
/* 2009 = Thin Space */
content: "\2009↗";
}
img,
video {
border: 2px solid var(--bg1);
height: auto;
max-width: 100%;
}
figure {
display: inline-block;
}
figcaption {
color: var(--fg3);
font-family: var(--font-serif);
font-size: 0.9rem;
}
*::selection {
color: var(--fg0);
background: var(--bg4);
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: var(--fg0);
font-family: var(--font-monospace);
font-weight: 300;
line-height: 1.4;
}
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
font-size: 1em;
}
h2,
h3,
h4,
h5,
h6 {
border-bottom: 1px solid var(--bg1);
}
h1,
h2 {
font-weight: 400;
}
h1 {
font-size: 1.875rem;
}
h2 {
font-size: 1.75rem;
}
h3 {
font-size: 1.625rem;
}
@media (min-width: 768px) {
h1 {
font-size: 2.375rem;
}
h2 {
font-size: 2rem;
}
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: 1.5rem;
}
h5 {
font-size: 1.375rem;
}
h6 {
font-size: 1.25rem;
}
table {
table-layout: fixed;
border-collapse: collapse;
width: 100%;
margin: 2rem 0;
}
table,
th,
td {
border: 1px solid var(--bg1);
padding: 0.5rem;
}
hr {
border: none;
background: var(--bg1);
height: 1px;
margin: 3rem auto;
width: 80%;
}
mark {
background: var(--yellow1);
color: var(--bg0);
}
abbr {
text-underline-offset: 0.2rem;
}
blockquote,
code,
kbd,
mark,
pre {
border-radius: 0.2rem;
padding: 0 0.2em;
}
pre code {
padding: 0;
}
blockquote,
code,
kbd,
pre,
th {
background: var(--bg1);
}
code,
kbd,
pre,
th {
font-family: var(--font-monospace);
}
code code,
kbd code,
code kbd,
kbd kbd {
background: var(--bg2);
}
blockquote,
pre {
padding: 1rem;
}
pre {
/* TODO is !important really needed because of Prism? */
background: var(--bg1) !important;
overflow: auto;
}
pre code {
background: none;
}
blockquote,
blockquote.twitter-tweet {
border-left: var(--primary-alt) 5px solid;
margin: 0.5rem 0;
}
:is(blockquote,blockquote.twitter-tweet) code {
background: var(--bg2);
}
:is(blockquote,blockquote.twitter-tweet) p:first-of-type {
margin-top: 0;
}
:is(blockquote,blockquote.twitter-tweet) p:last-of-type {
margin-bottom: 0;
}
blockquote.twitter-tweet {
border-color: var(--blue2);
color: inherit;
font: inherit;
font-size: inherit;
line-height: inherit;
}
blockquote.twitter-tweet a {
color: var(--blue2);
}
blockquote.twitter-tweet a:hover {
color: var(--blue1);
text-decoration: none !important;
}
.pagination { .pagination {
display: flex; display: flex;
margin-top: 2rem; margin-top: 2rem;
@@ -167,3 +518,604 @@ footer {
.pagination__button--next { .pagination__button--next {
margin-left: auto; margin-left: auto;
} }
pre::-webkit-scrollbar {
height: 0.5rem;
scrollbar-width: auto;
}
pre::-webkit-scrollbar-track {
background: var(--bg2);
border-radius: 0.2rem;
}
pre::-webkit-scrollbar-thumb {
background: var(--bg4);
border-radius: 0.2rem;
}
.layout {
display: grid;
grid-template-areas:
"header"
"main"
"footer";
grid-template-rows: auto 1fr auto;
height: 100vh;
}
main {
align-items: start;
display: grid;
grid-area: main;
grid-template-areas: "empty content sidebar";
grid-template-columns: 1fr minmax(0, 650px) 4fr;
}
header {
background: var(--bg1);
grid-area: header;
}
footer {
grid-area: footer;
}
main,
footer {
margin: 0.5em 1.1em;
}
.content {
grid-area: content;
}
.sidebar {
display: none;
flex-direction: column;
grid-area: sidebar;
margin-top: 3rem;
position: sticky;
top: 2rem;
}
@media (min-width: 992px) {
.sidebar {
display: flex;
}
}
header {
display: grid;
font-family: var(--font-monospace);
font-size: 1.125rem;
grid-template-columns: auto auto 1fr auto;
grid-template-areas: "heading search nav theme-toggle";
padding: 0.75rem;
}
.logo {
color: var(--fg0);
display: flex;
font-weight: 700;
grid-area: heading;
}
.logo:hover .logo__cursor {
animation: 1s blink infinite;
opacity: 1;
}
.logo__chevron,
.logo__cursor {
margin-left: 0.5rem;
}
.logo__cursor {
opacity: 0;
}
.logo__text {
display: none;
}
@media (min-width: 768px) {
.logo__text {
display: block;
}
}
/*! purgecss start ignore */
.search {
display: flex;
grid-area: search;
margin: 0 1rem;
}
#search__text {
border: 1px solid var(--bg2);
border-radius: 0.2rem;
background: var(--bg2);
caret-color: var(--fg);
color: var(--fg);
outline: none;
padding: 0 0.5rem;
width: 100%;
}
#search__text:hover {
border-color: var(--bg3);
}
#search__text:focus {
border-color: var(--bg4);
}
#search__text::placeholder {
color: var(--fg3);
}
#search__text[type="search"]::-webkit-search-cancel-button {
appearance: none;
}
#search__suggestions {
background: var(--bg);
border-radius: 0.2rem;
box-shadow: 0 0.5rem 1rem var(--bg1);
font-family: var(--font-serif);
left: 0;
margin-top: 2rem;
position: absolute;
width: 95vw;
z-index: 1000;
}
@media (min-width: 768px) {
.search {
position: relative;
}
#search__suggestions {
width: 60vw;
}
}
.search__suggestions--hidden {
display: none;
}
.search__suggestion-item {
border-bottom: 1px dashed var(--bg2);
display: grid;
grid-template-columns: 1fr 2fr;
}
.search__suggestion-item:focus,
.search__suggestion-item:focus-visible,
.search__suggestion-item:hover {
background: var(--bg1);
cursor: pointer;
outline: none;
}
.search__suggestion-item:last-child {
border: none;
}
.search__suggestion-title,
.search__suggestion-description {
padding: 0 1rem;
margin: 1rem 0;
}
.search__suggestion-title {
font-weight: 700;
}
.search__suggestion-description {
border-left: 1px solid var(--bg2);
}
.search__no-results {
padding: 0.75rem;
}
/*! purgecss end ignore */
.theme__toggle {
align-items: center;
background: none;
border: none;
color: var(--yellow1);
cursor: pointer;
display: flex;
grid-area: theme-toggle;
margin: 0 1rem;
}
.theme__toggle:hover {
color: var(--yellow2);
}
.theme__toggle svg {
height: 28px;
width: 28px;
}
/* TODO: simplify deep nesting */
nav#menu {
align-items: center;
display: flex;
grid-area: nav;
justify-content: flex-end;
}
nav#menu .menu__item {
color: var(--fg);
}
nav#menu .menu__item:hover {
color: var(--fg3);
cursor: pointer;
}
nav#menu ul {
list-style: none;
margin: 0;
padding: 0;
}
nav#menu ul.menu--horizontal {
align-items: center;
display: none;
}
nav#menu ul.menu--horizontal li {
display: inline-block;
margin: 0 0.75rem;
}
@media (min-width: 768px) {
nav#menu ul.menu--horizontal {
display: flex;
}
}
nav#menu ul.menu--vertical {
background: var(--fg0);
bottom: 0;
margin: 0;
padding: 3rem;
position: fixed;
right: 0;
top: 0;
transform: translate(100%, 0);
transition: transform 0.5s cubic-bezier(0.9, 0, 0.1, 1);
width: 50%;
z-index: 10;
}
nav#menu ul.menu--vertical .menu__item {
color: var(--bg1);
}
nav#menu ul.menu--vertical .menu__item:hover {
color: var(--bg4);
}
nav#menu .menu__burger {
display: flex;
height: 24px;
width: 24px;
}
nav#menu .menu__burger > * {
position: absolute;
}
nav#menu .menu__burger svg {
width: inherit;
z-index: 20;
height: inherit;
}
nav#menu .menu__burger svg line {
transition-duration: 0.5s;
transition-property: stroke, opacity, transform;
transition-timing-function: cubic-bezier(0.9, 0, 0.1, 1);
}
nav#menu .menu__burger svg line:nth-of-type(1) {
transform-origin: center 6px;
}
nav#menu .menu__burger svg line:nth-of-type(2) {
transform-origin: center 12px;
}
nav#menu .menu__burger svg line:nth-of-type(3) {
transform-origin: center 18px;
}
nav#menu .menu__burger input {
height: inherit;
opacity: 0;
width: inherit;
z-index: 30;
}
:is(nav#menu .menu__burger input:checked) ~ ul.menu--vertical {
transform: none;
}
:is(nav#menu .menu__burger input:checked) ~ svg {
stroke: var(--bg1);
}
:is(nav#menu .menu__burger input:checked) ~ svg line:nth-of-type(1) {
transform: translate(0, 6px) rotate(45deg);
}
:is(nav#menu .menu__burger input:checked) ~ svg line:nth-of-type(2) {
opacity: 0;
transform: scale(0.2);
}
:is(nav#menu .menu__burger input:checked) ~ svg line:nth-of-type(3) {
transform: translate(0, -6px) rotate(-45deg);
}
@media (min-width: 768px) {
nav#menu .menu__burger {
display: none;
}
}
.sidebar {
font-family: var(--font-monospace);
max-width: 350px;
margin-left: auto;
margin-right: auto;
padding-left: 2.5rem;
}
.sidebar hr {
margin: 1.5rem auto;
}
.sidebar svg {
fill: var(--fg);
}
.sidebar__heading {
font-size: 1.3rem;
}
aside.toc a {
color: var(--primary-alt);
}
aside.toc a:hover {
color: var(--primary);
}
aside.toc ul {
list-style: none;
margin: 0;
padding: 0;
}
aside.toc ul ul {
font-size: 0.9rem;
margin-left: 0.5rem;
}
aside.toc ul li {
line-height: 1.1;
}
aside.toc ul li a {
display: block;
padding: 0.2rem 0;
}
.jr-basics__image {
background: var(--bg1);
border: 2px solid var(--bg2);
}
.jr-basics__summary {
color: var(--fg3);
font-family: var(--font-serif);
margin: 0.75rem 0;
}
.jr-basics__profile a:hover {
color: var(--fg3);
}
.jr-basics__profile a:hover svg {
fill: var(--fg3);
}
.tag-cloud {
line-height: 1.1;
text-align: justify;
}
.tag-cloud__tag:hover {
color: var(--fg3);
}
.tag-cloud__tag--active {
text-decoration: underline;
}
.post,
.content-section {
border-bottom: 2px dotted var(--bg1);
padding: 2rem 0;
}
.post figure,
.post img:not(figure img),
.post video:not(figure video) {
margin: 0.5rem 0;
box-sizing: border-box;
}
.post-header,
.post-content__read-more {
font-family: var(--font-monospace);
}
.post-meta__author {
font-weight: 700;
}
.post-content {
margin: 1.3rem 0;
}
.post-content__read-more {
color: var(--primary-alt);
margin-top: 1.3rem;
}
.post-header a, .post-content a {
color: var(--primary-alt);
}
.post-header a:hover, .post-content a:hover {
color: var(--primary);
}
.post-tags {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 0.9rem;
margin: 1rem 0;
}
.post-tag {
font-size: 0.9rem;
line-height: 1;
}
.post-tag::before {
content: "#";
}
.post-heading__anchor {
display: none;
}
h1:hover .post-heading__anchor, h2:hover .post-heading__anchor, h3:hover .post-heading__anchor, h4:hover .post-heading__anchor, h5:hover .post-heading__anchor, h6:hover .post-heading__anchor {
display: inline-block;
}
.jr__item-meta {
font-family: var(--font-monospace);
}
.jr__item-meta {
align-items: start;
flex-flow: column;
}
@media (min-width: 768px) {
.jr__item-meta {
align-items: center;
flex-flow: row wrap;
}
.jr__date,
.jr__date-range,
.jr-work__location {
flex-grow: 1;
text-align: right;
}
.jr-awards__awarder,
.jr-publications__publisher,
.jr-education__institution,
.jr-volunteer__organization {
flex-basis: 100%;
}
}
.social-share {
align-items: center;
border-top: 2px dotted var(--bg1);
display: flex;
flex-wrap: wrap;
gap: 0.9rem;
margin: 3rem 0;
padding-top: 3rem;
}
.social-share svg {
fill: var(--fg);
width: 24px;
height: 24px;
}
.social-share svg.icon-tabler {
fill: none;
stroke: var(--fg);
}
.social-share__item {
background: var(--bg1);
padding: 0.5rem;
display: flex;
}
/* Sticky social bar left
@media (--xl) {
.social-share {
align-items: flex-start;
border-top: none;
flex-direction: column;
position: fixed;
top: 15%;
left: 0;
}
.social-share__heading {
display: none;
}
.social-share__item {
transition: padding 0.2s ease-in;
&:hover {
padding: 0.5rem 1rem;
}
& svg {
&:hover {
fill: var(--fg);
}
&.icon-tabler {
fill: none;
&:hover {
stroke: var(--fg);
}
}
}
}
}
*/