|
diff --git a/templates/base.html b/templates/base.html
|
| ... |
| 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; } |
|
|
15 |
|
| 14 |
:root { |
16 |
:root { |
| 15 |
--base-background: white; |
17 |
--border-color: gainsboro; |
| 16 |
--base-color: black; |
|
|
| 17 |
--link-color: blue; |
|
|
| 18 |
--first-child-width: 150px; |
|
|
| 19 |
--primary-color: gainsboro; |
|
|
| 20 |
--secondary-color: black; |
|
|
| 21 |
--tertiary-color: #eee; |
|
|
| 22 |
--code-color: #f9f9f9; |
|
|
| 23 |
--border-width: 1px; |
|
|
| 24 |
--header-color: black; |
|
|
| 25 |
--header-border-width: 2px; |
|
|
| 26 |
--content-width: 840px; |
18 |
--content-width: 840px; |
|
|
19 |
--primary-color: blue; |
| 27 |
} |
20 |
} |
| 28 |
|
21 |
|
| 29 |
* { box-sizing: border-box; } |
22 |
::selection { |
|
|
23 |
background: var(--primary-color); |
|
|
24 |
color: #ffffff; |
|
|
25 |
} |
|
|
26 |
|
|
|
27 |
body { font-family: sans-serif; max-width: var(--content-width); margin: 0 auto; line-height: 160%; } |
|
|
28 |
|
|
|
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; } |
|
|
31 |
header nav a { color: black; } |
|
|
32 |
header nav span.title { font-weight: bold; } |
| 30 |
|
33 |
|
| 31 |
html { scroll-padding-top: 1.5em; } |
34 |
section { margin-block-start: 3em; margin-block-end: 3em; } |
| 32 |
body { font-family: sans-serif; padding: 0 1em; line-height: 160%; display: flex; flex-direction: column; gap: 4em; background: var(--base-background); color: var(--base-color); } |
|
|
| 33 |
table { width: 100%; border: var(--border-width) solid var(--primary-color); border-collapse: collapse; } |
|
|
| 34 |
table thead { background: var(--primary-color); border: var(--border-width) solid var(--secondary-color); color: var(--header-color); } |
|
|
| 35 |
table td, table th { text-align: left; padding: 0.3em 0.5em; } |
|
|
| 36 |
table tbody tr { border-bottom: var(--border-width) solid var(--primary-color); vertical-align: middle; } |
|
|
| 37 |
table tr td:first-child { width: var(--first-child-width); } |
|
|
| 38 |
table.normal tr td:first-child { width: auto; } |
|
|
| 39 |
table td.tags { display: flex; gap: 0.5em; justify-content: flex-end; align-items: center; } |
|
|
| 40 |
table td.tags mark { padding: 0 0.4em; background: var(--primary-color); font-size: small; } |
|
|
| 41 |
|
35 |
|
| 42 |
a { color: var(--link-color); text-decoration: none; } |
36 |
footer { font-size: small; } |
| 43 |
a:hover { text-decoration: underline; } |
|
|
| 44 |
|
37 |
|
| 45 |
header { border-bottom: var(--header-border-width) solid var(--secondary-color); padding: 0.5em 0; } |
38 |
ul.post-list { padding: 0em; } |
| 46 |
header div { min-width: var(--content-width); max-width: var(--content-width); display: flex; } |
39 |
ul.post-list li { display: flex; gap: 1em; align-items: center; padding: 0.25em 0; } |
| 47 |
header div nav:first-child { display: flex; width: var(--first-child-width); } |
40 |
ul.post-list li time { min-width: 50px; } |
| 48 |
header div nav:nth-child(2) { display: flex; gap: 1.5em; } |
|
|
| 49 |
header div nav:nth-child(2) a { color: var(--base-color); } |
|
|
| 50 |
header div nav:last-child { text-align: right; margin-left: auto; display: flex; } |
|
|
| 51 |
|
41 |
|
| 52 |
footer { color: gray; } |
42 |
a { color: var(--primary-color); text-decoration: none; } |
| 53 |
footer div { min-width: var(--content-width); max-width: var(--content-width); } |
43 |
a:hover { text-decoration: underline; } |
| 54 |
footer a { color: gray; text-decoration: underline; } |
|
|
| 55 |
|
44 |
|
| 56 |
main { min-width: var(--content-width); max-width: var(--content-width); display: flex; gap: 2em; flex-direction: column; } |
|
|
| 57 |
h1, h2, h3, h4 { font-size: initial; } |
45 |
h1, h2, h3, h4 { font-size: initial; } |
| 58 |
article h2, article h3, article h4 { margin-block-start: 2.5em; } |
46 |
article h2, article h3, article h4 { margin-block-start: 2.5em; } |
| 59 |
article h1 { font-size: 130%; line-height: 110%; } |
47 |
article h1 { font-size: 130%; line-height: 110%; } |
|
|
48 |
article code { background: yellow; padding: 0 0.2em; } |
|
|
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; } |
| 60 |
|
51 |
|
| 61 |
img, video, audio { max-width: 100%; } |
52 |
img, video, audio { max-width: 100%; } |
| 62 |
figure { display: flex; justify-content: center; margin: 2.5em 0; } |
53 |
figure { display: flex; justify-content: center; margin: 1.5em 0; } |
| 63 |
img, video { border: var(--border-width) solid var(--primary-color); padding: 0.5em; } |
|
|
| 64 |
img.no-border, video.no-border, img[src$="?no-border"] { border: 0; padding: 0; } |
|
|
| 65 |
|
54 |
|
| 66 |
pre { background: var(--code-color)!important; border: var(--border-width) solid var(--primary-color); text-wrap: wrap; padding: 1.0em; line-height: 170%; text-wrap: nowrap; overflow-x: auto; } |
55 |
table { width: 100%; border: 1px solid var(--border-color); border-collapse: collapse; } |
| 67 |
code { background: var(--code-color); padding: 0 0.2em; } |
56 |
table thead { background: var(--border-color); border: 1px solid black; } |
| 68 |
pre code { padding: 0; } |
57 |
table td, table th { text-align: left; padding: 0.4em 0.6em; } |
|
|
58 |
table tbody tr { border-bottom: 1px solid var(--border-color); } |
| 69 |
|
59 |
|
| 70 |
.capitalize { text-transform: capitalize; } |
60 |
.tags mark { font-family: monospace; padding: 0 0.2em; } |
| 71 |
|
61 |
.static-prefix { width: 7em; } |
| 72 |
.text-left { text-align: left; } |
|
|
| 73 |
.text-center { text-align: center; } |
|
|
| 74 |
.text-right { text-align: right; } |
|
|
| 75 |
|
62 |
|
| 76 |
.content-center { margin: 0 auto; } |
63 |
.multicolumn-list { column-count: 3; column-gap: 3em; } |
|
|
64 |
.multicolumn-list a { display: block; margin-bottom: 0.5rem; break-inside: avoid; } |
| 77 |
|
65 |
|
| 78 |
#content_align_button { display: none; } |
66 |
.project-release table tr td: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; } |
|
|
69 |
.github-link p { display: flex; align-items: center; gap: 0.3em; } |
|
|
70 |
.github-link p img { border: 0; padding: 0; height: 15px; } |
| 79 |
|
71 |
|
| 80 |
/* Hotfixes for strange behaviour. */ |
72 |
/* Hotfixes for strange behaviour. */ |
| 81 |
article iframe { margin: 0!important; } |
73 |
article iframe { margin: 0!important; } |
| 82 |
pre code span { display: initial !important; } |
74 |
pre code span { display: initial !important; } |
| 83 |
|
75 |
|
|
|
76 |
@media only screen and (max-width: 860px) { |
|
|
77 |
body { margin: auto; padding: 1em; } |
|
|
78 |
ul.post-list li time { display: none; } |
|
|
79 |
.multicolumn-list { column-count: 2; } |
|
|
80 |
.project-list ul { column-count: 2; } |
|
|
81 |
.hide-on-mobile { display: none; } |
|
|
82 |
} |
|
|
83 |
|
| 84 |
@media print { |
84 |
@media print { |
| 85 |
header, footer { display: none; } |
85 |
header, footer { display: none; } |
| 86 |
} |
86 |
} |
| 87 |
</style> |
87 |
</style> |
| 88 |
<script defer src="https://app.tinyanalytics.io/pixel/isfRNEahfHiS2Ttp"></script> |
88 |
|
|
|
89 |
<!-- <script defer src="https://app.tinyanalytics.io/pixel/isfRNEahfHiS2Ttp"></script> --> |
| 89 |
</head> |
90 |
</head> |
| 90 |
|
91 |
|
| 91 |
<body> |
92 |
<body> |
| 92 |
<header> |
93 |
<header> |
| 93 |
<div class="content"> |
94 |
<nav> |
| 94 |
<nav> |
95 |
<span class="title hide-on-mobile static-prefix">Navigation</span> |
| 95 |
<span><strong>Navigation</strong></span> |
96 |
<a href="/">Home</a> |
| 96 |
</nav> |
97 |
<a href="/projects.html">Projects</a> |
| 97 |
<nav> |
98 |
<a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a> |
| 98 |
<span><a href="/">Home</a></span> |
99 |
<a href="https://github.com/mitjafelicijan" target="_blank">Code</a> |
| 99 |
<span><a href="/projects.html">Projects</a></span> |
100 |
<a href="https://github.com/mitjafelicijan/dotfiles" target="_blank" class="hide-on-mobile">Dotfiles</a> |
| 100 |
<span><a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a></span> |
101 |
<a href="/curriculum-vitae.html">CV</a> |
| 101 |
<span><a href="https://github.com/mitjafelicijan" target="_blank">Code</a></span> |
102 |
<a href="/feed.xml" class="hide-on-mobile">RSS</a> |
| 102 |
<span><a href="https://github.com/mitjafelicijan/dotfiles" target="_blank">Dotfiles</a></span> |
103 |
</nav> |
| 103 |
<span><a href="/curriculum-vitae.html">CV</a></span> |
|
|
| 104 |
<span><a href="/feed.xml">RSS</a></span> |
|
|
| 105 |
</nav> |
|
|
| 106 |
<nav> |
|
|
| 107 |
<button id="content_align_button">center</button> |
|
|
| 108 |
<script>content_align_button.style.display = "block";</script> |
|
|
| 109 |
</nav> |
|
|
| 110 |
</div> |
|
|
| 111 |
</header> |
104 |
</header> |
| 112 |
|
105 |
|
| 113 |
<main class="content"> |
106 |
<main> |
| 114 |
{{ block "content" . }}{{ end }} |
107 |
{{ block "content" . }}{{ end }} |
| 115 |
</main> |
108 |
</main> |
| 116 |
|
109 |
|
| 117 |
<footer> |
110 |
<footer> |
| 118 |
<div class="content"> |
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> |
| 119 |
<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> |
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> |
| 120 |
<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> |
|
|
| 121 |
</div> |
|
|
| 122 |
</footer> |
113 |
</footer> |
| 123 |
|
|
|
| 124 |
<script> |
|
|
| 125 |
function align_content_left() { |
|
|
| 126 |
document.querySelectorAll(".content").forEach(el => { |
|
|
| 127 |
el.classList.remove("content-center"); |
|
|
| 128 |
}); |
|
|
| 129 |
content_align_button.innerText = "center"; |
|
|
| 130 |
localStorage.setItem("content-align", "left"); |
|
|
| 131 |
} |
|
|
| 132 |
|
|
|
| 133 |
function align_content_center() { |
|
|
| 134 |
document.querySelectorAll(".content").forEach(el => { |
|
|
| 135 |
el.classList.add("content-center"); |
|
|
| 136 |
}); |
|
|
| 137 |
content_align_button.innerText = "left"; |
|
|
| 138 |
localStorage.setItem("content-align", "center"); |
|
|
| 139 |
} |
|
|
| 140 |
|
|
|
| 141 |
{ |
|
|
| 142 |
let initial_align = localStorage.getItem("content-align"); |
|
|
| 143 |
if (!initial_align) { |
|
|
| 144 |
localStorage.setItem("content-align", "left"); |
|
|
| 145 |
initial_align = localStorage.getItem("content-align"); |
|
|
| 146 |
} |
|
|
| 147 |
|
|
|
| 148 |
if (initial_align == "center") { |
|
|
| 149 |
align_content_center(); |
|
|
| 150 |
} |
|
|
| 151 |
} |
|
|
| 152 |
|
|
|
| 153 |
content_align_button.onclick = function(e) { |
|
|
| 154 |
const align = localStorage.getItem("content-align"); |
|
|
| 155 |
if (align == "center") { align_content_left(); } |
|
|
| 156 |
if (align == "left") { align_content_center(); } |
|
|
| 157 |
} |
|
|
| 158 |
</script> |
|
|
| 159 |
</body> |
114 |
</body> |
| 160 |
</html> |
115 |
</html> |