aboutsummaryrefslogtreecommitdiff
path: root/templates/base.html
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-25 17:44:59 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-25 17:44:59 +0100
commit7949cdfaecbf5613b4e83a1e648b8a716d27ed41 (patch)
treecb4291e59807ef5217adbab597fad871579ed357 /templates/base.html
parent202d280de781df7030e3c04d8bc07c55ccfd2f99 (diff)
downloadmitjafelicijan.com-7949cdfaecbf5613b4e83a1e648b8a716d27ed41.tar.gz
Add thumbnails
Diffstat (limited to 'templates/base.html')
-rw-r--r--templates/base.html229
1 files changed, 117 insertions, 112 deletions
diff --git a/templates/base.html b/templates/base.html
index ab8e748..e81ad58 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -1,115 +1,120 @@
1<!doctype html> 1<!doctype html>
2<html lang="{{ .Config.Language }}"> 2<html lang="{{ .Config.Language }}">
3 <head> 3 <head>
4 <meta charset="utf-8" /> 4 <meta charset="utf-8" />
5 <meta name="viewport" content="width=device-width,initial-scale=1" /> 5 <meta name="viewport" content="width=device-width,initial-scale=1" />
6 6
7 <title>{{ block "title" . }}{{ .Config.Title }}{{ end }}</title> 7 <title>{{ block "title" . }}{{ .Config.Title }}{{ end }}</title>
8 <meta name="description" content="{{ block "description" . }}{{ .Config.Description }}{{ end }}"/> 8 <meta name="description" content="{{ block "description" . }}{{ .Config.Description }}{{ end }}"/>
9 9
10 <link rel="alternate" type="application/rss+xml" href="{{ .Config.BaseURL }}/index.xml" /> 10 <link rel="alternate" type="application/rss+xml" href="{{ .Config.BaseURL }}/index.xml" />
11 <link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel="icon" type="image/x-icon" /> 11 <link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel="icon" type="image/x-icon" />
12 12
13 <style> 13 <style>
14 * { box-sizing: border-box; } 14 * { box-sizing: border-box; }
15 15
16 :root { 16 :root {
17 --border-color: gainsboro; 17 --border-color: gainsboro;
18 --content-width: 840px; 18 --content-width: 840px;
19 --primary-color: blue; 19 --primary-color: blue;
20 } 20 }
21 21
22 ::selection { 22 ::selection {
23 background: var(--primary-color); 23 background: var(--primary-color);
24 color: #ffffff; 24 color: #ffffff;
25 } 25 }
26 26
27 body { font-family: sans-serif; max-width: var(--content-width); margin: 0 auto; line-height: 160%; background: white; } 27 body { font-family: sans-serif; max-width: var(--content-width); margin: 0 auto; line-height: 160%; background: white; }
28 28
29 header { margin-block-start: 1em; margin-block-end: 4em; } 29 header { margin-block-start: 1em; margin-block-end: 4em; }
30 header nav { display: flex; gap: 1em; align-items: center; padding: 0.5em 0; border-bottom: 2px solid black; } 30 header nav { display: flex; gap: 1em; align-items: center; padding: 0.5em 0; border-bottom: 2px solid black; }
31 header nav a { color: black; } 31 header nav a { color: black; }
32 header nav span.title { font-weight: bold; } 32 header nav span.title { font-weight: bold; }
33 33
34 section { margin-block-start: 3em; margin-block-end: 3em; } 34 section { margin-block-start: 3em; margin-block-end: 3em; }
35 blockquote { border-left: 0.2em solid black; padding-left: 1em; margin-left: 0; } 35 blockquote { border-left: 0.2em solid black; padding-left: 1em; margin-left: 0; }
36 footer { font-size: small; } 36 footer { font-size: small; }
37 37
38 ul.post-list { padding: 0em; } 38 ul.post-list { padding: 0em; }
39 ul.post-list li { display: flex; gap: 1em; align-items: center; padding: 0.25em 0; } 39 ul.post-list li { display: flex; gap: 1em; align-items: center; padding: 0.25em 0; }
40 ul.post-list li time { min-width: 50px; } 40 ul.post-list li time { min-width: 50px; }
41 41
42 a { color: var(--primary-color); text-decoration: none; } 42 a { color: var(--primary-color); text-decoration: none; }
43 a:hover { text-decoration: underline; } 43 a:hover { text-decoration: underline; }
44 44
45 h1, h2, h3, h4 { font-size: initial; } 45 h1, h2, h3, h4 { font-size: initial; }
46 article h2, article h3, article h4 { margin-block-start: 2.5em; } 46 article h2, article h3, article h4 { margin-block-start: 2.5em; }
47 article h1 { font-size: 130%; line-height: 110%; } 47 article h1 { font-size: 130%; line-height: 110%; }
48 article code { background: lemonchiffon; padding: 0 0.2em; } 48 article code { background: lemonchiffon; padding: 0 0.2em; }
49 article pre { border: 1px solid var(--border-color); padding: 1em; line-height: 140%; text-wrap: nowrap; overflow-x: auto; } 49 article pre { border: 1px solid var(--border-color); padding: 1em; line-height: 140%; text-wrap: nowrap; overflow-x: auto; }
50 article pre > code { background: initial; padding: 0; } 50 article pre > code { background: initial; padding: 0; }
51 51
52 img, video, audio { max-width: 100%; } 52 img, video, audio { max-width: 100%; }
53 figure { display: flex; justify-content: center; margin: 1.5em 0; } 53 figure { display: flex; justify-content: center; margin: 1.5em 0; }
54 54
55 table { width: 100%; border: 1px solid var(--border-color); border-collapse: collapse; } 55 table { width: 100%; border: 1px solid var(--border-color); border-collapse: collapse; }
56 table thead { background: var(--border-color); border: 1px solid black; } 56 table thead { background: var(--border-color); border: 1px solid black; }
57 table td, table th { text-align: left; padding: 0.4em 0.6em; } 57 table td, table th { text-align: left; padding: 0.4em 0.6em; }
58 table tbody tr { border-bottom: 1px solid var(--border-color); } 58 table tbody tr { border-bottom: 1px solid var(--border-color); }
59 59
60 .tags mark { font-family: monospace; padding: 0 0.2em; } 60 .tags mark { font-family: monospace; padding: 0 0.2em; }
61 .static-prefix { width: 7em; } 61 .static-prefix { width: 7em; }
62 62
63 .multicolumn-list { column-count: 3; column-gap: 3em; } 63 .multicolumn-list { column-count: 3; column-gap: 3em; }
64 .multicolumn-list a { display: block; margin-bottom: 0.5rem; break-inside: avoid; } 64 .multicolumn-list a { display: block; margin-bottom: 0.5rem; break-inside: avoid; }
65 65
66 .project-release table tr td:last-child { text-align: right; } 66 .project-release table tr td:last-child { text-align: right; }
67 .project-release table tr th:last-child { text-align: right; } 67 .project-release table tr th:last-child { text-align: right; }
68 .project-list ul { column-count: 3; column-gap: 3em; } 68 .project-list ul { column-count: 3; column-gap: 3em; }
69 .github-link p { display: flex; align-items: center; gap: 0.3em; } 69 .github-link p { display: flex; align-items: center; gap: 0.3em; }
70 .github-link p img { border: 0; padding: 0; height: 15px; } 70 .github-link p img { border: 0; padding: 0; height: 15px; }
71 71
72 /* Hotfixes for strange behaviour. */ 72 .thumbnails { display: flex; gap: 1em; }
73 article iframe { margin: 0!important; } 73 .thumbnails div a { display: block; height: 9em; margin: 0; padding: 0; }
74 pre code span { display: initial !important; } 74 .thumbnails div a img { height: 100%; margin: 0; padding: 0; }
75 75 .thumbnails div .name { font-size: small; font-weight: bold; font-style: italic; }
76 @media only screen and (max-width: 860px) { 76
77 body { margin: auto; padding: 1em; } 77 /* Hotfixes for strange behaviour. */
78 ul.post-list li time { display: none; } 78 article iframe { margin: 0!important; }
79 .multicolumn-list { column-count: 2; } 79 pre code span { display: initial !important; }
80 .project-list ul { column-count: 2; } 80
81 .hide-on-mobile { display: none; } 81 @media only screen and (max-width: 860px) {
82 } 82 body { margin: auto; padding: 1em; }
83 83 ul.post-list li time { display: none; }
84 @media print { 84 .multicolumn-list { column-count: 2; }
85 header, footer { display: none; } 85 .project-list ul { column-count: 2; }
86 } 86 .hide-on-mobile { display: none; }
87 </style> 87 }
88 88
89 <script src="https://cdn.usefathom.com/script.js" data-site="OKIJWYKR" defer></script> 89 @media print {
90 </head> 90 header, footer { display: none; }
91 91 }
92 <body> 92 </style>
93 <header> 93
94 <nav> 94 <script src="https://cdn.usefathom.com/script.js" data-site="OKIJWYKR" defer></script>
95 <span class="title hide-on-mobile static-prefix">Navigation</span> 95 </head>
96 <a href="/">Home</a> 96
97 <a href="/projects.html">Projects</a> 97 <body>
98 <a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a> 98 <header>
99 <a href="https://github.com/mitjafelicijan" target="_blank">GitHub</a> 99 <nav>
100 <a href="https://github.com/mitjafelicijan/dotfiles" target="_blank" class="hide-on-mobile">Dotfiles</a> 100 <span class="title hide-on-mobile static-prefix">Navigation</span>
101 <a href="/curriculum-vitae.html">CV</a> 101 <a href="/">Home</a>
102 <a href="/feed.xml" class="hide-on-mobile">RSS</a> 102 <a href="/projects.html">Projects</a>
103 </nav> 103 <a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a>
104 </header> 104 <a href="https://github.com/mitjafelicijan" target="_blank">GitHub</a>
105 105 <a href="https://github.com/mitjafelicijan/dotfiles" target="_blank" class="hide-on-mobile">Dotfiles</a>
106 <main> 106 <a href="/curriculum-vitae.html">CV</a>
107 {{ block "content" . }}{{ end }} 107 <a href="/feed.xml" class="hide-on-mobile">RSS</a>
108 </main> 108 </nav>
109 109 </header>
110 <footer> 110
111 <p>You can write me an email at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.</p> 111 <main>
112 <p>This page's is also available as <a href="/feed.xml" target="_blank">RSS feed</a>. Page was built with <a href="https://github.com/mitjafelicijan/jbmafp" target="_blank">jbmafp</a>.</p> 112 {{ block "content" . }}{{ end }}
113 </footer> 113 </main>
114 </body> 114
115 <footer>
116 <p>You can write me an email at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.</p>
117 <p>This page's is also available as <a href="/feed.xml" target="_blank">RSS feed</a>. Page was built with <a href="https://github.com/mitjafelicijan/jbmafp" target="_blank">jbmafp</a>.</p>
118 </footer>
119 </body>
115</html> 120</html>