diff options
Diffstat (limited to 'themes/terminal/assets/css')
-rw-r--r-- | themes/terminal/assets/css/buttons.css | 94 | ||||
-rw-r--r-- | themes/terminal/assets/css/code.css | 84 | ||||
-rw-r--r-- | themes/terminal/assets/css/color/blue.css | 14 | ||||
-rw-r--r-- | themes/terminal/assets/css/color/green.css | 14 | ||||
-rw-r--r-- | themes/terminal/assets/css/color/pink.css | 14 | ||||
-rw-r--r-- | themes/terminal/assets/css/color/red.css | 14 | ||||
-rw-r--r-- | themes/terminal/assets/css/font.css | 17 | ||||
-rw-r--r-- | themes/terminal/assets/css/footer.css | 50 | ||||
-rw-r--r-- | themes/terminal/assets/css/gist.css | 6 | ||||
-rw-r--r-- | themes/terminal/assets/css/header.css | 162 | ||||
-rw-r--r-- | themes/terminal/assets/css/logo.css | 8 | ||||
-rw-r--r-- | themes/terminal/assets/css/main.css | 346 | ||||
-rw-r--r-- | themes/terminal/assets/css/pagination.css | 86 | ||||
-rw-r--r-- | themes/terminal/assets/css/post.css | 132 | ||||
-rw-r--r-- | themes/terminal/assets/css/prism.css | 336 | ||||
-rw-r--r-- | themes/terminal/assets/css/style.css | 17 | ||||
-rw-r--r-- | themes/terminal/assets/css/syntax.css | 156 | ||||
-rw-r--r-- | themes/terminal/assets/css/terms.css | 9 | ||||
-rw-r--r-- | themes/terminal/assets/css/variables.css | 13 |
19 files changed, 1572 insertions, 0 deletions
diff --git a/themes/terminal/assets/css/buttons.css b/themes/terminal/assets/css/buttons.css new file mode 100644 index 0000000..2bef686 --- /dev/null +++ b/themes/terminal/assets/css/buttons.css @@ -0,0 +1,94 @@ +.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-bottom: 5px; + text-decoration: none; + text-align: center; + border-radius: 8px; + border: 1px solid transparent; + appearance: none; + cursor: pointer; + outline: none; + + /* variants */ + + &.outline { + background: transparent; + box-shadow: none; + padding: 8px 18px; + + :hover { + transform: none; + box-shadow: none; + } + } + + &.primary { + box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08); + + &:hover { + box-shadow: 0 2px 6px rgba(50, 50, 93, .21), 0 1px 3px rgba(0, 0, 0, .08); + } + } + + &.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; + 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; + } +} diff --git a/themes/terminal/assets/css/code.css b/themes/terminal/assets/css/code.css new file mode 100644 index 0000000..8405fa9 --- /dev/null +++ b/themes/terminal/assets/css/code.css @@ -0,0 +1,84 @@ +.collapsable-code { + --border-color: color-mod(var(--accent) blend(#999 90%)); + + 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; + } +} diff --git a/themes/terminal/assets/css/color/blue.css b/themes/terminal/assets/css/color/blue.css new file mode 100644 index 0000000..c83c723 --- /dev/null +++ b/themes/terminal/assets/css/color/blue.css @@ -0,0 +1,14 @@ +@import '../main.css'; +@import '../header.css'; +@import '../logo.css'; +@import '../pagination.css'; +@import '../post.css'; +@import '../syntax.css'; +@import '../variables.css'; + +:root { + --accent: #23B0FF; + --background: color-mod(var(--accent) blend(#1D1E28 98%)); + --color: white; + --border-color: rgba(255, 255, 255, .1); +} diff --git a/themes/terminal/assets/css/color/green.css b/themes/terminal/assets/css/color/green.css new file mode 100644 index 0000000..7419172 --- /dev/null +++ b/themes/terminal/assets/css/color/green.css @@ -0,0 +1,14 @@ +@import '../main.css'; +@import '../header.css'; +@import '../logo.css'; +@import '../pagination.css'; +@import '../post.css'; +@import '../syntax.css'; +@import '../variables.css'; + +:root { + --accent: #78E2A0; + --background: color-mod(var(--accent) blend(#1D1E28 98%)); + --color: white; + --border-color: rgba(255, 255, 255, .1); +} diff --git a/themes/terminal/assets/css/color/pink.css b/themes/terminal/assets/css/color/pink.css new file mode 100644 index 0000000..7fedad0 --- /dev/null +++ b/themes/terminal/assets/css/color/pink.css @@ -0,0 +1,14 @@ +@import '../main.css'; +@import '../header.css'; +@import '../logo.css'; +@import '../pagination.css'; +@import '../post.css'; +@import '../syntax.css'; +@import '../variables.css'; + +:root { + --accent: #EE72F1; + --background: color-mod(var(--accent) blend(#1D1E28 98%)); + --color: white; + --border-color: rgba(255, 255, 255, .1); +} diff --git a/themes/terminal/assets/css/color/red.css b/themes/terminal/assets/css/color/red.css new file mode 100644 index 0000000..a58f641 --- /dev/null +++ b/themes/terminal/assets/css/color/red.css @@ -0,0 +1,14 @@ +@import '../main.css'; +@import '../header.css'; +@import '../logo.css'; +@import '../pagination.css'; +@import '../post.css'; +@import '../syntax.css'; +@import '../variables.css'; + +:root { + --accent: #FF6266; + --background: color-mod(var(--accent) blend(#1D1E28 98%)); + --color: white; + --border-color: rgba(255, 255, 255, .1); +} diff --git a/themes/terminal/assets/css/font.css b/themes/terminal/assets/css/font.css new file mode 100644 index 0000000..6bc5f52 --- /dev/null +++ b/themes/terminal/assets/css/font.css @@ -0,0 +1,17 @@ +@font-face { + font-display: swap; + font-family: 'Fira Code'; + font-style: normal; + font-weight: 400; + src: url("../fonts/FiraCode-Regular.woff") format("woff"); + font-display: swap; +} + +@font-face { + font-display: swap; + font-family: 'Fira Code'; + font-style: normal; + font-weight: 800; + src: url("../fonts/FiraCode-Bold.woff") format("woff"); + font-display: swap; +} diff --git a/themes/terminal/assets/css/footer.css b/themes/terminal/assets/css/footer.css new file mode 100644 index 0000000..bac4ec0 --- /dev/null +++ b/themes/terminal/assets/css/footer.css @@ -0,0 +1,50 @@ +.footer { + padding: 40px 0; + flex-grow: 0; + opacity: .5; + + &__inner { + display: flex; + align-items: center; + justify-content: space-between; + margin: 0; + width: 760px; + max-width: 100%; + + @media (--tablet) { + flex-direction: column; + } + } + + a { + color: inherit; + } + + .copyright { + display: flex; + flex-direction: row; + align-items: center; + font-size: 1rem; + color: var(--light-color-secondary); + + &--user { + margin: auto; + text-align: center; + } + + & > *:first-child:not(:only-child) { + margin-right: 10px; + + @media (--tablet) { + border: none; + padding: 0; + margin: 0; + } + } + + @media (--tablet) { + flex-direction: column; + margin-top: 10px; + } + } +} diff --git a/themes/terminal/assets/css/gist.css b/themes/terminal/assets/css/gist.css new file mode 100644 index 0000000..3ed8145 --- /dev/null +++ b/themes/terminal/assets/css/gist.css @@ -0,0 +1,6 @@ +body .gist .blob-num /* line numbers */, +body .gist .blob-code-inner +{ + border: none; +} + diff --git a/themes/terminal/assets/css/header.css b/themes/terminal/assets/css/header.css new file mode 100644 index 0000000..cc8098f --- /dev/null +++ b/themes/terminal/assets/css/header.css @@ -0,0 +1,162 @@ +@define-mixin menu { + position: absolute; + background: var(--background); + box-shadow: var(--shadow); + color: white; + border: 2px solid; + margin: 0; + padding: 10px; + list-style: none; + z-index: 99; +} + +.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; + } + } + + .menu { + --shadow-color: color-mod(var(--background) a(80%)); + --shadow: 0 10px var(--shadow-color), -10px 10px var(--shadow-color), 10px 10px var(--shadow-color); + margin: 20px 1px; + + @media (--phone) { + @mixin menu; + top: 50px; + right: 0; + } + + &__inner { + display: flex; + flex-wrap: wrap; + list-style: none; + margin: 0; + padding: 0; + + &--desktop { + @media (--phone) { + display: none; + } + } + + &--mobile { + display: none; + + @media (--phone) { + display: block; + } + } + + li { + &:not(:last-of-type) { + margin-right: 20px; + margin-bottom: 10px; + flex: 0 0 auto; + } + } + + @media (--phone) { + flex-direction: column; + align-items: flex-start; + padding: 0; + + li { + margin: 0; + padding: 5px; + } + } + } + + &__sub-inner { + position: relative; + list-style: none; + padding: 0; + margin: 0; + + &:not(:only-child) { + margin-left: 20px; + } + + &-more { + @mixin menu; + top: 35px; + left: 0; + + &-trigger { + color: var(--accent); + user-select: none; + cursor: pointer; + } + + li { + margin: 0; + padding: 5px; + white-space: nowrap; + } + } + } + + .spacer { + flex-grow: 1; + } + + .language-selector { + position: relative; + list-style: none; + margin: 0; + + &-current { + list-style-type: none; + display: flex; + flex-direction: row; + color: var(--accent); + cursor: pointer; + margin: 0; + } + + &__more { + @mixin menu; + top: 35px; + right: 0; + } + } + + &-trigger { + color: var(--accent); + border: 2px solid; + margin-left: 10px; + height: 100%; + padding: 3px 8px; + position: relative; + } + } +} diff --git a/themes/terminal/assets/css/logo.css b/themes/terminal/assets/css/logo.css new file mode 100644 index 0000000..d455cc7 --- /dev/null +++ b/themes/terminal/assets/css/logo.css @@ -0,0 +1,8 @@ +.logo { + display: flex; + align-items: center; + text-decoration: none; + background: var(--accent); + color: black; + padding: 5px 10px; +} diff --git a/themes/terminal/assets/css/main.css b/themes/terminal/assets/css/main.css new file mode 100644 index 0000000..8929ea1 --- /dev/null +++ b/themes/terminal/assets/css/main.css @@ -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: color-mod(var(--accent) blend(#1D1E28 98%)); + 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 (--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(--background); + /* 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-mod(var(--accent) a(20%)); + 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 (--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 (--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-mod(var(--accent) a(10%)); + 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 (--phone) { + margin-left: 20px; + } +} + +ol { + list-style: none; + counter-reset: li; + + li { + counter-increment: li; + } + + 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; + } + + li:before { + content: counters(li, ".") " "; + } + } +} + +mark { + background: var(--accent); + color: var(--background); +} + +.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 (--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; +} diff --git a/themes/terminal/assets/css/pagination.css b/themes/terminal/assets/css/pagination.css new file mode 100644 index 0000000..30dbadc --- /dev/null +++ b/themes/terminal/assets/css/pagination.css @@ -0,0 +1,86 @@ +.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: color-mod(var(--accent) blend(#1D1E28 98%)); + 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; + + a { + text-decoration: none; + } + } +} + +.button { + position: relative; + display: inline-flex; + flex: 1; + align-items: center; + justify-content: center; + font-size: 1rem; + border-radius: 8px; + padding: 0; + cursor: pointer; + appearance: none; + overflow: hidden; + + + .button { + margin-left: 10px; + } + + a { + display: flex; + 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; + } +} diff --git a/themes/terminal/assets/css/post.css b/themes/terminal/assets/css/post.css new file mode 100644 index 0000000..37155bc --- /dev/null +++ b/themes/terminal/assets/css/post.css @@ -0,0 +1,132 @@ +.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; + + @media (--tablet) { + max-width: 660px; + } + + &:not(:last-of-type) { + border-bottom: 1px solid var(--border-color); + } + + &-meta { + font-size: 1rem; + margin-bottom: 10px; + color: color-mod(var(--accent) a(70%)); + } + + &-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; + } + + &-cover { + border: 20px solid var(--accent); + background: transparent; + margin: 40px 0; + padding: 20px; + + @media (--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-mod(var(--accent) alpha(90%)); + 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-mod(var(--color) alpha(50%)); +} diff --git a/themes/terminal/assets/css/prism.css b/themes/terminal/assets/css/prism.css new file mode 100644 index 0000000..e4268ae --- /dev/null +++ b/themes/terminal/assets/css/prism.css @@ -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 .prism’s 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; +} + diff --git a/themes/terminal/assets/css/style.css b/themes/terminal/assets/css/style.css new file mode 100644 index 0000000..c0424c4 --- /dev/null +++ b/themes/terminal/assets/css/style.css @@ -0,0 +1,17 @@ +@import 'variables.css'; + +@import 'font.css'; +@import 'buttons.css'; + +@import 'header.css'; +@import 'logo.css'; +@import 'main.css'; +@import 'post.css'; +@import 'pagination.css'; +@import 'footer.css'; + +@import 'prism.css'; +@import 'syntax.css'; +@import 'code.css'; +@import 'terms.css'; +@import 'gist.css'; diff --git a/themes/terminal/assets/css/syntax.css b/themes/terminal/assets/css/syntax.css new file mode 100644 index 0000000..215aa82 --- /dev/null +++ b/themes/terminal/assets/css/syntax.css @@ -0,0 +1,156 @@ +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(--accent) !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: color-mod(var(--accent) a(70%)) !important; +} + +.token.property, +.token.function, +.token.function-name, +.token.deleted, +code.language-javascript, +code.language-html, +.command-line-prompt > span:before { + color: color-mod(var(--accent) blend(#999 90%)) !important; +} + +.token.selector, +.token.tag, +.token.punctuation { + color: white; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: rgba(255, 255, 255, .3) !important; +} + +.token.namespace { + opacity: .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-mod(var(--accent) blend(#999 90%) a(8%)); + pointer-events: none; + line-height: inherit; + white-space: pre; +} + +.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; +} + +:root { + --code-margin: 40px; +} + +.code-toolbar { + position: relative; + margin: var(--code-margin) 0; + padding: 20px; + border: 1px solid rgba(255, 255, 255, .1); + + + .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: .8em !important; + background: hsla(0,0%,87.8%,.2) !important; + color: #bbb !important; + box-shadow: 0 2px 0 0 rgba(0,0,0,.2) !important; + border-radius: 0 !important; + margin: 6px !important; + padding: 10px !important; + user-select:none + } + } +} diff --git a/themes/terminal/assets/css/terms.css b/themes/terminal/assets/css/terms.css new file mode 100644 index 0000000..794e2fa --- /dev/null +++ b/themes/terminal/assets/css/terms.css @@ -0,0 +1,9 @@ +.terms { + h1 { + color: var(--accent); + } + + h3 { + font-size: initial; + } +} diff --git a/themes/terminal/assets/css/variables.css b/themes/terminal/assets/css/variables.css new file mode 100644 index 0000000..33fd8d8 --- /dev/null +++ b/themes/terminal/assets/css/variables.css @@ -0,0 +1,13 @@ +:root { + --accent: #FFA86A; + --background: color-mod(var(--accent) blend(#1D1E28 98%)); + --color: white; + --border-color: rgba(255, 255, 255, .1); + + /* variables for js, must be the same as these in @custom-media queries */ + --phoneWidth: (max-width: 684px); + --tabletWidth: (max-width: 900px); +} + +@custom-media --phone (max-width: 684px); +@custom-media --tablet (max-width: 900px); |