diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index dec8636..9133d3c 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -9,15 +9,13 @@ jobs: build: runs-on: hugo-latest steps: - - name: Grab packages - run: apk add rsync openssh-client curl - uses: actions/checkout@v4 with: submodules: 'true' - name: Run build task run: hugo --minify - - name: Test static page - run: bash ${{ gitea.workspace }}/bin/test_static_page.sh + - name: pre-compress + run: find ./public/* -type f \( -name '*.html' -o -name '*.js' -o -name '*.css' \) -exec gzip -v -k -f --best {} \; - name: Deploy to Server uses: easingthemes/ssh-deploy@main env: diff --git a/bin/test_static_page.sh b/bin/test_static_page.sh deleted file mode 100755 index efa9881..0000000 --- a/bin/test_static_page.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -PORT=21300 -python3 -m http.server $PORT --directory public/ & -SERVER_PID=$! - -# Give it a moment to start -sleep 2 - -# Check if the server is running -if [ ! -d "/proc/$SERVER_PID" ]; then - echo "HTTP server failed to start." - exit 1 -fi - -# Check HTTP status -status_code=$(curl -o /dev/null -s -w "%{http_code}" http://localhost:$PORT) - -# Kill the http server -kill $SERVER_PID - -# Check if status code is 200 -if [ "$status_code" -ne 200 ]; then - echo "Website returned a non-200 status code: $status_code" - exit 1 -fi \ No newline at end of file diff --git a/static/troll.ttf b/static/troll.ttf new file mode 100644 index 0000000..5e91ac8 Binary files /dev/null and b/static/troll.ttf differ diff --git a/themes/terminal/assets/css/buttons.scss b/themes/terminal/assets/css/buttons.scss deleted file mode 100755 index 2adc317..0000000 --- a/themes/terminal/assets/css/buttons.scss +++ /dev/null @@ -1,95 +0,0 @@ -.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: 8; - border: 1px solid $accent; - background: $accent; - color: $background; - font: inherit; - font-weight: bold; - appearance: none; - cursor: pointer; - outline: none; - - &:hover { - background: transparentize($accent, .1); - } - - /* 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: $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; - } -} diff --git a/themes/terminal/assets/css/code.scss b/themes/terminal/assets/css/code.scss deleted file mode 100755 index 9ac2f6b..0000000 --- a/themes/terminal/assets/css/code.scss +++ /dev/null @@ -1,84 +0,0 @@ -.collapsable-code { - $border-color: mix($accent, #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 $border-color; - cursor: pointer; - } - - &__title { - flex: 1; - color: $accent; - padding: 3px 10px; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - - &__language { - color: $accent; - border: 1px solid $border-color; - border-bottom: none; - text-transform: uppercase; - padding: 3px 10px; - } - - &__toggle { - color: $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.scss b/themes/terminal/assets/css/color/blue.scss deleted file mode 100755 index 5a3b455..0000000 --- a/themes/terminal/assets/css/color/blue.scss +++ /dev/null @@ -1 +0,0 @@ -$accent: #23B0FF; diff --git a/themes/terminal/assets/css/color/green.scss b/themes/terminal/assets/css/color/green.scss deleted file mode 100755 index efb853a..0000000 --- a/themes/terminal/assets/css/color/green.scss +++ /dev/null @@ -1 +0,0 @@ -$accent: #78E2A0; diff --git a/themes/terminal/assets/css/color/orange.scss b/themes/terminal/assets/css/color/orange.scss deleted file mode 100755 index 5a6ab3c..0000000 --- a/themes/terminal/assets/css/color/orange.scss +++ /dev/null @@ -1 +0,0 @@ -$accent: #FFA86A; diff --git a/themes/terminal/assets/css/color/pink.scss b/themes/terminal/assets/css/color/pink.scss deleted file mode 100755 index fce2e73..0000000 --- a/themes/terminal/assets/css/color/pink.scss +++ /dev/null @@ -1 +0,0 @@ -$accent: #EE72F1; diff --git a/themes/terminal/assets/css/color/red.scss b/themes/terminal/assets/css/color/red.scss deleted file mode 100755 index 1f9bd6e..0000000 --- a/themes/terminal/assets/css/color/red.scss +++ /dev/null @@ -1 +0,0 @@ -$accent: #FF6266; diff --git a/themes/terminal/assets/css/font.scss b/themes/terminal/assets/css/font.scss deleted file mode 100755 index aab7249..0000000 --- a/themes/terminal/assets/css/font.scss +++ /dev/null @@ -1,15 +0,0 @@ -@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"); -} diff --git a/themes/terminal/assets/css/footer.scss b/themes/terminal/assets/css/footer.scss deleted file mode 100755 index d7297b6..0000000 --- a/themes/terminal/assets/css/footer.scss +++ /dev/null @@ -1,44 +0,0 @@ -.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-flow: row wrap; - flex: 1; - align-items: center; - font-size: 1rem; - justify-content: center; - - &--user { - margin: auto; - text-align: center; - } - - & > *:first-child:not(:only-child) { - margin-right: 10px; - } - - span { - white-space: nowrap; - } - } -} diff --git a/themes/terminal/assets/css/form.scss b/themes/terminal/assets/css/form.scss deleted file mode 100755 index 5ce8a04..0000000 --- a/themes/terminal/assets/css/form.scss +++ /dev/null @@ -1,30 +0,0 @@ -input, textarea, select { - background: transparent; - color: $accent; - border: 1px solid $accent; - border-radius: 0; - padding: 10px; - font: inherit; - appearance: none; - - &:focus, :active { - border-color: $color; - outline: 1px solid $color; - } - - &:active { - box-shadow: none; - } -} - -select { - background: $background; - - option { - background: $background; - } -} - -::placeholder { - color: transparentize($accent, .5); -} diff --git a/themes/terminal/assets/css/gist.scss b/themes/terminal/assets/css/gist.scss deleted file mode 100755 index 3ed8145..0000000 --- a/themes/terminal/assets/css/gist.scss +++ /dev/null @@ -1,6 +0,0 @@ -body .gist .blob-num /* line numbers */, -body .gist .blob-code-inner -{ - border: none; -} - diff --git a/themes/terminal/assets/css/header.scss b/themes/terminal/assets/css/header.scss deleted file mode 100755 index 61c45a8..0000000 --- a/themes/terminal/assets/css/header.scss +++ /dev/null @@ -1,34 +0,0 @@ -.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, $accent, $accent 2px, transparent 0, transparent 10px); - display: block; - width: 100%; - right: 10px; - } - - a { - flex: 0 0 auto; - max-width: 100%; - text-decoration: none; - } - } -} diff --git a/themes/terminal/assets/css/logo.scss b/themes/terminal/assets/css/logo.scss deleted file mode 100755 index 33c7fef..0000000 --- a/themes/terminal/assets/css/logo.scss +++ /dev/null @@ -1,8 +0,0 @@ -.logo { - display: flex; - align-items: center; - text-decoration: none; - background: $accent; - color: black; - padding: 5px 10px; -} diff --git a/themes/terminal/assets/css/main.scss b/themes/terminal/assets/css/main.scss deleted file mode 100755 index ae5b87c..0000000 --- a/themes/terminal/assets/css/main.scss +++ /dev/null @@ -1,346 +0,0 @@ -html { - box-sizing: border-box; -} - -*, -*:before, -*:after { - box-sizing: inherit; -} - -body { - margin: 0; - padding: 0; - font-family: 'Courier New', monospace; - font-size: 1rem; - line-height: 1.54; - letter-spacing: -0.02em; - background-color: $background; - color: $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: $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: $accent; - color: $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: transparentize($accent, .8); - color: $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 $accent; - border-bottom: 1px solid $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: $accent; - } - - &.twitter-tweet { - position: relative; - background: transparentize($accent, .9); - font: inherit; - color: inherit; - border: 1px solid $accent; - padding-top: 60px; - - p:before { - content: ''; - } - - &:before { - content: '> From Twitter:'; - position: absolute; - top: 20px; - color: $accent; - font-weight: bold; - } - - a { - color: $accent; - } - } -} - -table { - table-layout: auto; - border-collapse: collapse; - width: 100%; - margin: 40px 0; -} - -table, -th, -td { - border: 1px dashed $accent; - padding: 10px; -} - -th { - color: $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: $accent; - display: inline-block; - text-align: right; - } - - ol { - margin-left: 38px; - - li { - counter-increment: li; - } - - li:before { - content: counters(li, ".") " "; - } - } -} - -mark { - background: $accent; - color: $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: $border-color; - height: 1px; -} - -.hidden { - display: none; -} - -sup { - line-height: 0; -} diff --git a/themes/terminal/assets/css/menu.scss b/themes/terminal/assets/css/menu.scss deleted file mode 100755 index fdd3075..0000000 --- a/themes/terminal/assets/css/menu.scss +++ /dev/null @@ -1,157 +0,0 @@ -@mixin menu { - display: none; - flex-direction: column; - $shadow-color: transparentize($background, .2); - $shadow: 0 10px $shadow-color, -10px 10px $shadow-color, 10px 10px $shadow-color; - position: absolute; - background: $background; - box-shadow: $shadow; - color: white; - border: 2px solid; - margin: 0; - padding: 10px; - top: 10px; - left: 0; - list-style: none; - z-index: 99; -} - -@mixin header-menu-trigger { - color: $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 ($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 ($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: $accent; - user-select: none; - cursor: pointer; - } - - &__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 ($phone) { - display: none - } - } - - &--mobile { - .menu__trigger { - @include header-menu-trigger; - display: none; - - @media ($phone) { - display: block; - } - } - - .menu__dropdown { - @media ($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 ($phone) { - display: none; - } - } - - .menu__dropdown { - left: auto; - right: 0; - } - } -} diff --git a/themes/terminal/assets/css/pagination.scss b/themes/terminal/assets/css/pagination.scss deleted file mode 100755 index c65efcb..0000000 --- a/themes/terminal/assets/css/pagination.scss +++ /dev/null @@ -1,87 +0,0 @@ -.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: $background; - color: transparentize($color, .7); - 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($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; - } -} diff --git a/themes/terminal/assets/css/post.scss b/themes/terminal/assets/css/post.scss deleted file mode 100755 index 223139b..0000000 --- a/themes/terminal/assets/css/post.scss +++ /dev/null @@ -1,128 +0,0 @@ -.index-content { - margin-top: 20px; -} - -.framed { - border: 1px solid $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 $border-color; - } - - &-meta { - font-size: 1rem; - margin-bottom: 10px; - color: transparentize($accent, .3); - } - - &-title { - $border: 3px dotted $accent; - position: relative; - color: $accent; - margin: 0 0 15px; - padding-bottom: 15px; - border-bottom: $border; - - &:after { - content: ''; - position: absolute; - bottom: 2px; - display: block; - width: 100%; - border-bottom: $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 $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: $accent; - } - } -} - -.post--regulation { - h1 { - justify-content: center; - } - - h2 { - justify-content: center; - margin-bottom: 10px; - - & + h2 { - margin-top: -10px; - margin-bottom: 20px; - } - } -} - -.hanchor { - color: transparentize($accent, .1); - text-decoration: none; - margin-left: 10px; - visibility: hidden; -} - -h1:hover a, h2:hover a, h3:hover a, h4:hover a { - visibility: visible; -} - -.footnotes { - color: transparentize($color, .5); -} diff --git a/themes/terminal/assets/css/prism.scss b/themes/terminal/assets/css/prism.scss deleted file mode 100755 index e4268ae..0000000 --- a/themes/terminal/assets/css/prism.scss +++ /dev/null @@ -1,336 +0,0 @@ -/* 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.scss b/themes/terminal/assets/css/style.scss deleted file mode 100755 index f32f759..0000000 --- a/themes/terminal/assets/css/style.scss +++ /dev/null @@ -1,19 +0,0 @@ -@import "variables"; - -@import "font"; -@import "buttons"; -@import "form"; - -@import "header"; -@import "menu"; -@import "logo"; -@import "main"; -@import "post"; -@import "pagination"; -@import "footer"; - -@import "prism"; -@import "syntax"; -@import "code"; -@import "terms"; -@import "gist"; diff --git a/themes/terminal/assets/css/styles.css b/themes/terminal/assets/css/styles.css new file mode 100644 index 0000000..c59fea0 --- /dev/null +++ b/themes/terminal/assets/css/styles.css @@ -0,0 +1,1336 @@ +:root { + --phoneWidth: (max-width: 684px); + --tabletWidth: (max-width: 900px); +} + +@font-face { + font-family: 'Troll'; + src: url('/troll.ttf'); +} + +.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: 8; + border: 1px solid #ee72f1; + background: #ee72f1; + color: #21202c; + font: inherit; + font-weight: bold; + appearance: none; + cursor: pointer; + outline: none; +} +button:hover, +.button:hover, +a.button:hover { + background: rgba(238, 114, 241, 0.9); +} +button.outline, +.button.outline, +a.button.outline { + background: transparent; + box-shadow: none; + padding: 8px 18px; +} +button.outline :hover, +.button.outline :hover, +a.button.outline :hover { + transform: none; + box-shadow: none; +} +button.link, +.button.link, +a.button.link { + background: none; + font-size: 1rem; +} +button.small, +.button.small, +a.button.small { + font-size: 0.8rem; +} +button.wide, +.button.wide, +a.button.wide { + min-width: 200px; + padding: 14px 24px; +} +a.read-more, +a.read-more:hover, +a.read-more:active { + display: inline-flex; + border: none; + color: #ee72f1; + background: none; + box-shadow: none; + padding: 0; + margin: 20px 0; + max-width: 100%; +} +.code-toolbar { + margin-bottom: 20px; +} +.code-toolbar .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; +} +input, +textarea, +select { + background: transparent; + color: #ee72f1; + border: 1px solid #ee72f1; + border-radius: 0; + padding: 10px; + font: inherit; + appearance: none; +} +input:focus, +input :active, +textarea:focus, +textarea :active, +select:focus, +select :active { + border-color: #fff; + outline: 1px solid #fff; +} +input:active, +textarea:active, +select:active { + box-shadow: none; +} +select { + background: #21202c; +} +select option { + background: #21202c; +} +::placeholder { + color: rgba(238, 114, 241, 0.5); +} +.header { + display: flex; + flex-direction: column; + position: relative; +} +@media print { + .header { + display: none; + } +} +.header__inner { + display: flex; + align-items: center; + justify-content: space-between; +} +.header__logo { + display: flex; + flex: 1; +} +.header__logo:after { + content: ""; + background: repeating-linear-gradient( + 90deg, + #ee72f1, + #ee72f1 2px, + transparent 0, + transparent 10px + ); + display: block; + width: 100%; + right: 10px; +} +.header__logo a { + flex: 0 0 auto; + max-width: 100%; + text-decoration: none; +} +.navigation-menu { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin: 20px 1px; +} +@media (max-width: 684px) { + .navigation-menu { + margin: 0; + } +} +.navigation-menu__inner { + display: flex; + flex: 1; + flex-wrap: wrap; + list-style: none; + margin: 0; + padding: 0; +} +.navigation-menu__inner > li { + flex: 0 0 auto; + margin-bottom: 10px; + white-space: nowrap; +} +.navigation-menu__inner > li:not(:last-of-type) { + margin-right: 20px; +} +@media (max-width: 684px) { + .navigation-menu__inner { + flex-direction: column; + align-items: flex-start; + padding: 0; + } + .navigation-menu__inner li { + margin: 0; + padding: 5px; + } +} +.navigation-menu .spacer { + flex-grow: 1 !important; +} +.menu { + display: flex; + flex-direction: column; + position: relative; + list-style: none; + padding: 0; + margin: 0; +} +.menu__trigger { + margin-right: 0 !important; + color: #ee72f1; + user-select: none; + cursor: pointer; +} +.menu__dropdown { + display: none; + flex-direction: column; + position: absolute; + background: #21202c; + box-shadow: 0 10px rgba(33, 32, 44, 0.8), -10px 10px rgba(33, 32, 44, 0.8), + 10px 10px rgba(33, 32, 44, 0.8); + color: white; + border: 2px solid; + margin: 0; + padding: 10px; + top: 10px; + left: 0; + list-style: none; + z-index: 99; +} +.open .menu__dropdown { + display: flex; +} +.menu__dropdown > li { + flex: 0 0 auto; +} +.menu__dropdown > li:not(:last-of-type) { + margin-bottom: 10px; +} +.menu__dropdown > li a { + display: flex; + padding: 5px; +} +@media (max-width: 684px) { + .menu--desktop { + display: none; + } +} +.menu--mobile .menu__trigger { + color: #ee72f1; + border: 2px solid; + margin-left: 10px; + height: 100%; + padding: 3px 8px; + margin-bottom: 0 !important; + position: relative; + cursor: pointer; + display: none; +} +@media (max-width: 684px) { + .menu--mobile .menu__trigger { + display: block; + } +} +@media (max-width: 684px) { + .menu--mobile .menu__dropdown { + left: auto; + right: 0; + } +} +.menu--mobile li { + flex: 0 0 auto; +} +.menu--mobile li:not(:last-of-type) { + margin-bottom: 10px; +} +.menu--language-selector .menu__trigger { + color: #ee72f1; + border: 2px solid; + margin-left: 10px; + height: 100%; + padding: 3px 8px; + margin-bottom: 0 !important; + position: relative; + cursor: pointer; +} +@media (max-width: 684px) { + .menu--language-selector .menu__trigger { + display: none; + } +} +.menu--language-selector .menu__dropdown { + left: auto; + right: 0; +} +.logo { + display: flex; + align-items: center; + text-decoration: none; + background: #ee72f1; + color: black; + padding: 5px 10px; + font-size: 24px; + font-weight: 600; + font-family: 'Troll' !important; +} +html { + box-sizing: border-box; +} +*, +*:before, +*:after { + box-sizing: inherit; +} +body { + margin: 0; + padding: 0; + font-family: "Courier New", monospace; + font-size: 1rem; + line-height: 1.54; + letter-spacing: -0.02em; + background-color: #21202c; + color: #fff; + 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: 684px) { + body { + font-size: 1rem; + } +} +.headings--one-size h1, +.headings--one-size h2, +.headings--one-size h3, +.headings--one-size h4, +.headings--one-size h5, +.headings--one-size h6 { + line-height: 1.3; +} +.headings--one-size h1:not(first-child), +.headings--one-size h2:not(first-child), +.headings--one-size h3:not(first-child), +.headings--one-size h4:not(first-child), +.headings--one-size h5:not(first-child), +.headings--one-size h6:not(first-child) { + margin-top: 40px; +} +.headings--one-size h1, +.headings--one-size h2, +.headings--one-size h3 { + font-size: 1.4rem; +} +.headings--one-size h4, +.headings--one-size h5, +.headings--one-size h6 { + font-size: 1.2rem; +} +a { + color: inherit; +} +img { + display: block; + max-width: 100%; +} +img.left { + margin-right: auto; +} +img.center { + margin-left: auto; + margin-right: auto; +} +img.right { + margin-left: auto; +} +p { + margin-bottom: 20px; +} +figure { + display: table; + max-width: 100%; + margin: 25px 0; +} +figure.left { + margin-right: auto; +} +figure.center { + margin-left: auto; + margin-right: auto; +} +figure.right { + margin-left: auto; +} +figure figcaption { + font-size: 14px; + padding: 5px 10px; + margin-top: 5px; + background: #ee72f1; + color: #21202c; +} +figure figcaption.left { + text-align: left; +} +figure figcaption.center { + text-align: center; +} +figure figcaption.right { + text-align: right; +} +code, +kbd { + font-family: "Fira Code", Monaco, Consolas, Ubuntu Mono, monospace !important; + font-feature-settings: normal; + background: rgba(238, 114, 241, 0.2); + color: #ee72f1; + padding: 1px 6px; + margin: 0 2px; + font-size: 0.95rem; +} +code code, +code kbd, +kbd code, +kbd kbd { + background: transparent; + padding: 0; + margin: 0; +} +pre { + background: transparent !important; + padding: 20px 10px; + margin: 40px 0; + font-size: 0.95rem !important; + overflow: auto; + border-top: 1px solid rgba(255, 255, 255, 0.1); + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} +pre + pre { + border-top: 0; + margin-top: -40px; +} +@media (max-width: 684px) { + pre { + white-space: pre-wrap; + word-wrap: break-word; + } +} +pre code { + background: none !important; + margin: 0; + padding: 0; + font-size: inherit; + border: none; +} +blockquote { + border-top: 1px solid #ee72f1; + border-bottom: 1px solid #ee72f1; + margin: 40px 0; + padding: 25px; +} +@media (max-width: 684px) { + blockquote { + padding-right: 0; + } +} +blockquote p:first-of-type { + margin-top: 0; +} +blockquote p:last-of-type { + margin-bottom: 0; +} +blockquote p { + position: relative; +} +blockquote p:first-of-type:before { + content: ">"; + display: block; + position: absolute; + left: -25px; + color: #ee72f1; +} +blockquote.twitter-tweet { + position: relative; + background: rgba(238, 114, 241, 0.1); + font: inherit; + color: inherit; + border: 1px solid #ee72f1; + padding-top: 60px; +} +blockquote.twitter-tweet p:before { + content: ""; +} +blockquote.twitter-tweet:before { + content: "> From Twitter:"; + position: absolute; + top: 20px; + color: #ee72f1; + font-weight: bold; +} +blockquote.twitter-tweet a { + color: #ee72f1; +} +table { + table-layout: auto; + border-collapse: collapse; + width: 100%; + margin: 40px 0; +} +table, +th, +td { + border: 1px dashed #ee72f1; + padding: 10px; +} +th { + color: #ee72f1; +} +ul, +ol { + margin-left: 22px; + padding: 0; +} +ul li, +ol li { + position: relative; +} +@media (max-width: 684px) { + ul, + ol { + margin-left: 20px; + } +} +ol { + list-style: none; + counter-reset: li; +} +ol li { + counter-increment: li; +} +ol li:before { + content: counter(li); + position: absolute; + right: calc(100% + 10px); + color: #ee72f1; + display: inline-block; + text-align: right; +} +ol ol { + margin-left: 38px; +} +ol ol li { + counter-increment: li; +} +ol ol li:before { + content: counters(li, ".") " "; +} +mark { + background: #ee72f1; + color: #21202c; +} +.container { + display: flex; + flex-direction: column; + padding: 40px; + max-width: 864px; + min-height: 100vh; + border-right: 1px solid rgba(255, 255, 255, 0.1); +} +.container.full, +.container.center { + border: none; + margin: 0 auto; +} +.container.full { + max-width: 100%; +} +@media (max-width: 684px) { + .container { + padding: 20px; + } +} +@media print { + .container { + display: initial; + } +} +.content { + display: flex; + flex-direction: column; +} +@media print { + .content { + display: initial; + } +} +hr { + width: 100%; + border: none; + background: rgba(255, 255, 255, 0.1); + height: 1px; +} +.hidden { + display: none; +} +sup { + line-height: 0; +} +.index-content { + margin-top: 20px; +} +.framed { + border: 1px solid #ee72f1; + padding: 20px; +} +.framed *:first-child { + margin-top: 0; +} +.framed *:last-child { + margin-bottom: 0; +} +.posts { + width: 100%; +} +.post { + width: 100%; + text-align: left; + margin: 20px auto; + padding: 20px 0; +} +.post:not(:last-of-type) { + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} +.post-meta { + font-size: 1rem; + margin-bottom: 10px; + color: rgba(238, 114, 241, 0.7); +} +.post-title { + position: relative; + color: #ee72f1; + margin: 0 0 15px; + padding-bottom: 15px; + border-bottom: 3px dotted #ee72f1; +} +.post-title:after { + content: ""; + position: absolute; + bottom: 2px; + display: block; + width: 100%; + border-bottom: 3px dotted #ee72f1; +} +.post-title a { + text-decoration: none; +} +.post-tags { + display: block; + margin-bottom: 20px; + font-size: 1rem; + opacity: 0.5; +} +.post-tags a { + text-decoration: none; +} +.post-content { + margin-top: 30px; +} +.post-cover { + border: 20px solid #ee72f1; + background: transparent; + margin: 40px 0; + padding: 20px; +} +@media (max-width: 684px) { + .post-cover { + padding: 10px; + border-width: 10px; + } +} +.post ul { + list-style: none; +} +.post ul li:not(:empty):before { + content: "-"; + position: absolute; + left: -20px; + color: #ee72f1; +} +.post--regulation h1 { + justify-content: center; +} +.post--regulation h2 { + justify-content: center; + margin-bottom: 10px; +} +.post--regulation h2 + h2 { + margin-top: -10px; + margin-bottom: 20px; +} +.hanchor { + color: rgba(238, 114, 241, 0.9); + text-decoration: none; + margin-left: 10px; + visibility: hidden; +} +h1:hover a, +h2:hover a, +h3:hover a, +h4:hover a { + visibility: visible; +} +.footnotes { + color: rgba(255, 255, 255, 0.5); +} +.pagination { + margin-top: 50px; +} +@media print { + .pagination { + display: none; + } +} +.pagination__title { + display: flex; + text-align: center; + position: relative; + margin: 100px 0 20px; +} +.pagination__title-h { + text-align: center; + margin: 0 auto; + padding: 5px 10px; + background: #21202c; + color: rgba(255, 255, 255, 0.3); + font-size: 0.8rem; + text-transform: uppercase; + text-decoration: none; + letter-spacing: 0.1em; + z-index: 1; +} +.pagination__title hr { + position: absolute; + left: 0; + right: 0; + width: 100%; + margin-top: 15px; + z-index: 0; +} +.pagination__buttons { + display: flex; + align-items: center; + justify-content: center; + flex-flow: row wrap; + gap: 10px; +} +.pagination__buttons 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: 684px) { + .button { + flex: 1; + } +} +.button a { + display: flex; + justify-content: center; + flex: 1; + padding: 8px 16px; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.button__text { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.button.next .button__icon { + margin-left: 8px; +} +.button.previous .button__icon { + margin-right: 8px; +} +.footer { + padding: 40px 0; + flex-grow: 0; + opacity: 0.5; +} +.footer__inner { + display: flex; + align-items: center; + justify-content: space-between; + margin: 0; + width: 760px; + max-width: 100%; +} +@media (max-width: 900px) { + .footer__inner { + flex-direction: column; + } +} +.footer a { + color: inherit; +} +.footer .copyright { + display: flex; + flex-flow: row wrap; + flex: 1; + align-items: center; + font-size: 1rem; + justify-content: center; +} +.footer .copyright--user { + margin: auto; + text-align: center; +} +.footer .copyright > *:first-child:not(:only-child) { + margin-right: 10px; +} +.footer .copyright span { + white-space: nowrap; +} +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; +} +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2d2d2d; +} +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.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; + background: rgba(153, 122, 102, 0.08); + background: linear-gradient( + to right, + rgba(153, 122, 102, 0.1) 70%, + rgba(153, 122, 102, 0) + ); + pointer-events: none; + line-height: inherit; + white-space: pre; +} +@media print { + .line-highlight { + -webkit-print-color-adjust: exact; + color-adjust: exact; + } +} +.line-highlight:before, +.line-highlight[data-end]:after { + content: attr(data-start); + position: absolute; + top: 0.4em; + left: 0.6em; + min-width: 1em; + padding: 0 0.5em; + background-color: rgba(153, 122, 102, 0.4); + color: #f5f2f0; + font: bold 65%/1.5 sans-serif; + text-align: center; + vertical-align: 0.3em; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px white; +} +.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; +} +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, 0.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; + 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: 0.3em; + right: 0.2em; + transition: opacity 0.3s ease-in-out; + opacity: 0; +} +div.code-toolbar:hover > .toolbar { + opacity: 1; +} +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; + -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: 0.8em; + padding: 0 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: 0.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; +} +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: #ee72f1 !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: rgba(238, 114, 241, 0.7) !important; +} +.token.property, +.token.function, +.token.function-name, +.token.deleted, +code.language-javascript, +code.language-html, +.command-line-prompt > span:before { + color: #9a999a !important; +} +.token.selector, +.token.tag, +.token.punctuation { + color: white; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: rgba(255, 255, 255, 0.3) !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: rgba(230, 118, 232, 0.08); + 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: rgba(153, 122, 102, 0.4); + color: #f5f2f0; + font: bold 65%/1.5 sans-serif; + text-align: center; + vertical-align: 0.3em; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px white; +} +.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 { + position: relative; + margin: 40px 0; + padding: 20px; + border: 1px solid rgba(255, 255, 255, 0.1); +} +.code-toolbar + .code-toolbar, +.code-toolbar + .highlight, +.code-toolbar + .highlight .code-toolbar { + border-top: 0; + margin-top: calc(-1 * $code-margin); +} +.code-toolbar pre, +.code-toolbar code { + border: none; +} +.code-toolbar code { + display: block; + color: inherit; +} +.code-toolbar > .toolbar button { + font-size: 0.8em !important; + background: rgba(224, 224, 224, 0.2) !important; + color: #bbb !important; + box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2) !important; + border-radius: 0 !important; + margin: 6px !important; + padding: 10px !important; + user-select: none; +} +.collapsable-code { + position: relative; + width: 100%; + margin: 40px 0; +} +.collapsable-code input[type="checkbox"] { + position: absolute; + visibility: hidden; +} +.collapsable-code input[type="checkbox"]:checked ~ pre, +.collapsable-code input[type="checkbox"]:checked ~ .code-toolbar pre { + height: 0; + padding: 0; + border-top: none; +} +.collapsable-code input[type="checkbox"]:checked ~ .code-toolbar { + padding: 0; + border-top: none; +} +.collapsable-code input[type="checkbox"]:checked ~ .code-toolbar .toolbar { + display: none; +} +.collapsable-code + input[type="checkbox"]:checked + ~ label + .collapsable-code__toggle:after { + content: attr(data-label-expand); +} +.collapsable-code label { + position: relative; + display: flex; + justify-content: space-between; + min-width: 30px; + min-height: 30px; + margin: 0; + border-bottom: 1px solid #e676e8; + cursor: pointer; +} +.collapsable-code__title { + flex: 1; + color: #ee72f1; + padding: 3px 10px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.collapsable-code__language { + color: #ee72f1; + border: 1px solid #e676e8; + border-bottom: none; + text-transform: uppercase; + padding: 3px 10px; +} +.collapsable-code__toggle { + color: #ee72f1; + font-size: 16px; + padding: 3px 10px; +} +.collapsable-code__toggle:after { + content: attr(data-label-collapse); +} +.collapsable-code pre { + margin-top: 0; +} +.collapsable-code pre::first-line { + line-height: 0; +} +.collapsable-code .code-toolbar { + margin: 0; +} +.terms h1 { + color: #ee72f1; +} +.terms h3 { + font-size: initial; +} +body .gist .blob-num, +body .gist .blob-code-inner { + border: none; +} diff --git a/themes/terminal/assets/css/syntax.scss b/themes/terminal/assets/css/syntax.scss deleted file mode 100755 index 27aecc7..0000000 --- a/themes/terminal/assets/css/syntax.scss +++ /dev/null @@ -1,153 +0,0 @@ -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: $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: transparentize($accent, .3) !important; -} - -.token.property, -.token.function, -.token.function-name, -.token.deleted, -code.language-javascript, -code.language-html, -.command-line-prompt > span:before { - color: mix($accent, #999, .9) !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: transparentize(mix($accent, #999, 90%), .92); - 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; -} - -.code-toolbar { - $code-margin: 40px; - position: relative; - margin: $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 * $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.scss b/themes/terminal/assets/css/terms.scss deleted file mode 100755 index 0c9a61b..0000000 --- a/themes/terminal/assets/css/terms.scss +++ /dev/null @@ -1,9 +0,0 @@ -.terms { - h1 { - color: $accent; - } - - h3 { - font-size: initial; - } -} diff --git a/themes/terminal/assets/css/variables.scss b/themes/terminal/assets/css/variables.scss deleted file mode 100755 index 09c7e28..0000000 --- a/themes/terminal/assets/css/variables.scss +++ /dev/null @@ -1,14 +0,0 @@ -/* COLOR VARIABLES */ -$background: mix($accent, #1D1E28, 2%); -$color: white; -$border-color: rgba(255, 255, 255, .1); - -/* MEDIA QUERIES */ -$phone: "max-width: 684px"; -$tablet: "max-width: 900px"; - -/* variables for js, must be the same as these in @custom-media queries */ -:root { - --phoneWidth: (max-width: 684px); - --tabletWidth: (max-width: 900px); -} diff --git a/themes/terminal/layouts/partials/head.html b/themes/terminal/layouts/partials/head.html index f91ea16..50c9a0c 100755 --- a/themes/terminal/layouts/partials/head.html +++ b/themes/terminal/layouts/partials/head.html @@ -1,94 +1,95 @@ - - - -{{ if .Params.noindex }} - {{ if or (eq (.Param "noindex") true) (eq (.Param "noindex") "true") }} - - {{ end }} -{{ else }} - + + + {{ if .Params.noindex }} {{ if +or (eq (.Param "noindex") true) (eq (.Param "noindex") "true") }} + +{{ end }} {{ else }} + {{ end }} -{{ template "_internal/google_analytics.html" . }} - -{{ $defaultStyles := resources.Get "css/style.scss" }} - -{{ if and (isset .Params "color") (not (eq .Params.color "")) }} - {{ $localColorCss := resources.Get (printf "css/color/%s.scss" .Params.color) }} - {{ $localCss := slice $localColorCss $defaultStyles | resources.Concat (printf "css/%s-local.scss" .Params.color) }} - {{ $localColorStyles := $localCss | resources.ToCSS }} - -{{ else }} - - {{ $colorCss := resources.Get (printf "css/color/%s.scss" ($.Site.Params.ThemeColor | default "orange")) }} - {{ $css := slice $colorCss $defaultStyles | resources.Concat "css/base.scss" }} - {{ $options := (dict "targetPath" "styles.css" "outputStyle" "compressed" "enableSourceMap" true "precision" 6 "includePaths" (slice "node_modules")) }} - {{ $styles := $css | resources.ToCSS $options }} - -{{ end }} - - -{{ if (fileExists "static/style.css") -}} - -{{- end }} +{{- with resources.Get "css/styles.css" }} {{- if eq hugo.Environment +"development" }} + +{{- else }} {{- with . | minify | fingerprint }} + +{{- end }} {{- end }} {{- end }} {{ if isset $.Site.Params "favicon" }} - -{{ else }} - - + {{ end }} -{{ if (isset $.Site.Params "twitter") }} - {{ if (isset $.Site.Params.Twitter "site") }} - - {{ end }} - -{{ end }} +{{ if (isset $.Site.Params "twitter") }} {{ if (isset $.Site.Params.Twitter +"site") }} + +{{ end }} {{ end }} - - - + + + -{{ if (isset .Params "cover") }} - {{ $pageCover := .Param "cover" }} - {{ with (.Resources.GetMatch (.Param "cover")) }} - {{ $pageCover = .RelPermalink }} - {{ end }} - -{{ else }} - {{ if isset $.Site.Params "favicon" }} - - {{ else }} - - {{ end }} -{{ end }} - - +{{ if (isset .Params "cover") }} {{ $pageCover := .Param "cover" }} {{ with +(.Resources.GetMatch (.Param "cover")) }} {{ $pageCover = .RelPermalink }} {{ +end }} + +{{ else }} {{ if isset $.Site.Params "favicon" }} + +{{ else }} {{ end }} {{ end }} + + {{ range .Params.categories }} - -{{ end }} -{{ if isset .Params "date" }} - + +{{ end }} {{ if isset .Params "date" }} + {{ end }} {{ with .OutputFormats.Get "RSS" }} - + {{ end }} {{ with .OutputFormats.Get "json" }} - + {{ end }}