addet some content
This commit is contained in:
parent
ca2a34ccbc
commit
12d1a88622
64 changed files with 4696 additions and 157 deletions
11
www/assets/css/common/404.css
Normal file
11
www/assets/css/common/404.css
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
.not-found {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 80%;
|
||||||
|
font-size: 160px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
44
www/assets/css/common/archive.css
Normal file
44
www/assets/css/common/archive.css
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
.archive-posts {
|
||||||
|
width: 100%;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-year {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-year:not(:last-of-type) {
|
||||||
|
border-bottom: 2px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-month {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-month-header {
|
||||||
|
margin: 25px 0;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-month:not(:last-of-type) {
|
||||||
|
border-bottom: 1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-entry {
|
||||||
|
position: relative;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-entry-title {
|
||||||
|
margin: 5px 0;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-count,
|
||||||
|
.archive-meta {
|
||||||
|
color: var(--secondary);
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
60
www/assets/css/common/footer.css
Normal file
60
www/assets/css/common/footer.css
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
.footer,
|
||||||
|
.top-link {
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
max-width: calc(var(--main-width) + var(--gap) * 2);
|
||||||
|
margin: auto;
|
||||||
|
padding: calc((var(--footer-height) - var(--gap)) / 2) var(--gap);
|
||||||
|
text-align: center;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer span {
|
||||||
|
margin-inline-start: 1px;
|
||||||
|
margin-inline-end: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer span:last-child {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer a {
|
||||||
|
color: inherit;
|
||||||
|
border-bottom: 1px solid var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer a:hover {
|
||||||
|
border-bottom: 1px solid var(--primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-link {
|
||||||
|
visibility: hidden;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 60px;
|
||||||
|
right: 30px;
|
||||||
|
z-index: 99;
|
||||||
|
background: var(--tertiary);
|
||||||
|
width: 42px;
|
||||||
|
height: 42px;
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 64px;
|
||||||
|
transition: visibility 0.5s, opacity 0.8s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-link,
|
||||||
|
.top-link svg {
|
||||||
|
filter: drop-shadow(0px 0px 0px var(--theme));
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer a:hover,
|
||||||
|
.top-link:hover {
|
||||||
|
color: var(--primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-link:focus,
|
||||||
|
#theme-toggle:focus {
|
||||||
|
outline: 0;
|
||||||
|
}
|
93
www/assets/css/common/header.css
Normal file
93
www/assets/css/common/header.css
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
max-width: calc(var(--nav-width) + var(--gap) * 2);
|
||||||
|
margin-inline-start: auto;
|
||||||
|
margin-inline-end: auto;
|
||||||
|
line-height: var(--header-height);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav a {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo,
|
||||||
|
#menu {
|
||||||
|
display: flex;
|
||||||
|
margin: auto var(--gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
flex-wrap: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo a {
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo a img, .logo a svg {
|
||||||
|
display: inline;
|
||||||
|
vertical-align: middle;
|
||||||
|
pointer-events: none;
|
||||||
|
transform: translate(0, -10%);
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-inline-end: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button#theme-toggle {
|
||||||
|
font-size: 26px;
|
||||||
|
margin: auto 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.dark #moon {
|
||||||
|
vertical-align: middle;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body:not(.dark) #sun {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu {
|
||||||
|
list-style: none;
|
||||||
|
word-break: keep-all;
|
||||||
|
overflow-x: auto;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu li + li {
|
||||||
|
margin-inline-start: var(--gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu a {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu .active {
|
||||||
|
font-weight: 500;
|
||||||
|
border-bottom: 2px solid currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lang-switch li,
|
||||||
|
.lang-switch ul,
|
||||||
|
.logo-switches {
|
||||||
|
display: inline-flex;
|
||||||
|
margin: auto 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lang-switch {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lang-switch a {
|
||||||
|
margin: auto 3px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-switches {
|
||||||
|
flex-wrap: inherit;
|
||||||
|
}
|
66
www/assets/css/common/main.css
Normal file
66
www/assets/css/common/main.css
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
.main {
|
||||||
|
position: relative;
|
||||||
|
min-height: calc(100vh - var(--header-height) - var(--footer-height));
|
||||||
|
max-width: calc(var(--main-width) + var(--gap) * 2);
|
||||||
|
margin: auto;
|
||||||
|
padding: var(--gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-header h1 {
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination a {
|
||||||
|
color: var(--theme);
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 36px;
|
||||||
|
background: var(--primary);
|
||||||
|
border-radius: calc(36px / 2);
|
||||||
|
padding: 0 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination .next {
|
||||||
|
margin-inline-start: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.social-icons a {
|
||||||
|
display: inline-flex;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-icons a svg {
|
||||||
|
height: 26px;
|
||||||
|
width: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.highlight,
|
||||||
|
pre {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy-code {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
right: 4px;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
background: rgba(78, 78, 78, 0.8);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
padding: 0 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.highlight:hover .copy-code,
|
||||||
|
pre:hover .copy-code {
|
||||||
|
display: block;
|
||||||
|
}
|
108
www/assets/css/common/post-entry.css
Normal file
108
www/assets/css/common/post-entry.css
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
.first-entry {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
min-height: 320px;
|
||||||
|
margin: var(--gap) 0 calc(var(--gap) * 2) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first-entry .entry-header {
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first-entry .entry-header h1 {
|
||||||
|
font-size: 34px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first-entry .entry-content {
|
||||||
|
margin: 14px 0;
|
||||||
|
font-size: 16px;
|
||||||
|
-webkit-line-clamp: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first-entry .entry-footer {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-info .entry-content {
|
||||||
|
-webkit-line-clamp: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-entry {
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: var(--gap);
|
||||||
|
padding: var(--gap);
|
||||||
|
background: var(--entry);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
transition: transform 0.1s;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-entry:active {
|
||||||
|
transform: scale(0.96);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag-entry .entry-cover {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-header h2 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-content {
|
||||||
|
margin: 8px 0;
|
||||||
|
color: var(--secondary);
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.6;
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-footer {
|
||||||
|
color: var(--secondary);
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-link {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-hint {
|
||||||
|
color: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-hint-parent {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-cover {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-bottom: var(--gap);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-cover img {
|
||||||
|
border-radius: var(--radius);
|
||||||
|
pointer-events: none;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entry-cover a {
|
||||||
|
color: var(--secondary);
|
||||||
|
box-shadow: 0 1px 0 var(--primary);
|
||||||
|
}
|
407
www/assets/css/common/post-single.css
Normal file
407
www/assets/css/common/post-single.css
Normal file
|
@ -0,0 +1,407 @@
|
||||||
|
.page-header,
|
||||||
|
.post-header {
|
||||||
|
margin: 24px auto var(--content-gap) auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-title {
|
||||||
|
margin-bottom: 2px;
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-description {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-meta,
|
||||||
|
.breadcrumbs {
|
||||||
|
color: var(--secondary);
|
||||||
|
font-size: 14px;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-meta .i18n_list li {
|
||||||
|
display: inline-flex;
|
||||||
|
list-style: none;
|
||||||
|
margin: auto 3px;
|
||||||
|
box-shadow: 0 1px 0 var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumbs a {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content {
|
||||||
|
color: var(--content);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h3,
|
||||||
|
.post-content h4,
|
||||||
|
.post-content h5,
|
||||||
|
.post-content h6 {
|
||||||
|
margin: 24px 0 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h1 {
|
||||||
|
margin: 40px auto 32px;
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h2 {
|
||||||
|
margin: 32px auto 24px;
|
||||||
|
font-size: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h3 {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h4 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h5 {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content h6 {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content a,
|
||||||
|
.toc a:hover {
|
||||||
|
box-shadow: 0 1px 0;
|
||||||
|
box-decoration-break: clone;
|
||||||
|
-webkit-box-decoration-break: clone;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content a code {
|
||||||
|
margin: auto 0;
|
||||||
|
border-radius: 0;
|
||||||
|
box-shadow: 0 -1px 0 var(--primary) inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content del {
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content dl,
|
||||||
|
.post-content ol,
|
||||||
|
.post-content p,
|
||||||
|
.post-content figure,
|
||||||
|
.post-content ul {
|
||||||
|
margin-bottom: var(--content-gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content ol,
|
||||||
|
.post-content ul {
|
||||||
|
padding-inline-start: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content li {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content li p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content dl {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content dt {
|
||||||
|
width: 25%;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content dd {
|
||||||
|
width: 75%;
|
||||||
|
margin-inline-start: 0;
|
||||||
|
padding-inline-start: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content dd ~ dd,
|
||||||
|
.post-content dt ~ dt {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content table {
|
||||||
|
margin-bottom: var(--content-gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content table th,
|
||||||
|
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
|
||||||
|
min-width: 80px;
|
||||||
|
padding: 8px 5px;
|
||||||
|
line-height: 1.5;
|
||||||
|
border-bottom: 1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content table th {
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content table:not(.highlighttable) td code:only-child {
|
||||||
|
margin: auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlight table {
|
||||||
|
border-radius: var(--radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlight:not(table) {
|
||||||
|
margin: 10px auto;
|
||||||
|
background: var(--code-block-bg) !important;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content li > .highlight {
|
||||||
|
margin-inline-end: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content ul pre {
|
||||||
|
margin-inline-start: calc(var(--gap) * -2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlight pre {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlighttable {
|
||||||
|
table-layout: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlighttable td:first-child {
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlighttable td .linenodiv {
|
||||||
|
padding-inline-end: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content .highlighttable td .highlight,
|
||||||
|
.post-content .highlighttable td .linenodiv pre {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content code {
|
||||||
|
margin: auto 4px;
|
||||||
|
padding: 4px 6px;
|
||||||
|
font-size: 0.78em;
|
||||||
|
line-height: 1.5;
|
||||||
|
background: var(--code-bg);
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content pre code {
|
||||||
|
display: grid;
|
||||||
|
margin: auto 0;
|
||||||
|
padding: 10px;
|
||||||
|
color: rgb(213, 213, 214);
|
||||||
|
background: var(--code-block-bg) !important;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
overflow-x: auto;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content blockquote {
|
||||||
|
margin: 20px 0;
|
||||||
|
padding: 0 14px;
|
||||||
|
border-inline-start: 3px solid var(--primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content hr {
|
||||||
|
margin: 30px 0;
|
||||||
|
height: 2px;
|
||||||
|
background: var(--tertiary);
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content iframe {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content img {
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content img[src*="#center"] {
|
||||||
|
margin: 1rem auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content figure.align-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content figure > figcaption {
|
||||||
|
color: var(--primary);
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 8px 0 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content figure > figcaption > p {
|
||||||
|
color: var(--secondary);
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc {
|
||||||
|
margin: 0 2px 40px 2px;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
background: var(--code-bg);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
padding: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .toc {
|
||||||
|
background: var(--entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc details summary {
|
||||||
|
cursor: zoom-in;
|
||||||
|
margin-inline-start: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc details[open] summary {
|
||||||
|
cursor: zoom-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .details {
|
||||||
|
display: inline;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .inner {
|
||||||
|
margin: 0 20px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc li ul {
|
||||||
|
margin-inline-start: var(--gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc summary:focus {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-footer {
|
||||||
|
margin-top: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-footer>* {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tags {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tags li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tags a,
|
||||||
|
.share-buttons,
|
||||||
|
.paginav {
|
||||||
|
border-radius: var(--radius);
|
||||||
|
background: var(--code-bg);
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tags a {
|
||||||
|
display: block;
|
||||||
|
padding: 0 14px;
|
||||||
|
color: var(--secondary);
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 34px;
|
||||||
|
background: var(--code-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tags a:hover,
|
||||||
|
.paginav a:hover {
|
||||||
|
background: var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons {
|
||||||
|
padding: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
overflow-x: auto;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons li,
|
||||||
|
.share-buttons a {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons a:not(:last-of-type) {
|
||||||
|
margin-inline-end: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1:hover .anchor,
|
||||||
|
h2:hover .anchor,
|
||||||
|
h3:hover .anchor,
|
||||||
|
h4:hover .anchor,
|
||||||
|
h5:hover .anchor,
|
||||||
|
h6:hover .anchor {
|
||||||
|
display: inline-flex;
|
||||||
|
color: var(--secondary);
|
||||||
|
margin-inline-start: 8px;
|
||||||
|
font-weight: 500;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginav {
|
||||||
|
display: flex;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginav a {
|
||||||
|
padding-inline-start: 14px;
|
||||||
|
padding-inline-end: 14px;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginav .title {
|
||||||
|
letter-spacing: 1px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: small;
|
||||||
|
color: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginav .prev,
|
||||||
|
.paginav .next {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginav span:hover:not(.title) {
|
||||||
|
box-shadow: 0 1px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.paginav .next {
|
||||||
|
margin-inline-start: auto;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
[dir="rtl"] .paginav .next {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1>a>svg {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.in-text {
|
||||||
|
display: inline;
|
||||||
|
margin: auto;
|
||||||
|
}
|
43
www/assets/css/common/profile-mode.css
Normal file
43
www/assets/css/common/profile-mode.css
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
.buttons,
|
||||||
|
.main .profile {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .profile {
|
||||||
|
align-items: center;
|
||||||
|
min-height: calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile .profile_inner {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile img {
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttons {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
max-width: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
background: var(--tertiary);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
margin: 8px;
|
||||||
|
padding: 6px;
|
||||||
|
transition: transform 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-inner {
|
||||||
|
padding: 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button:active {
|
||||||
|
transform: scale(0.96);
|
||||||
|
}
|
45
www/assets/css/common/search.css
Normal file
45
www/assets/css/common/search.css
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#searchbox input {
|
||||||
|
padding: 4px 10px;
|
||||||
|
width: 100%;
|
||||||
|
color: var(--primary);
|
||||||
|
font-weight: bold;
|
||||||
|
border: 2px solid var(--tertiary);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchbox input:focus {
|
||||||
|
border-color: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchResults li {
|
||||||
|
list-style: none;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px 0;
|
||||||
|
position: relative;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchResults {
|
||||||
|
margin: 10px 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchResults li:active {
|
||||||
|
transition: transform 0.1s;
|
||||||
|
transform: scale(0.98);
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchResults a {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchResults .focus {
|
||||||
|
transform: scale(0.98);
|
||||||
|
border: 2px solid var(--tertiary);
|
||||||
|
}
|
18
www/assets/css/common/terms.css
Normal file
18
www/assets/css/common/terms.css
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
.terms-tags li {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms-tags a {
|
||||||
|
display: block;
|
||||||
|
padding: 3px 10px;
|
||||||
|
background: var(--tertiary);
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: transform 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms-tags a:active {
|
||||||
|
background: var(--tertiary);
|
||||||
|
transform: scale(0.96);
|
||||||
|
}
|
6
www/assets/css/core/license.css
Normal file
6
www/assets/css/core/license.css
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/*
|
||||||
|
PaperMod v7
|
||||||
|
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
||||||
|
Copyright (c) 2020 nanxiaobei and adityatelange
|
||||||
|
Copyright (c) 2021-2024 adityatelange
|
||||||
|
*/
|
118
www/assets/css/core/reset.css
Normal file
118
www/assets/css/core/reset.css
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
*,
|
||||||
|
::after,
|
||||||
|
::before {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
overflow-y: scroll;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
button,
|
||||||
|
body,
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
color: var(--primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.6;
|
||||||
|
word-break: break-word;
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
main,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
table {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
p {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
figure,
|
||||||
|
ul {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
overflow-x: auto;
|
||||||
|
word-break: keep-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
textarea {
|
||||||
|
padding: 0;
|
||||||
|
font: inherit;
|
||||||
|
background: 0 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input,
|
||||||
|
textarea {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input[type=button],
|
||||||
|
input[type=submit] {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:-webkit-autofill,
|
||||||
|
textarea:-webkit-autofill {
|
||||||
|
box-shadow: 0 0 0 50px var(--theme) inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
38
www/assets/css/core/theme-vars.css
Normal file
38
www/assets/css/core/theme-vars.css
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
:root {
|
||||||
|
--gap: 24px;
|
||||||
|
--content-gap: 20px;
|
||||||
|
--nav-width: 1024px;
|
||||||
|
--main-width: 720px;
|
||||||
|
--header-height: 60px;
|
||||||
|
--footer-height: 60px;
|
||||||
|
--radius: 8px;
|
||||||
|
--theme: rgb(255, 255, 255);
|
||||||
|
--entry: rgb(255, 255, 255);
|
||||||
|
--primary: rgb(30, 30, 30);
|
||||||
|
--secondary: rgb(108, 108, 108);
|
||||||
|
--tertiary: rgb(214, 214, 214);
|
||||||
|
--content: rgb(31, 31, 31);
|
||||||
|
--code-block-bg: rgb(28, 29, 33);
|
||||||
|
--code-bg: rgb(245, 245, 245);
|
||||||
|
--border: rgb(238, 238, 238);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--code-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
55
www/assets/css/core/zmedia.css
Normal file
55
www/assets/css/core/zmedia.css
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
/* theme-vars */
|
||||||
|
:root {
|
||||||
|
--gap: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* profile-mode */
|
||||||
|
.profile img {
|
||||||
|
transform: scale(0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* post-entry */
|
||||||
|
.first-entry {
|
||||||
|
min-height: 260px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* archive */
|
||||||
|
.archive-month {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-year {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* footer */
|
||||||
|
.footer {
|
||||||
|
padding: calc((var(--footer-height) - var(--gap) - 10px) / 2) var(--gap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* footer */
|
||||||
|
@media screen and (max-width: 900px) {
|
||||||
|
.list .top-link {
|
||||||
|
transform: translateY(-5rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 340px) {
|
||||||
|
.share-buttons {
|
||||||
|
justify-content: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion) {
|
||||||
|
/* terms; profile-mode; post-single; post-entry; post-entry; search; search */
|
||||||
|
.terms-tags a:active,
|
||||||
|
.button:active,
|
||||||
|
.post-entry:active,
|
||||||
|
.top-link,
|
||||||
|
#searchResults .focus,
|
||||||
|
#searchResults li:active {
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
}
|
5
www/assets/css/extended/blank.css
Normal file
5
www/assets/css/extended/blank.css
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
/*
|
||||||
|
This is just a placeholder blank stylesheet so as to support adding custom styles budled with theme's default styles
|
||||||
|
|
||||||
|
Read https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#bundling-custom-css-with-themes-assets for more info
|
||||||
|
*/
|
24
www/assets/css/includes/chroma-mod.css
Normal file
24
www/assets/css/includes/chroma-mod.css
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
.chroma {
|
||||||
|
background-color: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .hl {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .lnt {
|
||||||
|
padding: 0 0 0 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight pre.chroma code {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight pre.chroma .line .cl,
|
||||||
|
.chroma .ln {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .lntd:last-of-type {
|
||||||
|
width: 100%;
|
||||||
|
}
|
86
www/assets/css/includes/chroma-styles.css
Normal file
86
www/assets/css/includes/chroma-styles.css
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
/* Background */ .bg { color: #cad3f5; background-color: #24273a; }
|
||||||
|
/* PreWrapper */ .chroma { color: #cad3f5; background-color: #24273a; }
|
||||||
|
/* Other */ .chroma .x { }
|
||||||
|
/* Error */ .chroma .err { color: #ed8796 }
|
||||||
|
/* CodeLine */ .chroma .cl { }
|
||||||
|
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
|
||||||
|
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||||
|
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
||||||
|
/* LineHighlight */ .chroma .hl { background-color: #474733 }
|
||||||
|
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 }
|
||||||
|
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 }
|
||||||
|
/* Line */ .chroma .line { display: flex; }
|
||||||
|
/* Keyword */ .chroma .k { color: #c6a0f6 }
|
||||||
|
/* KeywordConstant */ .chroma .kc { color: #f5a97f }
|
||||||
|
/* KeywordDeclaration */ .chroma .kd { color: #ed8796 }
|
||||||
|
/* KeywordNamespace */ .chroma .kn { color: #8bd5ca }
|
||||||
|
/* KeywordPseudo */ .chroma .kp { color: #c6a0f6 }
|
||||||
|
/* KeywordReserved */ .chroma .kr { color: #c6a0f6 }
|
||||||
|
/* KeywordType */ .chroma .kt { color: #ed8796 }
|
||||||
|
/* Name */ .chroma .n { }
|
||||||
|
/* NameAttribute */ .chroma .na { color: #8aadf4 }
|
||||||
|
/* NameBuiltin */ .chroma .nb { color: #91d7e3 }
|
||||||
|
/* NameBuiltinPseudo */ .chroma .bp { color: #91d7e3 }
|
||||||
|
/* NameClass */ .chroma .nc { color: #eed49f }
|
||||||
|
/* NameConstant */ .chroma .no { color: #eed49f }
|
||||||
|
/* NameDecorator */ .chroma .nd { color: #8aadf4; font-weight: bold }
|
||||||
|
/* NameEntity */ .chroma .ni { color: #8bd5ca }
|
||||||
|
/* NameException */ .chroma .ne { color: #f5a97f }
|
||||||
|
/* NameFunction */ .chroma .nf { color: #8aadf4 }
|
||||||
|
/* NameFunctionMagic */ .chroma .fm { color: #8aadf4 }
|
||||||
|
/* NameLabel */ .chroma .nl { color: #91d7e3 }
|
||||||
|
/* NameNamespace */ .chroma .nn { color: #f5a97f }
|
||||||
|
/* NameOther */ .chroma .nx { }
|
||||||
|
/* NameProperty */ .chroma .py { color: #f5a97f }
|
||||||
|
/* NameTag */ .chroma .nt { color: #c6a0f6 }
|
||||||
|
/* NameVariable */ .chroma .nv { color: #f4dbd6 }
|
||||||
|
/* NameVariableClass */ .chroma .vc { color: #f4dbd6 }
|
||||||
|
/* NameVariableGlobal */ .chroma .vg { color: #f4dbd6 }
|
||||||
|
/* NameVariableInstance */ .chroma .vi { color: #f4dbd6 }
|
||||||
|
/* NameVariableMagic */ .chroma .vm { color: #f4dbd6 }
|
||||||
|
/* Literal */ .chroma .l { }
|
||||||
|
/* LiteralDate */ .chroma .ld { }
|
||||||
|
/* LiteralString */ .chroma .s { color: #a6da95 }
|
||||||
|
/* LiteralStringAffix */ .chroma .sa { color: #ed8796 }
|
||||||
|
/* LiteralStringBacktick */ .chroma .sb { color: #a6da95 }
|
||||||
|
/* LiteralStringChar */ .chroma .sc { color: #a6da95 }
|
||||||
|
/* LiteralStringDelimiter */ .chroma .dl { color: #8aadf4 }
|
||||||
|
/* LiteralStringDoc */ .chroma .sd { color: #6e738d }
|
||||||
|
/* LiteralStringDouble */ .chroma .s2 { color: #a6da95 }
|
||||||
|
/* LiteralStringEscape */ .chroma .se { color: #8aadf4 }
|
||||||
|
/* LiteralStringHeredoc */ .chroma .sh { color: #6e738d }
|
||||||
|
/* LiteralStringInterpol */ .chroma .si { color: #a6da95 }
|
||||||
|
/* LiteralStringOther */ .chroma .sx { color: #a6da95 }
|
||||||
|
/* LiteralStringRegex */ .chroma .sr { color: #8bd5ca }
|
||||||
|
/* LiteralStringSingle */ .chroma .s1 { color: #a6da95 }
|
||||||
|
/* LiteralStringSymbol */ .chroma .ss { color: #a6da95 }
|
||||||
|
/* LiteralNumber */ .chroma .m { color: #f5a97f }
|
||||||
|
/* LiteralNumberBin */ .chroma .mb { color: #f5a97f }
|
||||||
|
/* LiteralNumberFloat */ .chroma .mf { color: #f5a97f }
|
||||||
|
/* LiteralNumberHex */ .chroma .mh { color: #f5a97f }
|
||||||
|
/* LiteralNumberInteger */ .chroma .mi { color: #f5a97f }
|
||||||
|
/* LiteralNumberIntegerLong */ .chroma .il { color: #f5a97f }
|
||||||
|
/* LiteralNumberOct */ .chroma .mo { color: #f5a97f }
|
||||||
|
/* Operator */ .chroma .o { color: #91d7e3; font-weight: bold }
|
||||||
|
/* OperatorWord */ .chroma .ow { color: #91d7e3; font-weight: bold }
|
||||||
|
/* Punctuation */ .chroma .p { }
|
||||||
|
/* Comment */ .chroma .c { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentHashbang */ .chroma .ch { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentMultiline */ .chroma .cm { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentSingle */ .chroma .c1 { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentSpecial */ .chroma .cs { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentPreproc */ .chroma .cp { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentPreprocFile */ .chroma .cpf { color: #6e738d; font-weight: bold; font-style: italic }
|
||||||
|
/* Generic */ .chroma .g { }
|
||||||
|
/* GenericDeleted */ .chroma .gd { color: #ed8796; background-color: #363a4f }
|
||||||
|
/* GenericEmph */ .chroma .ge { font-style: italic }
|
||||||
|
/* GenericError */ .chroma .gr { color: #ed8796 }
|
||||||
|
/* GenericHeading */ .chroma .gh { color: #f5a97f; font-weight: bold }
|
||||||
|
/* GenericInserted */ .chroma .gi { color: #a6da95; background-color: #363a4f }
|
||||||
|
/* GenericOutput */ .chroma .go { }
|
||||||
|
/* GenericPrompt */ .chroma .gp { }
|
||||||
|
/* GenericStrong */ .chroma .gs { font-weight: bold }
|
||||||
|
/* GenericSubheading */ .chroma .gu { color: #f5a97f; font-weight: bold }
|
||||||
|
/* GenericTraceback */ .chroma .gt { color: #ed8796 }
|
||||||
|
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
|
||||||
|
/* TextWhitespace */ .chroma .w { }
|
63
www/assets/css/includes/scroll-bar.css
Normal file
63
www/assets/css/includes/scroll-bar.css
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
/* from reset */
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: var(--code-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: var(--tertiary);
|
||||||
|
border: 5px solid var(--theme);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border: 5px solid var(--code-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar:not(.highlighttable, .highlight table, .gist .highlight) {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* from post-single */
|
||||||
|
.post-content .highlighttable td .highlight pre code::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content :not(table) ::-webkit-scrollbar-thumb {
|
||||||
|
border: 2px solid var(--code-block-bg);
|
||||||
|
background: rgb(113, 113, 117);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content :not(table) ::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: rgb(163, 163, 165);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table::-webkit-scrollbar-thumb {
|
||||||
|
border: 2px solid rgb(255, 255, 255);
|
||||||
|
background: rgb(173, 173, 173);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: rgb(112, 112, 112);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content table::-webkit-scrollbar-thumb {
|
||||||
|
border-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* from zmedia */
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
|
||||||
|
/* reset */
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 19px;
|
||||||
|
height: 11px;
|
||||||
|
}
|
||||||
|
}
|
152
www/assets/js/fastsearch.js
Normal file
152
www/assets/js/fastsearch.js
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
import * as params from '@params';
|
||||||
|
|
||||||
|
let fuse; // holds our search engine
|
||||||
|
let resList = document.getElementById('searchResults');
|
||||||
|
let sInput = document.getElementById('searchInput');
|
||||||
|
let first, last, current_elem = null
|
||||||
|
let resultsAvailable = false;
|
||||||
|
|
||||||
|
// load our search index
|
||||||
|
window.onload = function () {
|
||||||
|
let xhr = new XMLHttpRequest();
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4) {
|
||||||
|
if (xhr.status === 200) {
|
||||||
|
let data = JSON.parse(xhr.responseText);
|
||||||
|
if (data) {
|
||||||
|
// fuse.js options; check fuse.js website for details
|
||||||
|
let options = {
|
||||||
|
distance: 100,
|
||||||
|
threshold: 0.4,
|
||||||
|
ignoreLocation: true,
|
||||||
|
keys: [
|
||||||
|
'title',
|
||||||
|
'permalink',
|
||||||
|
'summary',
|
||||||
|
'content'
|
||||||
|
]
|
||||||
|
};
|
||||||
|
if (params.fuseOpts) {
|
||||||
|
options = {
|
||||||
|
isCaseSensitive: params.fuseOpts.iscasesensitive ?? false,
|
||||||
|
includeScore: params.fuseOpts.includescore ?? false,
|
||||||
|
includeMatches: params.fuseOpts.includematches ?? false,
|
||||||
|
minMatchCharLength: params.fuseOpts.minmatchcharlength ?? 1,
|
||||||
|
shouldSort: params.fuseOpts.shouldsort ?? true,
|
||||||
|
findAllMatches: params.fuseOpts.findallmatches ?? false,
|
||||||
|
keys: params.fuseOpts.keys ?? ['title', 'permalink', 'summary', 'content'],
|
||||||
|
location: params.fuseOpts.location ?? 0,
|
||||||
|
threshold: params.fuseOpts.threshold ?? 0.4,
|
||||||
|
distance: params.fuseOpts.distance ?? 100,
|
||||||
|
ignoreLocation: params.fuseOpts.ignorelocation ?? true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fuse = new Fuse(data, options); // build the index from the json file
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.open('GET', "../index.json");
|
||||||
|
xhr.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
function activeToggle(ae) {
|
||||||
|
document.querySelectorAll('.focus').forEach(function (element) {
|
||||||
|
// rm focus class
|
||||||
|
element.classList.remove("focus")
|
||||||
|
});
|
||||||
|
if (ae) {
|
||||||
|
ae.focus()
|
||||||
|
document.activeElement = current_elem = ae;
|
||||||
|
ae.parentElement.classList.add("focus")
|
||||||
|
} else {
|
||||||
|
document.activeElement.parentElement.classList.add("focus")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function reset() {
|
||||||
|
resultsAvailable = false;
|
||||||
|
resList.innerHTML = sInput.value = ''; // clear inputbox and searchResults
|
||||||
|
sInput.focus(); // shift focus to input box
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute search as each character is typed
|
||||||
|
sInput.onkeyup = function (e) {
|
||||||
|
// run a search query (for "term") every time a letter is typed
|
||||||
|
// in the search box
|
||||||
|
if (fuse) {
|
||||||
|
let results;
|
||||||
|
if (params.fuseOpts) {
|
||||||
|
results = fuse.search(this.value.trim(), {limit: params.fuseOpts.limit}); // the actual query being run using fuse.js along with options
|
||||||
|
} else {
|
||||||
|
results = fuse.search(this.value.trim()); // the actual query being run using fuse.js
|
||||||
|
}
|
||||||
|
if (results.length !== 0) {
|
||||||
|
// build our html if result exists
|
||||||
|
let resultSet = ''; // our results bucket
|
||||||
|
|
||||||
|
for (let item in results) {
|
||||||
|
resultSet += `<li class="post-entry"><header class="entry-header">${results[item].item.title} »</header>` +
|
||||||
|
`<a href="${results[item].item.permalink}" aria-label="${results[item].item.title}"></a></li>`
|
||||||
|
}
|
||||||
|
|
||||||
|
resList.innerHTML = resultSet;
|
||||||
|
resultsAvailable = true;
|
||||||
|
first = resList.firstChild;
|
||||||
|
last = resList.lastChild;
|
||||||
|
} else {
|
||||||
|
resultsAvailable = false;
|
||||||
|
resList.innerHTML = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sInput.addEventListener('search', function (e) {
|
||||||
|
// clicked on x
|
||||||
|
if (!this.value) reset()
|
||||||
|
})
|
||||||
|
|
||||||
|
// kb bindings
|
||||||
|
document.onkeydown = function (e) {
|
||||||
|
let key = e.key;
|
||||||
|
let ae = document.activeElement;
|
||||||
|
|
||||||
|
let inbox = document.getElementById("searchbox").contains(ae)
|
||||||
|
|
||||||
|
if (ae === sInput) {
|
||||||
|
let elements = document.getElementsByClassName('focus');
|
||||||
|
while (elements.length > 0) {
|
||||||
|
elements[0].classList.remove('focus');
|
||||||
|
}
|
||||||
|
} else if (current_elem) ae = current_elem;
|
||||||
|
|
||||||
|
if (key === "Escape") {
|
||||||
|
reset()
|
||||||
|
} else if (!resultsAvailable || !inbox) {
|
||||||
|
return
|
||||||
|
} else if (key === "ArrowDown") {
|
||||||
|
e.preventDefault();
|
||||||
|
if (ae == sInput) {
|
||||||
|
// if the currently focused element is the search input, focus the <a> of first <li>
|
||||||
|
activeToggle(resList.firstChild.lastChild);
|
||||||
|
} else if (ae.parentElement != last) {
|
||||||
|
// if the currently focused element's parent is last, do nothing
|
||||||
|
// otherwise select the next search result
|
||||||
|
activeToggle(ae.parentElement.nextSibling.lastChild);
|
||||||
|
}
|
||||||
|
} else if (key === "ArrowUp") {
|
||||||
|
e.preventDefault();
|
||||||
|
if (ae.parentElement == first) {
|
||||||
|
// if the currently focused element is first item, go to input box
|
||||||
|
activeToggle(sInput);
|
||||||
|
} else if (ae != sInput) {
|
||||||
|
// if the currently focused element is input box, do nothing
|
||||||
|
// otherwise select the previous search result
|
||||||
|
activeToggle(ae.parentElement.previousSibling.lastChild);
|
||||||
|
}
|
||||||
|
} else if (key === "ArrowRight") {
|
||||||
|
ae.click(); // click on active link
|
||||||
|
}
|
||||||
|
}
|
9
www/assets/js/fuse.basic.min.js
vendored
Normal file
9
www/assets/js/fuse.basic.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
www/assets/js/license.js
Normal file
6
www/assets/js/license.js
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/*
|
||||||
|
PaperMod v7
|
||||||
|
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
||||||
|
Copyright (c) 2020 nanxiaobei and adityatelange
|
||||||
|
Copyright (c) 2021-2024 adityatelange
|
||||||
|
*/
|
|
@ -3,6 +3,8 @@ languageCode: en-us
|
||||||
title: pika - Blogs
|
title: pika - Blogs
|
||||||
theme: paperMod
|
theme: paperMod
|
||||||
|
|
||||||
|
enableRobotsTXT: true
|
||||||
|
|
||||||
params:
|
params:
|
||||||
defaultTheme: auto
|
defaultTheme: auto
|
||||||
homeInfoParams:
|
homeInfoParams:
|
||||||
|
@ -13,8 +15,9 @@ params:
|
||||||
ShowShareButtons: true
|
ShowShareButtons: true
|
||||||
ShowReadingTime: true
|
ShowReadingTime: true
|
||||||
ShowBreadCrumbs: true
|
ShowBreadCrumbs: true
|
||||||
|
ShowWordCount: true
|
||||||
|
enableEmoji: true
|
||||||
|
UseHugoToc: true
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
main:
|
main:
|
||||||
|
|
|
@ -4,41 +4,42 @@ date = 2024-06-20T19:49:35+02:00
|
||||||
draft = false
|
draft = false
|
||||||
+++
|
+++
|
||||||
|
|
||||||
## whoami
|
# whoami
|
||||||
|
{{< collapse summary="tl;dr" >}}
|
||||||
<details>
|
|
||||||
|
|
||||||
- pika aka. Alexander Pieck
|
- pika aka. Alexander Pieck
|
||||||
- IT-Sysadmin
|
- IT Sysadmin
|
||||||
- IT stated as a hobby
|
- IT started as a hobby
|
||||||
- Homelab-Enthusiast
|
- Homelab Enthusiast
|
||||||
- Never wanted to code.. but now I may be coding..
|
- Never wanted to code... but now I might be coding...
|
||||||
|
{{< /collapse>}}
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
Welcome to my newly created blog! I'm not sure how good this is going to be, but I'll try to make it as beautiful and interesting as possible.
|
||||||
|
|
||||||
Welcome to my newly created blog, I'm really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
My name is Alexander Pieck, and even though I'm in the IT business, I'm usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).
|
||||||
|
|
||||||
My Name is Alexander Pieck, and even though I **am** into the IT-Business, I'm normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also! hate changing my password every 180 days).
|
Recently, I decided to give programming a shot. I started with some bash scripts for my dotfiles and loved the customizability and freedom that comes with doing it yourself!
|
||||||
|
|
||||||
But anyway, I recently tried to give programming a shot. I started with some [bash scripts](https://git.k4li.de/pika/scripts.git) for my [dotfiles](https://git.k4li.de/dotfiles/hyprdots.git) and loved the customizability and freedom you have if you just do it yourself!
|
Then, I thought about creating my own website. As an IT guy, I also have my own company and need a way to present myself on the world wide web. So about a week ago, I started dabbling in HTML and CSS. Just basic stuff like padding, margin, flexboxes, and layout/placement. This also helped me customize my dotfiles better.
|
||||||
|
|
||||||
And then I thought about my own website. As an IT guy, I also have my own company and thus, I need a way to display myself in the [world wide web](https://de.wikipedia.org/wiki/World_Wide_Web). So about a week ago, I started doing some html and css. Just basic stuff, like padding and margin, the flexboxes and how to layout/place stuff. That kind of helped me customizing my dotfiles as well.
|
I already knew a bit of markdown from using Git, of course. But I never really had the need to write much in markdown. Now, with Hugo as my site generator, I need to know markdown well. I think it's a pretty easy and fast way to deploy websites (even non-blog websites, if you know how), so I decided to go that route.
|
||||||
|
|
||||||
I mean, I already knew [markdown]() a bit, becouse of git, of course. But I really didn't have the need to write much stuff in markdown. Now, with Hugo as my site-generator, I need to know markdown well and becouse I think it's a pretty easy and fast way to deploy websites (even non blog websites, if you know how to), i wanted to go that route.
|
This whole idea isn't just for nothing. I plan to get it online, but really, it's just for me, so...
|
||||||
|
|
||||||
Now this whole idea should not be just for nothing. I plan to get it online but really, it's just for me so..
|
## what do I want to achieve?
|
||||||
|
---
|
||||||
|
Good question! Here are some things I hope to accomplish with this blog:
|
||||||
|
|
||||||
## what do I want to acchieve?
|
1. #### Just Writing
|
||||||
|
I don't know why, but I've always liked sharing my thoughts with others. I do this to refresh my own knowledge and always thought others might learn something from it, even though I now realize that might not always have been the case. So yeah, mostly for myself, again.
|
||||||
|
I also just love the English language, even though it's not my native language. I'm from Germany and maybe I'll try to add translated versions of my blog later on.
|
||||||
|
|
||||||
**Good** question folk, I'd like to get some things done with this idea.. Let me get a bit more specific:
|
2. #### Learning Vim Keybindings (Neovim)
|
||||||
|
As I started coding, I stumbled across The Primeagen and fell in love with his vim skills and how fast he can just DO stuff. I was stunned and installed Neovim the same day.
|
||||||
|
My newfound Neovim love is thanks to the Neovide frontend for Neovim. It's absolutely gorgeous, and I really want to write, learn, and live in this environment now!
|
||||||
|
|
||||||
1. Just writing
|
3. #### Learning How to Code and Structure a Website
|
||||||
- I don't know why, but I always liked to share my thoughts with others. I would do this to fresh up my own knowlage and always thought, that the others will learn something from it, even tough - now that I think about it - I don't really think, that this was often a case.. So yea, mostly for myself, again.
|
I want to learn basic website design and maybe, later on, a bit of app design, specifically for the web. I love the open-source Docker containers available on Docker Hub, and would love to publish my own small set of apps. But that's all something for future pika.
|
||||||
- Also I just love the english language, even though I'm not native to the english language. I'm from germany and maybe I will try to add translated versions for my blog later on.
|
|
||||||
2. Learning vim-keybings (neovim)
|
---
|
||||||
- As I started coding, I stumbled accross [The Primagean](https://youtube.com/@ThePrimeagen) and just felt in love, when i saw his vim skills and how fast he can just **DO** stuff. I was stunned and acctually installed neovim at the same day.
|
By setting these goals, I'm hoping to make this blog not just a platform for sharing my thoughts, but also a tool for personal growth and learning. Thank you for joining me on this journey!
|
||||||
- Now my newly gained neovim-love it thanks to the [neovide]() frontend for neovim. It is just absolutely goregous, and I really do want to write and learn and live in here now!
|
|
||||||
3. Learning how to code and how to structuize a website
|
|
||||||
- I really want to learn basic website design and maybe later down the road, a bit of app-design. Also in the web of course. I love the opensource docker container that are [available at dockerhub](https://hub.docker.com/), and would love to publish my own small set of apps. But that's all something for the future pika.
|
|
||||||
|
|
|
@ -1,8 +1,29 @@
|
||||||
+++
|
+++
|
||||||
title = '2'
|
title = 'A challange will get you going fast'
|
||||||
date = 2024-06-20T23:15:44+02:00
|
date = 2024-06-20T23:15:44+02:00
|
||||||
draft = false
|
draft = false
|
||||||
+++
|
+++
|
||||||
|
|
||||||
# This page is just for demo purpose
|
# A Challenge Will Get You Going
|
||||||
> __for now__
|
|
||||||
|
A few days ago, I embarked on a new adventure: writing my first blog entry. I didn't really know what I was doing, and to be honest, that hasn't changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned [before](../1/), one of my goals was to create a website for a client. And let me tell you, it feels fantastic to learn some truly "good" stuff. My work may not be perfect, but I’m genuinely proud of myself and have thoroughly enjoyed the process with Hugo.
|
||||||
|
|
||||||
|
I can't showcase my work just yet, as it's still a work in progress and not ready for production. But once the website is live, I'll make sure to update this page with a link.
|
||||||
|
|
||||||
|
In my research, I explored several Hugo themes, but many were outdated. When I loaded them and started a server, bam - they threw weird CSS errors and some said things like `.. is deprecated, use .. instead`, which felt quite odd and frustrating. Since I'm new to the whole website industry, I wanted to stick to themes that work well and look nice:
|
||||||
|
## PaperMod
|
||||||
|
---
|
||||||
|
One theme that stands out is PaperMod, which I am using right now 🫡.
|
||||||
|
I love its simplicity, but I know this is definitely NOT the right choice for a customer’s website who wants to display products or run a shop. Nevertheless, there's something special about it, something cozy and different, in the way PaperMod presents content. It also offers numerous configuration options, such as:
|
||||||
|
|
||||||
|
- Enabling breadcrumbs (those Home >> Blogs indicators)
|
||||||
|
- Enabling Emoji support 🥳
|
||||||
|
- And many more features, which I plan to explore in the coming days
|
||||||
|
|
||||||
|
## minimal_marketing
|
||||||
|
---
|
||||||
|
Another theme I considered is minimal_marketing. It looks amazing and simple, but the way it is advertised and the somewhat complicated installation process made it hard to get started. Maybe I’ll give it another try later in my career 😜.
|
||||||
|
|
||||||
|
## spectral
|
||||||
|
---
|
||||||
|
The theme I selected and modified the most is spectral. It showcases a nice, big open screen, which I liked, and provides almost all the space I need on the first page. It also offers a way to manage Meetups, which was a requirement for the website. I thought it would be the easiest and nicest-looking theme I could choose, so I did.
|
||||||
|
|
30
www/layouts/_default/baseof.html
Normal file
30
www/layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{{- if lt hugo.Version "0.112.4" }}
|
||||||
|
{{- errorf "=> hugo v0.112.4 or greater is required for hugo-PaperMod to build " }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
{{- partial "head.html" . }}
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="
|
||||||
|
{{- if (or (ne .Kind `page` ) (eq .Layout `archives`) (eq .Layout `search`)) -}}
|
||||||
|
{{- print "list" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if eq site.Params.defaultTheme `dark` -}}
|
||||||
|
{{- print " dark" }}
|
||||||
|
{{- end -}}
|
||||||
|
" id="top">
|
||||||
|
{{- partialCached "header.html" . .Page -}}
|
||||||
|
<main class="main">
|
||||||
|
{{- block "main" . }}{{ end }}
|
||||||
|
</main>
|
||||||
|
{{ partialCached "footer.html" . .Layout .Kind (.Param "hideFooter") (.Param "ShowCodeCopyButtons") -}}
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
2
www/layouts/_default/partials/anchored_headings.html
Normal file
2
www/layouts/_default/partials/anchored_headings.html
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
{{- /* formats .Content headings by adding an anchor */ -}}
|
||||||
|
{{ . | replaceRE "(<h[1-6] id=\"([^\"]+)\".+)(</h[1-6]+>)" "${1}<a hidden class=\"anchor\" aria-hidden=\"true\" href=\"#${2}\">#</a>${3}" | safeHTML }}
|
9
www/layouts/_default/partials/author.html
Normal file
9
www/layouts/_default/partials/author.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{{- if or .Params.author site.Params.author }}
|
||||||
|
{{- $author := (.Params.author | default site.Params.author) }}
|
||||||
|
{{- $author_type := (printf "%T" $author) }}
|
||||||
|
{{- if (or (eq $author_type "[]string") (eq $author_type "[]interface {}")) }}
|
||||||
|
{{- (delimit $author ", " ) }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $author }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
19
www/layouts/_default/partials/breadcrumbs.html
Normal file
19
www/layouts/_default/partials/breadcrumbs.html
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{{- if (.Param "ShowBreadCrumbs") -}}
|
||||||
|
<div class="breadcrumbs">
|
||||||
|
{{- $url := replace .Parent.Permalink (printf "%s" site.Home.Permalink) "" }}
|
||||||
|
{{- $lang_url := strings.TrimPrefix (printf "%s/" .Lang) $url -}}
|
||||||
|
|
||||||
|
<a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home" }}</a>
|
||||||
|
{{- $scratch := newScratch }}
|
||||||
|
{{- range $index, $element := split $lang_url "/" }}
|
||||||
|
|
||||||
|
{{- $scratch.Add "path" (printf "%s/" $element )}}
|
||||||
|
{{- $bc_pg := site.GetPage ($scratch.Get "path") -}}
|
||||||
|
|
||||||
|
{{- if (and ($bc_pg) (gt (len . ) 0))}}
|
||||||
|
{{- print " » " | safeHTML -}}<a href="{{ $bc_pg.Permalink }}">{{ $bc_pg.Name }}</a>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
3
www/layouts/_default/partials/comments.html
Normal file
3
www/layouts/_default/partials/comments.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{{- /* Comments area start */ -}}
|
||||||
|
{{- /* to add comments read => https://gohugo.io/content-management/comments/ */ -}}
|
||||||
|
{{- /* Comments area end */ -}}
|
43
www/layouts/_default/partials/cover.html
Normal file
43
www/layouts/_default/partials/cover.html
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{{- with .cxt}} {{/* Apply proper context from dict */}}
|
||||||
|
{{- if (and .Params.cover.image (not $.isHidden)) }}
|
||||||
|
{{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
|
||||||
|
{{- $loading := cond $.IsSingle "eager" "lazy" }}
|
||||||
|
<figure class="entry-cover">
|
||||||
|
{{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }}
|
||||||
|
{{- $addLink := (and site.Params.cover.linkFullImages $.IsSingle) }}
|
||||||
|
{{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
|
||||||
|
{{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
|
||||||
|
{{- $cover := (or $pageBundleCover $globalResourcesCover)}}
|
||||||
|
{{- if $cover -}}{{/* i.e it is present in page bundle */}}
|
||||||
|
{{- if $addLink }}<a href="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" target="_blank"
|
||||||
|
rel="noopener noreferrer">{{ end -}}
|
||||||
|
{{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
|
||||||
|
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
||||||
|
{{- if hugo.IsExtended -}}
|
||||||
|
{{- $processableFormats = $processableFormats | append "webp" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
||||||
|
{{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
|
||||||
|
<img loading="{{$loading}}" srcset="{{- range $size := $sizes -}}
|
||||||
|
{{- if (ge $cover.Width $size) -}}
|
||||||
|
{{ printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw ," $size) -}}
|
||||||
|
{{ end }}
|
||||||
|
{{- end -}}{{$cover.Permalink }} {{printf "%dw" ($cover.Width)}}"
|
||||||
|
sizes="(min-width: 768px) 720px, 100vw" src="{{ $cover.Permalink }}" alt="{{ $alt }}"
|
||||||
|
width="{{ $cover.Width }}" height="{{ $cover.Height }}">
|
||||||
|
{{- else }}{{/* Unprocessable image or responsive images disabled */}}
|
||||||
|
<img loading="{{$loading}}" src="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" alt="{{ $alt }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}{{/* For absolute urls and external links, no img processing here */}}
|
||||||
|
{{- if $addLink }}<a href="{{ (.Params.cover.image) | absURL }}" target="_blank"
|
||||||
|
rel="noopener noreferrer">{{ end -}}
|
||||||
|
<img loading="{{$loading}}" src="{{ (.Params.cover.image) | absURL }}" alt="{{ $alt }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- if $addLink }}</a>{{ end -}}
|
||||||
|
{{/* Display Caption */}}
|
||||||
|
{{- if $.IsSingle }}
|
||||||
|
{{ with .Params.cover.caption }}<p>{{ . | markdownify }}</p>{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
</figure>
|
||||||
|
{{- end }}{{/* End image */}}
|
||||||
|
{{- end -}}{{/* End context */ -}}
|
8
www/layouts/_default/partials/edit_post.html
Normal file
8
www/layouts/_default/partials/edit_post.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{{- if and (or .Params.editPost.URL site.Params.editPost.URL) (not (.Param "editPost.disabled")) -}}
|
||||||
|
{{- $fileUrlPath := path.Join .File.Path }}
|
||||||
|
|
||||||
|
{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated }} | {{- end -}}
|
||||||
|
<a href="{{ .Params.editPost.URL | default site.Params.editPost.URL }}{{ if .Params.editPost.appendFilePath | default ( site.Params.editPost.appendFilePath | default false ) }}/{{ $fileUrlPath }}{{ end }}" rel="noopener noreferrer" target="_blank">
|
||||||
|
{{- .Params.editPost.Text | default (site.Params.editPost.Text | default (i18n "edit_post" | default "Edit")) -}}
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
3
www/layouts/_default/partials/extend_footer.html
Normal file
3
www/layouts/_default/partials/extend_footer.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{{- /* Footer custom content area start */ -}}
|
||||||
|
{{- /* Insert any custom code web-analytics, resources, etc. here */ -}}
|
||||||
|
{{- /* Footer custom content area end */ -}}
|
4
www/layouts/_default/partials/extend_head.html
Normal file
4
www/layouts/_default/partials/extend_head.html
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{{- /* Head custom content area start */ -}}
|
||||||
|
{{- /* Insert any custom code (web-analytics, resources, etc.) - it will appear in the <head></head> section of every page. */ -}}
|
||||||
|
{{- /* Can be overwritten by partial with the same name in the global layouts. */ -}}
|
||||||
|
{{- /* Head custom content area end */ -}}
|
144
www/layouts/_default/partials/footer.html
Normal file
144
www/layouts/_default/partials/footer.html
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
{{- if not (.Param "hideFooter") }}
|
||||||
|
<footer class="footer">
|
||||||
|
{{- if not site.Params.footer.hideCopyright }}
|
||||||
|
{{- if site.Copyright }}
|
||||||
|
<span>{{ site.Copyright | markdownify }}</span>
|
||||||
|
{{- else }}
|
||||||
|
<span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span>
|
||||||
|
{{- end }}
|
||||||
|
{{- print " · "}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with site.Params.footer.text }}
|
||||||
|
{{ . | markdownify }}
|
||||||
|
{{- print " · "}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if (not site.Params.disableScrollToTop) }}
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- partial "extend_footer.html" . }}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{- if (not site.Params.disableScrollToTop) }}
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if (not site.Params.disableThemeToggle) }}
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (.Param "ShowCodeCopyButtons")) }}
|
||||||
|
<script>
|
||||||
|
document.querySelectorAll('pre > code').forEach((codeblock) => {
|
||||||
|
const container = codeblock.parentNode.parentNode;
|
||||||
|
|
||||||
|
const copybutton = document.createElement('button');
|
||||||
|
copybutton.classList.add('copy-code');
|
||||||
|
copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}';
|
||||||
|
|
||||||
|
function copyingDone() {
|
||||||
|
copybutton.innerHTML = '{{- i18n "code_copied" | default "copied!" }}';
|
||||||
|
setTimeout(() => {
|
||||||
|
copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}';
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
|
||||||
|
copybutton.addEventListener('click', (cb) => {
|
||||||
|
if ('clipboard' in navigator) {
|
||||||
|
navigator.clipboard.writeText(codeblock.textContent);
|
||||||
|
copyingDone();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const range = document.createRange();
|
||||||
|
range.selectNodeContents(codeblock);
|
||||||
|
const selection = window.getSelection();
|
||||||
|
selection.removeAllRanges();
|
||||||
|
selection.addRange(range);
|
||||||
|
try {
|
||||||
|
document.execCommand('copy');
|
||||||
|
copyingDone();
|
||||||
|
} catch (e) { };
|
||||||
|
selection.removeRange(range);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (container.classList.contains("highlight")) {
|
||||||
|
container.appendChild(copybutton);
|
||||||
|
} else if (container.parentNode.firstChild == container) {
|
||||||
|
// td containing LineNos
|
||||||
|
} else if (codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "TABLE") {
|
||||||
|
// table containing LineNos and code
|
||||||
|
codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(copybutton);
|
||||||
|
} else {
|
||||||
|
// code blocks not having highlight as parent class
|
||||||
|
codeblock.parentNode.appendChild(copybutton);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{{- end }}
|
157
www/layouts/_default/partials/head.html
Normal file
157
www/layouts/_default/partials/head.html
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
{{- if hugo.IsProduction | or (eq site.Params.env "production") | and (ne .Params.robotsNoIndex true) }}
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
{{- else }}
|
||||||
|
<meta name="robots" content="noindex, nofollow">
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /* Title */}}
|
||||||
|
<title>{{ if .IsHome }}{{ else }}{{ if .Title }}{{ .Title }} | {{ end }}{{ end }}{{ site.Title }}</title>
|
||||||
|
|
||||||
|
{{- /* Meta */}}
|
||||||
|
{{- if .IsHome }}
|
||||||
|
{{ with site.Params.keywords -}}<meta name="keywords" content="{{- range $i, $e := . }}{{ if $i }}, {{ end }}{{ $e }}{{ end }}">{{ end }}
|
||||||
|
{{- else }}
|
||||||
|
<meta name="keywords" content="{{ if .Params.keywords -}}
|
||||||
|
{{- range $i, $e := .Params.keywords }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} {{- else }}
|
||||||
|
{{- range $i, $e := .Params.tags }}{{ if $i }}, {{ end }}{{ $e }}{{ end }} {{- end -}}">
|
||||||
|
{{- end }}
|
||||||
|
<meta name="description" content="{{- with .Description }}{{ . }}{{- else }}{{- if or .IsPage .IsSection}}
|
||||||
|
{{- .Summary | default (printf "%s - %s" .Title site.Title) }}{{- else }}
|
||||||
|
{{- with site.Params.description }}{{ . }}{{- end }}{{- end }}{{- end -}}">
|
||||||
|
<meta name="author" content="{{ (partial "author.html" . ) }}">
|
||||||
|
<link rel="canonical" href="{{ if .Params.canonicalURL -}} {{ trim .Params.canonicalURL " " }} {{- else -}} {{ .Permalink }} {{- end }}">
|
||||||
|
{{- if site.Params.analytics.google.SiteVerificationTag }}
|
||||||
|
<meta name="google-site-verification" content="{{ site.Params.analytics.google.SiteVerificationTag }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- if site.Params.analytics.yandex.SiteVerificationTag }}
|
||||||
|
<meta name="yandex-verification" content="{{ site.Params.analytics.yandex.SiteVerificationTag }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- if site.Params.analytics.bing.SiteVerificationTag }}
|
||||||
|
<meta name="msvalidate.01" content="{{ site.Params.analytics.bing.SiteVerificationTag }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- if site.Params.analytics.naver.SiteVerificationTag }}
|
||||||
|
<meta name="naver-site-verification" content="{{ site.Params.analytics.naver.SiteVerificationTag }}">
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /* Styles */}}
|
||||||
|
|
||||||
|
{{- /* includes */}}
|
||||||
|
{{- $includes := slice }}
|
||||||
|
{{- $includes = $includes | append (" " | resources.FromString "assets/css/includes-blank.css")}}
|
||||||
|
|
||||||
|
{{- if not (eq site.Params.assets.disableScrollBarStyle true) }}
|
||||||
|
{{- $ScrollStyle := (resources.Get "css/includes/scroll-bar.css") }}
|
||||||
|
{{- $includes = (append $ScrollStyle $includes) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- $includes_all := $includes | resources.Concat "assets/css/includes.css" }}
|
||||||
|
|
||||||
|
{{- $theme_vars := (resources.Get "css/core/theme-vars.css") }}
|
||||||
|
{{- $reset := (resources.Get "css/core/reset.css") }}
|
||||||
|
{{- $media := (resources.Get "css/core/zmedia.css") }}
|
||||||
|
{{- $license_css := (resources.Get "css/core/license.css") }}
|
||||||
|
{{- $common := (resources.Match "css/common/*.css") | resources.Concat "assets/css/common.css" }}
|
||||||
|
|
||||||
|
{{- /* markup.highlight.noClasses should be set to `false` */}}
|
||||||
|
{{- $chroma_styles := (resources.Get "css/includes/chroma-styles.css") }}
|
||||||
|
{{- $chroma_mod := (resources.Get "css/includes/chroma-mod.css") }}
|
||||||
|
|
||||||
|
{{- /* order is important */}}
|
||||||
|
{{- $core := (slice $theme_vars $reset $common $chroma_styles $chroma_mod $includes_all $media) | resources.Concat "assets/css/core.css" | resources.Minify }}
|
||||||
|
{{- $extended := (resources.Match "css/extended/*.css") | resources.Concat "assets/css/extended.css" | resources.Minify }}
|
||||||
|
|
||||||
|
{{- /* bundle all required css */}}
|
||||||
|
{{- /* Add extended css after theme style */ -}}
|
||||||
|
{{- $stylesheet := (slice $license_css $core $extended) | resources.Concat "assets/css/stylesheet.css" }}
|
||||||
|
|
||||||
|
{{- if not site.Params.assets.disableFingerprinting }}
|
||||||
|
{{- $stylesheet := $stylesheet | fingerprint }}
|
||||||
|
<link crossorigin="anonymous" href="{{ $stylesheet.RelPermalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet" as="style">
|
||||||
|
{{- else }}
|
||||||
|
<link crossorigin="anonymous" href="{{ $stylesheet.RelPermalink }}" rel="preload stylesheet" as="style">
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /* Search */}}
|
||||||
|
{{- if (eq .Layout `search`) -}}
|
||||||
|
<link crossorigin="anonymous" rel="preload" as="fetch" href="../index.json">
|
||||||
|
{{- $fastsearch := resources.Get "js/fastsearch.js" | js.Build (dict "params" (dict "fuseOpts" site.Params.fuseOpts)) | resources.Minify }}
|
||||||
|
{{- $fusejs := resources.Get "js/fuse.basic.min.js" }}
|
||||||
|
{{- $license_js := resources.Get "js/license.js" }}
|
||||||
|
{{- if not site.Params.assets.disableFingerprinting }}
|
||||||
|
{{- $search := (slice $fusejs $license_js $fastsearch ) | resources.Concat "assets/js/search.js" | fingerprint }}
|
||||||
|
<script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}" integrity="{{ $search.Data.Integrity }}"></script>
|
||||||
|
{{- else }}
|
||||||
|
{{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" }}
|
||||||
|
<script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}"></script>
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- /* Favicons */}}
|
||||||
|
<link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="{{ site.Params.assets.favicon32x32 | default "favicon-32x32.png" | absURL }}">
|
||||||
|
<link rel="apple-touch-icon" href="{{ site.Params.assets.apple_touch_icon | default "apple-touch-icon.png" | absURL }}">
|
||||||
|
<link rel="mask-icon" href="{{ site.Params.assets.safari_pinned_tab | default "safari-pinned-tab.svg" | absURL }}">
|
||||||
|
<meta name="theme-color" content="{{ site.Params.assets.theme_color | default "#2e2e33" }}">
|
||||||
|
<meta name="msapplication-TileColor" content="{{ site.Params.assets.msapplication_TileColor | default "#2e2e33" }}">
|
||||||
|
|
||||||
|
{{- /* RSS */}}
|
||||||
|
{{ range .AlternativeOutputFormats -}}
|
||||||
|
<link rel="{{ .Rel }}" type="{{ .MediaType.Type | html }}" href="{{ .Permalink | safeURL }}">
|
||||||
|
{{ end -}}
|
||||||
|
{{- range .AllTranslations -}}
|
||||||
|
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
{{- if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark")) }}
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
{{- end }}
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
{{- partial "extend_head.html" . -}}
|
||||||
|
|
||||||
|
{{- /* Misc */}}
|
||||||
|
{{- if hugo.IsProduction | or (eq site.Params.env "production") }}
|
||||||
|
{{- template "_internal/google_analytics.html" . }}
|
||||||
|
{{- template "partials/templates/opengraph.html" . }}
|
||||||
|
{{- template "partials/templates/twitter_cards.html" . }}
|
||||||
|
{{- template "partials/templates/schema_json.html" . }}
|
||||||
|
{{- end -}}
|
149
www/layouts/_default/partials/header.html
Normal file
149
www/layouts/_default/partials/header.html
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
{{- /* theme-toggle is enabled */}}
|
||||||
|
{{- if (not site.Params.disableThemeToggle) }}
|
||||||
|
{{- /* theme is light */}}
|
||||||
|
{{- if (eq site.Params.defaultTheme "light") }}
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{{- /* theme is dark */}}
|
||||||
|
{{- else if (eq site.Params.defaultTheme "dark") }}
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{{- else }}
|
||||||
|
{{- /* theme is auto */}}
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{{- end }}
|
||||||
|
{{- /* theme-toggle is disabled and theme is auto */}}
|
||||||
|
{{- else if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark"))}}
|
||||||
|
<script>
|
||||||
|
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
{{- $label_text := (site.Params.label.text | default site.Title) }}
|
||||||
|
{{- if site.Title }}
|
||||||
|
<a href="{{ "" | absLangURL }}" accesskey="h" title="{{ $label_text }} (Alt + H)">
|
||||||
|
{{- if site.Params.label.icon }}
|
||||||
|
{{- $img := resources.Get site.Params.label.icon }}
|
||||||
|
{{- if $img }}
|
||||||
|
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
||||||
|
{{- if hugo.IsExtended -}}
|
||||||
|
{{- $processableFormats = $processableFormats | append "webp" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
||||||
|
{{- if and (in $processableFormats $img.MediaType.SubType) (eq $prod true)}}
|
||||||
|
{{- if site.Params.label.iconHeight }}
|
||||||
|
{{- $img = $img.Resize (printf "x%d" site.Params.label.iconHeight) }}
|
||||||
|
{{ else }}
|
||||||
|
{{- $img = $img.Resize "x30" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
<img src="{{ $img.Permalink }}" alt="" aria-label="logo"
|
||||||
|
height="{{- site.Params.label.iconHeight | default "30" -}}">
|
||||||
|
{{- else }}
|
||||||
|
<img src="{{- site.Params.label.icon | absURL -}}" alt="" aria-label="logo"
|
||||||
|
height="{{- site.Params.label.iconHeight | default "30" -}}">
|
||||||
|
{{- end -}}
|
||||||
|
{{- else if hasPrefix site.Params.label.iconSVG "<svg" }}
|
||||||
|
{{ site.Params.label.iconSVG | safeHTML }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $label_text -}}
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
<div class="logo-switches">
|
||||||
|
{{- if (not site.Params.disableThemeToggle) }}
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- $lang := .Lang}}
|
||||||
|
{{- $separator := or $label_text (not site.Params.disableThemeToggle)}}
|
||||||
|
{{- with site.Home.Translations }}
|
||||||
|
<ul class="lang-switch">
|
||||||
|
{{- if $separator }}<li>|</li>{{ end }}
|
||||||
|
{{- range . -}}
|
||||||
|
{{- if ne $lang .Lang }}
|
||||||
|
<li>
|
||||||
|
<a href="{{- .Permalink -}}" title="{{ .Language.Params.languageAltTitle | default (.Language.LanguageName | emojify) | default (.Lang | title) }}"
|
||||||
|
aria-label="{{ .Language.LanguageName | default (.Lang | title) }}">
|
||||||
|
{{- if (and site.Params.displayFullLangName (.Language.LanguageName)) }}
|
||||||
|
{{- .Language.LanguageName | emojify -}}
|
||||||
|
{{- else }}
|
||||||
|
{{- .Lang | title -}}
|
||||||
|
{{- end -}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end}}
|
||||||
|
</ul>
|
||||||
|
{{- end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{- $currentPage := . }}
|
||||||
|
<ul id="menu">
|
||||||
|
{{- range site.Menus.main }}
|
||||||
|
{{- $menu_item_url := (cond (strings.HasSuffix .URL "/") .URL (printf "%s/" .URL) ) | absLangURL }}
|
||||||
|
{{- $page_url:= $currentPage.Permalink | absLangURL }}
|
||||||
|
{{- $is_search := eq (site.GetPage .KeyName).Layout `search` }}
|
||||||
|
<li>
|
||||||
|
<a href="{{ .URL | absLangURL }}" title="{{ .Title | default .Name }} {{- cond $is_search (" (Alt + /)" | safeHTMLAttr) ("" | safeHTMLAttr ) }}"
|
||||||
|
{{- cond $is_search (" accesskey=/" | safeHTMLAttr) ("" | safeHTMLAttr ) }}>
|
||||||
|
<span {{- if eq $menu_item_url $page_url }} class="active" {{- end }}>
|
||||||
|
{{- .Pre }}
|
||||||
|
{{- .Name -}}
|
||||||
|
{{ .Post -}}
|
||||||
|
</span>
|
||||||
|
{{- if (findRE "://" .URL) }}
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
{{- end }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
13
www/layouts/_default/partials/home_info.html
Normal file
13
www/layouts/_default/partials/home_info.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{{- with site.Params.homeInfoParams }}
|
||||||
|
<article class="first-entry home-info">
|
||||||
|
<header class="entry-header">
|
||||||
|
<h1>{{ .Title | markdownify }}</h1>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content">
|
||||||
|
{{ .Content | markdownify }}
|
||||||
|
</div>
|
||||||
|
<footer class="entry-footer">
|
||||||
|
{{ partial "social_icons.html" (dict "align" site.Params.homeInfoParams.AlignSocialIconsTo) }}
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
{{- end -}}
|
58
www/layouts/_default/partials/index_profile.html
Normal file
58
www/layouts/_default/partials/index_profile.html
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<div class="profile">
|
||||||
|
{{- with site.Params.profileMode }}
|
||||||
|
<div class="profile_inner">
|
||||||
|
{{- if .imageUrl -}}
|
||||||
|
{{- $img := "" }}
|
||||||
|
{{- if not (urls.Parse .imageUrl).IsAbs }}
|
||||||
|
{{- $img = resources.Get .imageUrl }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if $img }}
|
||||||
|
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
||||||
|
{{- if hugo.IsExtended -}}
|
||||||
|
{{- $processableFormats = $processableFormats | append "webp" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
||||||
|
{{- if and (in $processableFormats $img.MediaType.SubType) (eq $prod true)}}
|
||||||
|
{{- if (not (and (not .imageHeight) (not .imageWidth))) }}
|
||||||
|
{{- $img = $img.Resize (printf "%dx%d" .imageWidth .imageHeight) }}
|
||||||
|
{{- else if .imageHeight }}
|
||||||
|
{{- $img = $img.Resize (printf "x%d" .imageHeight) }}
|
||||||
|
{{ else if .imageWidth }}
|
||||||
|
{{- $img = $img.Resize (printf "%dx" .imageWidth) }}
|
||||||
|
{{ else }}
|
||||||
|
{{- $img = $img.Resize "150x150" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
<img draggable="false" src="{{ $img.Permalink }}" alt="{{ .imageTitle | default "profile image" }}" title="{{ .imageTitle }}"
|
||||||
|
height="{{ .imageHeight | default 150 }}" width="{{ .imageWidth | default 150 }}" />
|
||||||
|
{{- else }}
|
||||||
|
<img draggable="false" src="{{ .imageUrl | absURL }}" alt="{{ .imageTitle | default "profile image" }}" title="{{ .imageTitle }}"
|
||||||
|
height="{{ .imageHeight | default 150 }}" width="{{ .imageWidth | default 150 }}" />
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
<h1>{{ .title | default site.Title | markdownify }}</h1>
|
||||||
|
<span>{{ .subtitle | markdownify }}</span>
|
||||||
|
{{- partial "social_icons.html" -}}
|
||||||
|
|
||||||
|
{{- with .buttons }}
|
||||||
|
<div class="buttons">
|
||||||
|
{{- range . }}
|
||||||
|
<a class="button" href="{{ trim .url " " }}" rel="noopener" title="{{ .name }}">
|
||||||
|
<span class="button-inner">
|
||||||
|
{{ .name }}
|
||||||
|
{{- if (findRE "://" .url) }}
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="14" width="14">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
{{- end }}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
</div>
|
||||||
|
{{- end }}
|
||||||
|
</div>
|
||||||
|
{{- end}}
|
||||||
|
</div>
|
9
www/layouts/_default/partials/post_canonical.html
Normal file
9
www/layouts/_default/partials/post_canonical.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{{ if and (.Params.canonicalURL) (.Params.ShowCanonicalLink ) -}}
|
||||||
|
{{ $url := urls.Parse .Params.canonicalURL }}
|
||||||
|
|
||||||
|
{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated (or .Params.editPost.URL site.Params.editPost.URL) }} | {{- end -}}
|
||||||
|
<span>
|
||||||
|
{{- (site.Params.CanonicalLinkText | default .Params.CanonicalLinkText) | default "Originally published at" -}}
|
||||||
|
<a href="{{ trim .Params.canonicalURL " " }}" title="{{ trim .Params.canonicalURL " " }}" target="_blank" rel="noopener noreferrer">{{ $url.Host }}</a>
|
||||||
|
</span>
|
||||||
|
{{- end }}
|
23
www/layouts/_default/partials/post_meta.html
Normal file
23
www/layouts/_default/partials/post_meta.html
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{{- $scratch := newScratch }}
|
||||||
|
|
||||||
|
{{- if not .Date.IsZero -}}
|
||||||
|
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date | time.Format (default "January 2, 2006" site.Params.DateFormat)))) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if (.Param "ShowReadingTime") -}}
|
||||||
|
{{- $scratch.Add "meta" (slice (i18n "read_time" .ReadingTime | default (printf "%d min" .ReadingTime))) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if (.Param "ShowWordCount") -}}
|
||||||
|
{{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if not (.Param "hideAuthor") -}}
|
||||||
|
{{- with (partial "author.html" .) }}
|
||||||
|
{{- $scratch.Add "meta" (slice .) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with ($scratch.Get "meta") }}
|
||||||
|
{{- delimit . " · " | safeHTML -}}
|
||||||
|
{{- end -}}
|
19
www/layouts/_default/partials/post_nav_links.html
Normal file
19
www/layouts/_default/partials/post_nav_links.html
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections }}
|
||||||
|
{{- if and (gt (len $pages) 1) (in $pages . ) }}
|
||||||
|
<nav class="paginav">
|
||||||
|
{{- with $pages.Next . }}
|
||||||
|
<a class="prev" href="{{ .Permalink }}">
|
||||||
|
<span class="title">« {{ i18n "prev_page" }}</span>
|
||||||
|
<br>
|
||||||
|
<span>{{- .Name -}}</span>
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
{{- with $pages.Prev . }}
|
||||||
|
<a class="next" href="{{ .Permalink }}">
|
||||||
|
<span class="title">{{ i18n "next_page" }} »</span>
|
||||||
|
<br>
|
||||||
|
<span>{{- .Name -}}</span>
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
</nav>
|
||||||
|
{{- end }}
|
95
www/layouts/_default/partials/share_icons.html
Normal file
95
www/layouts/_default/partials/share_icons.html
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
{{- $pageurl := .Permalink }}
|
||||||
|
{{- $title := .Title }}
|
||||||
|
|
||||||
|
{{- $.Scratch.Set "tags" ""}}
|
||||||
|
|
||||||
|
{{- with .Params.Tags }}
|
||||||
|
{{- $hashtags := newScratch}}
|
||||||
|
{{- range . }}{{ $hashtags.Add "tags" (slice (replaceRE "(\\s)" "" . ))}}{{end}}
|
||||||
|
{{- $.Scratch.Set "tags" (delimit ($hashtags.Get "tags") ",") }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $custom := false }}
|
||||||
|
{{- $ShareButtons := (.Param "ShareButtons")}}
|
||||||
|
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}
|
||||||
|
|
||||||
|
<ul class="share-buttons">
|
||||||
|
{{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on x"
|
||||||
|
href="https://x.com/intent/tweet/?text={{ $title }}&url={{ $pageurl }}&hashtags={{- $.Scratch.Get "tags" -}}">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
|
||||||
|
href="https://www.linkedin.com/shareArticle?mini=true&url={{ $pageurl }}&title={{ $title }}&summary={{ $title }}&source={{ $pageurl }}">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
|
||||||
|
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
|
||||||
|
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
|
||||||
|
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
|
||||||
|
href="https://telegram.me/share/url?text={{ $title }}&url={{ $pageurl }}">
|
||||||
|
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- if (cond ($custom) (in $ShareButtons "ycombinator") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on ycombinator"
|
||||||
|
href="https://news.ycombinator.com/submitlink?t={{ $title }}&u={{ $pageurl }}">
|
||||||
|
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||||
|
<path
|
||||||
|
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
8
www/layouts/_default/partials/social_icons.html
Normal file
8
www/layouts/_default/partials/social_icons.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<div class="social-icons" {{ with .align}}align="{{.}}" {{- end }}>
|
||||||
|
{{- range site.Params.socialIcons }}
|
||||||
|
<a href="{{ trim .url " " | safeURL }}" target="_blank" rel="noopener noreferrer me"
|
||||||
|
title="{{ (.title | default .name) | title }}">
|
||||||
|
{{ partial "svg.html" . }}
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
</div>
|
940
www/layouts/_default/partials/svg.html
Normal file
940
www/layouts/_default/partials/svg.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,47 @@
|
||||||
|
{{- $imgs := slice }}
|
||||||
|
{{- $imgParams := .Params.images }}
|
||||||
|
{{- $resources := .Resources.ByType "image" -}}
|
||||||
|
{{/* Find featured image resources if the images parameter is empty. */}}
|
||||||
|
{{- if not $imgParams }}
|
||||||
|
{{- $featured := $resources.GetMatch "*feature*" -}}
|
||||||
|
{{- if not $featured }}{{ $featured = $resources.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
||||||
|
{{- with $featured }}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"Image" .
|
||||||
|
"RelPermalink" .RelPermalink
|
||||||
|
"Permalink" .Permalink) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{/* Use the first one of site images as the fallback. */}}
|
||||||
|
{{- if and (not $imgParams) (not $imgs) }}
|
||||||
|
{{- with site.Params.images }}
|
||||||
|
{{- $imgParams = first 1 . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{/* Parse page's images parameter. */}}
|
||||||
|
{{- range $imgParams }}
|
||||||
|
{{- $img := . }}
|
||||||
|
{{- $url := urls.Parse $img }}
|
||||||
|
{{- if eq $url.Scheme "" }}
|
||||||
|
{{/* Internal image. */}}
|
||||||
|
{{- with $resources.GetMatch $img -}}
|
||||||
|
{{/* Image resource. */}}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"Image" .
|
||||||
|
"RelPermalink" .RelPermalink
|
||||||
|
"Permalink" .Permalink) }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"RelPermalink" (relURL $img)
|
||||||
|
"Permalink" (absURL $img)
|
||||||
|
) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{/* External image */}}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"RelPermalink" $img
|
||||||
|
"Permalink" $img
|
||||||
|
) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- return $imgs }}
|
59
www/layouts/_default/partials/templates/opengraph.html
Normal file
59
www/layouts/_default/partials/templates/opengraph.html
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<meta property="og:title" content="{{ .Title }}" />
|
||||||
|
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" />
|
||||||
|
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
|
||||||
|
<meta property="og:url" content="{{ .Permalink }}" />
|
||||||
|
{{- if .Params.cover.image -}}
|
||||||
|
{{- if (ne .Params.cover.relative true) }}
|
||||||
|
<meta property="og:image" content="{{ .Params.cover.image | absURL }}" />
|
||||||
|
{{- else}}
|
||||||
|
<meta property="og:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}" />
|
||||||
|
{{- end}}
|
||||||
|
{{- else }}
|
||||||
|
|
||||||
|
{{- $images := partial "partials/templates/_funcs/get-page-images" . -}}
|
||||||
|
{{- range first 6 $images }}
|
||||||
|
<meta property="og:image" content="{{ .Permalink }}" />
|
||||||
|
{{ end -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if .IsPage }}
|
||||||
|
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
|
||||||
|
<meta property="article:section" content="{{ .Section }}" />
|
||||||
|
{{ with .PublishDate }}<meta property="article:published_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
||||||
|
{{ with .Lastmod }}<meta property="article:modified_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }}
|
||||||
|
{{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }}
|
||||||
|
{{- with site.Params.title }}<meta property="og:site_name" content="{{ . }}" />{{ end }}
|
||||||
|
{{- with .Params.videos }}{{- range . }}
|
||||||
|
<meta property="og:video" content="{{ . | absURL }}" />
|
||||||
|
{{ end }}{{ end }}
|
||||||
|
|
||||||
|
{{- /* If it is part of a series, link to related articles */}}
|
||||||
|
{{- $permalink := .Permalink }}
|
||||||
|
{{- $siteSeries := site.Taxonomies.series }}
|
||||||
|
{{- if $siteSeries }}
|
||||||
|
{{ with .Params.series }}{{- range $name := . }}
|
||||||
|
{{- $series := index $siteSeries ($name | urlize) }}
|
||||||
|
{{- range $page := first 6 $series.Pages }}
|
||||||
|
{{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }}
|
||||||
|
{{- end }}
|
||||||
|
{{ end }}{{ end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /* Deprecate site.Social.facebook_admin in favor of site.Params.social.facebook_admin */}}
|
||||||
|
{{- $facebookAdmin := "" }}
|
||||||
|
{{- with site.Params.social }}
|
||||||
|
{{- if reflect.IsMap . }}
|
||||||
|
{{- $facebookAdmin = .facebook_admin }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- with site.Social.facebook_admin }}
|
||||||
|
{{- $facebookAdmin = . }}
|
||||||
|
{{- warnf "The social key in site configuration is deprecated. Use params.social.facebook_admin instead." }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /* Facebook Page Admin ID for Domain Insights */}}
|
||||||
|
{{ with $facebookAdmin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
|
124
www/layouts/_default/partials/templates/schema_json.html
Normal file
124
www/layouts/_default/partials/templates/schema_json.html
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
{{ if .IsHome }}
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}",
|
||||||
|
"name": {{ site.Title }},
|
||||||
|
"url": {{ site.Home.Permalink }},
|
||||||
|
"description": {{ site.Params.description | plainify | truncate 180 | safeHTML }},
|
||||||
|
"thumbnailUrl": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }},
|
||||||
|
"sameAs": [
|
||||||
|
{{- if site.Params.schema.sameAs }}
|
||||||
|
{{ range $i, $e := site.Params.schema.sameAs }}{{ if $i }}, {{ end }}{{ trim $e " " }}{{ end }}
|
||||||
|
{{- else}}
|
||||||
|
{{ range $i, $e := site.Params.SocialIcons }}{{ if $i }}, {{ end }}{{ trim $e.url " " | safeURL }}{{ end }}
|
||||||
|
{{- end}}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{{- else if (or .IsPage .IsSection) }}
|
||||||
|
{{/* BreadcrumbList */}}
|
||||||
|
{{- $url := replace .Parent.Permalink ( printf "%s" site.Home.Permalink) "" }}
|
||||||
|
{{- $lang_url := strings.TrimPrefix ( printf "%s/" .Lang) $url }}
|
||||||
|
{{- $bc_list := (split $lang_url "/")}}
|
||||||
|
|
||||||
|
{{- $scratch := newScratch }}
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "BreadcrumbList",
|
||||||
|
"itemListElement": [
|
||||||
|
{{- range $index, $element := $bc_list }}
|
||||||
|
|
||||||
|
{{- $scratch.Add "path" (printf "%s/" $element ) | safeJS }}
|
||||||
|
{{- $bc_pg := site.GetPage ($scratch.Get "path") -}}
|
||||||
|
|
||||||
|
{{- if (and ($bc_pg) (gt (len . ) 0))}}
|
||||||
|
{{- if (and $index)}}, {{end }}
|
||||||
|
{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": {{ add 1 $index }},
|
||||||
|
"name": {{ $bc_pg.Name }},
|
||||||
|
"item": {{ $bc_pg.Permalink | safeHTML }}
|
||||||
|
}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
|
{{- /* self-page addition */ -}}
|
||||||
|
{{- if (ge (len $bc_list) 2) }}, {{end }}
|
||||||
|
{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": {{len $bc_list}},
|
||||||
|
"name": {{ .Name }},
|
||||||
|
"item": {{ .Permalink | safeHTML }}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{{- if .IsPage }}
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "BlogPosting",
|
||||||
|
"headline": {{ .Title | plainify}},
|
||||||
|
"name": "{{ .Title | plainify }}",
|
||||||
|
"description": {{ with .Description | plainify }}{{ . }}{{ else }}{{ .Summary | plainify }}{{ end -}},
|
||||||
|
"keywords": [
|
||||||
|
{{- if .Params.keywords }}
|
||||||
|
{{ range $i, $e := .Params.keywords }}{{ if $i }}, {{ end }}{{ $e }}{{ end }}
|
||||||
|
{{- else }}
|
||||||
|
{{ range $i, $e := .Params.tags }}{{ if $i }}, {{ end }}{{ $e }}{{ end }}
|
||||||
|
{{- end }}
|
||||||
|
],
|
||||||
|
"articleBody": {{ .Content | safeJS | htmlUnescape | plainify }},
|
||||||
|
"wordCount" : "{{ .WordCount }}",
|
||||||
|
"inLanguage": {{ .Language.Lang | default "en-us" }},
|
||||||
|
{{ if .Params.cover.image -}}
|
||||||
|
"image":
|
||||||
|
{{- if (ne .Params.cover.relative true) -}}
|
||||||
|
{{ .Params.cover.image | absURL }},
|
||||||
|
{{- else -}}
|
||||||
|
{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }},
|
||||||
|
{{- end}}
|
||||||
|
{{- else }}
|
||||||
|
{{- $images := partial "partials/templates/_funcs/get-page-images" . -}}
|
||||||
|
{{- with index $images 0 -}}
|
||||||
|
"image": {{ .Permalink }},
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
"datePublished": {{ .PublishDate }},
|
||||||
|
"dateModified": {{ .Lastmod }},
|
||||||
|
{{- with (.Params.author | default site.Params.author) }}
|
||||||
|
"author":
|
||||||
|
{{- if (or (eq (printf "%T" .) "[]string") (eq (printf "%T" .) "[]interface {}")) -}}
|
||||||
|
[{{- range $i, $v := . -}}
|
||||||
|
{{- if $i }}, {{end -}}
|
||||||
|
{
|
||||||
|
"@type": "Person",
|
||||||
|
"name": {{ $v }}
|
||||||
|
}
|
||||||
|
{{- end }}],
|
||||||
|
{{- else -}}
|
||||||
|
{
|
||||||
|
"@type": "Person",
|
||||||
|
"name": {{ . }}
|
||||||
|
},
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
"mainEntityOfPage": {
|
||||||
|
"@type": "WebPage",
|
||||||
|
"@id": {{ .Permalink | safeHTML }}
|
||||||
|
},
|
||||||
|
"publisher": {
|
||||||
|
"@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}",
|
||||||
|
"name": {{ site.Title }},
|
||||||
|
"logo": {
|
||||||
|
"@type": "ImageObject",
|
||||||
|
"url": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{{- end }}{{/* .IsPage end */}}
|
||||||
|
|
||||||
|
{{- end -}}
|
38
www/layouts/_default/partials/templates/twitter_cards.html
Normal file
38
www/layouts/_default/partials/templates/twitter_cards.html
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{{- if .Params.cover.image -}}
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
{{- if (ne $.Params.cover.relative true) }}
|
||||||
|
<meta name="twitter:image" content="{{ .Params.cover.image | absURL }}" />
|
||||||
|
{{- else }}
|
||||||
|
<meta name="twitter:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}" />
|
||||||
|
{{- end}}
|
||||||
|
{{- else }}
|
||||||
|
{{- $images := partial "partials/templates/_funcs/get-page-images" . -}}
|
||||||
|
{{- with index $images 0 -}}
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="{{ .Permalink }}" />
|
||||||
|
{{- else -}}
|
||||||
|
<meta name="twitter:card" content="summary"/>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
<meta name="twitter:title" content="{{ .Title }}"/>
|
||||||
|
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
|
||||||
|
{{- /* Deprecate site.Social.twitter in favor of site.Params.social.twitter */}}
|
||||||
|
{{- $twitterSite := "" }}
|
||||||
|
{{- with site.Params.social }}
|
||||||
|
{{- if reflect.IsMap . }}
|
||||||
|
{{- $twitterSite = .twitter }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- with site.Social.twitter }}
|
||||||
|
{{- $twitterSite = . }}
|
||||||
|
{{- warnf "The social key in site configuration is deprecated. Use params.social.twitter instead." }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with $twitterSite }}
|
||||||
|
{{- $content := . }}
|
||||||
|
{{- if not (strings.HasPrefix . "@") }}
|
||||||
|
{{- $content = printf "@%v" $twitterSite }}
|
||||||
|
{{- end }}
|
||||||
|
<meta name="twitter:site" content="{{ $content }}"/>
|
||||||
|
{{- end }}
|
97
www/layouts/_default/partials/toc.html
Normal file
97
www/layouts/_default/partials/toc.html
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
{{- $headers := findRE "<h[1-6].*?>(.|\n])+?</h[1-6]>" .Content -}}
|
||||||
|
{{- $has_headers := ge (len $headers) 1 -}}
|
||||||
|
{{- if $has_headers -}}
|
||||||
|
<div class="toc">
|
||||||
|
<details {{if (.Param "TocOpen") }} open{{ end }}>
|
||||||
|
<summary accesskey="c" title="(Alt + C)">
|
||||||
|
<span class="details">{{- i18n "toc" | default "Table of Contents" }}</span>
|
||||||
|
</summary>
|
||||||
|
|
||||||
|
<div class="inner">
|
||||||
|
{{- if (.Param "UseHugoToc") }}
|
||||||
|
{{- .TableOfContents -}}
|
||||||
|
{{- else }}
|
||||||
|
{{- $largest := 6 -}}
|
||||||
|
{{- range $headers -}}
|
||||||
|
{{- $headerLevel := index (findRE "[1-6]" . 1) 0 -}}
|
||||||
|
{{- $headerLevel := len (seq $headerLevel) -}}
|
||||||
|
{{- if lt $headerLevel $largest -}}
|
||||||
|
{{- $largest = $headerLevel -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $firstHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers 0) 1) 0)) -}}
|
||||||
|
|
||||||
|
{{- $.Scratch.Set "bareul" slice -}}
|
||||||
|
<ul>
|
||||||
|
{{- range seq (sub $firstHeaderLevel $largest) -}}
|
||||||
|
<ul>
|
||||||
|
{{- $.Scratch.Add "bareul" (sub (add $largest .) 1) -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- range $i, $header := $headers -}}
|
||||||
|
{{- $headerLevel := index (findRE "[1-6]" . 1) 0 -}}
|
||||||
|
{{- $headerLevel := len (seq $headerLevel) -}}
|
||||||
|
|
||||||
|
{{/* get id="xyz" */}}
|
||||||
|
{{- $id := index (findRE "(id=\"(.*?)\")" $header 9) 0 }}
|
||||||
|
|
||||||
|
{{- /* strip id="" to leave xyz, no way to get regex capturing groups in hugo */ -}}
|
||||||
|
{{- $cleanedID := replace (replace $id "id=\"" "") "\"" "" }}
|
||||||
|
{{- $header := replaceRE "<h[1-6].*?>((.|\n])+?)</h[1-6]>" "$1" $header -}}
|
||||||
|
|
||||||
|
{{- if ne $i 0 -}}
|
||||||
|
{{- $prevHeaderLevel := index (findRE "[1-6]" (index $headers (sub $i 1)) 1) 0 -}}
|
||||||
|
{{- $prevHeaderLevel := len (seq $prevHeaderLevel) -}}
|
||||||
|
{{- if gt $headerLevel $prevHeaderLevel -}}
|
||||||
|
{{- range seq $prevHeaderLevel (sub $headerLevel 1) -}}
|
||||||
|
<ul>
|
||||||
|
{{/* the first should not be recorded */}}
|
||||||
|
{{- if ne $prevHeaderLevel . -}}
|
||||||
|
{{- $.Scratch.Add "bareul" . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- else -}}
|
||||||
|
</li>
|
||||||
|
{{- if lt $headerLevel $prevHeaderLevel -}}
|
||||||
|
{{- range seq (sub $prevHeaderLevel 1) -1 $headerLevel -}}
|
||||||
|
{{- if in ($.Scratch.Get "bareul") . -}}
|
||||||
|
</ul>
|
||||||
|
{{/* manually do pop item */}}
|
||||||
|
{{- $tmp := $.Scratch.Get "bareul" -}}
|
||||||
|
{{- $.Scratch.Delete "bareul" -}}
|
||||||
|
{{- $.Scratch.Set "bareul" slice}}
|
||||||
|
{{- range seq (sub (len $tmp) 1) -}}
|
||||||
|
{{- $.Scratch.Add "bareul" (index $tmp (sub . 1)) -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- else -}}
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
<li>
|
||||||
|
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
|
||||||
|
{{- else }}
|
||||||
|
<li>
|
||||||
|
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
<!-- {{- $firstHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers 0) 1) 0)) -}} -->
|
||||||
|
{{- $firstHeaderLevel := $largest }}
|
||||||
|
{{- $lastHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers (sub (len $headers) 1)) 1) 0)) }}
|
||||||
|
</li>
|
||||||
|
{{- range seq (sub $lastHeaderLevel $firstHeaderLevel) -}}
|
||||||
|
{{- if in ($.Scratch.Get "bareul") (add . $firstHeaderLevel) }}
|
||||||
|
</ul>
|
||||||
|
{{- else }}
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
{{- end }}
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
</div>
|
||||||
|
{{- end }}
|
19
www/layouts/_default/partials/translation_list.html
Normal file
19
www/layouts/_default/partials/translation_list.html
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{{- if .IsTranslated -}}
|
||||||
|
{{- if (ne .Layout "search") }}
|
||||||
|
{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) }} | {{- end -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- i18n "translations" | default "Translations" }}:
|
||||||
|
<ul class="i18n_list">
|
||||||
|
{{- range .Translations }}
|
||||||
|
<li>
|
||||||
|
<a href="{{ .Permalink }}">
|
||||||
|
{{- if (and site.Params.displayFullLangName (.Language.LanguageName)) }}
|
||||||
|
{{- .Language.LanguageName | emojify -}}
|
||||||
|
{{- else }}
|
||||||
|
{{- .Lang | title -}}
|
||||||
|
{{- end -}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
{{- end -}}
|
|
@ -67,6 +67,9 @@
|
||||||
<meta name="twitter:title" content="404 Page not found"/>
|
<meta name="twitter:title" content="404 Page not found"/>
|
||||||
<meta name="twitter:description" content=""/>
|
<meta name="twitter:description" content=""/>
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="list" id="top">
|
<body class="list" id="top">
|
||||||
|
|
284
www/public/archives/index.html
Normal file
284
www/public/archives/index.html
Normal file
|
@ -0,0 +1,284 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="noindex, nofollow">
|
||||||
|
<title>pika - Blogs</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content=" - pika - Blogs">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="canonical" href="http://localhost:1313/archives/">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" hreflang="en" href="http://localhost:1313/archives/">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="http://localhost:1313/" accesskey="h" title="pika - Blogs (Alt + H)">pika - Blogs</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:1313/" title="Home">
|
||||||
|
<span>Home</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:1313/blog/2024/1/" title="AboutMe">
|
||||||
|
<span>AboutMe</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://homepage.k4li.me/" title="homePage">
|
||||||
|
<span>homePage</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
|
||||||
|
<article class="post-single">
|
||||||
|
<header class="post-header">
|
||||||
|
<div class="breadcrumbs"><a href="http://localhost:1313/">Home</a></div>
|
||||||
|
<h1 class="post-title entry-hint-parent">
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
<div class="post-meta">0 min
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<ul class="post-tags">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="share-buttons">
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on x"
|
||||||
|
href="https://x.com/intent/tweet/?text=&url=http%3a%2f%2flocalhost%3a1313%2farchives%2f&hashtags=">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on linkedin"
|
||||||
|
href="https://www.linkedin.com/shareArticle?mini=true&url=http%3a%2f%2flocalhost%3a1313%2farchives%2f&title=&summary=&source=http%3a%2f%2flocalhost%3a1313%2farchives%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on reddit"
|
||||||
|
href="https://reddit.com/submit?url=http%3a%2f%2flocalhost%3a1313%2farchives%2f&title=">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on facebook"
|
||||||
|
href="https://facebook.com/sharer/sharer.php?u=http%3a%2f%2flocalhost%3a1313%2farchives%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on whatsapp"
|
||||||
|
href="https://api.whatsapp.com/send?text=%20-%20http%3a%2f%2flocalhost%3a1313%2farchives%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on telegram"
|
||||||
|
href="https://telegram.me/share/url?text=&url=http%3a%2f%2flocalhost%3a1313%2farchives%2f">
|
||||||
|
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share on ycombinator"
|
||||||
|
href="https://news.ycombinator.com/submitlink?t=&u=http%3a%2f%2flocalhost%3a1313%2farchives%2f">
|
||||||
|
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||||
|
<path
|
||||||
|
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="http://localhost:1313/">pika - Blogs</a></span> ·
|
||||||
|
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
303
www/public/archives/test/index.html
Normal file
303
www/public/archives/test/index.html
Normal file
|
@ -0,0 +1,303 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="noindex, nofollow">
|
||||||
|
<title>Test | pika - Blogs</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="This is a test archived file Nam quis, varius proin, nulla gravida, ante bibendum integer erat. Tristique semper, dignissim aliquet, consectetur rhoncus, justo nulla ut velit. Nibh amet, rutrum justo, nullam nunc, convallis interdum lectus tortor. Urna aenean, finibus diam, ligula mi, justo proin proin congue. Convallis eros, nulla sem, quam ultricies, arcu consectetur dui bibendum.
|
||||||
|
At nisl, tellus tincidunt, quis dolor, pellentesque lectus neque varius. Enim donec, iaculis cras, magnis vulputate, at posuere vel lectus.">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="canonical" href="http://localhost:1313/archives/test/">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" hreflang="en" href="http://localhost:1313/archives/test/">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="http://localhost:1313/" accesskey="h" title="pika - Blogs (Alt + H)">pika - Blogs</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:1313/" title="Home">
|
||||||
|
<span>Home</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:1313/blog/2024/1/" title="AboutMe">
|
||||||
|
<span>AboutMe</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://homepage.k4li.me/" title="homePage">
|
||||||
|
<span>homePage</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
|
||||||
|
<article class="post-single">
|
||||||
|
<header class="post-header">
|
||||||
|
<div class="breadcrumbs"><a href="http://localhost:1313/">Home</a></div>
|
||||||
|
<h1 class="post-title entry-hint-parent">
|
||||||
|
Test
|
||||||
|
<span class="entry-hint" title="Draft">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
</h1>
|
||||||
|
<div class="post-meta"><span title='2024-06-22 23:43:05 +0200 CEST'>June 22, 2024</span> · 2 min
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="post-content"><h1 id="this-is-a-test-archived-file">This is a test archived file<a hidden class="anchor" aria-hidden="true" href="#this-is-a-test-archived-file">#</a></h1>
|
||||||
|
<p>Nam quis, varius proin, nulla gravida, ante bibendum integer erat. Tristique semper, dignissim aliquet, consectetur rhoncus, justo nulla ut velit. Nibh amet, rutrum justo, nullam nunc, convallis interdum lectus tortor. Urna aenean, finibus diam, ligula mi, justo proin proin congue. Convallis eros, nulla sem, quam ultricies, arcu consectetur dui bibendum.</p>
|
||||||
|
<p>At nisl, tellus tincidunt, quis dolor, pellentesque lectus neque varius. Enim donec, iaculis cras, magnis vulputate, at posuere vel lectus. Gravida sed, dignissim arcu, risus venenatis, amet lectus facilisis dui. Euismod eros, fringilla tortor, praesent velit, nulla pellentesque faucibus eu. Nullam non, dictumst dolor, ligula in, bibendum ac dignissim penatibus.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Pulvinar ultricies, tempus lorem, nibh elit, pretium vel est imperdiet. Egestas nunc, eget dui, posuere dignissim, cursus varius pretium vestibulum. Magnis convallis, pellentesque ultrices, est posuere, quis bibendum eu libero.</li>
|
||||||
|
<li>Phasellus tristique, magna facilisis, donec aenean, aliquet lacus in eu. Ipsum tellus, tincidunt enim, nunc varius, vitae nec rutrum elit. Fusce dui, lectus laoreet, bibendum at, quis nascetur hac tristique.</li>
|
||||||
|
<li>Pulvinar et, nulla porttitor, at dignissim, tempor convallis sed feugiat. Nullam dictum, id elementum, ligula blandit, sit tristique auctor nunc. Consequat aliquam, eget congue, imperdiet velit, quam diam nam dui. Nunc dictumst, porta imperdiet, maecenas luctus, eu est eros ac. Curabitur vestibulum, arcu magnis, felis et, aenean convallis dignissim tempus.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Nam velit, et convallis, nibh gravida, dignissim neque luctus laoreet. Dui suspendisse, vestibulum morbi, vulputate faucibus, convallis pharetra dapibus suspendisse. Porta at, phasellus metus, tristique nulla, eget quis nunc tempor. Faucibus efficitur, porttitor odio, arcu nunc, nulla purus ante dignissim. Habitasse hac, at lobortis, feugiat ut, imperdiet efficitur dui nunc.</p>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<ul class="post-tags">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="share-buttons">
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on x"
|
||||||
|
href="https://x.com/intent/tweet/?text=Test&url=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f&hashtags=">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on linkedin"
|
||||||
|
href="https://www.linkedin.com/shareArticle?mini=true&url=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f&title=Test&summary=Test&source=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on reddit"
|
||||||
|
href="https://reddit.com/submit?url=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f&title=Test">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on facebook"
|
||||||
|
href="https://facebook.com/sharer/sharer.php?u=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on whatsapp"
|
||||||
|
href="https://api.whatsapp.com/send?text=Test%20-%20http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on telegram"
|
||||||
|
href="https://telegram.me/share/url?text=Test&url=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on ycombinator"
|
||||||
|
href="https://news.ycombinator.com/submitlink?t=Test&u=http%3a%2f%2flocalhost%3a1313%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||||
|
<path
|
||||||
|
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="http://localhost:1313/">pika - Blogs</a></span> ·
|
||||||
|
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -7,8 +7,8 @@
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>About me and why I do this | pika - Blogs</title>
|
<title>About me and why I do this | pika - Blogs</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<meta name="description" content="whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code… but now I might be coding… Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!">
|
My name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="canonical" href="https://blog.k4li.me/blog/2024/1/">
|
<link rel="canonical" href="https://blog.k4li.me/blog/2024/1/">
|
||||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
||||||
|
@ -60,8 +60,8 @@ My Name is Alexander Pieck, and even though I am into the IT-Business, I’m
|
||||||
|
|
||||||
|
|
||||||
<meta property="og:title" content="About me and why I do this" />
|
<meta property="og:title" content="About me and why I do this" />
|
||||||
<meta property="og:description" content="whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<meta property="og:description" content="whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code… but now I might be coding… Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!" />
|
My name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days)." />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:url" content="https://blog.k4li.me/blog/2024/1/" /><meta property="article:section" content="blog" />
|
<meta property="og:url" content="https://blog.k4li.me/blog/2024/1/" /><meta property="article:section" content="blog" />
|
||||||
<meta property="article:published_time" content="2024-06-20T19:49:35+02:00" />
|
<meta property="article:published_time" content="2024-06-20T19:49:35+02:00" />
|
||||||
|
@ -69,8 +69,8 @@ My Name is Alexander Pieck, and even though I am into the IT-Business, I’m
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="About me and why I do this"/>
|
<meta name="twitter:title" content="About me and why I do this"/>
|
||||||
<meta name="twitter:description" content="whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<meta name="twitter:description" content="whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code… but now I might be coding… Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!"/>
|
My name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days)."/>
|
||||||
|
|
||||||
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
|
@ -99,12 +99,12 @@ My Name is Alexander Pieck, and even though I am into the IT-Business, I’m
|
||||||
"@type": "BlogPosting",
|
"@type": "BlogPosting",
|
||||||
"headline": "About me and why I do this",
|
"headline": "About me and why I do this",
|
||||||
"name": "About me and why I do this",
|
"name": "About me and why I do this",
|
||||||
"description": "whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I\u0026rsquo;m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.\nMy Name is Alexander Pieck, and even though I am into the IT-Business, I\u0026rsquo;m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!",
|
"description": "whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code\u0026hellip; but now I might be coding\u0026hellip; Welcome to my newly created blog! I\u0026rsquo;m not sure how good this is going to be, but I\u0026rsquo;ll try to make it as beautiful and interesting as possible.\nMy name is Alexander Pieck, and even though I\u0026rsquo;m in the IT business, I\u0026rsquo;m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
||||||
],
|
],
|
||||||
"articleBody": "whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.\nMy Name is Alexander Pieck, and even though I am into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also! hate changing my password every 180 days).\nBut anyway, I recently tried to give programming a shot. I started with some bash scripts for my dotfiles and loved the customizability and freedom you have if you just do it yourself!\nAnd then I thought about my own website. As an IT guy, I also have my own company and thus, I need a way to display myself in the world wide web. So about a week ago, I started doing some html and css. Just basic stuff, like padding and margin, the flexboxes and how to layout/place stuff. That kind of helped me customizing my dotfiles as well.\nI mean, I already knew markdown a bit, becouse of git, of course. But I really didn’t have the need to write much stuff in markdown. Now, with Hugo as my site-generator, I need to know markdown well and becouse I think it’s a pretty easy and fast way to deploy websites (even non blog websites, if you know how to), i wanted to go that route.\nNow this whole idea should not be just for nothing. I plan to get it online but really, it’s just for me so..\nwhat do I want to acchieve? Good question folk, I’d like to get some things done with this idea.. Let me get a bit more specific:\nJust writing I don’t know why, but I always liked to share my thoughts with others. I would do this to fresh up my own knowlage and always thought, that the others will learn something from it, even tough - now that I think about it - I don’t really think, that this was often a case.. So yea, mostly for myself, again. Also I just love the english language, even though I’m not native to the english language. I’m from germany and maybe I will try to add translated versions for my blog later on. Learning vim-keybings (neovim) As I started coding, I stumbled accross The Primagean and just felt in love, when i saw his vim skills and how fast he can just DO stuff. I was stunned and acctually installed neovim at the same day. Now my newly gained neovim-love it thanks to the neovide frontend for neovim. It is just absolutely goregous, and I really do want to write and learn and live in here now! Learning how to code and how to structuize a website I really want to learn basic website design and maybe later down the road, a bit of app-design. Also in the web of course. I love the opensource docker container that are available at dockerhub, and would love to publish my own small set of apps. But that’s all something for the future pika. ",
|
"articleBody": "whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code… but now I might be coding… Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.\nMy name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).\nRecently, I decided to give programming a shot. I started with some bash scripts for my dotfiles and loved the customizability and freedom that comes with doing it yourself!\nThen, I thought about creating my own website. As an IT guy, I also have my own company and need a way to present myself on the world wide web. So about a week ago, I started dabbling in HTML and CSS. Just basic stuff like padding, margin, flexboxes, and layout/placement. This also helped me customize my dotfiles better.\nI already knew a bit of markdown from using Git, of course. But I never really had the need to write much in markdown. Now, with Hugo as my site generator, I need to know markdown well. I think it’s a pretty easy and fast way to deploy websites (even non-blog websites, if you know how), so I decided to go that route.\nThis whole idea isn’t just for nothing. I plan to get it online, but really, it’s just for me, so…\nwhat do I want to achieve? Good question! Here are some things I hope to accomplish with this blog:\nJust Writing I don’t know why, but I’ve always liked sharing my thoughts with others. I do this to refresh my own knowledge and always thought others might learn something from it, even though I now realize that might not always have been the case. So yeah, mostly for myself, again. I also just love the English language, even though it’s not my native language. I’m from Germany and maybe I’ll try to add translated versions of my blog later on.\nLearning Vim Keybindings (Neovim) As I started coding, I stumbled across The Primeagen and fell in love with his vim skills and how fast he can just DO stuff. I was stunned and installed Neovim the same day. My newfound Neovim love is thanks to the Neovide frontend for Neovim. It’s absolutely gorgeous, and I really want to write, learn, and live in this environment now!\nLearning How to Code and Structure a Website I want to learn basic website design and maybe, later on, a bit of app design, specifically for the web. I love the open-source Docker containers available on Docker Hub, and would love to publish my own small set of apps. But that’s all something for future pika.\nBy setting these goals, I’m hoping to make this blog not just a platform for sharing my thoughts, but also a tool for personal growth and learning. Thank you for joining me on this journey!\n",
|
||||||
"wordCount" : "550",
|
"wordCount" : "527",
|
||||||
"inLanguage": "en",
|
"inLanguage": "en",
|
||||||
"datePublished": "2024-06-20T19:49:35+02:00",
|
"datePublished": "2024-06-20T19:49:35+02:00",
|
||||||
"dateModified": "2024-06-20T19:49:35+02:00",
|
"dateModified": "2024-06-20T19:49:35+02:00",
|
||||||
|
@ -122,6 +122,9 @@ My Name is Alexander Pieck, and even though I am into the IT-Business, I’m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="" id="top">
|
<body class="" id="top">
|
||||||
|
@ -196,49 +199,57 @@ My Name is Alexander Pieck, and even though I am into the IT-Business, I’m
|
||||||
<h1 class="post-title entry-hint-parent">
|
<h1 class="post-title entry-hint-parent">
|
||||||
About me and why I do this
|
About me and why I do this
|
||||||
</h1>
|
</h1>
|
||||||
<div class="post-meta"><span title='2024-06-20 19:49:35 +0200 CEST'>June 20, 2024</span> · 3 min
|
<div class="post-meta"><span title='2024-06-20 19:49:35 +0200 CEST'>June 20, 2024</span> · 3 min · 527 words
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<div class="post-content"><h2 id="whoami">whoami<a hidden class="anchor" aria-hidden="true" href="#whoami">#</a></h2>
|
<div class="post-content"><h1 id="whoami">whoami<a hidden class="anchor" aria-hidden="true" href="#whoami">#</a></h1>
|
||||||
<!-- raw HTML omitted -->
|
|
||||||
|
|
||||||
|
<p><details >
|
||||||
|
<summary markdown="span">tl;dr</summary>
|
||||||
<ul>
|
<ul>
|
||||||
<li>pika aka. Alexander Pieck</li>
|
<li>pika aka. Alexander Pieck</li>
|
||||||
<li>IT-Sysadmin</li>
|
<li>IT Sysadmin</li>
|
||||||
<li>IT stated as a hobby</li>
|
<li>IT started as a hobby</li>
|
||||||
<li>Homelab-Enthusiast</li>
|
<li>Homelab Enthusiast</li>
|
||||||
<li>Never wanted to code.. but now I may be coding..</li>
|
<li>Never wanted to code… but now I might be coding…</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- raw HTML omitted -->
|
|
||||||
|
</details></p>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<p>Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.</p>
|
<p>Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.</p>
|
||||||
<p>My Name is Alexander Pieck, and even though I <strong>am</strong> into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also! hate changing my password every 180 days).</p>
|
<p>My name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).</p>
|
||||||
<p>But anyway, I recently tried to give programming a shot. I started with some <a href="https://git.k4li.de/pika/scripts.git">bash scripts</a> for my <a href="https://git.k4li.de/dotfiles/hyprdots.git">dotfiles</a> and loved the customizability and freedom you have if you just do it yourself!</p>
|
<p>Recently, I decided to give programming a shot. I started with some bash scripts for my dotfiles and loved the customizability and freedom that comes with doing it yourself!</p>
|
||||||
<p>And then I thought about my own website. As an IT guy, I also have my own company and thus, I need a way to display myself in the <a href="https://de.wikipedia.org/wiki/World_Wide_Web">world wide web</a>. So about a week ago, I started doing some html and css. Just basic stuff, like padding and margin, the flexboxes and how to layout/place stuff. That kind of helped me customizing my dotfiles as well.</p>
|
<p>Then, I thought about creating my own website. As an IT guy, I also have my own company and need a way to present myself on the world wide web. So about a week ago, I started dabbling in HTML and CSS. Just basic stuff like padding, margin, flexboxes, and layout/placement. This also helped me customize my dotfiles better.</p>
|
||||||
<p>I mean, I already knew <a href="">markdown</a> a bit, becouse of git, of course. But I really didn’t have the need to write much stuff in markdown. Now, with Hugo as my site-generator, I need to know markdown well and becouse I think it’s a pretty easy and fast way to deploy websites (even non blog websites, if you know how to), i wanted to go that route.</p>
|
<p>I already knew a bit of markdown from using Git, of course. But I never really had the need to write much in markdown. Now, with Hugo as my site generator, I need to know markdown well. I think it’s a pretty easy and fast way to deploy websites (even non-blog websites, if you know how), so I decided to go that route.</p>
|
||||||
<p>Now this whole idea should not be just for nothing. I plan to get it online but really, it’s just for me so..</p>
|
<p>This whole idea isn’t just for nothing. I plan to get it online, but really, it’s just for me, so…</p>
|
||||||
<h2 id="what-do-i-want-to-acchieve">what do I want to acchieve?<a hidden class="anchor" aria-hidden="true" href="#what-do-i-want-to-acchieve">#</a></h2>
|
<h2 id="what-do-i-want-to-achieve">what do I want to achieve?<a hidden class="anchor" aria-hidden="true" href="#what-do-i-want-to-achieve">#</a></h2>
|
||||||
<p><strong>Good</strong> question folk, I’d like to get some things done with this idea.. Let me get a bit more specific:</p>
|
<hr>
|
||||||
|
<p>Good question! Here are some things I hope to accomplish with this blog:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Just writing</li>
|
<li>
|
||||||
|
<h4 id="just-writing">Just Writing<a hidden class="anchor" aria-hidden="true" href="#just-writing">#</a></h4>
|
||||||
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<ul>
|
<p>I don’t know why, but I’ve always liked sharing my thoughts with others. I do this to refresh my own knowledge and always thought others might learn something from it, even though I now realize that might not always have been the case. So yeah, mostly for myself, again.
|
||||||
<li>I don’t know why, but I always liked to share my thoughts with others. I would do this to fresh up my own knowlage and always thought, that the others will learn something from it, even tough - now that I think about it - I don’t really think, that this was often a case.. So yea, mostly for myself, again.</li>
|
I also just love the English language, even though it’s not my native language. I’m from Germany and maybe I’ll try to add translated versions of my blog later on.</p>
|
||||||
<li>Also I just love the english language, even though I’m not native to the english language. I’m from germany and maybe I will try to add translated versions for my blog later on.</li>
|
|
||||||
</ul>
|
|
||||||
<ol start="2">
|
<ol start="2">
|
||||||
<li>Learning vim-keybings (neovim)</li>
|
<li>
|
||||||
|
<h4 id="learning-vim-keybindings-neovim">Learning Vim Keybindings (Neovim)<a hidden class="anchor" aria-hidden="true" href="#learning-vim-keybindings-neovim">#</a></h4>
|
||||||
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<ul>
|
<p>As I started coding, I stumbled across The Primeagen and fell in love with his vim skills and how fast he can just DO stuff. I was stunned and installed Neovim the same day.
|
||||||
<li>As I started coding, I stumbled accross <a href="https://youtube.com/@ThePrimeagen">The Primagean</a> and just felt in love, when i saw his vim skills and how fast he can just <strong>DO</strong> stuff. I was stunned and acctually installed neovim at the same day.</li>
|
My newfound Neovim love is thanks to the Neovide frontend for Neovim. It’s absolutely gorgeous, and I really want to write, learn, and live in this environment now!</p>
|
||||||
<li>Now my newly gained neovim-love it thanks to the <a href="">neovide</a> frontend for neovim. It is just absolutely goregous, and I really do want to write and learn and live in here now!</li>
|
|
||||||
</ul>
|
|
||||||
<ol start="3">
|
<ol start="3">
|
||||||
<li>Learning how to code and how to structuize a website</li>
|
<li>
|
||||||
|
<h4 id="learning-how-to-code-and-structure-a-website">Learning How to Code and Structure a Website<a hidden class="anchor" aria-hidden="true" href="#learning-how-to-code-and-structure-a-website">#</a></h4>
|
||||||
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<ul>
|
<p>I want to learn basic website design and maybe, later on, a bit of app design, specifically for the web. I love the open-source Docker containers available on Docker Hub, and would love to publish my own small set of apps. But that’s all something for future pika.</p>
|
||||||
<li>I really want to learn basic website design and maybe later down the road, a bit of app-design. Also in the web of course. I love the opensource docker container that are <a href="https://hub.docker.com/">available at dockerhub</a>, and would love to publish my own small set of apps. But that’s all something for the future pika.</li>
|
<hr>
|
||||||
</ul>
|
<p>By setting these goals, I’m hoping to make this blog not just a platform for sharing my thoughts, but also a tool for personal growth and learning. Thank you for joining me on this journey!</p>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="robots" content="index, follow">
|
||||||
<title>2 | pika - Blogs</title>
|
<title>A challange will get you going fast | pika - Blogs</title>
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="description" content="This page is just for demo purpose for now">
|
<meta name="description" content="A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client.">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="canonical" href="https://blog.k4li.me/blog/2024/2/">
|
<link rel="canonical" href="https://blog.k4li.me/blog/2024/2/">
|
||||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
||||||
|
@ -58,16 +58,16 @@
|
||||||
</noscript>
|
</noscript>
|
||||||
|
|
||||||
|
|
||||||
<meta property="og:title" content="2" />
|
<meta property="og:title" content="A challange will get you going fast" />
|
||||||
<meta property="og:description" content="This page is just for demo purpose for now" />
|
<meta property="og:description" content="A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client." />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:url" content="https://blog.k4li.me/blog/2024/2/" /><meta property="article:section" content="blog" />
|
<meta property="og:url" content="https://blog.k4li.me/blog/2024/2/" /><meta property="article:section" content="blog" />
|
||||||
<meta property="article:published_time" content="2024-06-20T23:15:44+02:00" />
|
<meta property="article:published_time" content="2024-06-20T23:15:44+02:00" />
|
||||||
<meta property="article:modified_time" content="2024-06-20T23:15:44+02:00" />
|
<meta property="article:modified_time" content="2024-06-20T23:15:44+02:00" />
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
<meta name="twitter:card" content="summary"/>
|
||||||
<meta name="twitter:title" content="2"/>
|
<meta name="twitter:title" content="A challange will get you going fast"/>
|
||||||
<meta name="twitter:description" content="This page is just for demo purpose for now"/>
|
<meta name="twitter:description" content="A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client."/>
|
||||||
|
|
||||||
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
{
|
{
|
||||||
"@type": "ListItem",
|
"@type": "ListItem",
|
||||||
"position": 2 ,
|
"position": 2 ,
|
||||||
"name": "2",
|
"name": "A challange will get you going fast",
|
||||||
"item": "https://blog.k4li.me/blog/2024/2/"
|
"item": "https://blog.k4li.me/blog/2024/2/"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -94,14 +94,14 @@
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
"@type": "BlogPosting",
|
"@type": "BlogPosting",
|
||||||
"headline": "2",
|
"headline": "A challange will get you going fast",
|
||||||
"name": "2",
|
"name": "A challange will get you going fast",
|
||||||
"description": "This page is just for demo purpose for now",
|
"description": "A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn\u0026rsquo;t really know what I was doing, and to be honest, that hasn\u0026rsquo;t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
||||||
],
|
],
|
||||||
"articleBody": "This page is just for demo purpose for now\n",
|
"articleBody": "A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client. And let me tell you, it feels fantastic to learn some truly “good” stuff. My work may not be perfect, but I’m genuinely proud of myself and have thoroughly enjoyed the process with Hugo.\nI can’t showcase my work just yet, as it’s still a work in progress and not ready for production. But once the website is live, I’ll make sure to update this page with a link.\nIn my research, I explored several Hugo themes, but many were outdated. When I loaded them and started a server, bam - they threw weird CSS errors and some said things like .. is deprecated, use .. instead, which felt quite odd and frustrating. Since I’m new to the whole website industry, I wanted to stick to themes that work well and look nice:\nPaperMod One theme that stands out is PaperMod, which I am using right now 🫡. I love its simplicity, but I know this is definitely NOT the right choice for a customer’s website who wants to display products or run a shop. Nevertheless, there’s something special about it, something cozy and different, in the way PaperMod presents content. It also offers numerous configuration options, such as:\nEnabling breadcrumbs (those Home » Blogs indicators) Enabling Emoji support 🥳 And many more features, which I plan to explore in the coming days minimal_marketing Another theme I considered is minimal_marketing. It looks amazing and simple, but the way it is advertised and the somewhat complicated installation process made it hard to get started. Maybe I’ll give it another try later in my career 😜.\nspectral The theme I selected and modified the most is spectral. It showcases a nice, big open screen, which I liked, and provides almost all the space I need on the first page. It also offers a way to manage Meetups, which was a requirement for the website. I thought it would be the easiest and nicest-looking theme I could choose, so I did.\n",
|
||||||
"wordCount" : "9",
|
"wordCount" : "401",
|
||||||
"inLanguage": "en",
|
"inLanguage": "en",
|
||||||
"datePublished": "2024-06-20T23:15:44+02:00",
|
"datePublished": "2024-06-20T23:15:44+02:00",
|
||||||
"dateModified": "2024-06-20T23:15:44+02:00",
|
"dateModified": "2024-06-20T23:15:44+02:00",
|
||||||
|
@ -119,6 +119,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="" id="top">
|
<body class="" id="top">
|
||||||
|
@ -191,16 +194,31 @@
|
||||||
<header class="post-header">
|
<header class="post-header">
|
||||||
<div class="breadcrumbs"><a href="https://blog.k4li.me/">Home</a> » <a href="https://blog.k4li.me/blog/">Blogs</a></div>
|
<div class="breadcrumbs"><a href="https://blog.k4li.me/">Home</a> » <a href="https://blog.k4li.me/blog/">Blogs</a></div>
|
||||||
<h1 class="post-title entry-hint-parent">
|
<h1 class="post-title entry-hint-parent">
|
||||||
2
|
A challange will get you going fast
|
||||||
</h1>
|
</h1>
|
||||||
<div class="post-meta"><span title='2024-06-20 23:15:44 +0200 CEST'>June 20, 2024</span> · 1 min
|
<div class="post-meta"><span title='2024-06-20 23:15:44 +0200 CEST'>June 20, 2024</span> · 2 min · 401 words
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<div class="post-content"><h1 id="this-page-is-just-for-demo-purpose">This page is just for demo purpose<a hidden class="anchor" aria-hidden="true" href="#this-page-is-just-for-demo-purpose">#</a></h1>
|
<div class="post-content"><h1 id="a-challenge-will-get-you-going">A Challenge Will Get You Going<a hidden class="anchor" aria-hidden="true" href="#a-challenge-will-get-you-going">#</a></h1>
|
||||||
<blockquote>
|
<p>A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned <a href="../1/">before</a>, one of my goals was to create a website for a client. And let me tell you, it feels fantastic to learn some truly “good” stuff. My work may not be perfect, but I’m genuinely proud of myself and have thoroughly enjoyed the process with Hugo.</p>
|
||||||
<p><strong>for now</strong></p>
|
<p>I can’t showcase my work just yet, as it’s still a work in progress and not ready for production. But once the website is live, I’ll make sure to update this page with a link.</p>
|
||||||
</blockquote>
|
<p>In my research, I explored several Hugo themes, but many were outdated. When I loaded them and started a server, bam - they threw weird CSS errors and some said things like <code>.. is deprecated, use .. instead</code>, which felt quite odd and frustrating. Since I’m new to the whole website industry, I wanted to stick to themes that work well and look nice:</p>
|
||||||
|
<h2 id="papermod">PaperMod<a hidden class="anchor" aria-hidden="true" href="#papermod">#</a></h2>
|
||||||
|
<hr>
|
||||||
|
<p>One theme that stands out is PaperMod, which I am using right now 🫡.
|
||||||
|
I love its simplicity, but I know this is definitely NOT the right choice for a customer’s website who wants to display products or run a shop. Nevertheless, there’s something special about it, something cozy and different, in the way PaperMod presents content. It also offers numerous configuration options, such as:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Enabling breadcrumbs (those Home » Blogs indicators)</li>
|
||||||
|
<li>Enabling Emoji support 🥳</li>
|
||||||
|
<li>And many more features, which I plan to explore in the coming days</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="minimal_marketing">minimal_marketing<a hidden class="anchor" aria-hidden="true" href="#minimal_marketing">#</a></h2>
|
||||||
|
<hr>
|
||||||
|
<p>Another theme I considered is minimal_marketing. It looks amazing and simple, but the way it is advertised and the somewhat complicated installation process made it hard to get started. Maybe I’ll give it another try later in my career 😜.</p>
|
||||||
|
<h2 id="spectral">spectral<a hidden class="anchor" aria-hidden="true" href="#spectral">#</a></h2>
|
||||||
|
<hr>
|
||||||
|
<p>The theme I selected and modified the most is spectral. It showcases a nice, big open screen, which I liked, and provides almost all the space I need on the first page. It also offers a way to manage Meetups, which was a requirement for the website. I thought it would be the easiest and nicest-looking theme I could choose, so I did.</p>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -211,8 +229,8 @@
|
||||||
|
|
||||||
<ul class="share-buttons">
|
<ul class="share-buttons">
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on x"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on x"
|
||||||
href="https://x.com/intent/tweet/?text=2&url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f&hashtags=">
|
href="https://x.com/intent/tweet/?text=A%20challange%20will%20get%20you%20going%20fast&url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f&hashtags=">
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
<path
|
<path
|
||||||
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
||||||
|
@ -220,8 +238,8 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on linkedin"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on linkedin"
|
||||||
href="https://www.linkedin.com/shareArticle?mini=true&url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f&title=2&summary=2&source=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
href="https://www.linkedin.com/shareArticle?mini=true&url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f&title=A%20challange%20will%20get%20you%20going%20fast&summary=A%20challange%20will%20get%20you%20going%20fast&source=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
<path
|
<path
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
||||||
|
@ -229,8 +247,8 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on reddit"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on reddit"
|
||||||
href="https://reddit.com/submit?url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f&title=2">
|
href="https://reddit.com/submit?url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f&title=A%20challange%20will%20get%20you%20going%20fast">
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
<path
|
<path
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
||||||
|
@ -238,7 +256,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on facebook"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on facebook"
|
||||||
href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
<path
|
<path
|
||||||
|
@ -247,8 +265,8 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on whatsapp"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on whatsapp"
|
||||||
href="https://api.whatsapp.com/send?text=2%20-%20https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
href="https://api.whatsapp.com/send?text=A%20challange%20will%20get%20you%20going%20fast%20-%20https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
<path
|
<path
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
||||||
|
@ -256,8 +274,8 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on telegram"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on telegram"
|
||||||
href="https://telegram.me/share/url?text=2&url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
href="https://telegram.me/share/url?text=A%20challange%20will%20get%20you%20going%20fast&url=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
||||||
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||||
<path
|
<path
|
||||||
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
||||||
|
@ -265,8 +283,8 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share 2 on ycombinator"
|
<a target="_blank" rel="noopener noreferrer" aria-label="share A challange will get you going fast on ycombinator"
|
||||||
href="https://news.ycombinator.com/submitlink?t=2&u=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
href="https://news.ycombinator.com/submitlink?t=A%20challange%20will%20get%20you%20going%20fast&u=https%3a%2f%2fblog.k4li.me%2fblog%2f2024%2f2%2f">
|
||||||
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||||
<path
|
<path
|
||||||
|
|
303
www/public/blog/2024/archives/test/index.html
Normal file
303
www/public/blog/2024/archives/test/index.html
Normal file
|
@ -0,0 +1,303 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="auto">
|
||||||
|
|
||||||
|
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="robots" content="noindex, nofollow">
|
||||||
|
<title>Test | pika - Blogs</title>
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<meta name="description" content="This is a test archived file Nam quis, varius proin, nulla gravida, ante bibendum integer erat. Tristique semper, dignissim aliquet, consectetur rhoncus, justo nulla ut velit. Nibh amet, rutrum justo, nullam nunc, convallis interdum lectus tortor. Urna aenean, finibus diam, ligula mi, justo proin proin congue. Convallis eros, nulla sem, quam ultricies, arcu consectetur dui bibendum.
|
||||||
|
At nisl, tellus tincidunt, quis dolor, pellentesque lectus neque varius. Enim donec, iaculis cras, magnis vulputate, at posuere vel lectus.">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="canonical" href="http://localhost:1313/blog/2024/archives/test/">
|
||||||
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
||||||
|
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="http://localhost:1313/favicon-16x16.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="http://localhost:1313/favicon-32x32.png">
|
||||||
|
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||||
|
<link rel="mask-icon" href="http://localhost:1313/safari-pinned-tab.svg">
|
||||||
|
<meta name="theme-color" content="#2e2e33">
|
||||||
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
||||||
|
<link rel="alternate" hreflang="en" href="http://localhost:1313/blog/2024/archives/test/">
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
#theme-toggle,
|
||||||
|
.top-link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--theme: rgb(29, 30, 32);
|
||||||
|
--entry: rgb(46, 46, 51);
|
||||||
|
--primary: rgb(218, 218, 219);
|
||||||
|
--secondary: rgb(155, 156, 157);
|
||||||
|
--tertiary: rgb(65, 66, 68);
|
||||||
|
--content: rgb(196, 196, 197);
|
||||||
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
|
--code-bg: rgb(55, 56, 62);
|
||||||
|
--border: rgb(51, 51, 51);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background: var(--theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-track {
|
||||||
|
background: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
||||||
|
border-color: var(--theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="" id="top">
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("pref-theme") === "dark") {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
||||||
|
document.body.classList.remove('dark')
|
||||||
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header class="header">
|
||||||
|
<nav class="nav">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="http://localhost:1313/" accesskey="h" title="pika - Blogs (Alt + H)">pika - Blogs</a>
|
||||||
|
<div class="logo-switches">
|
||||||
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||||
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="menu">
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:1313/" title="Home">
|
||||||
|
<span>Home</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:1313/blog/2024/1/" title="AboutMe">
|
||||||
|
<span>AboutMe</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://homepage.k4li.me/" title="homePage">
|
||||||
|
<span>homePage</span>
|
||||||
|
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
|
||||||
|
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
|
||||||
|
<path d="M15 3h6v6"></path>
|
||||||
|
<path d="M10 14L21 3"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<main class="main">
|
||||||
|
|
||||||
|
<article class="post-single">
|
||||||
|
<header class="post-header">
|
||||||
|
<div class="breadcrumbs"><a href="http://localhost:1313/">Home</a> » <a href="http://localhost:1313/blog/">Blogs</a></div>
|
||||||
|
<h1 class="post-title entry-hint-parent">
|
||||||
|
Test
|
||||||
|
<span class="entry-hint" title="Draft">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
</h1>
|
||||||
|
<div class="post-meta"><span title='2024-06-22 23:43:05 +0200 CEST'>June 22, 2024</span> · 2 min
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="post-content"><h1 id="this-is-a-test-archived-file">This is a test archived file<a hidden class="anchor" aria-hidden="true" href="#this-is-a-test-archived-file">#</a></h1>
|
||||||
|
<p>Nam quis, varius proin, nulla gravida, ante bibendum integer erat. Tristique semper, dignissim aliquet, consectetur rhoncus, justo nulla ut velit. Nibh amet, rutrum justo, nullam nunc, convallis interdum lectus tortor. Urna aenean, finibus diam, ligula mi, justo proin proin congue. Convallis eros, nulla sem, quam ultricies, arcu consectetur dui bibendum.</p>
|
||||||
|
<p>At nisl, tellus tincidunt, quis dolor, pellentesque lectus neque varius. Enim donec, iaculis cras, magnis vulputate, at posuere vel lectus. Gravida sed, dignissim arcu, risus venenatis, amet lectus facilisis dui. Euismod eros, fringilla tortor, praesent velit, nulla pellentesque faucibus eu. Nullam non, dictumst dolor, ligula in, bibendum ac dignissim penatibus.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Pulvinar ultricies, tempus lorem, nibh elit, pretium vel est imperdiet. Egestas nunc, eget dui, posuere dignissim, cursus varius pretium vestibulum. Magnis convallis, pellentesque ultrices, est posuere, quis bibendum eu libero.</li>
|
||||||
|
<li>Phasellus tristique, magna facilisis, donec aenean, aliquet lacus in eu. Ipsum tellus, tincidunt enim, nunc varius, vitae nec rutrum elit. Fusce dui, lectus laoreet, bibendum at, quis nascetur hac tristique.</li>
|
||||||
|
<li>Pulvinar et, nulla porttitor, at dignissim, tempor convallis sed feugiat. Nullam dictum, id elementum, ligula blandit, sit tristique auctor nunc. Consequat aliquam, eget congue, imperdiet velit, quam diam nam dui. Nunc dictumst, porta imperdiet, maecenas luctus, eu est eros ac. Curabitur vestibulum, arcu magnis, felis et, aenean convallis dignissim tempus.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Nam velit, et convallis, nibh gravida, dignissim neque luctus laoreet. Dui suspendisse, vestibulum morbi, vulputate faucibus, convallis pharetra dapibus suspendisse. Porta at, phasellus metus, tristique nulla, eget quis nunc tempor. Faucibus efficitur, porttitor odio, arcu nunc, nulla purus ante dignissim. Habitasse hac, at lobortis, feugiat ut, imperdiet efficitur dui nunc.</p>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<ul class="post-tags">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="share-buttons">
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on x"
|
||||||
|
href="https://x.com/intent/tweet/?text=Test&url=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f&hashtags=">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on linkedin"
|
||||||
|
href="https://www.linkedin.com/shareArticle?mini=true&url=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f&title=Test&summary=Test&source=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on reddit"
|
||||||
|
href="https://reddit.com/submit?url=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f&title=Test">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on facebook"
|
||||||
|
href="https://facebook.com/sharer/sharer.php?u=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on whatsapp"
|
||||||
|
href="https://api.whatsapp.com/send?text=Test%20-%20http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on telegram"
|
||||||
|
href="https://telegram.me/share/url?text=Test&url=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share Test on ycombinator"
|
||||||
|
href="https://news.ycombinator.com/submitlink?t=Test&u=http%3a%2f%2flocalhost%3a1313%2fblog%2f2024%2farchives%2ftest%2f">
|
||||||
|
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||||
|
<path
|
||||||
|
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<span>© 2024 <a href="http://localhost:1313/">pika - Blogs</a></span> ·
|
||||||
|
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||||
|
<path d="M12 6H0l6-6z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let menu = document.getElementById('menu')
|
||||||
|
if (menu) {
|
||||||
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||||
|
menu.onscroll = function () {
|
||||||
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
anchor.addEventListener("click", function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = this.getAttribute("href").substr(1);
|
||||||
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||||
|
behavior: "smooth"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
||||||
|
}
|
||||||
|
if (id === "top") {
|
||||||
|
history.replaceState(null, null, " ");
|
||||||
|
} else {
|
||||||
|
history.pushState(null, null, `#${id}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var mybutton = document.getElementById("top-link");
|
||||||
|
window.onscroll = function () {
|
||||||
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||||
|
mybutton.style.visibility = "visible";
|
||||||
|
mybutton.style.opacity = "1";
|
||||||
|
} else {
|
||||||
|
mybutton.style.visibility = "hidden";
|
||||||
|
mybutton.style.opacity = "0";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
||||||
|
if (document.body.className.includes("dark")) {
|
||||||
|
document.body.classList.remove('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'light');
|
||||||
|
} else {
|
||||||
|
document.body.classList.add('dark');
|
||||||
|
localStorage.setItem("pref-theme", 'dark');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -83,6 +83,9 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="list" id="top">
|
<body class="list" id="top">
|
||||||
|
@ -158,14 +161,14 @@
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2 class="entry-hint-parent">2
|
<h2 class="entry-hint-parent">A challange will get you going fast
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<div class="entry-content">
|
<div class="entry-content">
|
||||||
<p>This page is just for demo purpose for now</p>
|
<p>A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client....</p>
|
||||||
</div>
|
</div>
|
||||||
<footer class="entry-footer"><span title='2024-06-20 23:15:44 +0200 CEST'>June 20, 2024</span> · 1 min</footer>
|
<footer class="entry-footer"><span title='2024-06-20 23:15:44 +0200 CEST'>June 20, 2024</span> · 2 min · 401 words</footer>
|
||||||
<a class="entry-link" aria-label="post link to 2" href="https://blog.k4li.me/blog/2024/2/"></a>
|
<a class="entry-link" aria-label="post link to A challange will get you going fast" href="https://blog.k4li.me/blog/2024/2/"></a>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
|
@ -174,10 +177,10 @@
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<div class="entry-content">
|
<div class="entry-content">
|
||||||
<p>whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<p>whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code… but now I might be coding… Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!...</p>
|
My name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days)....</p>
|
||||||
</div>
|
</div>
|
||||||
<footer class="entry-footer"><span title='2024-06-20 19:49:35 +0200 CEST'>June 20, 2024</span> · 3 min</footer>
|
<footer class="entry-footer"><span title='2024-06-20 19:49:35 +0200 CEST'>June 20, 2024</span> · 3 min · 527 words</footer>
|
||||||
<a class="entry-link" aria-label="post link to About me and why I do this" href="https://blog.k4li.me/blog/2024/1/"></a>
|
<a class="entry-link" aria-label="post link to About me and why I do this" href="https://blog.k4li.me/blog/2024/1/"></a>
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
@ -9,19 +9,19 @@
|
||||||
<lastBuildDate>Thu, 20 Jun 2024 23:15:44 +0200</lastBuildDate>
|
<lastBuildDate>Thu, 20 Jun 2024 23:15:44 +0200</lastBuildDate>
|
||||||
<atom:link href="https://blog.k4li.me/blog/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="https://blog.k4li.me/blog/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
<item>
|
||||||
<title>2</title>
|
<title>A challange will get you going fast</title>
|
||||||
<link>https://blog.k4li.me/blog/2024/2/</link>
|
<link>https://blog.k4li.me/blog/2024/2/</link>
|
||||||
<pubDate>Thu, 20 Jun 2024 23:15:44 +0200</pubDate>
|
<pubDate>Thu, 20 Jun 2024 23:15:44 +0200</pubDate>
|
||||||
<guid>https://blog.k4li.me/blog/2024/2/</guid>
|
<guid>https://blog.k4li.me/blog/2024/2/</guid>
|
||||||
<description>This page is just for demo purpose for now</description>
|
<description>A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn&rsquo;t really know what I was doing, and to be honest, that hasn&rsquo;t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client.</description>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>About me and why I do this</title>
|
<title>About me and why I do this</title>
|
||||||
<link>https://blog.k4li.me/blog/2024/1/</link>
|
<link>https://blog.k4li.me/blog/2024/1/</link>
|
||||||
<pubDate>Thu, 20 Jun 2024 19:49:35 +0200</pubDate>
|
<pubDate>Thu, 20 Jun 2024 19:49:35 +0200</pubDate>
|
||||||
<guid>https://blog.k4li.me/blog/2024/1/</guid>
|
<guid>https://blog.k4li.me/blog/2024/1/</guid>
|
||||||
<description>whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I&rsquo;m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<description>whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code&hellip; but now I might be coding&hellip; Welcome to my newly created blog! I&rsquo;m not sure how good this is going to be, but I&rsquo;ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I&rsquo;m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!</description>
|
My name is Alexander Pieck, and even though I&rsquo;m in the IT business, I&rsquo;m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).</description>
|
||||||
</item>
|
</item>
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|
|
@ -68,6 +68,9 @@
|
||||||
<meta name="twitter:title" content="Categories"/>
|
<meta name="twitter:title" content="Categories"/>
|
||||||
<meta name="twitter:description" content=""/>
|
<meta name="twitter:description" content=""/>
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="list" id="top">
|
<body class="list" id="top">
|
||||||
|
|
|
@ -82,6 +82,9 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="list" id="top">
|
<body class="list" id="top">
|
||||||
|
@ -172,14 +175,14 @@
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2 class="entry-hint-parent">2
|
<h2 class="entry-hint-parent">A challange will get you going fast
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<div class="entry-content">
|
<div class="entry-content">
|
||||||
<p>This page is just for demo purpose for now</p>
|
<p>A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn’t really know what I was doing, and to be honest, that hasn’t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client....</p>
|
||||||
</div>
|
</div>
|
||||||
<footer class="entry-footer"><span title='2024-06-20 23:15:44 +0200 CEST'>June 20, 2024</span> · 1 min</footer>
|
<footer class="entry-footer"><span title='2024-06-20 23:15:44 +0200 CEST'>June 20, 2024</span> · 2 min · 401 words</footer>
|
||||||
<a class="entry-link" aria-label="post link to 2" href="https://blog.k4li.me/blog/2024/2/"></a>
|
<a class="entry-link" aria-label="post link to A challange will get you going fast" href="https://blog.k4li.me/blog/2024/2/"></a>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="post-entry">
|
<article class="post-entry">
|
||||||
|
@ -188,10 +191,10 @@
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<div class="entry-content">
|
<div class="entry-content">
|
||||||
<p>whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I’m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<p>whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code… but now I might be coding… Welcome to my newly created blog! I’m not sure how good this is going to be, but I’ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I’m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!...</p>
|
My name is Alexander Pieck, and even though I’m in the IT business, I’m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days)....</p>
|
||||||
</div>
|
</div>
|
||||||
<footer class="entry-footer"><span title='2024-06-20 19:49:35 +0200 CEST'>June 20, 2024</span> · 3 min</footer>
|
<footer class="entry-footer"><span title='2024-06-20 19:49:35 +0200 CEST'>June 20, 2024</span> · 3 min · 527 words</footer>
|
||||||
<a class="entry-link" aria-label="post link to About me and why I do this" href="https://blog.k4li.me/blog/2024/1/"></a>
|
<a class="entry-link" aria-label="post link to About me and why I do this" href="https://blog.k4li.me/blog/2024/1/"></a>
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
@ -9,19 +9,19 @@
|
||||||
<lastBuildDate>Thu, 20 Jun 2024 23:15:44 +0200</lastBuildDate>
|
<lastBuildDate>Thu, 20 Jun 2024 23:15:44 +0200</lastBuildDate>
|
||||||
<atom:link href="https://blog.k4li.me/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="https://blog.k4li.me/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
<item>
|
||||||
<title>2</title>
|
<title>A challange will get you going fast</title>
|
||||||
<link>https://blog.k4li.me/blog/2024/2/</link>
|
<link>https://blog.k4li.me/blog/2024/2/</link>
|
||||||
<pubDate>Thu, 20 Jun 2024 23:15:44 +0200</pubDate>
|
<pubDate>Thu, 20 Jun 2024 23:15:44 +0200</pubDate>
|
||||||
<guid>https://blog.k4li.me/blog/2024/2/</guid>
|
<guid>https://blog.k4li.me/blog/2024/2/</guid>
|
||||||
<description>This page is just for demo purpose for now</description>
|
<description>A Challenge Will Get You Going A few days ago, I embarked on a new adventure: writing my first blog entry. I didn&rsquo;t really know what I was doing, and to be honest, that hasn&rsquo;t changed much! 😊 However, I am amazed at how straightforward and enjoyable it is to learn website development with the Hugo framework. As I mentioned before, one of my goals was to create a website for a client.</description>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<title>About me and why I do this</title>
|
<title>About me and why I do this</title>
|
||||||
<link>https://blog.k4li.me/blog/2024/1/</link>
|
<link>https://blog.k4li.me/blog/2024/1/</link>
|
||||||
<pubDate>Thu, 20 Jun 2024 19:49:35 +0200</pubDate>
|
<pubDate>Thu, 20 Jun 2024 19:49:35 +0200</pubDate>
|
||||||
<guid>https://blog.k4li.me/blog/2024/1/</guid>
|
<guid>https://blog.k4li.me/blog/2024/1/</guid>
|
||||||
<description>whoami pika aka. Alexander Pieck IT-Sysadmin IT stated as a hobby Homelab-Enthusiast Never wanted to code.. but now I may be coding.. Welcome to my newly created blog, I&rsquo;m really not sure how good this will going to be, but I will try to make it as beautiful and interesting as possible.
|
<description>whoami tl;dr pika aka. Alexander Pieck IT Sysadmin IT started as a hobby Homelab Enthusiast Never wanted to code&hellip; but now I might be coding&hellip; Welcome to my newly created blog! I&rsquo;m not sure how good this is going to be, but I&rsquo;ll try to make it as beautiful and interesting as possible.
|
||||||
My Name is Alexander Pieck, and even though I am into the IT-Business, I&rsquo;m normally that kind of sysadmin, that runs the servers and the hardware and is responsible for the bad internet-speeds and the bad password-policy (spoiler: I also!</description>
|
My name is Alexander Pieck, and even though I&rsquo;m in the IT business, I&rsquo;m usually the kind of sysadmin who runs the servers and hardware and gets blamed for slow internet speeds and bad password policies (spoiler: I also hate changing my password every 180 days).</description>
|
||||||
</item>
|
</item>
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|
3
www/public/robots.txt
Normal file
3
www/public/robots.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
User-agent: *
|
||||||
|
Disallow:
|
||||||
|
Sitemap: https://blog.k4li.me/sitemap.xml
|
|
@ -68,6 +68,9 @@
|
||||||
<meta name="twitter:title" content="Tags"/>
|
<meta name="twitter:title" content="Tags"/>
|
||||||
<meta name="twitter:description" content=""/>
|
<meta name="twitter:description" content=""/>
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="list" id="top">
|
<body class="list" id="top">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue