306 lines
7.7 KiB
SCSS
306 lines
7.7 KiB
SCSS
// Code highlighting
|
|
|
|
pre.src, pre.example {
|
|
@include left-line();
|
|
font-family: $code-font;
|
|
font-size: 14px;
|
|
line-height: 1.9;
|
|
overflow-x: visible;
|
|
box-shadow: none;
|
|
white-space: pre-wrap;
|
|
position: relative;
|
|
}
|
|
|
|
pre.example {
|
|
border-left-style: dotted;
|
|
border-left-width: 2px;
|
|
}
|
|
|
|
pre.src::before {
|
|
display: inline-block;
|
|
position: absolute;
|
|
background-color: transparent;
|
|
top: unset;
|
|
bottom: -16px;
|
|
left: 20px;
|
|
padding: 0px;
|
|
border: none;
|
|
font-size: 80%;
|
|
font-style: italic;
|
|
color: $text-light;
|
|
}
|
|
|
|
// accout for the odd result of noweb
|
|
pre.src:empty {
|
|
display: none;
|
|
}
|
|
|
|
code {
|
|
font-family: $code-font;
|
|
color: $code-foreground;
|
|
font-size: 15px;
|
|
padding: 0 5px;
|
|
}
|
|
|
|
kbd {
|
|
display: inline-block;
|
|
padding: 3px 5px;
|
|
font: 80% $code-font;
|
|
line-height: normal;
|
|
line-height: 80%;
|
|
color: $text-gray;
|
|
vertical-align: middle;
|
|
background-color: $back-light;
|
|
border: 1px solid #91959a88;
|
|
border-radius: 3px;
|
|
box-shadow: inset 0 -1px 0 #91959a88;
|
|
}
|
|
|
|
li {
|
|
code {
|
|
font-size: 14px;
|
|
}
|
|
p code {
|
|
font-size: 15px;
|
|
}
|
|
}
|
|
|
|
// folding
|
|
|
|
details.code {
|
|
position: relative;
|
|
summary {
|
|
position: relative;
|
|
left: -3px;
|
|
padding-left: 10px;
|
|
padding-bottom: 4px;
|
|
margin-left: -10px;
|
|
z-index: 1;
|
|
outline: none;
|
|
@include light-meta;
|
|
.name {
|
|
font-size: 14px;
|
|
color: $text-medium;
|
|
margin-right: 0.7em;
|
|
}
|
|
.lang {
|
|
font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
|
|
font-style: italic;
|
|
}
|
|
}
|
|
summary::marker {
|
|
color: $back-medium;
|
|
}
|
|
&[open] summary {
|
|
margin-bottom: -32px;
|
|
.lang {
|
|
display: none;
|
|
}
|
|
}
|
|
&[open] summary.named {
|
|
margin-bottom: -26px;
|
|
}
|
|
&:not([open]) summary {
|
|
margin-bottom: -5px;
|
|
}
|
|
}
|
|
|
|
// de-duplicate margin
|
|
p + details.code {
|
|
margin-top: -20px; // pre margin size
|
|
}
|
|
li p + details.code {
|
|
margin-top: -5px;
|
|
}
|
|
|
|
// Palette copied from blog
|
|
// ------------------------
|
|
// foreground: #655370
|
|
// background: #ffffff
|
|
$code-builtin: #3a81c3;
|
|
$code-comment: #555555;
|
|
// $code-constant in _theme
|
|
$code-doc: $cyan;
|
|
// $code-func in _theme
|
|
$code-keyword: $blue;
|
|
// $code-regex:
|
|
$code-string: $green;
|
|
$code-type: $red;
|
|
$code-variable: $purple;
|
|
$code-warning: $orange;
|
|
|
|
.example,
|
|
.src {
|
|
color: $code-foreground;
|
|
|
|
.org-keyword {
|
|
color: $code-keyword;
|
|
}
|
|
|
|
.org-variable-name {
|
|
color: $code-variable;
|
|
}
|
|
|
|
.org-rainbow-delimiters-depth-1,
|
|
.org-rainbow-delimiters-depth-2,
|
|
.org-rainbow-delimiters-depth-3,
|
|
.org-rainbow-delimiters-depth-4,
|
|
.org-rainbow-delimiters-depth-5,
|
|
.org-rainbow-delimiters-depth-6,
|
|
.org-rainbow-delimiters-depth-7,
|
|
.org-rainbow-delimiters-depth-8,
|
|
.org-rainbow-delimiters-depth-9 {
|
|
color: $code-comment;
|
|
}
|
|
|
|
.org-string {
|
|
color: $code-string;
|
|
}
|
|
|
|
.org-comment,
|
|
.org-comment-delimiter {
|
|
color: $code-comment;
|
|
}
|
|
|
|
.org-function-name {
|
|
color: $code-func;
|
|
}
|
|
|
|
.org-constant,
|
|
.org-highlight-numbers-number {
|
|
color: $code-constant;
|
|
}
|
|
}
|
|
|
|
// id link, and copy button
|
|
|
|
.gutter {
|
|
position: absolute;
|
|
top: 0;
|
|
left: -2.5rem;
|
|
width: 2rem;
|
|
padding-right: 0.3rem;
|
|
padding-top: 5px;
|
|
height: calc(100% - 10px);
|
|
z-index: 1;
|
|
transition: opacity 200ms;
|
|
opacity: 0;
|
|
font-size: 15px;
|
|
&:hover {
|
|
opacity: 1;
|
|
}
|
|
* {
|
|
display: block;
|
|
width: 100%;
|
|
text-align: right;
|
|
padding: 0;
|
|
margin: 0;
|
|
color: $text-light;
|
|
&:hover {
|
|
color: $text-gray;
|
|
}
|
|
}
|
|
a {
|
|
text-decoration: none;
|
|
font-size: 110%;
|
|
}
|
|
button {
|
|
background: none;
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
/* Languages per Org manual */
|
|
|
|
pre.src-asymptote::before { content: 'Asymptote'; }
|
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
|
pre.src-awk::before { content: 'Awk'; }
|
|
pre.src-C::before { content: 'C'; }
|
|
/* pre.src-C++ doesn't work in CSS */
|
|
pre.src-clojure::before { content: 'Clojure'; }
|
|
pre.src-css::before { content: 'CSS'; }
|
|
pre.src-D::before { content: 'D'; }
|
|
pre.src-ditaa::before { content: 'ditaa'; }
|
|
pre.src-dot::before { content: 'Graphviz'; }
|
|
pre.src-calc::before { content: 'Emacs Calc'; }
|
|
pre.src-emacs-lisp::before { content: 'Emacs Lisp'; }
|
|
pre.src-fortran::before { content: 'Fortran'; }
|
|
pre.src-gnuplot::before { content: 'gnuplot'; }
|
|
pre.src-haskell::before { content: 'Haskell'; }
|
|
pre.src-hledger::before { content: 'hledger'; }
|
|
pre.src-java::before { content: 'Java'; }
|
|
pre.src-js::before { content: 'Javascript'; }
|
|
pre.src-latex::before { content: 'LaTeX'; }
|
|
pre.src-ledger::before { content: 'Ledger'; }
|
|
pre.src-lisp::before { content: 'Lisp'; }
|
|
pre.src-lilypond::before { content: 'Lilypond'; }
|
|
pre.src-lua::before { content: 'Lua'; }
|
|
pre.src-matlab::before { content: 'MATLAB'; }
|
|
pre.src-mscgen::before { content: 'Mscgen'; }
|
|
pre.src-ocaml::before { content: 'Objective Caml'; }
|
|
pre.src-octave::before { content: 'Octave'; }
|
|
pre.src-org::before { content: 'Org mode'; }
|
|
pre.src-oz::before { content: 'OZ'; }
|
|
pre.src-plantuml::before { content: 'Plantuml'; }
|
|
pre.src-processing::before { content: 'Processing.js'; }
|
|
pre.src-python::before { content: 'Python'; }
|
|
pre.src-R::before { content: 'R'; }
|
|
pre.src-ruby::before { content: 'Ruby'; }
|
|
pre.src-sass::before { content: 'Sass'; }
|
|
pre.src-scheme::before { content: 'Scheme'; }
|
|
pre.src-screen::before { content: 'Gnu Screen'; }
|
|
pre.src-sed::before { content: 'Sed'; }
|
|
pre.src-sh::before { content: 'shell'; }
|
|
pre.src-sql::before { content: 'SQL'; }
|
|
pre.src-sqlite::before { content: 'SQLite'; }
|
|
/* additional languages in org.el's org-babel-load-languages alist */
|
|
pre.src-forth::before { content: 'Forth'; }
|
|
pre.src-io::before { content: 'IO'; }
|
|
pre.src-J::before { content: 'J'; }
|
|
pre.src-makefile::before { content: 'Makefile'; }
|
|
pre.src-maxima::before { content: 'Maxima'; }
|
|
pre.src-perl::before { content: 'Perl'; }
|
|
pre.src-picolisp::before { content: 'Pico Lisp'; }
|
|
pre.src-scala::before { content: 'Scala'; }
|
|
pre.src-shell::before { content: 'Shell Script'; }
|
|
pre.src-systemd::before { content: 'Systemd'; }
|
|
pre.src-ebnf2ps::before { content: 'ebfn2ps'; }
|
|
/* additional language identifiers per \"defun org-babel-execute\"
|
|
in ob-*.el */
|
|
pre.src-cpp::before { content: 'C++'; }
|
|
pre.src-abc::before { content: 'ABC'; }
|
|
pre.src-coq::before { content: 'Coq'; }
|
|
pre.src-groovy::before { content: 'Groovy'; }
|
|
/* additional language identifiers from org-babel-shell-names in
|
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
|
the execution function name together. */
|
|
pre.src-bash::before { content: 'bash'; }
|
|
pre.src-csh::before { content: 'csh'; }
|
|
pre.src-ash::before { content: 'ash'; }
|
|
pre.src-dash::before { content: 'dash'; }
|
|
pre.src-ksh::before { content: 'ksh'; }
|
|
pre.src-mksh::before { content: 'mksh'; }
|
|
pre.src-posh::before { content: 'posh'; }
|
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
|
pre.src-ada::before { content: 'Ada'; }
|
|
pre.src-asm::before { content: 'Assembler'; }
|
|
pre.src-caml::before { content: 'Caml'; }
|
|
pre.src-delphi::before { content: 'Delphi'; }
|
|
pre.src-html::before { content: 'HTML'; }
|
|
pre.src-idl::before { content: 'IDL'; }
|
|
pre.src-mercury::before { content: 'Mercury'; }
|
|
pre.src-metapost::before { content: 'MetaPost'; }
|
|
pre.src-modula-2::before { content: 'Modula-2'; }
|
|
pre.src-pascal::before { content: 'Pascal'; }
|
|
pre.src-ps::before { content: 'PostScript'; }
|
|
pre.src-prolog::before { content: 'Prolog'; }
|
|
pre.src-simula::before { content: 'Simula'; }
|
|
pre.src-tcl::before { content: 'tcl'; }
|
|
pre.src-tex::before { content: 'LaTeX'; }
|
|
pre.src-plain-tex::before { content: 'TeX'; }
|
|
pre.src-verilog::before { content: 'Verilog'; }
|
|
pre.src-vhdl::before { content: 'VHDL'; }
|
|
pre.src-xml::before { content: 'XML'; }
|
|
pre.src-nxml::before { content: 'XML'; }
|
|
pre.src-conf::before { content: 'Configuration File'; }
|