Skip to content

Commit

Permalink
added syntax.scss back
Browse files Browse the repository at this point in the history
  • Loading branch information
nyhryan committed Jun 1, 2024
1 parent f65f703 commit 1f0e411
Showing 1 changed file with 297 additions and 0 deletions.
297 changes: 297 additions & 0 deletions _sass/addon/syntax.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,297 @@
/*
* The syntax highlight.
*/

@import '../colors/syntax-light';
@import '../colors/catppuccin-syntax-dark';

html {
@media (prefers-color-scheme: light) {
&:not([data-mode]),
&[data-mode='light'] {
@include light-syntax;
}

&[data-mode='dark'] {
@include dark-syntax;
}
}

@media (prefers-color-scheme: dark) {
&:not([data-mode]),
&[data-mode='dark'] {
@include dark-syntax;
}

&[data-mode='light'] {
@include light-syntax;
}
}
}

/* -- code snippets -- */

pre,
code {
font-family: 'JetBrains Mono NL', monospace;
}

%code-snippet-bg {
background-color: var(--highlight-bg-color);
}

%code-snippet-padding {
padding-left: 1rem;
padding-right: 1.5rem;
}

.highlighter-rouge {
color: var(--highlighter-rouge-color);
margin-top: 0.5rem;
margin-bottom: 1.2em; /* Override BS Inline-code style */
}

.highlight {
@extend %rounded;
@extend %code-snippet-bg;

@at-root figure#{&} {
@extend %code-snippet-bg;
}

overflow: auto;
padding-bottom: 0.75rem;

pre {
margin-bottom: 0;
font-size: $code-font-size;
line-height: 1.4rem;
word-wrap: normal; /* Fixed Safari overflow-x */
}

table {
td {
&:first-child {
display: inline-block;
margin-left: 1rem;
margin-right: 0.75rem;
}

&:last-child {
padding-right: 2rem !important;
}

pre {
overflow: visible; /* Fixed iOS safari overflow-x */
word-break: normal; /* Fixed iOS safari linenos code break */
}
}
}

.lineno {
text-align: right;
color: var(--highlight-lineno-color);
-webkit-user-select: none;
-moz-user-select: none;
-o-user-select: none;
-ms-user-select: none;
user-select: none;
}
} /* .highlight */

code {
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
color: var(--code-color);

&.highlighter-rouge {
font-size: $code-font-size;
padding: 3px 5px;
word-break: break-word;
border-radius: 4px;
background-color: var(--inline-code-bg);
}

&.filepath {
background-color: inherit;
color: var(--filepath-text-color);
font-weight: 600;
padding: 0;
}

a > &.highlighter-rouge {
padding-bottom: 0; /* show link's underlinke */
color: inherit;
}

a:hover > &.highlighter-rouge {
border-bottom: none;
}

blockquote & {
color: inherit;
}
}

td.rouge-code {
@extend %code-snippet-padding;

/*
Prevent some browser extends from
changing the URL string of code block.
*/
a {
color: inherit !important;
border-bottom: none !important;
pointer-events: none;
}
}

div[class^='language-'] {
@extend %rounded;
@extend %code-snippet-bg;

box-shadow: var(--language-border-color) 0 0 0 1px;

.content > & {
@include ml-mr(-1rem);

border-radius: 0;
}

.highlight {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}

/* Hide line numbers for default, console, and terminal code snippets */
div {
&.nolineno,
&.language-plaintext,
&.language-console,
&.language-terminal {
td:first-child {
padding: 0 !important;
margin-right: 0;

.lineno {
display: none;
}
}
}
}

.code-header {
@extend %no-cursor;

display: flex;
justify-content: space-between;
align-items: center;
height: $code-header-height;
margin-left: 0.75rem;
margin-right: 0.25rem;

/* the label block */
span {
line-height: $code-header-height;

/* label icon */
i {
font-size: 1rem;
width: $code-icon-width;
color: var(--code-header-icon-color);

&.small {
font-size: 70%;
}
}

@at-root [file] #{&} > i {
position: relative;
top: 1px; /* center the file icon */
}

/* label text */
&::after {
content: attr(data-label-text);
font-size: 0.85rem;
font-weight: 600;
color: var(--code-header-text-color);
}
}

/* clipboard */
button {
@extend %cursor-pointer;
@extend %rounded;

border: 1px solid transparent;
height: $code-header-height;
width: $code-header-height;
padding: 0;
background-color: inherit;

i {
color: var(--code-header-icon-color);
}

&[timeout] {
&:hover {
border-color: var(--clipboard-checked-color);
}

i {
color: var(--clipboard-checked-color);
}
}

&:focus {
outline: none;
}

&:not([timeout]):hover {
background-color: rgba(128, 128, 128, 0.37);

i {
color: white;
}
}
}
}

@media all and (min-width: 576px) {
div[class^='language-'] {
.content > & {
@include ml-mr(0);

border-radius: $base-radius;
}

.code-header {
@include ml-mr(0);

$dot-margin: 1rem;

&::before {
content: '';
display: inline-block;
margin-left: $dot-margin;
width: $code-dot-size;
height: $code-dot-size;
border-radius: 50%;
background-color: var(--code-header-muted-color);
box-shadow: ($code-dot-size + $code-dot-gap) 0 0
var(--code-header-muted-color),
($code-dot-size + $code-dot-gap) * 2 0 0
var(--code-header-muted-color);
}

span {
// center the text of label
margin-left: calc(($dot-margin + $code-dot-size) / 2 * -1);
}
}
}
}

0 comments on commit 1f0e411

Please sign in to comment.