Initial 2024 design
This commit is contained in:
parent
6d92ca4ae7
commit
eac3ec09c9
75
config.toml
75
config.toml
|
@ -1,6 +1,6 @@
|
||||||
baseurl = "https://www.devroom.io"
|
baseurl = "https://www.devroom.io"
|
||||||
title = "devroom.io"
|
title = "devroom.io"
|
||||||
theme = "devroom-2020"
|
theme = "devroom-2024"
|
||||||
languagecode = "en"
|
languagecode = "en"
|
||||||
defaultcontentlanguage = "en"
|
defaultcontentlanguage = "en"
|
||||||
|
|
||||||
|
@ -36,76 +36,3 @@ enableGitInfo = true
|
||||||
footerquote = "Live now; make <em>now</em> always the most precious time. <em>Now</em> will never come again.<br> – Jean-Luc Picard"
|
footerquote = "Live now; make <em>now</em> always the most precious time. <em>Now</em> will never come again.<br> – Jean-Luc Picard"
|
||||||
|
|
||||||
mainSections = ["posts", "projects"]
|
mainSections = ["posts", "projects"]
|
||||||
|
|
||||||
[[params.skill]]
|
|
||||||
content = "Software Engineer, consultant and architect at <a href='https://www.kabisa.nl'>Kabisa</a>"
|
|
||||||
weight = 10
|
|
||||||
[[params.skill]]
|
|
||||||
content = "Fanatical homelab admin (<a href='/2020/02/28/building-a-diy-home-server-with-freenas/'>read more</a>)"
|
|
||||||
weight = 20
|
|
||||||
[[params.skill]]
|
|
||||||
content = "Bass guitar player, piano player, and music producer"
|
|
||||||
weight = 30
|
|
||||||
[[params.skill]]
|
|
||||||
content = "Drive-way home-wrencher (not a car mechanic); current project: <a href='/projects/volkswagen-golf-iii-cabrio-1994/'>Volkswagen Golf 3 Cabrio</a>"
|
|
||||||
weight = 40
|
|
||||||
|
|
||||||
[[params.popular]]
|
|
||||||
name = "Volkswagen Golf III Cabrio (1994)"
|
|
||||||
url = "/projects/volkswagen-golf-iii-cabrio-1994/"
|
|
||||||
weight = 150
|
|
||||||
[[params.popular]]
|
|
||||||
name = "Cherry-Picking specific commits from another branch"
|
|
||||||
url = "/2010/06/10/cherry-picking-specific-commits-from-another-branch/"
|
|
||||||
weight = 100
|
|
||||||
[[params.popular]]
|
|
||||||
name = "Installing Node.js and NPM on Ubuntu/Debian"
|
|
||||||
url = "/2011/10/24/installing-node-js-and-npm-on-ubuntu-debian/"
|
|
||||||
weight = 100
|
|
||||||
[[params.popular]]
|
|
||||||
name = "How to create and apply a patch with Git"
|
|
||||||
url = "/2009/10/26/how-to-create-and-apply-a-patch-with-git/"
|
|
||||||
weight = 100
|
|
||||||
[[params.popular]]
|
|
||||||
name = "Git: Squash your latests commits into one"
|
|
||||||
url = "/2011/07/05/git-squash-your-latests-commits-into-one/"
|
|
||||||
weight = 50
|
|
||||||
[[params.popular]]
|
|
||||||
name = "Building a DIY Home Server with FreeNAS"
|
|
||||||
url = "/2020/02/28/building-a-diy-home-server-with-freenas/"
|
|
||||||
weight = 50
|
|
||||||
[[params.popular]]
|
|
||||||
name = "How to create and apply a patch with Subversion"
|
|
||||||
url = "/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/"
|
|
||||||
weight = 50
|
|
||||||
[[params.popular]]
|
|
||||||
name = "Repair: Philips 42\" 3D LED TV with Ambilight"
|
|
||||||
url = "/projects/repair-philips-42pfl6057h-12/"
|
|
||||||
weight = 50
|
|
||||||
|
|
||||||
|
|
||||||
# Menu links
|
|
||||||
[[menu.main]]
|
|
||||||
name = "devroom.io"
|
|
||||||
weight = 1
|
|
||||||
url = "/"
|
|
||||||
[[menu.main]]
|
|
||||||
name = "blog"
|
|
||||||
weight = 10
|
|
||||||
url = "/posts/"
|
|
||||||
[[menu.main]]
|
|
||||||
name = "projects"
|
|
||||||
weight = 20
|
|
||||||
url = "/projects/"
|
|
||||||
[[menu.main]]
|
|
||||||
name = "about"
|
|
||||||
weight = 40
|
|
||||||
url = "/about/"
|
|
||||||
[[menu.main]]
|
|
||||||
name = "gpg"
|
|
||||||
weight = 90
|
|
||||||
url = "/gpg/"
|
|
||||||
[[menu.main]]
|
|
||||||
name = "contact"
|
|
||||||
weight = 100
|
|
||||||
url = "/contact/"
|
|
||||||
|
|
20
themes/devroom-2024/LICENSE
Normal file
20
themes/devroom-2024/LICENSE
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2020 YOUR_NAME_HERE
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
7
themes/devroom-2024/archetypes/default.md
Normal file
7
themes/devroom-2024/archetypes/default.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
+++
|
||||||
|
date = {{ .Date }}
|
||||||
|
title = "{{ replace .Name "-" " " | title }}"
|
||||||
|
draft = true
|
||||||
|
tags = []
|
||||||
|
description = ""
|
||||||
|
+++
|
396
themes/devroom-2024/assets/scss/devroom.scss
Normal file
396
themes/devroom-2024/assets/scss/devroom.scss
Normal file
|
@ -0,0 +1,396 @@
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap');
|
||||||
|
|
||||||
|
$h1_font_size: 2.0rem;
|
||||||
|
$h2_font_size: 1.7rem;
|
||||||
|
$header_size: 1.2rem;
|
||||||
|
|
||||||
|
$font_size: 16px;
|
||||||
|
$code_font_size: 16px;
|
||||||
|
$code_line_height: 17px;
|
||||||
|
$line-height: 1.6;
|
||||||
|
|
||||||
|
$accent: rgb(90, 126, 193);
|
||||||
|
$background: rgb(40, 44, 53);
|
||||||
|
$backdrop: $background;
|
||||||
|
$text: rgb(226, 226, 226);
|
||||||
|
$subtext: #868686;
|
||||||
|
$links: $accent;
|
||||||
|
$footer: $text;
|
||||||
|
$meta: $text;
|
||||||
|
$header: $text;
|
||||||
|
$highlight: $links;
|
||||||
|
$code_background: $background;
|
||||||
|
$code_border_color: $background;
|
||||||
|
$code: #ff9327;
|
||||||
|
$separator: darken(desaturate($accent, 20%), 20%);
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
background-color: $backdrop;
|
||||||
|
color: $text;
|
||||||
|
font-family: "Mulish", sans-serif;
|
||||||
|
font-size: $font_size;
|
||||||
|
line-height: $line-height;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
code, pre {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
.important {
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.important::before {
|
||||||
|
content: '\f0a4';
|
||||||
|
font-family: "Font Awesome 6 Free";
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-right: 0.7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
background-color: $background;
|
||||||
|
padding: 1rem 1.5rem;
|
||||||
|
margin: 1rem auto;
|
||||||
|
max-width: 1200px;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, a:hover {
|
||||||
|
color: $links;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: bottom;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
a.brand {
|
||||||
|
text-align: left;
|
||||||
|
flex: 1;
|
||||||
|
display: block;
|
||||||
|
color: $text;
|
||||||
|
font-weight: 800;
|
||||||
|
font-size: 1.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
flex: 2;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
gap: 0.8rem;
|
||||||
|
justify-content: flex-end;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: $text;
|
||||||
|
font-weight: 700;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5 {
|
||||||
|
font-family: "Mulish", sans-serif;
|
||||||
|
font-size: $header_size;
|
||||||
|
font-weight: 900;
|
||||||
|
line-height: $header_size * 1.9;
|
||||||
|
color: $header;
|
||||||
|
margin: 0.67rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: $h1_font_size;
|
||||||
|
color: $text;
|
||||||
|
margin-bottom: 1.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: $h2_font_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
border-left: 5px solid $code_border_color;
|
||||||
|
padding-left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.auto-width img {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 98%;
|
||||||
|
border-radius: 1.6rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img--caption {
|
||||||
|
display: block;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.92rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-view {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row wrap;
|
||||||
|
|
||||||
|
figure {
|
||||||
|
max-width: 48%;
|
||||||
|
min-width: 48%;
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img--caption {
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 0.5rem;
|
||||||
|
max-width: 80%;
|
||||||
|
line-height: 1.1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.begin-task-list + ul {
|
||||||
|
list-style-type: none;
|
||||||
|
padding-left: 1rem;
|
||||||
|
|
||||||
|
input[type="checkbox"] {
|
||||||
|
margin-right: 0.4rem;
|
||||||
|
list-style-image:url("/images/unchecked.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="checkbox"]:checked {
|
||||||
|
list-style-image:url("/images/checked.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
color: $footer;
|
||||||
|
border-top: 1px solid $footer;
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
|
||||||
|
em {
|
||||||
|
background-color: $background;
|
||||||
|
color: $text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 100%;
|
||||||
|
color: $footer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meta {
|
||||||
|
color: $meta;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
color: $code;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pre, code {
|
||||||
|
font-family: 'IBM Plex Mono', monospace;
|
||||||
|
font-size: $code_font_size;
|
||||||
|
line-height: $code_line_height;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre > code {
|
||||||
|
overflow-wrap: normal;
|
||||||
|
white-space: pre;
|
||||||
|
color: $text;
|
||||||
|
background-color: $background !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
background-color: $code_background !important;
|
||||||
|
padding: 1rem 1rem 1rem 2.5rem;
|
||||||
|
overflow-x: auto;
|
||||||
|
overflow-y: hidden;
|
||||||
|
line-height: $line-height;
|
||||||
|
border: 2px solid $code_border_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
table td, table th {
|
||||||
|
padding: 0.2rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.about-avatar {
|
||||||
|
width: 16rem;
|
||||||
|
float: right;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fi {
|
||||||
|
font-size: $font_size * 1.2;
|
||||||
|
padding-top: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
// bootstrap SVG-Icons
|
||||||
|
.bi {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
padding-bottom: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bi-link {
|
||||||
|
width: 1.4rem;
|
||||||
|
height: 1.4rem;
|
||||||
|
color: $links;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Front-page post feed
|
||||||
|
|
||||||
|
.main-page {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.narrow {
|
||||||
|
max-width: 780px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
article.post {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
line-height: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
padding: 0.1rem 0;
|
||||||
|
|
||||||
|
&+article.post {
|
||||||
|
border-top: 1px solid $separator;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar {
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: $links;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-right: 1.5rem;
|
||||||
|
min-width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
flex-grow: 1;
|
||||||
|
font-size: $font-size;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: 1.3;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
padding-right: 1rem;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
font-size: 14px;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.permalink {
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
outline: none;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: 50;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
article.full {
|
||||||
|
.created_on, .updated_on {
|
||||||
|
color: $subtext;
|
||||||
|
text-align: center;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updated_on {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-head {
|
||||||
|
margin: 5rem 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a.tag {
|
||||||
|
background-color: $accent;
|
||||||
|
color: $text;
|
||||||
|
padding: 2px 8px 4px;
|
||||||
|
margin: 0 2px;
|
||||||
|
border-radius: 6px;
|
||||||
|
font-size: 13px;
|
||||||
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-about {
|
||||||
|
margin: 4rem 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
& > * {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.previous-article, .next-article {
|
||||||
|
font-size: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-author {
|
||||||
|
flex: 4;
|
||||||
|
flex-grow: 999;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 64px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
0
themes/devroom-2024/layouts/404.html
Normal file
0
themes/devroom-2024/layouts/404.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}
|
||||||
|
<a href="#{{ .Anchor | safeURL }}">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-link" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9c-.086 0-.17.01-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z"/>
|
||||||
|
<path d="M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4.02 4.02 0 0 1-.82 1H12a3 3 0 1 0 0-6H9z"/>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</h{{ .Level }}>
|
53
themes/devroom-2024/layouts/_default/baseof.html
Normal file
53
themes/devroom-2024/layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ .Site.Language.Lang }}">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
{{ with .Site.Params.author }}
|
||||||
|
<meta name="author" content="{{ . }}" />
|
||||||
|
{{ end }} {{ with .Site.Params.description }}
|
||||||
|
<meta name="description" content="{{ . }}" />
|
||||||
|
{{ end }} {{ with .Site.Params.keywords }}
|
||||||
|
<meta name="keywords" content="{{ . }}" />
|
||||||
|
{{ end }} {{ if .Permalink }}
|
||||||
|
<base href="{{ .Permalink }}" />
|
||||||
|
<link rel="canonical" href="{{ .Permalink }}" />
|
||||||
|
{{ end }}
|
||||||
|
<title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
|
||||||
|
{{ hugo.Generator }}
|
||||||
|
<link rel="stylesheet" href="/css/lightbox.min.css" />
|
||||||
|
{{ if .Site.IsServer }} {{ $cssOpts := (dict "targetPath" "css/devroom.css"
|
||||||
|
"enableSourceMap" true ) }} {{ $styles := resources.Get "scss/devroom.scss"
|
||||||
|
| resources.ExecuteAsTemplate "style.devroom.css" . | toCSS $cssOpts }}
|
||||||
|
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" media="screen" />
|
||||||
|
{{ else }} {{ $cssOpts := (dict "targetPath" "css/devroom.css" ) }} {{
|
||||||
|
$styles := resources.Get "scss/devroom.scss" | resources.ExecuteAsTemplate
|
||||||
|
"style.devroom.css" . | toCSS $cssOpts | minify | fingerprint }}
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="{{ $styles.RelPermalink }}"
|
||||||
|
integrity="{{ $styles.Data.Integrity }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
media="screen"
|
||||||
|
/>
|
||||||
|
{{ end }}
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
type="application/rss+xml"
|
||||||
|
href="https://www.devroom.io/index.xml"
|
||||||
|
title="Ariejan de Vroom"
|
||||||
|
/>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
||||||
|
<link rel="manifest" href="/site.webmanifest" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
<div class="main-page">{{ block "content" . }}{{ end }}</div>
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
</div>
|
||||||
|
<script src="/js/lightbox-plus-jquery.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
11
themes/devroom-2024/layouts/_default/list.html
Normal file
11
themes/devroom-2024/layouts/_default/list.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{{ define "title" }}
|
||||||
|
{{- if eq .Kind "taxonomy" -}}
|
||||||
|
{{- i18n .Data.Singular | title -}}
|
||||||
|
{{- print "" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- .Title }} · {{ .Site.Title -}}
|
||||||
|
{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
{{ partial "list.html" . }}
|
||||||
|
{{ end }}
|
32
themes/devroom-2024/layouts/_default/rss.xml
Normal file
32
themes/devroom-2024/layouts/_default/rss.xml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{{ $pages := where site.RegularPages "Type" "in" site.Params.mainSections }}
|
||||||
|
{{- $limit := .Site.Config.Services.RSS.Limit -}}
|
||||||
|
{{- if ge $limit 1 -}}
|
||||||
|
{{- $pages = $pages | first $limit -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||||
|
<link>{{ .Permalink }}</link>
|
||||||
|
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
|
||||||
|
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
|
||||||
|
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
||||||
|
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
||||||
|
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||||
|
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||||
|
{{ with .OutputFormats.Get "RSS" }}
|
||||||
|
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||||
|
{{ end }}
|
||||||
|
{{ range $pages }}
|
||||||
|
<item>
|
||||||
|
<title>{{ .Title }}</title>
|
||||||
|
<link>{{ .Permalink }}</link>
|
||||||
|
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||||
|
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||||
|
<guid>{{ .Permalink }}</guid>
|
||||||
|
<description>{{ .Summary | html }}</description>
|
||||||
|
</item>
|
||||||
|
{{ end }}
|
||||||
|
</channel>
|
||||||
|
</rss>
|
6
themes/devroom-2024/layouts/_default/single.html
Normal file
6
themes/devroom-2024/layouts/_default/single.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{{ define "title" }}
|
||||||
|
{{ .Title }} · {{ .Site.Title }}
|
||||||
|
{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
{{ partial "page.html" . }}
|
||||||
|
{{ end }}
|
3
themes/devroom-2024/layouts/index.html
Normal file
3
themes/devroom-2024/layouts/index.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{{ define "content" }}
|
||||||
|
{{ partial "home.html" . }}
|
||||||
|
{{ end }}
|
25
themes/devroom-2024/layouts/partials/footer.html
Normal file
25
themes/devroom-2024/layouts/partials/footer.html
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<footer>
|
||||||
|
<p>
|
||||||
|
{{ .Site.Copyright | safeHTML }}
|
||||||
|
<br />
|
||||||
|
This site is free of ads. Statistics are tracked respecting your privacy with <a href="https://usefathom.com/">Fathom</a>.
|
||||||
|
<br />
|
||||||
|
Was this post helpful to you? Why not <a class="buymeacoffee" target="_blank" href="https://www.buymeacoffee.com/ariejan">☕ Buy me a coffee</a>
|
||||||
|
</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- Fathom - simple website analytics - https://github.com/usefathom/fathom -->
|
||||||
|
<script>
|
||||||
|
(function(f, a, t, h, o, m){
|
||||||
|
a[h]=a[h]||function(){
|
||||||
|
(a[h].q=a[h].q||[]).push(arguments)
|
||||||
|
};
|
||||||
|
o=f.createElement('script'),
|
||||||
|
m=f.getElementsByTagName('script')[0];
|
||||||
|
o.async=1; o.src=t; o.id='fathom-script';
|
||||||
|
m.parentNode.insertBefore(o,m)
|
||||||
|
})(document, window, 'https://stats.devroom.io/tracker.js', 'fathom');
|
||||||
|
fathom('set', 'siteId', 'GCBEF');
|
||||||
|
fathom('trackPageview');
|
||||||
|
</script>
|
||||||
|
<!-- / Fathom -->
|
12
themes/devroom-2024/layouts/partials/header.html
Normal file
12
themes/devroom-2024/layouts/partials/header.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<header>
|
||||||
|
<nav>
|
||||||
|
<a href="/" class="brand">devroom.io</a>
|
||||||
|
<div class="menu">
|
||||||
|
<a href="/" class="menu-item">Blog</a>
|
||||||
|
<a href="/projects/" class="menu-item">Projects</a>
|
||||||
|
<a href="/about/" class="menu-item">About</a>
|
||||||
|
<a href="/gpg/" class="menu-item">GPG</a>
|
||||||
|
<a href="/contact/" class="menu-item">Contact</a>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
24
themes/devroom-2024/layouts/partials/home.html
Normal file
24
themes/devroom-2024/layouts/partials/home.html
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{{ $pages := where site.RegularPages "Type" "in" site.Params.mainSections }}
|
||||||
|
|
||||||
|
<div class="narrow">
|
||||||
|
<p>{{ .Site.Params.info }}</p>
|
||||||
|
|
||||||
|
<p><a href="/about">Read more about me »</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="narrow">
|
||||||
|
{{ range $pages.GroupByDate "2006" }}
|
||||||
|
<h2 class="year">{{ .Key }}</h2>
|
||||||
|
|
||||||
|
<div class="post-feed">
|
||||||
|
{{ range .Pages }}
|
||||||
|
<article class="post">
|
||||||
|
<div class="calendar">{{ time.Format "02 Jan" .Date }}</div>
|
||||||
|
<h2 class="title">{{ .Title }}</h2>
|
||||||
|
<div class="actions">{{ .ReadingTime }} min read »</div>
|
||||||
|
<a class="permalink" href="{{ .Params.ExternalLink | default .RelPermalink }}"></a>
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
16
themes/devroom-2024/layouts/partials/list.html
Normal file
16
themes/devroom-2024/layouts/partials/list.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<section class="container list">
|
||||||
|
<h1 class="title">
|
||||||
|
{{- if eq .Kind "taxonomy" -}}
|
||||||
|
{{- i18n .Data.Singular | title -}}
|
||||||
|
{{- print "Tagged " -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- .Title -}}
|
||||||
|
</h1>
|
||||||
|
<ul>
|
||||||
|
{{ range .Paginator.Pages }}
|
||||||
|
<li>{{ .Title }}<br/><a href="{{ .Params.ExternalLink | default .RelPermalink }}">{{ .Params.ExternalLink | default .RelPermalink }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</section>
|
4
themes/devroom-2024/layouts/partials/page.html
Normal file
4
themes/devroom-2024/layouts/partials/page.html
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<article>
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ .Content }}
|
||||||
|
</article>
|
41
themes/devroom-2024/layouts/partials/post.html
Normal file
41
themes/devroom-2024/layouts/partials/post.html
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{{ $lastmod := .Lastmod.Format "2006-01-02" }}
|
||||||
|
{{ $date := .Date.Format "2006-01-02" }}
|
||||||
|
|
||||||
|
<article class="full">
|
||||||
|
<div class="article-head">
|
||||||
|
<div class="created_on"><time datetime='{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}'>{{ .Date.Format (.Site.Params.dateFormat | default "2 January 2006" ) }}</time></div>
|
||||||
|
{{ if not (eq $lastmod $date) }}
|
||||||
|
<div class="updated_on">Last updated <time datetime='{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}'>{{ .Lastmod.Format (.Site.Params.dateFormat | default "2 January 2006" ) }}</time></div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article class="content">
|
||||||
|
<div class="narrow">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="narrow">
|
||||||
|
<div class="tags">Tags:
|
||||||
|
{{ range .Params.tags }}
|
||||||
|
<a class="tag" href="/tags/{{ . | urlize }}">{{ . }}</a>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="narrow">
|
||||||
|
<div class="article-about">
|
||||||
|
<div class="article-author">
|
||||||
|
<div class="author-avatar">
|
||||||
|
Written by
|
||||||
|
<a href="/about/">
|
||||||
|
<img src="/images/avatar.jpg" alt="Ariejan de Vroom" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</article>
|
6
themes/devroom-2024/layouts/partials/taxonomy/tags.html
Normal file
6
themes/devroom-2024/layouts/partials/taxonomy/tags.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{{- range $index, $el := . -}}
|
||||||
|
{{- if gt $index 0 }}
|
||||||
|
<span class="separator">•</span>
|
||||||
|
{{- end }}
|
||||||
|
<a href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . | lower }}</a>
|
||||||
|
{{- end -}}
|
6
themes/devroom-2024/layouts/posts/single.html
Normal file
6
themes/devroom-2024/layouts/posts/single.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{{ define "title" }}
|
||||||
|
{{ .Title }} · {{ .Site.Title }}
|
||||||
|
{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
{{ partial "post.html" . }}
|
||||||
|
{{ end }}
|
6
themes/devroom-2024/layouts/projects/single.html
Normal file
6
themes/devroom-2024/layouts/projects/single.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{{ define "title" }}
|
||||||
|
{{ .Title }} · {{ .Site.Title }}
|
||||||
|
{{ end }}
|
||||||
|
{{ define "content" }}
|
||||||
|
{{ partial "post.html" . }}
|
||||||
|
{{ end }}
|
15
themes/devroom-2024/theme.toml
Normal file
15
themes/devroom-2024/theme.toml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# theme.toml template for a Hugo theme
|
||||||
|
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
|
||||||
|
|
||||||
|
name = "de Vroom 2024"
|
||||||
|
license = "MIT"
|
||||||
|
licenselink = "https://git.devroom.io/ariejan/devroom-2020/blob/master/LICENSE"
|
||||||
|
description = ""
|
||||||
|
homepage = "https://www.devroom.io"
|
||||||
|
tags = []
|
||||||
|
features = []
|
||||||
|
min_version = "0.120"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "Ariejan de Vroom"
|
||||||
|
homepage = "https://www.devroom.io"
|
Loading…
Reference in New Issue
Block a user