Merge dev into main branch #2
37 changed files with 613 additions and 231 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,6 +1,7 @@
|
||||||
# generated directories
|
# generated directories
|
||||||
/public/*
|
/public/*
|
||||||
/resources/_gen/*
|
/resources/_gen/*
|
||||||
|
.vscode/
|
||||||
|
|
||||||
# ignored files
|
# ignored files
|
||||||
.directory
|
.directory
|
||||||
|
|
25
assets/footer.scss
Normal file
25
assets/footer.scss
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
footer {
|
||||||
|
color: var(--text-secondary);
|
||||||
|
grid-area: footer;
|
||||||
|
margin: 1em auto;
|
||||||
|
text-align: center;
|
||||||
|
p{
|
||||||
|
margin: .25em;
|
||||||
|
span {
|
||||||
|
&:not(:last-child) {
|
||||||
|
&::after {
|
||||||
|
content: '·';
|
||||||
|
padding: .25em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: var(--text-secondary);
|
||||||
|
text-decoration-color: transparent;
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-color: var(--text-secondary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
assets/home.scss
Normal file
25
assets/home.scss
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#introduction {
|
||||||
|
background: var(--vriish-gradient);
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
position: relative;
|
||||||
|
h2 {
|
||||||
|
.more{
|
||||||
|
font-size: .75em;
|
||||||
|
font-weight: normal;
|
||||||
|
hyphens: none;
|
||||||
|
&::after {
|
||||||
|
content: "\27F6";
|
||||||
|
margin-left: .25em;
|
||||||
|
transition: margin .5s;
|
||||||
|
}
|
||||||
|
&:hover::after {
|
||||||
|
margin-left: .5em !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover .more::after {
|
||||||
|
margin-left: .35em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1
assets/shortcodes/_index.scss
Normal file
1
assets/shortcodes/_index.scss
Normal file
|
@ -0,0 +1 @@
|
||||||
|
@import "verticalposts";
|
31
assets/shortcodes/_verticalposts.scss
Normal file
31
assets/shortcodes/_verticalposts.scss
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
.verticalposts {
|
||||||
|
hyphens: auto;
|
||||||
|
margin-top: 4em;
|
||||||
|
.verticalposts-wrapper {
|
||||||
|
border-radius: .5em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
gap: 1em;
|
||||||
|
overflow-x: scroll;
|
||||||
|
scroll-snap-type: x proximity;
|
||||||
|
.post-group {
|
||||||
|
background: var(--vriish-gradient);
|
||||||
|
border-radius: .5em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
scroll-snap-align: start;
|
||||||
|
min-width: 15em;
|
||||||
|
width: 33.333%;
|
||||||
|
.title {
|
||||||
|
flex: auto;
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
aside {
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
156
assets/sidebar.scss
Normal file
156
assets/sidebar.scss
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
// -----------
|
||||||
|
// - sidebar -
|
||||||
|
// -----------
|
||||||
|
|
||||||
|
#sidebar {
|
||||||
|
background: var(--sidebar-background);
|
||||||
|
border-top: 2px solid var(--vriish-rose);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
grid-area: sidebar;
|
||||||
|
margin-top: -2px;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
z-index: 1;
|
||||||
|
gap: 1em;
|
||||||
|
padding: 1em;
|
||||||
|
@media (min-width: 921px) {
|
||||||
|
bottom: 0;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
text-align: center;
|
||||||
|
user-select: none;
|
||||||
|
#avatar {
|
||||||
|
border-radius: 100%;
|
||||||
|
width: calc(100% - 2em);
|
||||||
|
max-width: 200px;
|
||||||
|
}
|
||||||
|
#name {
|
||||||
|
margin: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.8em;
|
||||||
|
}
|
||||||
|
#information {
|
||||||
|
margin: 0;
|
||||||
|
font-size: .8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#sidebar-menu {
|
||||||
|
user-select: none;
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
border-radius: .5em;
|
||||||
|
margin: .5em 0;
|
||||||
|
position: relative;
|
||||||
|
letter-spacing: .025em;
|
||||||
|
a {
|
||||||
|
display: block;
|
||||||
|
padding: .25em .5em;
|
||||||
|
}
|
||||||
|
::after {
|
||||||
|
background: var(--vriish-gradient);
|
||||||
|
border-radius: .5em;
|
||||||
|
bottom: 0;
|
||||||
|
content: "";
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
right: 100%;
|
||||||
|
top: 0;
|
||||||
|
transition: opacity .5s, width .5s;
|
||||||
|
opacity: 0;
|
||||||
|
width: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
&.active {
|
||||||
|
background: var(--vriish-gradient);
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
::after {
|
||||||
|
opacity: 1;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
aside {
|
||||||
|
bottom: 1em;
|
||||||
|
position: absolute;
|
||||||
|
left: 1em;
|
||||||
|
right: 1em;
|
||||||
|
@media (max-width: 920px) {
|
||||||
|
position: initial;
|
||||||
|
}
|
||||||
|
#language-select {
|
||||||
|
position: relative;
|
||||||
|
pointer-events: none;
|
||||||
|
&:hover {
|
||||||
|
#languages {
|
||||||
|
//display: block;
|
||||||
|
bottom: 2em;
|
||||||
|
opacity: 100%;
|
||||||
|
pointer-events: all;
|
||||||
|
* {
|
||||||
|
pointer-events: all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#language-icon {
|
||||||
|
text-decoration: none;
|
||||||
|
padding-top: 1em;
|
||||||
|
pointer-events: all;
|
||||||
|
&::after {
|
||||||
|
content: attr(data-page-lang);
|
||||||
|
position: absolute;
|
||||||
|
left: -4px;
|
||||||
|
font-size: 0.6em;
|
||||||
|
line-height: 1.5em;
|
||||||
|
bottom: 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#languages {
|
||||||
|
background-color: var(--background);
|
||||||
|
border-radius: .5em;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
user-select: none;
|
||||||
|
position: absolute;
|
||||||
|
//display: none;
|
||||||
|
bottom: 1em;
|
||||||
|
opacity: 0%;
|
||||||
|
transition: bottom .5s, opacity .5s;
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: .25em .5em;
|
||||||
|
position: relative;
|
||||||
|
transition: background .5s;
|
||||||
|
border-radius: .5em;
|
||||||
|
margin: .2em;
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
margin-bottom: .5em;
|
||||||
|
}
|
||||||
|
&.active {
|
||||||
|
background: var(--vriish-gradient);
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
background: var(--vriish-gradient);
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,79 +1,73 @@
|
||||||
:root {
|
// general
|
||||||
--background: hsl(210, 21%, 15%);
|
@import "variables";
|
||||||
--border: hsl(210, 21%, 20%);
|
@import "shortcodes";
|
||||||
--text: hsl(210, 21%, 95%);
|
|
||||||
--text-2: hsl(210, 21%, 80%);
|
// site parts
|
||||||
--text-secondary: hsl(210, 21%, 40%);
|
@import "sidebar";
|
||||||
--vriish-red: hsl(0, 100%, 75%);
|
@import "footer";
|
||||||
--rose: hsl(0, 100%, 75%);
|
|
||||||
--orange: hsl(25, 100%, 75%);
|
// pages
|
||||||
--gold: hsl(50, 100%, 75%);
|
@import "home";
|
||||||
--emerald: hsl(130, 100%, 75%);
|
|
||||||
--sky: hsl(215, 100%, 75%);
|
|
||||||
--purpur: hsl(275, 100%, 75%);
|
|
||||||
--white: hsl(360, 100%, 100%);
|
|
||||||
}
|
|
||||||
@media (prefers-color-scheme: light) {
|
|
||||||
:root {
|
|
||||||
--background: rgb(255, 245, 235);
|
|
||||||
--border: rgb(225, 215, 205);
|
|
||||||
--text: rgb(50, 40, 30);
|
|
||||||
--text-2: rgb(90, 80, 70);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
scrollbar-color: var(--vriish-red) var(--background);
|
scrollbar-color: var(--vriish-rose) var(--background);
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
background: var(--background);
|
background: var(--background);
|
||||||
width: 6px;
|
width: 6px;
|
||||||
}
|
}
|
||||||
&::-webkit-scrollbar-thumb { background: var(--vriish-red); }
|
&::-webkit-scrollbar-thumb { background: var(--vriish-rose); }
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
|
margin: 0;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
}
|
padding: 0;
|
||||||
body {
|
body {
|
||||||
background: var(--background);
|
background: var(--background);
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
display: grid;
|
display: grid;
|
||||||
font-family: system-ui, sans-serif;
|
font-family: system-ui, sans-serif;
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
|
grid-template-areas:
|
||||||
|
"header header"
|
||||||
|
"sidebar content"
|
||||||
|
"sidebar footer";
|
||||||
|
grid-template-columns: 250px 1fr;
|
||||||
|
grid-template-rows: min-content;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
min-height: 100vh;
|
||||||
|
@media (max-width: 920px) {
|
||||||
h1, h2, h3, h4, h5, h6 {
|
font-size: 1em;
|
||||||
|
grid-template-areas:
|
||||||
|
"header"
|
||||||
|
"content"
|
||||||
|
"sidebar"
|
||||||
|
"footer";
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
margin: .8em 0;
|
margin: .8em 0;
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
a {
|
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-decoration-color: var(--vriish-red);
|
text-decoration-color: var(--vriish-rose);
|
||||||
text-underline-offset: 3px;
|
text-underline-offset: 3px;
|
||||||
transition: text-decoration-color .2s;
|
transition: text-decoration-color .2s;
|
||||||
&:hover { text-decoration-color: var(--text); }
|
&:hover { text-decoration-color: var(--text); }
|
||||||
}
|
}
|
||||||
|
pre {
|
||||||
center {
|
border: 1px solid var(--vriish-rose);
|
||||||
margin: 19.2px 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
border: 1px solid var(--vriish-red);
|
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
}
|
}
|
||||||
|
p {
|
||||||
p {
|
|
||||||
hyphens: auto;
|
hyphens: auto;
|
||||||
img {
|
img {
|
||||||
border: 2px solid var(--border);
|
border: 2px solid var(--border);
|
||||||
|
@ -81,18 +75,34 @@ p {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
hr {
|
||||||
hr {
|
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
color: var(--border);
|
color: var(--border);
|
||||||
margin: 60px 0;
|
margin: 60px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.global-header {
|
||||||
|
align-items: center;
|
||||||
|
grid-area: header;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: .5em;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 3em 0;
|
||||||
|
z-index: 2;
|
||||||
|
h1, p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------
|
// ------------------------
|
||||||
// - header / nav; footer -
|
// - header / nav; footer -
|
||||||
// ------------------------
|
// ------------------------
|
||||||
header, footer {
|
/*header, footer {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
@ -104,7 +114,7 @@ header, footer {
|
||||||
text-decoration-thickness: 2px !important;
|
text-decoration-thickness: 2px !important;
|
||||||
text-underline-offset: 6px;
|
text-underline-offset: 6px;
|
||||||
margin: 0 15px;
|
margin: 0 15px;
|
||||||
&:hover { text-decoration-color: var(--vriish-red); }
|
&:hover { text-decoration-color: var(--vriish-rose); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
header {
|
header {
|
||||||
|
@ -116,7 +126,7 @@ header {
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
a {
|
a {
|
||||||
color: var(--vriish-red);
|
color: var(--vriish-rose);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nav {
|
nav {
|
||||||
|
@ -126,51 +136,25 @@ header {
|
||||||
aside {
|
aside {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
footer {
|
|
||||||
bottom: 0;
|
|
||||||
color: var(--text-secondary);
|
|
||||||
position: absolute;
|
|
||||||
a { color: var(--text-secondary); }
|
|
||||||
span {
|
|
||||||
padding: 17.6px 30px;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------
|
// --------
|
||||||
// - main -
|
// - main -
|
||||||
// --------
|
// --------
|
||||||
main {
|
main {
|
||||||
|
grid-area: content;
|
||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
max-width: 720px;
|
max-width: 1000px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 30px;
|
padding: 30px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
span { font-size: .8em; }
|
span { font-size: .8em; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#intro-heading {
|
|
||||||
background-image: linear-gradient(180deg, var(--rose) 0%, var(--rose) 50%, var(--gold) 95%, var(--rose) 100%);
|
|
||||||
background-clip: text;
|
|
||||||
-webkit-background-clip: text;
|
|
||||||
color: transparent;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0.55em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
span[title="Freude"], span[title="happiness"] {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.date-published {
|
p.date-published {
|
||||||
margin-bottom: -1.5em;
|
margin-bottom: -1.5em;
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 576px) {
|
|
||||||
main {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
32
assets/variables.scss
Normal file
32
assets/variables.scss
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
:root {
|
||||||
|
--background: hsl(210, 21%, 15%);
|
||||||
|
--border: hsl(210, 21%, 20%);
|
||||||
|
|
||||||
|
--text: hsl(210, 21%, 95%);
|
||||||
|
--text-2: hsl(210, 21%, 80%);
|
||||||
|
--text-secondary: hsl(210, 21%, 40%);
|
||||||
|
|
||||||
|
--sidebar-background: hsl(210, 21%, 10%);
|
||||||
|
|
||||||
|
--vriish-rose: hsl(0, 100%, 75%);
|
||||||
|
--orange: hsl(25, 100%, 75%);
|
||||||
|
--gold: hsl(50, 100%, 75%);
|
||||||
|
--emerald: hsl(130, 100%, 75%);
|
||||||
|
--sky: hsl(215, 100%, 75%);
|
||||||
|
--purpur: hsl(275, 100%, 75%);
|
||||||
|
--white: hsl(360, 100%, 100%);
|
||||||
|
|
||||||
|
--vriish-gradient: linear-gradient(30deg, var(--orange) -100%, var(--vriish-rose) 100%);
|
||||||
|
--vriish-gradient-shadow: 2px 2px 10px var(--background);
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
:root {
|
||||||
|
--background: hsl(0, 100%, 97.5%);
|
||||||
|
--border: hsl(0, 100%, 90%);
|
||||||
|
|
||||||
|
--text: hsl(0, 100%, 5%);
|
||||||
|
--text-2: hsl(0, 100%, 10%);
|
||||||
|
|
||||||
|
--sidebar-background: hsl(0, 100%, 95%);
|
||||||
|
}
|
||||||
|
}
|
42
config.toml
42
config.toml
|
@ -1,42 +0,0 @@
|
||||||
baseURL = "https://vrifox.cc/"
|
|
||||||
title = "Vris Cute Corner"
|
|
||||||
enableRobotsTXT = true
|
|
||||||
[menu]
|
|
||||||
[[menu.name]]
|
|
||||||
identifier = "vrifox.cc"
|
|
||||||
name = "VrifoxCC"
|
|
||||||
url = "/"
|
|
||||||
weight = 1
|
|
||||||
[[menu.main]]
|
|
||||||
identifier = "kenntnisse"
|
|
||||||
name = "Kenntnisse"
|
|
||||||
url = "/kenntnisse/"
|
|
||||||
weight = 1
|
|
||||||
[[menu.main]]
|
|
||||||
identifier = "Portfolio"
|
|
||||||
name = "Portfolio"
|
|
||||||
url = "/portfolio/"
|
|
||||||
weight = 2
|
|
||||||
[[menu.footer]]
|
|
||||||
identifier = "blog"
|
|
||||||
name = "Blog"
|
|
||||||
url = "/blog/"
|
|
||||||
weight = 1
|
|
||||||
[[menu.footer]]
|
|
||||||
identifier = "blogroll"
|
|
||||||
name = "Empfehlungen"
|
|
||||||
url = "/blogroll/"
|
|
||||||
weight = 2
|
|
||||||
[markup]
|
|
||||||
[highlight]
|
|
||||||
anchorLineNos = false
|
|
||||||
lineNos = false
|
|
||||||
lineNumbersInTable = false
|
|
||||||
noClasses = false
|
|
||||||
style = "dracula"
|
|
||||||
tabWidth = 4
|
|
||||||
[goldmark]
|
|
||||||
[extensions]
|
|
||||||
linkify = false
|
|
||||||
[renderer]
|
|
||||||
unsafe = true
|
|
40
config.yaml
40
config.yaml
|
@ -1,40 +0,0 @@
|
||||||
baseURL: https://vrifox.cc/
|
|
||||||
title: "Vris Cute Corner"
|
|
||||||
menu:
|
|
||||||
name:
|
|
||||||
- identifier: vrifox.cc
|
|
||||||
name: VrifoxCC
|
|
||||||
url: /
|
|
||||||
weight: 1
|
|
||||||
main:
|
|
||||||
- identifier: kenntnisse
|
|
||||||
name: Kenntnisse
|
|
||||||
url: /kenntnisse/
|
|
||||||
weight: 1
|
|
||||||
- identifier: Portfolio
|
|
||||||
name: Portfolio
|
|
||||||
url: /portfolio/
|
|
||||||
weight: 2
|
|
||||||
footer:
|
|
||||||
- identifier: blog
|
|
||||||
name: Blog
|
|
||||||
url: /blog/
|
|
||||||
weight: 1
|
|
||||||
- identifier: blogroll
|
|
||||||
name: Empfehlungen
|
|
||||||
url: /blogroll/
|
|
||||||
weight: 2
|
|
||||||
enableRobotsTXT: true
|
|
||||||
markup:
|
|
||||||
highlight:
|
|
||||||
anchorLineNos: false
|
|
||||||
lineNos: false
|
|
||||||
lineNumbersInTable: false
|
|
||||||
noClasses: false
|
|
||||||
style: dracula
|
|
||||||
tabWidth: 4
|
|
||||||
goldmark:
|
|
||||||
extensions:
|
|
||||||
linkify: false
|
|
||||||
renderer:
|
|
||||||
unsafe: true
|
|
29
config/_default/config.yaml
Normal file
29
config/_default/config.yaml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
baseURL: "https://vrifox.cc/"
|
||||||
|
title: "Vris Cute Corner"
|
||||||
|
|
||||||
|
enableRobotsTXT: true
|
||||||
|
defaultContentLanguage: de
|
||||||
|
defaultContentLanguageInSubdir: true
|
||||||
|
|
||||||
|
params:
|
||||||
|
displayName: "Vri 🌈"
|
||||||
|
username: "@vrifox"
|
||||||
|
staticSiteGenerator: "Hugo"
|
||||||
|
staticSiteGeneratorLink: "https://gohugo.io/"
|
||||||
|
|
||||||
|
markup:
|
||||||
|
highlight:
|
||||||
|
anchorLineNos: false
|
||||||
|
lineNos: false
|
||||||
|
lineNumbersInTable: false
|
||||||
|
noClasses: false
|
||||||
|
style: "dracula"
|
||||||
|
tabWidth: 4
|
||||||
|
goldmark:
|
||||||
|
extensions:
|
||||||
|
linkify: false
|
||||||
|
renderer:
|
||||||
|
unsafe: true
|
||||||
|
|
||||||
|
disableKinds:
|
||||||
|
- sitemap
|
6
config/_default/languages.yaml
Normal file
6
config/_default/languages.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
de:
|
||||||
|
languageName: Deutsch
|
||||||
|
weight: 1
|
||||||
|
en:
|
||||||
|
languageName: English
|
||||||
|
weight: 2
|
26
config/_default/menu.yaml
Normal file
26
config/_default/menu.yaml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
main:
|
||||||
|
- identifier: "home"
|
||||||
|
name: "Start"
|
||||||
|
pageref: "/"
|
||||||
|
weight: 1
|
||||||
|
# - identifier: "skills"
|
||||||
|
# name: "Kenntnisse"
|
||||||
|
# pageref: "/kenntnisse/"
|
||||||
|
# weight: 2
|
||||||
|
# - identifier: "projects"
|
||||||
|
# name: "Projekte"
|
||||||
|
# pageref: "/portfolio/"
|
||||||
|
# weight: 3
|
||||||
|
- identifier: "blog"
|
||||||
|
name: "Blog"
|
||||||
|
pageref: "/blog/"
|
||||||
|
weight: 4
|
||||||
|
# - identifier: "blogroll"
|
||||||
|
# name: "Empfehlungen"
|
||||||
|
# pageref: "/blogroll/"
|
||||||
|
# weight: 5
|
||||||
|
footer_source:
|
||||||
|
- identifier: "sourcecode"
|
||||||
|
name: "Quellcode"
|
||||||
|
url: "https://code.cozy.town/vri/website"
|
||||||
|
weight: 1
|
8
content/_index.de.md
Normal file
8
content/_index.de.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: "Hola 🖖"
|
||||||
|
---
|
||||||
|
Ich erstelle gerne Grafiken und Websites.
|
||||||
|
|
||||||
|
Ich betreibe und pflege Dienste auf [Cozy Town](https://cozy.town).
|
||||||
|
|
||||||
|
{{< verticalposts header="latest-posts-heading" >}}
|
8
content/_index.en.md
Normal file
8
content/_index.en.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: "Hola 🖖"
|
||||||
|
---
|
||||||
|
I like to create Graphics and Websites.
|
||||||
|
|
||||||
|
I host and maintain services at [Cozy Town](https://cozy.town).
|
||||||
|
|
||||||
|
{{< verticalposts header="latest-posts-heading" >}}
|
|
@ -1,14 +0,0 @@
|
||||||
---
|
|
||||||
title: "Über Vri"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Vris Atelier {#intro-heading}
|
|
||||||
|
|
||||||
**Grafik.**
|
|
||||||
Vektorgrafiken setzen und Rastergrafiken pixeln.
|
|
||||||
|
|
||||||
**Gestaltung.**
|
|
||||||
Webseiten entwerfen, umsetzen und optimieren.
|
|
||||||
|
|
||||||
**Infrastruktur.**
|
|
||||||
Server und Dienste aufsetzen, absichern und betreiben.
|
|
26
content/blog/firefox-dark-mode/index.de.md
Normal file
26
content/blog/firefox-dark-mode/index.de.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
title: "Der dunkle Modus von Firefox"
|
||||||
|
author: ""
|
||||||
|
date: 2021-05-15T11:54:53+02:00
|
||||||
|
categories:
|
||||||
|
tags:
|
||||||
|
|
||||||
|
draft: false
|
||||||
|
type: "post"
|
||||||
|
description: ""
|
||||||
|
slug: "dunkler-modus-von-firefox"
|
||||||
|
---
|
||||||
|
|
||||||
|
In diesem Artikel möchte ich zeigen, wie man den Dark-Mode auf kompatiblen Websites in Firefox aktiviert.
|
||||||
|
|
||||||
|
## Erweiterte Einstellungen von Firefox
|
||||||
|
|
||||||
|
Um den Dark-Mode von Firefox zu aktivieren, öffne [about:config](https://support.mozilla.org/en-US/kb/about-config-editor-firefox) und füge einen **neuen** Boolean mit dem Namen `ui.systemUsesDarkTheme` hinzu und setze ihn auf `1`.
|
||||||
|
|
||||||
|
## Websites Entwickeln
|
||||||
|
|
||||||
|
Falls du Websites entwickelst, könnte es hilfreich sein, schnell zwischen dem hellen und dem dunklen Modus zu wechseln. Öffne hierzu den *Inspektor* (Rechtsklick → Untersuchen):
|
||||||
|
|
||||||
|
![Dark- und Light-Mode im Firefox Inspektor](/upload/2021-05-15%20Firefox%20Inspector%20Dark%20Light%20Mode.png)
|
||||||
|
|
||||||
|
Du kannst das übrigens direkt auf meiner Website testen 🙂
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: "Firefox Dark Mode"
|
title: "Firefox' Dark Mode"
|
||||||
author: ""
|
author: ""
|
||||||
date: 2021-05-15T11:54:53+02:00
|
date: 2021-05-15T11:54:53+02:00
|
||||||
categories:
|
categories:
|
||||||
|
@ -8,6 +8,7 @@ tags:
|
||||||
draft: false
|
draft: false
|
||||||
type: "post"
|
type: "post"
|
||||||
description: ""
|
description: ""
|
||||||
|
slug: "firefox-dark-mode"
|
||||||
---
|
---
|
||||||
|
|
||||||
This is how to enable the dark mode for all compatible websites in your Firefox.
|
This is how to enable the dark mode for all compatible websites in your Firefox.
|
||||||
|
@ -18,7 +19,7 @@ To enable the Firefox Dark Mode open your Firefox' [about:config](https://suppor
|
||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
For debugging purposes you can switch between dark and light mode using the *Inspector* (right-click > Inspect):
|
For debugging purposes you can switch between dark and light mode using the *Inspector* (right-click → Inspect):
|
||||||
|
|
||||||
![Firefox' Inspector dark and light mode](/upload/2021-05-15%20Firefox%20Inspector%20Dark%20Light%20Mode.png)
|
![Firefox' Inspector dark and light mode](/upload/2021-05-15%20Firefox%20Inspector%20Dark%20Light%20Mode.png)
|
||||||
|
|
32
i18n/de.yaml
Normal file
32
i18n/de.yaml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# Menus
|
||||||
|
home:
|
||||||
|
other: Start
|
||||||
|
projects:
|
||||||
|
other: Projekte
|
||||||
|
blog:
|
||||||
|
other: Blog
|
||||||
|
|
||||||
|
sourcecode:
|
||||||
|
other: "Quellcode"
|
||||||
|
|
||||||
|
# Footer
|
||||||
|
build:
|
||||||
|
other: "Build "
|
||||||
|
build-title-tag:
|
||||||
|
other: "Build von "
|
||||||
|
|
||||||
|
made-with:
|
||||||
|
other: "Erstellt mit "
|
||||||
|
|
||||||
|
# Shortcodes
|
||||||
|
verticalposts-more:
|
||||||
|
other: mehr
|
||||||
|
|
||||||
|
# Content
|
||||||
|
introduction-heading:
|
||||||
|
other: Hola 🖖
|
||||||
|
introduction-sub:
|
||||||
|
other: Ich bin Vri 🙂
|
||||||
|
|
||||||
|
latest-posts-heading:
|
||||||
|
other: Aus meinem Blog
|
32
i18n/en.yaml
Normal file
32
i18n/en.yaml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# Menus
|
||||||
|
home:
|
||||||
|
other: Home
|
||||||
|
projects:
|
||||||
|
other: Projects
|
||||||
|
blog:
|
||||||
|
other: Blog
|
||||||
|
|
||||||
|
sourcecode:
|
||||||
|
other: "Sourcecode"
|
||||||
|
|
||||||
|
# Footer
|
||||||
|
build:
|
||||||
|
other: "Build "
|
||||||
|
build-title-tag:
|
||||||
|
other: "Build from "
|
||||||
|
|
||||||
|
made-with:
|
||||||
|
other: "Made with "
|
||||||
|
|
||||||
|
# Shortcodes
|
||||||
|
verticalposts-more:
|
||||||
|
other: more
|
||||||
|
|
||||||
|
# Content
|
||||||
|
introduction-heading:
|
||||||
|
other: Hola 🖖
|
||||||
|
introduction-sub:
|
||||||
|
other: I am Vri 🙂
|
||||||
|
|
||||||
|
latest-posts-heading:
|
||||||
|
other: From my Blog
|
|
@ -1,5 +1,5 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="{{ .Page.Lang }}">
|
||||||
<head>
|
<head>
|
||||||
<title>{{ with .Title }} {{ . }} – {{ end }}{{ .Site.Title }}</title>
|
<title>{{ with .Title }} {{ . }} – {{ end }}{{ .Site.Title }}</title>
|
||||||
{{- $style := resources.Get "/style.scss" | resources.ToCSS (dict "outputStyle" "compressed") }}
|
{{- $style := resources.Get "/style.scss" | resources.ToCSS (dict "outputStyle" "compressed") }}
|
||||||
|
@ -8,8 +8,9 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body id="{{ .Page.Title }}">
|
||||||
{{ partial "nav.html" . }}
|
{{- block "header" . }}{{ end }}
|
||||||
|
{{ partial "sidebar.html" . }}
|
||||||
{{- block "main" . }}{{ end }}
|
{{- block "main" . }}{{ end }}
|
||||||
{{ partial "footer.html" . }}
|
{{ partial "footer.html" . }}
|
||||||
</body>
|
</body>
|
||||||
|
|
2
layouts/_default/robots.txt
Normal file
2
layouts/_default/robots.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
User-agent: *
|
||||||
|
Disallow: /
|
|
@ -1,7 +1,7 @@
|
||||||
{{- define "main" }}
|
{{- define "main" }}
|
||||||
<main>
|
<main>
|
||||||
{{- if eq .Params.type "post" }}
|
{{- if eq .Params.type "post" }}
|
||||||
<p class="date-published" title="{{ .Date.Format "2. January 2006, 15:04 MST" }}">{{ .Date.Day }}. {{ if eq .Params.lang "de"}} {{ index $.Site.Data.monate (printf "%d" .Date.Month) }} {{ else }} {{ .Date.Month }} {{ end }} {{ .Date.Year }}</p>
|
<p class="date-published" title="{{ .Date | time.Format "2. January 2006, 15:04 MST" }}">{{ .Date | time.Format "2. January 2006" }}</p>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<h1 class="title">{{ .Title }}</h1>
|
<h1 class="title">{{ .Title }}</h1>
|
||||||
{{ .Content -}}
|
{{ .Content -}}
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
|
{{- define "header" }}
|
||||||
|
<header id="introduction" class="global-header">
|
||||||
|
<h1>{{ i18n "introduction-heading" }}</h1>
|
||||||
|
<p>{{ i18n "introduction-sub" }}</p>
|
||||||
|
</header>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{- define "main" }}
|
{{- define "main" }}
|
||||||
<main>
|
<main>
|
||||||
{{ .Content -}}
|
{{ .Content }}
|
||||||
</main>
|
</main>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<span title="Revision: {{ now.Format "2. January 2006, 15:04 MST" }}">R {{ now.Format "2006-01-02" }}</span>
|
<p>
|
||||||
{{- range .Site.Menus.footer }}
|
<span title='{{ i18n "build-title-tag" }}{{ now | time.Format ":date_full" }}, {{ now | time.Format ":time_full" }}'>{{ i18n "build" }}{{ now | time.Format ":date_short" }}</span>
|
||||||
<a href="{{ .URL }}">{{ .Name }}</a>
|
{{- range .Site.Menus.footer_source -}}
|
||||||
|
<span><a href="{{ .URL }}">{{ i18n .Identifier | default .Name }}</a></span>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<span>{{ i18n "made-with" }}<a href='{{ .Site.Params.staticSiteGeneratorLink }}'>{{ .Site.Params.staticSiteGenerator }}</a></span>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{{- $currentPage := . }}
|
|
||||||
<header>
|
|
||||||
{{- range .Site.Menus.name }}
|
|
||||||
<h1> <a href="{{ .URL }}">{{ .Name }}</a> </h1>
|
|
||||||
{{- end }}
|
|
||||||
<nav>
|
|
||||||
{{- range .Site.Menus.main }}
|
|
||||||
<a href="{{ .URL }}">{{ .Name }}</a>
|
|
||||||
{{- end }}
|
|
||||||
</nav>
|
|
||||||
{{- if .IsTranslated }}
|
|
||||||
<aside>
|
|
||||||
{{- range .Translations }}
|
|
||||||
<a href="{{ .Permalink }}">{{ .Site.Params.languageName }}</a>
|
|
||||||
{{- end }}
|
|
||||||
</aside>
|
|
||||||
{{- end }}
|
|
||||||
</header>
|
|
44
layouts/partials/sidebar.html
Normal file
44
layouts/partials/sidebar.html
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{{ $currentPage := . }}
|
||||||
|
|
||||||
|
<nav id="sidebar">
|
||||||
|
<header>
|
||||||
|
<img id="avatar" src="/2021_vrifox-avatar.png">
|
||||||
|
<p id="name">{{ .Site.Params.displayName }}</p>
|
||||||
|
<p id="information">
|
||||||
|
<span>{{ .Site.Params.username }}</span>
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
<section id="sidebar-menu">
|
||||||
|
<ul>
|
||||||
|
{{- range .Site.Menus.main }}
|
||||||
|
{{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }}
|
||||||
|
<li class="active"><a href="{{ .URL }}">{{ i18n .Identifier | default .Name }}</a></li>
|
||||||
|
{{ else }}
|
||||||
|
<li><a href="{{ .URL }}">{{ i18n .Identifier | default .Name }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<aside>
|
||||||
|
{{- if .Site.IsMultiLingual }}
|
||||||
|
{{ $siteLanguages := .Site.Languages }}
|
||||||
|
{{ $pageLanguage := .Page.Lang }}
|
||||||
|
<div id="language-select">
|
||||||
|
<span id="language-icon" href="#" data-page-lang="{{ .Page.Lang }}">🌐</span>
|
||||||
|
<ul id="languages">
|
||||||
|
{{ range .Page.AllTranslations }}
|
||||||
|
{{ $translation := . }}
|
||||||
|
{{ range $siteLanguages }}
|
||||||
|
{{ if eq $translation.Lang .Lang }}
|
||||||
|
{{ if eq $pageLanguage .Lang }}
|
||||||
|
<li class="active"><a href="{{ $translation.Permalink }}">{{ .LanguageName }}</a></li>
|
||||||
|
{{ else }}
|
||||||
|
<li><a href="{{ $translation.Permalink }}">{{ .LanguageName }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{- end }}
|
||||||
|
</nav>
|
14
layouts/shortcodes/verticalposts.html
Normal file
14
layouts/shortcodes/verticalposts.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<section class="verticalposts">
|
||||||
|
{{ with .Get "header" }}<h2>{{ i18n . }} <a href="blog/"class="more">{{ i18n "verticalposts-more" }}</a></h2>{{ end }}
|
||||||
|
<div class="verticalposts-wrapper">
|
||||||
|
{{ range first 3 (where .Site.RegularPages "Section" "blog") }}
|
||||||
|
<a href="{{ .Permalink }}" class="post-group">
|
||||||
|
<p class="title">{{ .Title }}</p>
|
||||||
|
<aside class="meta" title="{{ .Date | time.Format "2 Jan 2006, 15:04 MST" }}">
|
||||||
|
<span class="date">{{ .Date | time.Format "2. January 2006" }}</span>
|
||||||
|
<span class="author">{{ with .Params.author }}by {{ end }}{{ .Params.author }}</span>
|
||||||
|
</aside>
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</section>
|
BIN
static/2021_vrifox-avatar.png
Normal file
BIN
static/2021_vrifox-avatar.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 296 KiB |
Loading…
Reference in a new issue