✨ feat: add copy button to code blocks
This commit is contained in:
@@ -2,98 +2,104 @@ code {
|
||||
background-color: var(--bg-1);
|
||||
padding: 0.1em 0.2em;
|
||||
font-family: var(--code-font);
|
||||
font-size: 0.9em;
|
||||
font-size: 0.9rem;
|
||||
|
||||
mark {
|
||||
background-color: var(--codeblock-highlight);
|
||||
color: inherit;
|
||||
filter: brightness(110%);
|
||||
display: block;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
margin: 0rem;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0rem;
|
||||
|
||||
td,
|
||||
th,
|
||||
tr {
|
||||
border: none;
|
||||
padding: 0rem;
|
||||
}
|
||||
|
||||
tbody td:first-child {
|
||||
user-select: none;
|
||||
width: 2rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) {
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
border: 1px solid var(--border-color);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
display: block;
|
||||
line-height: 1.4;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
position: relative;
|
||||
padding: 2rem 1rem 1rem;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
border-radius: 5px;
|
||||
|
||||
code {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
white-space: pre;
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
padding: 0rem;
|
||||
border: 0rem;
|
||||
border-radius: 5px;
|
||||
|
||||
&::before {
|
||||
content: attr(data-lang);
|
||||
display: block;
|
||||
background-color: var(--primary-color);
|
||||
color: var(--hover-color);
|
||||
padding: 0.3rem;
|
||||
padding-left: 1rem;
|
||||
width: calc(100% - 1.3rem);
|
||||
height: 0.9rem;
|
||||
font-size: 0.65rem;
|
||||
position: absolute;
|
||||
text-align: left;
|
||||
text-transform: uppercase;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
&[class*="language-"] {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
pre code[class*="language-"] {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
pre code[class*="language-"]::before {
|
||||
font-size: 12px;
|
||||
letter-spacing: 0.025rem;
|
||||
padding: 0.1rem 0.5rem;
|
||||
.copy-code {
|
||||
z-index: 1;
|
||||
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' %3E%3Cpath d='M217.002-67.694q-37.732 0-64.02-26.288-26.287-26.287-26.287-64.019V-707.69h77.999v549.689q0 4.615 3.846 8.462 3.846 3.846 8.462 3.846h451.689v77.999H217.002Zm175.999-175.999q-37.733 0-64.02-26.287T302.694-334v-463.383q0-37.732 26.287-64.02 26.287-26.287 64.02-26.287h365.383q37.732 0 64.019 26.287 26.288 26.288 26.288 64.02V-334q0 37.733-26.288 64.02-26.287 26.287-64.019 26.287H393.001Zm0-77.998h365.383q4.615 0 8.462-3.847 3.846-3.846 3.846-8.462v-463.383q0-4.616-3.846-8.462-3.847-3.846-8.462-3.846H393.001q-4.616 0-8.462 3.846-3.847 3.846-3.847 8.462V-334q0 4.616 3.847 8.462 3.846 3.847 8.462 3.847Zm-12.309 0v-488V-321.691Z'/%3E%3C/svg%3E");
|
||||
background: var(--hover-color);
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0.1rem;
|
||||
margin-top: 0.1rem;
|
||||
text-align: right;
|
||||
text-transform: uppercase;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
pre code[class="language-javaScript"]::before,
|
||||
pre code[class="language-js"]::before {
|
||||
content: "js";
|
||||
background: #f7df1e;
|
||||
color: black;
|
||||
}
|
||||
|
||||
pre code[class*="language-yml"]::before,
|
||||
pre code[class*="language-yaml"]::before {
|
||||
content: "yaml";
|
||||
background: #C51117;
|
||||
height: 0.9rem;
|
||||
width: 0.9rem;
|
||||
background-size: contain;
|
||||
color: white;
|
||||
right: 0.7rem;
|
||||
top: 0.3rem;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
pre code[class*="language-shell"]::before,
|
||||
pre code[class*="language-bash"]::before,
|
||||
pre code[class*="language-sh"]::before {
|
||||
content: "shell";
|
||||
background: #33A841;
|
||||
color: white;
|
||||
.copy-code.checked {
|
||||
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' %3E%3Cpath d='M395-253 194-455l83-83 118 117 288-287 83 84-371 371Z'/%3E%3C/svg%3E");
|
||||
height: 1rem;
|
||||
width: 1rem;
|
||||
}
|
||||
|
||||
pre code[class*="language-json"]::before {
|
||||
content: "json";
|
||||
color: black;
|
||||
background: whitesmoke;
|
||||
}
|
||||
|
||||
pre code[class*="language-python"]::before,
|
||||
pre code[class*="language-py"]::before {
|
||||
content: "python";
|
||||
background: #306698;
|
||||
color: #ffd343;
|
||||
}
|
||||
|
||||
pre code[class*="language-css"]::before {
|
||||
content: "css";
|
||||
background: #215AEF;
|
||||
color: white;
|
||||
}
|
||||
|
||||
pre code[class*="language-go"]::before {
|
||||
content: "Go";
|
||||
background: #00ADD8;
|
||||
color: white;
|
||||
}
|
||||
|
||||
pre code[class*="language-md"]::before,
|
||||
pre code[class*="language-md"]::before {
|
||||
content: "Markdown";
|
||||
background: #159ADC;
|
||||
color: white;
|
||||
}
|
||||
|
||||
pre code[class*="language-rust"]::before,
|
||||
pre code[class*="language-rs"]::before {
|
||||
content: "rust";
|
||||
background: #fff8f6;
|
||||
color: #ff4647;
|
||||
.copy-code.error {
|
||||
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' %3E%3Cpath d='M479.386-248Q509-248 529-267.386q20-19.386 20-49T529.614-366.5q-19.386-20.5-49-20.5T431-366.886q-20 20.114-20 49.728t19.386 49.386q19.386 19.772 49 19.772ZM416-431h128v-265H416v265Zm64.276 381q-88.916 0-167.743-33.104-78.828-33.103-137.577-91.852-58.749-58.749-91.852-137.535Q50-391.277 50-480.458q0-89.438 33.162-167.491 33.163-78.053 92.175-136.942 59.011-58.889 137.533-91.999Q391.393-910 480.458-910q89.428 0 167.518 33.093T784.94-784.94q58.874 58.874 91.967 137.215Q910-569.385 910-480.192q0 89.192-33.11 167.518-33.11 78.326-91.999 137.337-58.889 59.012-137.167 92.174Q569.447-50 480.276-50Z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
@@ -112,35 +112,6 @@ a:not(.no-hover-padding):hover::before {
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
justify-self: center;
|
||||
font: inherit;
|
||||
overflow: hidden;
|
||||
border-style: hidden !important;
|
||||
margin: 2rem 0;
|
||||
min-width: 400px;
|
||||
border: none;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
min-width: 13rem;
|
||||
}
|
||||
|
||||
table thead tr {
|
||||
background-color: var(--primary-color);
|
||||
color: var(--hover-color);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table th,
|
||||
table td {
|
||||
padding: 0.5em 0.7em;
|
||||
font-family: 'Source Serif Pro', serif;
|
||||
}
|
||||
|
||||
table tbody tr:nth-child(even) {
|
||||
background-color: var(--bg-0);
|
||||
}
|
||||
|
||||
.footnote-reference {
|
||||
font-family: var(--serif-font);
|
||||
font-size: 0.7rem;
|
||||
|
@@ -1,15 +1,28 @@
|
||||
table {
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
justify-self: center;
|
||||
font: inherit;
|
||||
overflow: hidden;
|
||||
border-style: hidden !important;
|
||||
margin: 2rem auto;
|
||||
min-width: 13rem;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
table th {
|
||||
table th,
|
||||
table td {
|
||||
padding: 6px 13px;
|
||||
border: 1px solid #dfe2e5;
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
table td {
|
||||
padding: 6px 13px;
|
||||
border: 1px solid #dfe2e5;
|
||||
table thead tr {
|
||||
background-color: var(--primary-color);
|
||||
color: var(--hover-color);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table tbody tr:nth-child(even) {
|
||||
background-color: var(--bg-0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user