PaperModX/assets/css/common/post-single.css

664 lines
12 KiB
CSS

.post-header {
margin: var(--content-gap) 0 calc(var(--content-gap) * 1.5);
}
.post-title {
font-size: 40px;
margin-bottom: var(--content-gap);
}
.post-description {
margin: var(--content-gap) 0;
color: var(--secondary);
opacity: .8;
padding-left: .5em;
border-left: 8px solid var(--signature);
}
.post-meta,
.breadcrumbs {
font-size: 15px;
}
.breadcrumbs {
display: flex;
flex-wrap: wrap;
}
.breadcrumbs a {
font-size: 16px;
}
.post-content {
font-size: 17px;
color: var(--content);
}
.post-content h4,
.post-content h5,
.post-content h6 {
margin: 24px 0 16px;
}
.post-content h3 {
margin: 32px 0 24px;
}
.post-content h1 {
margin: 40px auto 32px;
font-size: 40px;
}
.post-content h2 {
margin: 40px auto 32px;
font-size: 32px;
}
.post-content h3 {
font-size: 24px;
}
.post-content h4 {
font-size: 20px;
}
.post-content h5 {
font-size: 14px;
}
.post-content h6 {
font-size: 12px;
}
.post-content a {
font-weight: 500;
color: var(--primary);
box-shadow: var(--link-underline-shadow);
transition: var(--link-transition);
}
.post-content a:hover {
color: var(--link-hover-color);
box-shadow: var(--link-hover-underline-shadow);
}
.post-content a.anchor:hover {
color: var(--primary);
box-shadow: 0 2px 0 var(--secondary);
}
.post-content a code {
margin: auto 0;
border-radius: 0;
box-shadow: 0 -1px 0 var(--primary) inset;
}
.post-content a:hover code {
box-shadow: 0 -1px 0 var(--link-hover-underline-color) inset, 0 1px 0 var(--link-hover-underline-color);
}
h1 .anchor,
h2 .anchor,
h3 .anchor,
h4 .anchor,
h5 .anchor,
h6 .anchor {
box-shadow: none;
user-select: none;
font-size: .8em;
position: relative;
top: -2px;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
color: var(--secondary);
margin-inline-start: 8px;
font-weight: 500;
display: inline-flex;
}
.post-content del {
text-decoration: none;
background: linear-gradient(to right, var(--primary) 100%, transparent 0) 0 50%/1px 1px repeat-x;
}
.post-content dl,
.post-content ol,
.post-content p,
.post-content figure,
.post-content ul {
margin-bottom: var(--content-gap);
}
.post-content ol,
.post-content ul {
padding-inline-start: 20px;
}
.post-content li > ol,
.post-content li > ul {
margin-bottom: 0;
}
.post-content li {
margin-top: .5em;
}
.post-content li p {
margin-bottom: .5em;
}
.post-content dl {
display: flex;
flex-wrap: wrap;
margin: 0;
}
.post-content dt {
width: 25%;
font-weight: 700;
}
.post-content dd {
width: 75%;
margin-inline-start: 0;
padding-inline-start: 10px;
}
.post-content dd ~ dd,
.post-content dt ~ dt {
margin-top: 10px;
}
.post-content table {
margin-bottom: 32px;
}
.post-content table th,
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
min-width: 80px;
padding: 12px 8px;
line-height: 1.5;
border-bottom: 1px solid var(--border);
}
.post-content table th {
font-size: 14px;
text-align: start;
}
.post-content table:not(.highlighttable) td code:only-child {
margin: auto 0;
}
.post-content .highlight table {
border-radius: var(--radius);
}
.post-content .highlight:not(table) {
margin: var(--content-gap) auto;
border-radius: var(--radius);
}
.post-content li > .highlight {
margin-inline-end: 0;
}
.post-content ul pre {
margin-inline-start: calc(var(--gap) * -2);
}
.post-content .highlight pre {
margin: 0;
}
.post-content .highlighttable {
table-layout: fixed;
}
.post-content .highlighttable td:first-child {
width: 40px;
}
.post-content .highlighttable td .linenodiv {
padding-inline-end: 0 !important;
}
.post-content .highlighttable td .highlight,
.post-content .highlighttable td .linenodiv pre {
margin-bottom: 0;
}
.post-content .highlighttable td .highlight pre code::-webkit-scrollbar {
display: none;
}
/* code block */
.post-content .chroma {
border-radius: var(--radius);
}
/* TODO refactor this shit */
.post-content code {
/* inline code */
background-color: var(--code-bg);
margin: 0 3px;
padding: 4px 5px;
border-radius: 3px;
font-size: .95em;
font-family: var(--monospace);
}
.post-content pre code {
/* reset inline code */
display: block;
margin: auto 0;
padding: 15px;
overflow-x: auto;
border-radius: var(--radius);
word-break: break-all;
font-family: var(--monospace);
}
.post-content .chroma code {
background-color: inherit;
font-family: var(--monospace);
}
.post-content blockquote {
margin: 20px 0;
padding: 0 14px;
border-inline-start: 3px solid var(--tertiary-bg);
opacity: 0.8;
}
.post-content sup {
line-height: 1;
}
.post-content sup a {
box-shadow: none;
font-family: Helvetica, Arial, sans-serif;
color: var(--link-hover-color);
}
.post-content sup a:hover {
box-shadow: none;
text-decoration: underline;
}
.post-content sup a:before {
content: "[";
}
.post-content sup a:after {
content: "]";
}
.post-content sup:target {
background-color: var(--link-background-color);
}
.post-content hr {
margin: 30px 0;
height: 2px;
background: var(--tertiary-bg);
border-top: 0;
border-bottom: 0;
}
.post-content iframe {
max-width: 100%;
}
.post-content img {
border-radius: 4px;
margin: 1rem auto;
}
.post-content img[src*="#center"] {
margin: 1rem auto;
}
.post-content video {
width: 100%;
}
.post-content figure.align-center {
text-align: center;
}
.post-content figure > figcaption {
color: var(--primary);
font-size: 16px;
font-weight: bold;
margin: 8px 0 16px;
}
.post-content figure > figcaption > p {
color: var(--secondary);
font-size: 14px;
font-weight: normal;
}
.toc {
margin: 0 2px 40px 2px;
border: 1px solid var(--border);
background: var(--code-bg);
border-radius: var(--radius);
padding: 0.4em 0;
}
.toc.side {
font-size: .8em;
}
@media screen and (min-width: 1350px) {
.toc.side {
position: fixed;
top: 118px;
z-index: 1;
max-height: calc(100% - 150px);
overflow: auto;
}
.toc.side::-webkit-scrollbar-thumb {
border: 5px solid var(--code-bg);
}
.toc.side.left {
left: 15px;
width: 250px;
}
.toc.side.right {
right: 15px;
width: 265px;
}
}
.toc details summary {
cursor: pointer;
margin-inline-start: 15px;
}
.toc .details {
display: inline;
font-weight: 500;
}
.toc .inner {
padding: 10px 15px 5px 35px;
}
.toc ul {
margin: 0;
padding: 0;
}
.toc li ul {
margin-inline-start: 20px;
}
.toc li a {
line-height: 1.5em;
padding: 3px 5px;
border-radius: 5px;
display: block;
}
.toc li a.active {
background-color: var(--link-background-color);
}
.toc li a:hover {
text-decoration: underline;
}
.toc summary:focus {
outline: 0;
}
.post-footer {
margin-top: calc(var(--content-gap) * 1.5);
padding-bottom: calc(var(--content-gap) * 2);
}
.comments-separator {
height: 3px;
background-color: var(--tertiary);
}
.share-buttons {
margin: var(--content-gap) 0;
padding-inline-start: var(--radius);
display: flex;
justify-content: center;
overflow-x: auto;
}
.share-buttons a {
}
.share-buttons a:not(:last-of-type) {
margin-inline-end: 12px;
}
.share-buttons a svg {
height: 30px;
width: 30px;
fill: currentColor;
transition: transform 0.1s;
}
.share-buttons svg:active {
transform: scale(0.96);
}
.post-content :not(table) ::-webkit-scrollbar-thumb {
border: 2px solid var(--code-bg);
background: rgb(113, 113, 117);
}
.post-content :not(table) ::-webkit-scrollbar-thumb:hover {
background: rgb(163, 163, 165);
}
.gist table::-webkit-scrollbar-thumb {
border: 2px solid rgb(255, 255, 255);
background: rgb(173, 173, 173);
}
.gist table::-webkit-scrollbar-thumb:hover {
background: rgb(112, 112, 112);
}
.post-content table::-webkit-scrollbar-thumb {
border-width: 2px;
}
.paginav {
margin-top: var(--content-gap);
display: flex;
line-height: 30px;
border-radius: var(--radius);
}
.paginav svg {
width: 1em;
height: 1em;
display: inline-block;
vertical-align: -0.125em;
}
.paginav .title {
letter-spacing: 1px;
text-transform: uppercase;
font-size: small;
color: var(--secondary);
}
.paginav .prev,
.paginav .next {
width: 50%;
}
.paginav a span {
transition: var(--link-transition);
}
.paginav a:hover span:not(.title) {
box-shadow: 0 1px 0;
}
.paginav .next {
margin-inline-start: auto;
text-align: right;
}
[dir="rtl"] .paginav .next {
text-align: left;
}
.full-width {
left: 50%;
margin-left: -50vw;
margin-right: -50vw;
max-width: 100vw;
position: relative;
right: 50%;
width: 100vw;
}
.comments-divider {
margin: calc(var(--content-gap) * 1) 0;
height: 1px;
background-color: var(--secondary);
}
.social-links {
margin: calc(var(--content-gap) * 2) 0;
}
/* shortcode */
.social-quote {
padding: 1em;
}
.post-content .social-quote {
margin-bottom: var(--content-gap);
}
.social-quote.tweet {
background-color: var(--code-bg);
border-left: 3px solid var(--twitter-color);
}
.social-quote.tweet svg {
color: var(--twitter-color);
}
.social-quote .title {
margin-bottom: .5em;
font-weight: 500;
}
.social-quote .title svg {
width: 20px;
height: 20px;
vertical-align: text-bottom;
}
.social-quote .title span {
margin-inline-start: .5em;
}
.social-quote p > a {
margin-inline-start: .5em;
}
.social-quote blockquote {
font-size: .8em;
/* reset for .post-content blockquote */
margin: 0 0 0 0;
padding: 0;
border-inline-start: 0;
}
.social-quote blockquote a {
font-weight: 500;
color: var(--primary);
box-shadow: var(--link-underline-shadow);
transition: var(--link-transition);
}
.social-quote blockquote > a:hover {
color: var(--twitter-color);
box-shadow: 0 2px 0 var(--twitter-color);
}
/* comments */
.comments-box {
margin: calc(var(--content-gap) * 2) 0;
background-color: var(--code-bg);
border-radius: 10px;
box-shadow: var(--shadow-elevation-low);
}
.comments-box.telegram-widget {
padding: .8em;
}
.comments {
margin: var(--content-gap) 0;
}
.comments .title {
margin: 20px 0;
font-size: 1.5em;
}
.comments .title > span {
line-height: 1.5rem;
}
.comments .title .counter {
color: var(--link-hover-color);
font-size: 1rem;
font-weight: bold;
vertical-align: super;
}
/* footnotes */
.footnotes {
font-size: .8em;
color: var(--primary-dim);
font-weight: 400;
padding: 1em;
background-color: var(--code-bg);
}
.footnotes a {
color: var(--primary-dim);
font-weight: 400;
}
.footnotes hr {
display: none;
}
.footnotes a {
box-shadow: none;
text-decoration: underline;
}
.footnotes a:hover {
box-shadow: none;
text-decoration: underline;
}
.footnotes ol {
margin: 0;
}
.footnotes ol li {
margin: 0 0 6px 0;
}
.footnotes ol li p {
line-height: 1.5em;
margin: 0;
}
/* fix tweet-ref makes the li markers sink at the bottom */
.footnotes ol li > * {
vertical-align: top;
}
.footnotes ol li:target {
background-color: var(--link-background-color);
}
.footnotes ol:before {
content: "Footnotes";
font-size: 1.5em;
margin-left: -1em;
font-weight: 200;
}
/* shortcode */
.tweet-ref {
width: calc(100% - 2em);
display: inline-block;
}
.tweet-ref blockquote {
margin: 3px 0 0 0;
border-inline-color: var(--tertiary);
line-height: 1.5em;
}
.tweet-ref blockquote a {
text-decoration: none;
}