plain site; demo content added; re-terminal theme enabled; some theme customizations

This commit is contained in:
2025-04-05 23:13:00 +02:00
parent 2247bf4587
commit 77fe18522e
108 changed files with 13429 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
#banner {
width: 100%;
height: 2rem;
display: grid;
grid-template-columns: 1fr auto;
background: var(--accent);
& span {
display: flex;
align-items: center;
justify-content: center;
}
& a {
color: var(--accent-contrast-color);
display: inline;
}
& > button {
padding: 0 5px 0 0;
margin: 0;
}
}

View File

@@ -0,0 +1,95 @@
.button-container {
display: table;
margin-left: auto;
margin-right: auto;
}
button,
.button,
a.button {
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 18px;
margin: 5px 0;
text-decoration: none;
text-align: center;
border-radius: 8;
border: 1px solid var(--accent);
background: var(--accent);
color: var(--accent-contrast-color);
font: inherit;
font-weight: bold;
appearance: none;
cursor: pointer;
outline: none;
&:hover {
background: color-mix(in srgb, var(--accent), transparent 10%);
}
/* variants */
&.outline {
background: transparent;
box-shadow: none;
padding: 8px 18px;
:hover {
transform: none;
box-shadow: none;
}
}
&.link {
background: none;
font-size: 1rem;
}
/* sizes */
&.small {
font-size: .8rem;
}
&.wide {
min-width: 200px;
padding: 14px 24px;
}
}
a.read-more,
a.read-more:hover,
a.read-more:active {
display: inline-flex;
border: none;
color: var(--accent);
background: none;
box-shadow: none;
padding: 0;
margin: 20px 0;
max-width: 100%;
}
.code-toolbar {
margin-bottom: 20px;
.toolbar-item a {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 3px 8px;
margin-bottom: 5px;
text-decoration: none;
text-align: center;
font-size: 13px;
font-weight: 500;
border-radius: 8px;
border: 1px solid transparent;
appearance: none;
cursor: pointer;
outline: none;
}
}

View File

@@ -0,0 +1,84 @@
.collapsable-code {
--border-color: color-mix(in srgb, var(--accent) 90%, #999 10%);
position: relative;
width: 100%;
margin: 40px 0;
input[type="checkbox"] {
position: absolute;
visibility: hidden;
}
input[type="checkbox"]:checked {
~ pre,
~ .code-toolbar pre {
height: 0;
padding: 0;
border-top: none;
}
~ .code-toolbar {
padding: 0;
border-top: none;
.toolbar {
display: none;
}
}
~ label .collapsable-code__toggle:after {
content: attr(data-label-expand);
}
}
label {
position: relative;
display: flex;
justify-content: space-between;
min-width: 30px;
min-height: 30px;
margin: 0;
border-bottom: 1px solid var(--border-color);
cursor: pointer;
}
&__title {
flex: 1;
color: var(--accent);
padding: 3px 10px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&__language {
color: var(--accent);
border: 1px solid var(--border-color);
border-bottom: none;
text-transform: uppercase;
padding: 3px 10px;
}
&__toggle {
color: var(--accent);
font-size: 16px;
padding: 3px 10px;
&:after {
content: attr(data-label-collapse);
}
}
pre {
margin-top: 0;
&::first-line {
line-height: 0;
}
}
.code-toolbar {
margin: 0;
}
}

View File

@@ -0,0 +1,3 @@
html:root {
--accent: #23b0ff;
}

View File

@@ -0,0 +1,3 @@
html:root {
--accent: #78e2a0;
}

View File

@@ -0,0 +1,3 @@
html:root {
--accent: #ffa86a;
}

View File

@@ -0,0 +1,3 @@
html:root {
--accent: #1d1e28;
}

View File

@@ -0,0 +1,3 @@
html:root {
--accent: #ee72f1;
}

View File

@@ -0,0 +1,3 @@
html:root {
--accent: #ff6266;
}

View File

@@ -0,0 +1,15 @@
@font-face {
font-display: swap;
font-family: 'Fira Code';
font-style: normal;
font-weight: 400;
src: url("../fonts/FiraCode-Regular.woff") format("woff");
}
@font-face {
font-display: swap;
font-family: 'Fira Code';
font-style: normal;
font-weight: 800;
src: url("../fonts/FiraCode-Bold.woff") format("woff");
}

View File

@@ -0,0 +1,46 @@
.footer {
padding: 40px 0;
flex-grow: 0;
opacity: .5;
display: flex;
justify-content: $centerTheme;
&__inner {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0;
width: 760px;
max-width: 100%;
@media (max-width: $tablet) {
flex-direction: column;
}
}
a {
color: inherit;
}
.copyright {
display: flex;
flex-flow: row wrap;
flex: 1;
align-items: $centerTheme;
font-size: 1rem;
justify-content: $centerTheme;
&--user {
margin: auto;
text-align: center;
}
& > *:first-child:not(:only-child) {
margin-right: 10px;
}
span {
white-space: nowrap;
}
}
}

View File

@@ -0,0 +1,43 @@
input, textarea, select {
background: transparent;
color: var(--accent);
border: 1px solid var(--accent);
border-radius: 0;
padding: 10px;
margin: 5px 0;
font: inherit;
appearance: none;
&:focus, :active {
border-color: var(--color);
outline: 1px solid var(--color);
}
&:active {
box-shadow: none;
}
}
select {
background: var(--background);
option {
background: var(--background);
}
}
::placeholder {
color: color-mix(in srgb, var(--accent), transparent 50%);
}
input {
&[type="checkbox"] {
vertical-align: middle;
padding: 10px;
box-shadow: inset 0 0 0 3px var(--background);
&:checked {
background: var(--accent);
}
}
}

View File

@@ -0,0 +1,6 @@
body .gist .blob-num /* line numbers */,
body .gist .blob-code-inner
{
border: none;
}

View File

@@ -0,0 +1,34 @@
.header {
display: flex;
flex-direction: column;
position: relative;
@media print {
display: none;
}
&__inner {
display: flex;
align-items: center;
justify-content: space-between;
}
&__logo {
display: flex;
flex: 1;
&:after {
content: '';
background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 10px);
display: block;
width: 100%;
right: 10px;
}
a {
flex: 0 0 auto;
max-width: 100%;
text-decoration: none;
}
}
}

View File

@@ -0,0 +1,8 @@
.logo {
display: flex;
align-items: center;
text-decoration: none;
background: var(--accent);
color: color-mix(in srgb, var(--accent), var(--accent-contrast-color) 90%);
padding: 5px 10px;
}

View File

@@ -0,0 +1,346 @@
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
padding: 0;
font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;
font-size: 1rem;
line-height: 1.54;
letter-spacing: -0.02em;
background-color: var(--background);
color: var(--color);
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
font-feature-settings: "liga", "tnum", "zero", "ss01", "locl";
font-variant-ligatures: contextual;
-webkit-overflow-scrolling: touch;
-webkit-text-size-adjust: 100%;
@media (max-width: $phone) {
font-size: 1rem;
}
}
.headings--one-size {
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.3;
&:not(first-child) {
margin-top: 40px;
}
}
h1,
h2,
h3 {
font-size: 1.4rem;
}
h4,
h5,
h6 {
font-size: 1.2rem;
}
}
a {
color: inherit;
/* Waiting for a better times... */
/* &:has(code) {
text-decoration-color: var(--accent);
} */
}
img {
display: block;
max-width: 100%;
&.left {
margin-right: auto;
}
&.center {
margin-left: auto;
margin-right: auto;
}
&.right {
margin-left: auto;
}
}
p {
margin-bottom: 20px;
}
figure {
display: table;
max-width: 100%;
margin: 25px 0;
&.left {
margin-right: auto;
}
&.center {
margin-left: auto;
margin-right: auto;
}
&.right {
margin-left: auto;
}
figcaption {
font-size: 14px;
padding: 5px 10px;
margin-top: 5px;
background: var(--accent);
color: var(--accent-contrast-color);
/* opacity: .8; */
&.left {
text-align: left;
}
&.center {
text-align: center;
}
&.right {
text-align: right;
}
}
}
code, kbd {
font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace !important;
font-feature-settings: normal;
background: color-mix(in srgb, var(--accent), transparent 80%);
color: var(--accent);
padding: 1px 6px;
margin: 0 2px;
font-size: .95rem;
code, kbd {
background: transparent;
padding: 0;
margin: 0;
}
}
pre {
background: transparent !important;
padding: 20px 10px;
margin: 40px 0;
font-size: .95rem !important;
overflow: auto;
border-top: 1px solid rgba(255, 255, 255, .1);
border-bottom: 1px solid rgba(255, 255, 255, .1);
+ pre {
border-top: 0;
margin-top: -40px;
}
@media (max-width: $phone) {
white-space: pre-wrap;
word-wrap: break-word;
}
code {
background: none !important;
margin: 0;
padding: 0;
font-size: inherit;
border: none;
}
}
blockquote {
border-top: 1px solid var(--accent);
border-bottom: 1px solid var(--accent);
margin: 40px 0;
padding: 25px;
@media (max-width: $phone) {
padding-right: 0;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
p {
position: relative;
}
p:first-of-type:before {
content: '>';
display: block;
position: absolute;
left: -25px;
color: var(--accent);
}
&.twitter-tweet {
position: relative;
background: color-mix(in srgb, var(--accent), transparent 90%);
font: inherit;
color: inherit;
border: 1px solid var(--accent);
padding-top: 60px;
p:before {
content: '';
}
&:before {
content: '> From Twitter:';
position: absolute;
top: 20px;
color: var(--accent);
font-weight: bold;
}
a {
color: var(--accent);
}
}
}
table {
table-layout: auto;
border-collapse: collapse;
width: 100%;
margin: 40px 0;
}
table,
th,
td {
border: 1px dashed var(--accent);
padding: 10px;
}
th {
color: var(--accent);
}
ul,
ol {
margin-left: 22px;
padding: 0;
li {
position: relative;
}
@media (max-width: $phone) {
margin-left: 20px;
}
}
ol {
list-style: none;
counter-reset: li;
> li {
counter-increment: li;
&:before {
content: counter(li);
position: absolute;
right: calc(100% + 10px);
color: var(--accent);
display: inline-block;
text-align: right;
}
> ol {
margin-left: 38px;
> li {
counter-increment: li;
&:before {
content: counters(li, ".") " ";
}
}
}
}
}
mark {
background: var(--accent);
color: var(--accent-contrast-color);
}
.container {
display: flex;
flex-direction: column;
padding: 40px;
max-width: 864px;
min-height: 100vh;
border-right: 1px solid rgba(255, 255, 255, 0.1);
&.full,
&.center {
border: none;
margin: 0 auto;
}
&.full {
max-width: 100%;
}
@media (max-width: $phone) {
padding: 20px;
}
@media print {
display: initial;
}
}
.content {
display: flex;
flex-direction: column;
@media print {
display: initial;
}
}
hr {
width: 100%;
border: none;
background: var(--border-color);
height: 1px;
}
.hidden {
display: none;
}
sup {
line-height: 0;
}

View File

@@ -0,0 +1,168 @@
@mixin menu {
--shadow-color: color-mix(in srgb, var(--background), transparent 20%);
display: none;
flex-direction: column;
--shadow: 0 10px var(--shadow-color), -10px 10px var(--shadow-color),
10px 10px var(--shadow-color);
position: absolute;
background: var(--background);
box-shadow: var(--shadow);
color: var(--menu-color);
border: 2px solid;
margin: 0;
padding: 10px;
top: 10px;
left: 0;
list-style: none;
z-index: 99;
}
@mixin header-menu-trigger {
color: var(--accent);
border: 2px solid;
margin-left: 10px;
height: 100%;
padding: 3px 8px;
margin-bottom: 0 !important;
position: relative;
cursor: pointer;
}
.navigation-menu {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin: 20px 1px;
@media (max-width: $phone) {
margin: 0;
}
&__inner {
display: flex;
flex: 1;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
>li {
flex: 0 0 auto;
margin-bottom: 10px;
white-space: nowrap;
&:not(:last-of-type) {
margin-right: 20px;
}
}
@media (max-width: $phone) {
flex-direction: column;
align-items: flex-start;
padding: 0;
li {
margin: 0;
padding: 5px;
}
}
}
.spacer {
flex-grow: 1 !important;
}
}
.menu {
display: flex;
flex-direction: column;
position: relative;
list-style: none;
padding: 0;
margin: 0;
&__trigger {
margin-right: 0 !important;
color: var(--accent);
user-select: none;
cursor: pointer;
}
&__subdrop {
&--title {
padding: 5px;
}
&--list {
list-style-type: unset;
}
}
&__dropdown {
@include menu;
.open & {
display: flex;
}
>li {
flex: 0 0 auto;
&:not(:last-of-type) {
margin-bottom: 10px;
}
a {
display: flex;
padding: 5px;
}
}
}
&--desktop {
@media (max-width: $phone) {
display: none;
}
}
&--mobile {
.menu__trigger {
@include header-menu-trigger;
display: none;
@media (max-width: $phone) {
display: block;
}
}
.menu__dropdown {
@media (max-width: $phone) {
left: auto;
right: 0;
}
}
li {
flex: 0 0 auto;
&:not(:last-of-type) {
margin-bottom: 10px;
}
}
}
&--language-selector {
.menu__trigger {
@include header-menu-trigger;
@media (max-width: $phone) {
display: none;
}
}
.menu__dropdown {
left: auto;
right: 0;
}
}
}

View File

@@ -0,0 +1,87 @@
.pagination {
margin-top: 50px;
@media print {
display: none;
}
&__title {
display: flex;
text-align: center;
position: relative;
margin: 100px 0 20px;
&-h {
text-align: center;
margin: 0 auto;
padding: 5px 10px;
background: var(--background);
color: color-mix(in srgb, var(--accent), transparent 70%);
font-size: .8rem;
text-transform: uppercase;
text-decoration: none;
letter-spacing: .1em;
z-index: 1;
}
hr {
position: absolute;
left: 0;
right: 0;
width: 100%;
margin-top: 15px;
z-index: 0;
}
}
&__buttons {
display: flex;
align-items: center;
justify-content: center;
flex-flow: row wrap;
gap: 10px;
a {
text-decoration: none;
}
}
}
.button {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1rem;
padding: 0;
appearance: none;
@media(max-width: $phone) {
flex: 1;
}
a {
display: flex;
justify-content: center;
flex: 1;
padding: 8px 16px;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&__text {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&.next .button__icon {
margin-left: 8px;
}
&.previous .button__icon {
margin-right: 8px;
}
}

View File

@@ -0,0 +1,153 @@
.index-content {
margin-top: 20px;
}
.framed {
border: 1px solid var(--accent);
padding: 20px;
*:first-child {
margin-top: 0;
}
*:last-child {
margin-bottom: 0;
}
}
.posts {
width: 100%;
}
.post {
width: 100%;
text-align: left;
margin: 20px auto;
padding: 20px 0;
&:not(:last-of-type) {
border-bottom: 1px solid var(--border-color);
}
&-meta {
font-size: 1rem;
margin-bottom: 10px;
color: color-mix(in srgb, var(--accent), transparent 30%);
& > *:not(:first-child) {
&::before {
content: "::";
display: inline-block;
margin: 0 8px;
}
}
}
&-title {
--border: 3px dotted var(--accent);
position: relative;
color: var(--accent);
margin: 0 0 15px;
padding-bottom: 15px;
border-bottom: var(--border);
&:after {
content: '';
position: absolute;
bottom: 2px;
display: block;
width: 100%;
border-bottom: var(--border);
}
a {
text-decoration: none;
}
}
&-tags {
display: block;
margin-bottom: 20px;
font-size: 1rem;
opacity: .5;
a {
text-decoration: none;
}
}
&-content {
margin-top: 30px;
& a {
color: var(--article-link-color);
}
}
&-cover {
border: 20px solid var(--accent);
background: transparent;
margin: 40px 0;
padding: 20px;
@media (max-width: $phone) {
padding: 10px;
border-width: 10px;
}
}
ul {
list-style: none;
li:not(:empty):before {
content: '-';
position: absolute;
left: -20px;
color: var(--accent);
}
}
}
.post--regulation {
h1 {
justify-content: center;
}
h2 {
justify-content: center;
margin-bottom: 10px;
& + h2 {
margin-top: -10px;
margin-bottom: 20px;
}
}
}
.hanchor {
color: color-mix(in srgb, var(--accent), transparent 10%);
text-decoration: none;
margin-left: 10px;
visibility: hidden;
}
h1:hover a, h2:hover a, h3:hover a, h4:hover a {
visibility: visible;
}
.footnotes {
color: color-mix(in srgb, var(--accent), transparent 50%);
}
figure:has(.post-cover) {
margin: 40px 0;
& > .post-cover {
margin: 0;
}
& > figcaption {
margin-top: 0;
}
}

View File

@@ -0,0 +1,336 @@
/* PrismJS 1.24.1
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+bash+c+csharp+cpp+cmake+coffeescript+csp+css-extras+diff+django+docker+elixir+elm+erlang+fsharp+flow+git+go+graphql+haml+handlebars+haskell+http+java+json+kotlin+latex+less+llvm+makefile+markdown+markup-templating+nasm+objectivec+ocaml+perl+php+php-extras+powershell+processing+pug+python+r+jsx+tsx+reason+ruby+rust+sass+scss+scala+scheme+sql+stylus+swift+textile+toml+twig+typescript+vim+visual-basic+wasm+yaml&plugins=line-highlight+line-numbers+jsonp-highlight+highlight-keywords+command-line+toolbar+copy-to-clipboard */
/**
* prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
* Based on https://github.com/chriskempson/tomorrow-theme
* @author Rose Pritchard
*/
code[class*="language-"],
pre[class*="language-"] {
color: #ccc;
background: none;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #2d2d2d;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #999;
}
.token.punctuation {
color: #ccc;
}
.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
color: #e2777a;
}
.token.function-name {
color: #6196cc;
}
.token.boolean,
.token.number,
.token.function {
color: #f08d49;
}
.token.property,
.token.class-name,
.token.constant,
.token.symbol {
color: #f8c555;
}
.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
color: #cc99cd;
}
.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
color: #7ec699;
}
.token.operator,
.token.entity,
.token.url {
color: #67cdcc;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
.token.inserted {
color: green;
}
pre[data-line] {
position: relative;
padding: 1em 0 1em 3em;
}
.line-highlight {
position: absolute;
left: 0;
right: 0;
padding: inherit 0;
margin-top: 1em; /* Same as .prisms padding-top */
background: hsla(24, 20%, 50%,.08);
background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
pointer-events: none;
line-height: inherit;
white-space: pre;
}
@media print {
.line-highlight {
/*
* This will prevent browsers from replacing the background color with white.
* It's necessary because the element is layered on top of the displayed code.
*/
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
}
.line-highlight:before,
.line-highlight[data-end]:after {
content: attr(data-start);
position: absolute;
top: .4em;
left: .6em;
min-width: 1em;
padding: 0 .5em;
background-color: hsla(24, 20%, 50%,.4);
color: hsl(24, 20%, 95%);
font: bold 65%/1.5 sans-serif;
text-align: center;
vertical-align: .3em;
border-radius: 999px;
text-shadow: none;
box-shadow: 0 1px white;
}
.line-highlight[data-end]:after {
content: attr(data-end);
top: auto;
bottom: .4em;
}
.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
content: none;
}
pre[id].linkable-line-numbers span.line-numbers-rows {
pointer-events: all;
}
pre[id].linkable-line-numbers span.line-numbers-rows > span:before {
cursor: pointer;
}
pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
background-color: rgba(128, 128, 128, .2);
}
pre[class*="language-"].line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
}
pre[class*="language-"].line-numbers > code {
position: relative;
white-space: inherit;
}
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px;
border-right: 1px solid #999;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line-numbers-rows > span {
display: block;
counter-increment: linenumber;
}
.line-numbers-rows > span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: 0.8em;
text-align: right;
}
.command-line-prompt {
border-right: 1px solid #999;
display: block;
float: left;
font-size: 100%;
letter-spacing: -1px;
margin-right: 1em;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.command-line-prompt > span:before {
color: #999;
content: ' ';
display: block;
padding-right: 0.8em;
}
.command-line-prompt > span[data-user]:before {
content: "[" attr(data-user) "@" attr(data-host) "] $";
}
.command-line-prompt > span[data-user="root"]:before {
content: "[" attr(data-user) "@" attr(data-host) "] #";
}
.command-line-prompt > span[data-prompt]:before {
content: attr(data-prompt);
}
div.code-toolbar {
position: relative;
}
div.code-toolbar > .toolbar {
position: absolute;
top: .3em;
right: .2em;
transition: opacity 0.3s ease-in-out;
opacity: 0;
}
div.code-toolbar:hover > .toolbar {
opacity: 1;
}
/* Separate line b/c rules are thrown out if selector is invalid.
IE11 and old Edge versions don't support :focus-within. */
div.code-toolbar:focus-within > .toolbar {
opacity: 1;
}
div.code-toolbar > .toolbar > .toolbar-item {
display: inline-block;
}
div.code-toolbar > .toolbar > .toolbar-item > a {
cursor: pointer;
}
div.code-toolbar > .toolbar > .toolbar-item > button {
background: none;
border: 0;
color: inherit;
font: inherit;
line-height: normal;
overflow: visible;
padding: 0;
-webkit-user-select: none; /* for button */
-moz-user-select: none;
-ms-user-select: none;
}
div.code-toolbar > .toolbar > .toolbar-item > a,
div.code-toolbar > .toolbar > .toolbar-item > button,
div.code-toolbar > .toolbar > .toolbar-item > span {
color: #bbb;
font-size: .8em;
padding: 0 .5em;
background: #f5f2f0;
background: rgba(224, 224, 224, 0.2);
box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
border-radius: .5em;
}
div.code-toolbar > .toolbar > .toolbar-item > a:hover,
div.code-toolbar > .toolbar > .toolbar-item > a:focus,
div.code-toolbar > .toolbar > .toolbar-item > button:hover,
div.code-toolbar > .toolbar > .toolbar-item > button:focus,
div.code-toolbar > .toolbar > .toolbar-item > span:hover,
div.code-toolbar > .toolbar > .toolbar-item > span:focus {
color: inherit;
text-decoration: none;
}

View File

@@ -0,0 +1,26 @@
$centerTheme: {{ if $.Site.Params.CenterTheme }}center{{ else }}flex-start{{ end }};
{{ if in (slice "paper") $.Site.Params.ThemeColor }}
@import "variables-light";
{{ else }}
@import "variables";
{{ end }}
@import "font";
@import "buttons";
@import "form";
@import "header";
@import "menu";
@import "logo";
@import "main";
@import "post";
@import "pagination";
@import "footer";
@import "banner";
@import "prism";
@import "syntax";
@import "code";
@import "terms";
@import "gist";

View File

@@ -0,0 +1,152 @@
code.language-css,
code.language-scss,
.token.boolean,
.token.string,
.token.entity,
.token.url,
.language-css .token.string,
.language-scss .token.string,
.style .token.string,
.token.attr-value,
.token.keyword,
.token.control,
.token.directive,
.token.statement,
.token.regex,
.token.atrule,
.token.number,
.token.inserted,
.token.important {
color: var(--syntax-value-color, color-mix(in srgb, var(--accent), white)) !important;
}
.token.tag-id,
.token.atrule-id,
.token.operator,
.token.unit,
.token.placeholder,
.token.variable,
.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted,
.token.property,
.token.class-name,
.token.constant,
.token.symbol {
color: var(--syntax-var-color, color-mix(in srgb, var(--accent) 90%, transparent)) !important;
}
.token.property,
.token.function,
.token.function-name,
.token.deleted,
code[class*="language-"],
.command-line-prompt>span:before {
color: var(--syntax-func-color, color-mix(in srgb, var(--accent) 70%, #999 30%)) !important;
}
.token.selector,
.token.tag,
.token.punctuation {
color: var(--syntax-punctuation-color);
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: var(--syntax-comment-color) !important;
}
.token.namespace {
opacity: 0.7 !important;
}
pre[data-line] {
position: relative;
}
pre[class*="language-"] {
margin: 0;
padding: 0;
overflow: auto;
}
.line-highlight {
position: absolute;
left: 0;
right: 0;
padding: 0;
margin: 0;
background: color-mix(in srgb, var(--syntax-line-highlight-mix), transparent 92%);
pointer-events: none;
line-height: inherit;
white-space: pre;
}
.line-highlight:before,
.line-highlight[data-end]:after {
content: attr(data-start);
position: absolute;
left: 0.6em;
min-width: 1em;
padding: 0 0.5em;
background-color: var(--syntax-line-highlight-background-color);
color: var(--syntax-line-highlight-color);
font: bold 65%/1.5 sans-serif;
text-align: center;
vertical-align: 0.3em;
border-radius: 999px;
text-shadow: none;
box-shadow: 0 1px var(--syntax-line-highlight-box-shadow);
}
.line-highlight[data-end]:after {
content: attr(data-end);
top: auto;
bottom: 0.4em;
}
.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
content: none;
}
.code-toolbar {
--code-margin: 40px;
position: relative;
margin: var(--code-margin) 0;
padding: 20px;
border: 1px solid var(--syntax-code-border-color);
+.code-toolbar,
+.highlight,
+.highlight .code-toolbar {
border-top: 0;
margin-top: calc(-1 * var(--code-margin));
}
pre,
code {
border: none;
}
code {
display: block;
color: inherit;
}
>.toolbar {
button {
font-size: 0.8em !important;
background: var(--syntax-code-copy-button-background) !important;
color: var(--syntax-code-copy-button-color) !important;
box-shadow: 0 2px 0 0 var(--syntax-code-copy-button-box-shadow-color) !important;
border-radius: 0 !important;
margin: 6px !important;
padding: 10px !important;
user-select: none;
}
}
}

View File

@@ -0,0 +1,22 @@
.terms {
h3 {
font-size: initial;
}
ul {
list-style: none;
li {
a {
color: var(--accent);
}
}
li:not(:empty):before {
content: '-';
position: absolute;
left: -20px;
color: var(--accent);
}
}
}

View File

@@ -0,0 +1,29 @@
:root {
--accent-contrast-color: white;
--article-link-color: var(inherit);
--background: color-mix(in srgb, var(--accent) 2%, #fefcfa 98%);
--border-color: rgba(0, 0, 0, 0.1);
--color: black;
--menu-color: black;
// Use in code syntax highlighting
--syntax-func-color: color-mix(in srgb, var(--accent) 70%, #000 30%);
--syntax-var-color: color-mix(in srgb, var(--accent) 90%, #000);
--syntax-value-color: color-mix(in srgb, var(--accent), black);
--syntax-punctuation-color: black;
--syntax-comment-color: rgba(0, 0, 0, 0.3);
--syntax-line-highlight-mix: color-mix(in srgb, var(--accent) 90%, #000 10%);
--syntax-line-highlight-background-color: hsla(336, 20%, 50%, 0.4);
--syntax-line-highlight-color: hsl(336, 20%, 95%);
--syntax-line-highlight-box-shadow: black;
--syntax-code-border-color: rgba(0, 0, 0, 0.1);
--syntax-code-copy-button-background: hsla(360, 0%, 87.8%, 0.2);
--syntax-code-copy-button-color: #444;
--syntax-code-copy-button-box-shadow-color: rgba(255, 255, 255, 0.2);
}
// Native CSS Variable aren't supported in a combination with MEDIA QUERIES. Wait for a new standard https://drafts.csswg.org/css-env-1/
// --phone: "max-width: 684px";
// --tablet: "max-width: 900px";
$phone: 684px;
$tablet: 900px;

View File

@@ -0,0 +1,29 @@
:root {
--accent-contrast-color: black;
--article-link-color: var(inherit);
--background: color-mix(in srgb, var(--accent) 2%, #1d1e28 98%);
--border-color: rgba(255, 255, 255, 0.1);
--color: white;
--menu-color: white;
// Use in code syntax highlighting
--syntax-func-color: color-mix(in srgb, var(--accent) 70%, #999 30%);
--syntax-var-color: color-mix(in srgb, var(--accent) 90%, transparent);
--syntax-punctuation-color: white;
--syntax-value-color: color-mix(in srgb, var(--accent), white);
--syntax-comment-color: rgba(255, 255, 255, 0.3);
--syntax-line-highlight-mix: color-mix(in srgb, var(--accent) 90%, #999 10%);
--syntax-line-highlight-background-color: hsla(24, 20%, 50%, 0.4);
--syntax-line-highlight-color: hsl(24, 20%, 95%);
--syntax-line-highlight-box-shadow: white;
--syntax-code-border-color: rgba(255, 255, 255, 0.1);
--syntax-code-copy-button-background: hsla(0, 0%, 87.8%, 0.2);
--syntax-code-copy-button-color: #bbb;
--syntax-code-copy-button-box-shadow-color: rgba(0, 0, 0, 0.2);
}
// Native CSS Variable aren't supported in a combination with MEDIA QUERIES. Wait for a new standard https://drafts.csswg.org/css-env-1/
// --phone: "max-width: 684px";
// --tablet: "max-width: 900px";
$phone: 684px;
$tablet: 900px;