Compare commits
55 commits
b878f3e258
...
601b17c8b5
Author | SHA1 | Date | |
---|---|---|---|
601b17c8b5 | |||
2f453c4746 | |||
8689bd1d17 | |||
f7bb0bf346 | |||
3f33d45eb3 | |||
a4842f5f2f | |||
d5bccdc3c1 | |||
79e8d430c5 | |||
559b408a3a | |||
946f88fa18 | |||
ae49705ff6 | |||
d8eec50530 | |||
e0a64994ca | |||
74bd2fa517 | |||
3e7cbf0d44 | |||
319bc30e98 | |||
dc3e15e433 | |||
77b3cf5e42 | |||
0845eea580 | |||
acc089f798 | |||
c8f1712dad | |||
327327717b | |||
f40614ec13 | |||
164c37f853 | |||
20b77e01e8 | |||
317df859c0 | |||
35d38b5aff | |||
1609762757 | |||
5bc6856df7 | |||
972daef91e | |||
c7138fcb87 | |||
ff91a2c6c4 | |||
792a1d3f56 | |||
e8f59dd225 | |||
77602fcc97 | |||
2a189f340c | |||
d1942dc2bf | |||
b7ea77f56c | |||
6faf2d6c60 | |||
5f4876ea5a | |||
c06c410edc | |||
7f55c921e3 | |||
fdfbb65634 | |||
1080ae1e3a | |||
51b93fc748 | |||
fc9698a6bd | |||
bbc2b37578 | |||
29d92b68af | |||
1df73b6665 | |||
2e756072bc | |||
1ec5a14695 | |||
5d81f25f58 | |||
858d291819 | |||
6dd4bb0b8e | |||
ff4d05f3a1 |
12 changed files with 778 additions and 104 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,6 +1,3 @@
|
|||
[submodule "themes/terminal"]
|
||||
path = themes/terminal
|
||||
url = https://git.revsuine.xyz/revsuine/hugo-theme-terminal.git
|
||||
[submodule "themes/boxgruv"]
|
||||
path = themes/boxgruv
|
||||
url = https://git.revsuine.xyz/revsuine/hugo-theme-boxgruv.git
|
||||
|
|
13
README.md
13
README.md
|
@ -1,7 +1,7 @@
|
|||
# revsuine.xyz Website
|
||||
|
||||
These are the markdown files used to build [my website](https://revsuine.xyz/) with [Hugo](https://gohugo.io/). The
|
||||
live website is currently built off of the `terminal` branch.
|
||||
website uses [panr's Terminal theme](https://github.com/panr/hugo-theme-terminal).
|
||||
|
||||
## Style
|
||||
|
||||
|
@ -9,17 +9,6 @@ Lines have a character limit of 120 where possible.
|
|||
|
||||
## Theming
|
||||
|
||||
### Theme Branches
|
||||
|
||||
I have branches for each theme for the website. Commits to `master` should be theme-independent commits, e.g. new
|
||||
posts. Theme branches should pull from `master` whenever there are new `master` commits. Commits exclusive to theme
|
||||
branches should *only* be for changes relevant to the theme.
|
||||
|
||||
Theme branches are what should be used to build the website. `master` should not be used for building/deployment, only
|
||||
to store common changes among all branches.
|
||||
|
||||
### [Terminal](https://github.com/panr/hugo-theme-terminal)
|
||||
|
||||
Colours taken from [gruvbox-material medium](https://github.com/sainnhe/gruvbox-material).
|
||||
|
||||
| Element | Colour |
|
||||
|
|
210
assets/css/prism.css
Normal file
210
assets/css/prism.css
Normal file
|
@ -0,0 +1,210 @@
|
|||
/**
|
||||
* Gruvbox dark theme
|
||||
*
|
||||
* Adapted from a theme based on:
|
||||
* Vim Gruvbox dark Theme (https://github.com/morhetz/gruvbox)
|
||||
*
|
||||
* @author Azat S. <to@azat.io>
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: #ebdbb2; /* fg1 / fg */
|
||||
font-family: "Fira Code", "Ubuntu Mono", Consolas, Monaco, "Andale Mono", monospace;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: 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-"]::-moz-selection,
|
||||
pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection,
|
||||
code[class*="language-"] ::-moz-selection {
|
||||
color: #fbf1c7; /* fg0 */
|
||||
background: #7c6f64; /* bg4 */
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection,
|
||||
pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection,
|
||||
code[class*="language-"] ::selection {
|
||||
color: #fbf1c7; /* fg0 */
|
||||
background: #7c6f64; /* bg4 */
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: 0.5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #1d2021; /* bg0_h */
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*="language-"] {
|
||||
padding: 0.1em;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.cdata {
|
||||
color: #a89984; /* fg4 / gray1 */
|
||||
}
|
||||
|
||||
.token.delimiter,
|
||||
.token.boolean,
|
||||
.token.keyword,
|
||||
.token.selector,
|
||||
.token.important,
|
||||
.token.atrule {
|
||||
color: #fb4934; /* red2 */
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.punctuation,
|
||||
.token.attr-name {
|
||||
color: #a89984; /* fg4 / gray1 */
|
||||
}
|
||||
|
||||
.token.tag,
|
||||
.token.tag .punctuation,
|
||||
.token.doctype,
|
||||
.token.builtin {
|
||||
color: #fabd2f; /* yellow2 */
|
||||
}
|
||||
|
||||
.token.entity,
|
||||
.token.number,
|
||||
.token.symbol {
|
||||
color: #d3869b; /* purple2 */
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.constant,
|
||||
.token.variable {
|
||||
color: #fb4934; /* red2 */
|
||||
}
|
||||
|
||||
.token.string,
|
||||
.token.char {
|
||||
color: #b8bb26; /* green2 */
|
||||
}
|
||||
|
||||
.token.attr-value,
|
||||
.token.attr-value .punctuation {
|
||||
color: #a89984; /* fg4 / gray1 */
|
||||
}
|
||||
|
||||
.token.url {
|
||||
color: #b8bb26; /* green2 */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.token.function {
|
||||
color: #fabd2f; /* yellow2 */
|
||||
}
|
||||
|
||||
.token.regex {
|
||||
background: #b8bb26; /* green2 */
|
||||
}
|
||||
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.inserted {
|
||||
background: #a89984; /* fg4 / gray1 */
|
||||
}
|
||||
|
||||
.token.deleted {
|
||||
background: #fb4934; /* red2 */
|
||||
}
|
||||
|
||||
/* css for hover button from https://github.com/panr/hugo-theme-terminal/blob/master/assets/css/prism.css */
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/* 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;
|
||||
|
||||
/* for button */
|
||||
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, 20%);
|
||||
box-shadow: 0 2px 0 0 rgba(0, 0, 0, 20%);
|
||||
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;
|
||||
}
|
5
assets/css/syntax.css
Normal file
5
assets/css/syntax.css
Normal file
|
@ -0,0 +1,5 @@
|
|||
pre[class*=language-] {
|
||||
margin: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
158
hugo.toml
158
hugo.toml
|
@ -2,7 +2,7 @@ baseURL = 'https://revsuine.xyz/'
|
|||
languageCode = 'en-gb'
|
||||
title = 'revsuine'
|
||||
|
||||
theme = 'boxgruv'
|
||||
theme = 'terminal'
|
||||
|
||||
[taxonomies]
|
||||
# allow you to set tags with tags = [ 'tags', 'here' ] in post front matter
|
||||
|
@ -22,94 +22,102 @@ theme = 'boxgruv'
|
|||
|
||||
### TERMINAL THEME CONFIG ###
|
||||
|
||||
# [params]
|
||||
# # dir name of your main content (default is `content/posts`).
|
||||
# # the list of set content will show up on your index page (baseurl).
|
||||
# contentTypeName = "blog"
|
||||
[params]
|
||||
# dir name of your main content (default is `content/posts`).
|
||||
# the list of set content will show up on your index page (baseurl).
|
||||
contentTypeName = "blog"
|
||||
|
||||
# # if you set this to 0, only submenu trigger will be visible
|
||||
# showMenuItems = 5
|
||||
# if you set this to 0, only submenu trigger will be visible
|
||||
showMenuItems = 5
|
||||
|
||||
# # show selector to switch language
|
||||
# showLanguageSelector = false
|
||||
# show selector to switch language
|
||||
showLanguageSelector = false
|
||||
|
||||
# # set theme to full screen width
|
||||
# fullWidthTheme = false
|
||||
# set theme to full screen width
|
||||
fullWidthTheme = false
|
||||
|
||||
# # center theme with default width
|
||||
# centerTheme = true
|
||||
# center theme with default width
|
||||
centerTheme = true
|
||||
|
||||
# # if your resource directory contains an image called `cover.(jpg|png|webp)`,
|
||||
# # then the file will be used as a cover automatically.
|
||||
# # With this option you don't have to put the `cover` param in a front-matter.
|
||||
# autoCover = true
|
||||
# if your resource directory contains an image called `cover.(jpg|png|webp)`,
|
||||
# then the file will be used as a cover automatically.
|
||||
# With this option you don't have to put the `cover` param in a front-matter.
|
||||
autoCover = true
|
||||
|
||||
# # set post to show the last updated
|
||||
# # If you use git, you can set `enableGitInfo` to `true` and then post will automatically get the last updated
|
||||
# showLastUpdated = false
|
||||
# set post to show the last updated
|
||||
# If you use git, you can set `enableGitInfo` to `true` and then post will automatically get the last updated
|
||||
showLastUpdated = true
|
||||
enableGitInfo = true
|
||||
|
||||
# # Provide a string as a prefix for the last update date. By default, it looks like this: 2020-xx-xx [Updated: 2020-xx-xx] :: Author
|
||||
# # updatedDatePrefix = "Updated"
|
||||
# Provide a string as a prefix for the last update date. By default, it looks like this: 2020-xx-xx [Updated: 2020-xx-xx] :: Author
|
||||
# updatedDatePrefix = "Updated"
|
||||
|
||||
# # whether to show a page's estimated reading time
|
||||
# # readingTime = false # default
|
||||
# whether to show a page's estimated reading time
|
||||
# readingTime = false # default
|
||||
|
||||
# # whether to show a table of contents
|
||||
# # can be overridden in a page's front-matter
|
||||
# # Toc = false # default
|
||||
# Toc = true
|
||||
# whether to show a page's word count
|
||||
showWordCount = true
|
||||
|
||||
# # set title for the table of contents
|
||||
# # can be overridden in a page's front-matter
|
||||
# # TocTitle = "Table of Contents" # default
|
||||
# whether to show a table of contents
|
||||
# can be overridden in a page's front-matter
|
||||
# Toc = false # default
|
||||
Toc = true
|
||||
|
||||
# set title for the table of contents
|
||||
# can be overridden in a page's front-matter
|
||||
# TocTitle = "Table of Contents" # default
|
||||
|
||||
|
||||
# [params.twitter]
|
||||
# # set Twitter handles for Twitter cards
|
||||
# # see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started#card-and-content-attribution
|
||||
# # do not include @
|
||||
# # creator = ""
|
||||
# site = ""
|
||||
[params.twitter]
|
||||
# set Twitter handles for Twitter cards
|
||||
# see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started#card-and-content-attribution
|
||||
# do not include @
|
||||
creator = ""
|
||||
site = ""
|
||||
|
||||
# [languages]
|
||||
# [languages.en]
|
||||
# languageName = "English"
|
||||
# title = "revsuine"
|
||||
[languages]
|
||||
[languages.en]
|
||||
languageName = "English"
|
||||
title = "revsuine"
|
||||
|
||||
# [languages.en.params]
|
||||
# subtitle = ""
|
||||
# owner = ""
|
||||
# keywords = ""
|
||||
# copyright = ""
|
||||
# menuMore = "Show more"
|
||||
# readMore = "Read more"
|
||||
# readOtherPosts = "Read other posts"
|
||||
# newerPosts = "Newer posts"
|
||||
# olderPosts = "Older posts"
|
||||
# missingContentMessage = "Page not found..."
|
||||
# missingBackButtonLabel = "Back to home page"
|
||||
# minuteReadingTime = "min read"
|
||||
# words = "words"
|
||||
[languages.en.params]
|
||||
subtitle = ""
|
||||
owner = ""
|
||||
keywords = ""
|
||||
copyright = ""
|
||||
menuMore = "Show more"
|
||||
readMore = "Read more"
|
||||
readOtherPosts = "Read other posts"
|
||||
newerPosts = "Newer posts"
|
||||
olderPosts = "Older posts"
|
||||
missingContentMessage = "Page not found..."
|
||||
missingBackButtonLabel = "Back to home page"
|
||||
minuteReadingTime = "min read"
|
||||
words = "words"
|
||||
|
||||
# [languages.en.params.logo]
|
||||
# logoText = "revsuine"
|
||||
# logoHomeLink = "/"
|
||||
[languages.en.params.logo]
|
||||
logoText = "revsuine"
|
||||
logoHomeLink = "/"
|
||||
|
||||
# [languages.en.menu]
|
||||
# [[languages.en.menu.main]]
|
||||
# identifier = "home"
|
||||
# name = "Home"
|
||||
# url = "/"
|
||||
# [[languages.en.menu.main]]
|
||||
# identifier = "blog"
|
||||
# name = "Blog"
|
||||
# url = "/blog"
|
||||
# [[languages.en.menu.main]]
|
||||
# identifier = "about"
|
||||
# name = "About"
|
||||
# url = "/about"
|
||||
# [[languages.en.menu.main]]
|
||||
# identifier = "contact"
|
||||
# name = "Contact"
|
||||
# url = "/contact"
|
||||
[languages.en.menu]
|
||||
[[languages.en.menu.main]]
|
||||
identifier = "home"
|
||||
name = "Home"
|
||||
url = "/"
|
||||
weight = 1
|
||||
[[languages.en.menu.main]]
|
||||
identifier = "about"
|
||||
name = "About"
|
||||
url = "/about"
|
||||
weight = 10
|
||||
[[languages.en.menu.main]]
|
||||
identifier = "blog"
|
||||
name = "Blog"
|
||||
url = "/blog"
|
||||
weight = 20
|
||||
[[languages.en.menu.main]]
|
||||
identifier = "contact"
|
||||
name = "Contact"
|
||||
url = "/contact"
|
||||
weight = 30
|
||||
|
||||
|
|
|
@ -1,12 +1,24 @@
|
|||
<div id="cc-badge-div">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">
|
||||
<img id="cc-badge" width="88px" height="31px" alt="CC BY-SA button"
|
||||
src="https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-sa.png" />
|
||||
</a></div>
|
||||
<footer class="footer">
|
||||
<hr />
|
||||
|
||||
<p>Website contents licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
|
||||
Generated with <a href="https://gohugo.io/">Hugo</a>. Website source available
|
||||
<a href="https://git.revsuine.xyz/revsuine/revsuine.xyz/">here</a> and licensed under the
|
||||
<a href="https://www.gnu.org/licenses/gpl-3.0.txt">GNU General Public Licence v3</a>.</p>
|
||||
<a href="https://www.gnu.org/licenses/gpl-3.0.txt">GNU General Public Licence v3</a>. <a
|
||||
href="https://github.com/panr/hugo-theme-terminal">Theme</a> by <a href="https://github.com/panr/">panr</a>, which is
|
||||
licensed under the <a href="https://github.com/panr/hugo-theme-terminal/blob/master/LICENSE.md">MIT licence</a>.</p>
|
||||
|
||||
<p align="center"><a href="/privacy_policy">Privacy Policy</a></p>
|
||||
</footer>
|
||||
|
||||
<!-- REQUIRED FOR PRISMJS: -->
|
||||
|
||||
{{ $menu := resources.Get "js/menu.js" | js.Build }}
|
||||
{{ $prism := resources.Get "js/prism.js" | js.Build }}
|
||||
|
||||
{{ $bundle := slice $menu $prism | resources.Concat "bundle.js" | resources.Minify }}
|
||||
|
||||
<script type="text/javascript" src="{{ $bundle.RelPermalink }}"></script>
|
||||
|
||||
<!-- /end prismjs stuff -->
|
||||
|
||||
|
|
BIN
static/favicon.png
Normal file
BIN
static/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 238 B |
37
static/gruvbox-material.css
Normal file
37
static/gruvbox-material.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
:root {
|
||||
/* gruvbox material medium dark https://github.com/sainnhe/gruvbox-material */
|
||||
--bg_dim: #1b1b1b;
|
||||
--bg0: #282828;
|
||||
--bg1: #32302f;
|
||||
--bg2: #32302f;
|
||||
--bg3: #45403d;
|
||||
--bg4: #45403d;
|
||||
--bg5: #5a524c;
|
||||
--bg_statusline1: #32302f;
|
||||
--bg_statusline2: #313735;
|
||||
--bg_statusline3: #504945;
|
||||
--bg_diff_green: #34381b;
|
||||
--bg_visual_green: #3b4439;
|
||||
--bg_diff_red: #402120;
|
||||
--bg_visual_red: #4c3432;
|
||||
--bg_diff_blue: #0e363e;
|
||||
--bg_visual_blue: #373131;
|
||||
--bg_visual_yellow: #4f422e;
|
||||
--bg_current_word: #3c3836;
|
||||
--fg0: #d4be98;
|
||||
--fg1: #ddc7a1;
|
||||
--red: #ea6962;
|
||||
--orange: #e78a4e;
|
||||
--yellow: #d8a657;
|
||||
--green: #a9b665;
|
||||
--aqua: #89b482;
|
||||
--blue: #7daea3;
|
||||
--purple: #d3869b;
|
||||
--bg_red: #ea6962;
|
||||
--bg_green: #a9b665;
|
||||
--bg_yellow: #d8a657;
|
||||
--grey0: #7c6f64;
|
||||
--grey1: #928374;
|
||||
--grey2: #a89984;
|
||||
}
|
||||
|
BIN
static/og-image.png
Normal file
BIN
static/og-image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
|
@ -1,10 +1,57 @@
|
|||
/* make footer image display correctly */
|
||||
@import url("gruvbox-material.css");
|
||||
|
||||
#cc-badge-div {
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
padding-top: 20px;
|
||||
padding-right: 10px;
|
||||
float: left !important;
|
||||
:root {
|
||||
--background: var(--bg0);
|
||||
--foreground: var(--fg0);
|
||||
--accent: var(--green);
|
||||
--faint_foreground: var(--grey0);
|
||||
--code_background: var(--bg_dim);
|
||||
--highlight_background: var(--bg3);
|
||||
}
|
||||
|
||||
::selection, ::-moz-selection {
|
||||
background: var(--highlight_background);
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--accent);
|
||||
/* actually i don't like how transitions look */
|
||||
/* transition: 0.3s; */
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--background) !important;
|
||||
background-color: var(--accent) !important;
|
||||
text-decoration-line: none;
|
||||
}
|
||||
|
||||
.code-toolbar {
|
||||
border: 1px solid var(--bg3);
|
||||
}
|
||||
|
||||
code {
|
||||
background: var(--code_background);
|
||||
}
|
||||
|
||||
.post-meta {
|
||||
color: var(--faint_foreground);
|
||||
}
|
||||
|
||||
.footnotes {
|
||||
color: var(--faint_foreground);
|
||||
}
|
||||
|
||||
/* note: grey0 is actually fg0 with 0.5 opacity over bg0, so the below footer css has no effect. however, i've decided
|
||||
* to write it this way because i prefer to not use opacity to create colours when possible, instead setting
|
||||
* full-opacity explicit/unmodified colours. opacity is still used to create the dimmer hr in the footer.
|
||||
* I would set the hr full opacity but there isn't really a "dim green" I can use. */
|
||||
|
||||
.footer {
|
||||
opacity: 1 !important;
|
||||
color: var(--faint_foreground);
|
||||
}
|
||||
|
||||
.footer hr {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
|
|
370
static/terminal.css
Normal file
370
static/terminal.css
Normal file
|
@ -0,0 +1,370 @@
|
|||
@import url("gruvbox-material.css");
|
||||
|
||||
:root {
|
||||
--background: var(--bg0);
|
||||
--foreground: var(--fg0);
|
||||
--accent: var(--green);
|
||||
--font-size: 1rem;
|
||||
--line-height: 1.54rem;
|
||||
--radius: 0px;
|
||||
}
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: "Fira Code", Monaco, Consolas, "Ubuntu Mono", monospace;
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: var(--line-height);
|
||||
letter-spacing: -0.02em;
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
::placeholder {
|
||||
color: color-mix(in srgb var(--foreground) 50%, black);
|
||||
}
|
||||
|
||||
h1,
|
||||
h2 {
|
||||
font-size: calc(var(--font-size) * 1.1);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-decoration: underline;
|
||||
text-decoration-thickness: 2px;
|
||||
text-underline-offset: calc(var(--font-size) * 0.2);
|
||||
}
|
||||
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-size: calc(var(--font-size) * 1.1);
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
ul,
|
||||
ol,
|
||||
img,
|
||||
figure,
|
||||
video,
|
||||
table {
|
||||
margin: calc(var(--line-height) * 1.2) 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
button {
|
||||
position: relative;
|
||||
font: inherit;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
background: transparent;
|
||||
color: var(--accent);
|
||||
padding: 5px 18px;
|
||||
border: 4px solid var(--accent);
|
||||
border-radius: var(--radius);
|
||||
transition: background 0.15s linear;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background: color-mix(in srgb, var(--accent) 15%, transparent);
|
||||
}
|
||||
|
||||
button:focus-visible,
|
||||
a:focus-visible {
|
||||
outline: 1px solid var(--accent);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
display: inline-block;
|
||||
border: 2px solid var(--foreground);
|
||||
border-radius: calc(var(--radius) * 1.6);
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
fieldset *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
fieldset input,
|
||||
fieldset select,
|
||||
fieldset textarea,
|
||||
fieldset label,
|
||||
fieldset button {
|
||||
margin-top: calc(var(--line-height) * 0.5);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
label input {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
input,
|
||||
textarea,
|
||||
select {
|
||||
background: transparent;
|
||||
color: var(--foreground);
|
||||
border: 1px solid var(--foreground);
|
||||
border-radius: var(--radius);
|
||||
padding: 10px;
|
||||
font: inherit;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
input:focus-visible,
|
||||
input:active,
|
||||
textarea:focus-visible,
|
||||
textarea:active,
|
||||
select:focus-visible,
|
||||
select:active {
|
||||
border-color: var(--accent);
|
||||
outline: 1px solid var(--accent);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
input:active,
|
||||
textarea:active,
|
||||
select:active {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
select {
|
||||
background-image: linear-gradient(
|
||||
45deg,
|
||||
transparent 50%,
|
||||
var(--foreground) 50%
|
||||
),
|
||||
linear-gradient(135deg, var(--foreground) 50%, transparent 50%);
|
||||
background-position: calc(100% - 20px), calc(100% - 1em);
|
||||
background-size:
|
||||
5px 5px,
|
||||
5px 5px;
|
||||
background-repeat: no-repeat;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
select option {
|
||||
background: var(--background);
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
vertical-align: middle;
|
||||
padding: 10px;
|
||||
box-shadow: inset 0 0 0 3px var(--background);
|
||||
}
|
||||
|
||||
input[type="checkbox"]:checked {
|
||||
background: var(--accent);
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
border: 8px solid var(--accent);
|
||||
border-radius: var(--radius);
|
||||
padding: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
figure img,
|
||||
figure video {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
figure figcaption {
|
||||
background: var(--accent);
|
||||
color: var(--background);
|
||||
text-align: center;
|
||||
font-size: 1rem;
|
||||
font-weight: normal;
|
||||
margin-top: -8px;
|
||||
border-radius: 0 0 var(--radius) var(--radius);
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
margin-left: 4ch;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul ul,
|
||||
ul ol,
|
||||
ol ul,
|
||||
ol ol {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
li::marker {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
ul li,
|
||||
ol li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd {
|
||||
font-family:
|
||||
"Fira Code",
|
||||
Monaco,
|
||||
Consolas,
|
||||
Ubuntu Mono,
|
||||
monospace !important;
|
||||
font-feature-settings: normal;
|
||||
background: color-mix(in srgb, var(--foreground) 5%, transparent);
|
||||
color: var(--accent);
|
||||
padding: 1px 6px;
|
||||
margin: 0 2px;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
kbd {
|
||||
border-top: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
|
||||
border-left: 1px solid var(--accent);
|
||||
border-right: 1px solid var(--accent);
|
||||
border-bottom: 4px solid var(--accent);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
code code {
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
tab-size: 4;
|
||||
background: var(--bg_dim) !important;
|
||||
color: var(--foreground);
|
||||
padding: 20px 10px;
|
||||
font-size: 0.95rem !important;
|
||||
overflow: auto;
|
||||
border-radius: var(--radius);
|
||||
border: 1px solid var(--bg3);
|
||||
}
|
||||
|
||||
pre code {
|
||||
background: none !important;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: inherit;
|
||||
border: none;
|
||||
}
|
||||
|
||||
sup {
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
abbr {
|
||||
position: relative;
|
||||
text-decoration-style: wavy;
|
||||
text-decoration-color: var(--accent);
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.25em;
|
||||
}
|
||||
|
||||
mark {
|
||||
background: color-mix(in srgb, var(--accent) 45%, transparent);
|
||||
color: var(--foreground);
|
||||
}
|
||||
|
||||
blockquote {
|
||||
position: relative;
|
||||
border-top: 1px solid var(--accent);
|
||||
border-bottom: 1px solid var(--accent);
|
||||
margin: 0;
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
blockquote:before {
|
||||
content: ">";
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
blockquote p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
blockquote p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
table {
|
||||
table-layout: auto;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table,
|
||||
th,
|
||||
td {
|
||||
border: 2px solid var(--foreground);
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
th {
|
||||
border-style: solid;
|
||||
color: var(--foreground);
|
||||
text-align: left;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
hr {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: var(--accent);
|
||||
height: 2px;
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 3225b22c0403b217257193211e65f3eded4be70e
|
Loading…
Add table
Add a link
Reference in a new issue