Cleaned up theme

Author Mitja Felicijan <mitja.felicijan@gmail.com> 2025-09-19 23:22:30 +0200
Committer Mitja Felicijan <mitja.felicijan@gmail.com> 2025-09-19 23:22:30 +0200
Commit 67a6fe21f37f8644e7ef45028168b1e4932ac654 (patch)
-rw-r--r-- content/pages/projects.md 11
-rw-r--r-- templates/base.html 169
-rw-r--r-- templates/index.html 62
-rw-r--r-- templates/note.html 31
-rw-r--r-- templates/post.html 31
-rw-r--r-- tools/github-projects.py 18
6 files changed, 114 insertions, 208 deletions
diff --git a/content/pages/projects.md b/content/pages/projects.md
...
391
![](/assets/general/github.svg)[mitjafelicijan/xmagnify](https://github.com/mitjafelicijan/xmagnify)
391
![](/assets/general/github.svg)[mitjafelicijan/xmagnify](https://github.com/mitjafelicijan/xmagnify)
392
  
392
  
393
</div>
393
</div>
394
  
  
395
  
  
396
  
  
397
<style>
  
398
.project-release table tr td:last-child { text-align: right; }
  
399
.project-release table tr th:last-child { text-align: right; }
  
400
.project-list ul { column-count: 3; column-gap: 3em; }
  
401
.github-link p { display: flex; align-items: center; gap: 0.3em; }
  
402
.github-link p img { border: 0; padding: 0; height: 15px; }
  
403
</style>
  
404
  
  
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>
diff --git a/templates/index.html b/templates/index.html
...
4
  
4
  
5
<section>
5
<section>
6
	<h2>Notes / Posts</h2>
6
	<h2>Notes / Posts</h2>
7
	<table>
7
	<ul class="post-list">
8
		<thead>
8
		{{ range .Pages }}
9
			<tr>
9
		{{ if and (not .Draft) (or (eq .Type "note") (eq .Type "post")) }}
10
				<th>Date</th>
10
		<li>
11
				<th width="20"></th>
11
			<time datetime="{{ .Created.Format "2006-01-02" }}" class="static-prefix">{{ .Created.Format "2006-01-02" }}</time>
12
				<th>Title</th>
12
			<span>
13
				<th></th>
13
				<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 512 512" style="display: block">
14
			</tr>
14
					{{ if (eq .Type "note") }}
15
		</thead>
15
					<path fill="black" fill-rule="evenodd" d="M448 343.045 343.045 448H64V64h384v279.045Zm-42.667-65.712V106.667H106.667v298.666h170.666v-128h128Zm0 42.667H320v85.333h5.333l80-80V320Z"/>
16
		<tbody>
16
					{{ end }}
17
			{{ range .Pages }}
17
				</svg>
18
				{{ if and (not .Draft) (or (eq .Type "note") (eq .Type "post")) }}
18
			</span>
19
				<tr>
19
			<span>
20
					<td><time datetime="{{ .Created.Format "2006-01-02" }}">{{ .Created.Format "2006-01-02" }}</time></td>
20
				<a href="{{ .RelPermalink }}">{{ .Title }}</a>
21
					<td valign="middle">
21
				<span class="tags">
22
						{{ if (eq .Type "note") }}
22
					{{ if .Meta.tags }}
23
						<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 512 512" style="display:block;">
23
					{{ range .Meta.tags }}<mark>{{ . }}</mark>{{ end }}
24
							<path fill="black" fill-rule="evenodd" d="M448 343.045 343.045 448H64V64h384v279.045Zm-42.667-65.712V106.667H106.667v298.666h170.666v-128h128Zm0 42.667H320v85.333h5.333l80-80V320Z"/>
24
					{{ end }}
25
						</svg>
25
				</span>
26
						{{ end }}
26
			</span>
27
					</td>
27
		</li>
28
					<td><a href="{{ .RelPermalink }}">{{ .Title }}</a></td>
28
		{{ end }}
29
					<td class="tags">
29
		{{ end }}
30
						{{ if .Meta.tags }}
30
	</ul>
31
							{{ range .Meta.tags }}<mark>{{ . }}</mark>{{ end }}
  
32
						{{ end }}
  
33
					</td>
  
34
				</tr>
  
35
				{{ end }}
  
36
			{{ end }}
  
37
		</tbody>
  
38
	</table>
  
39
</section>
31
</section>
40
  
32
  
41
<section>
33
<section class="hide-on-mobile">
42
	<h2>Tools / Experiments</h2>
34
	<h2>Tools / Experiments</h2>
43
	<table class="normal">
35
	<table class="normal">
44
		<thead>
36
		<thead>
...
63
			<tr>
55
			<tr>
64
				<td>GGUF model list &amp; tools</td>
56
				<td>GGUF model list &amp; tools</td>
65
				<td class="text-right"><a target="_blank" href="https://mitjafelicijan.github.io/gguf-list/">https://mitjafelicijan.github.io/gguf-list/</a></td>
57
				<td class="text-right"><a target="_blank" href="https://mitjafelicijan.github.io/gguf-list/">https://mitjafelicijan.github.io/gguf-list/</a></td>
  
58
			</tr>
  
59
			<tr>
  
60
				<td>Soundscapes board</td>
  
61
				<td class="text-right"><a target="_blank" href="https://mitjafelicijan.github.io/soundscapes/">https://mitjafelicijan.github.io/soundscapes/</a></td>
66
			</tr>
62
			</tr>
67
			<tr>
63
			<tr>
68
				<td>Maps of DOOM and other well known WADS</td>
64
				<td>Maps of DOOM and other well known WADS</td>
...
diff --git a/templates/note.html b/templates/note.html
...
15
  
15
  
16
<section>
16
<section>
17
	<h2>Other notes</h2>
17
	<h2>Other notes</h2>
18
	<table>
18
	<nav class="multicolumn-list">
19
		<thead>
19
		{{ range .Pages | filterbytype "note" | random 12 }}
20
			<tr>
20
		{{ if not .Draft }}
21
				<th>Date</th>
21
		<a href="{{ .RelPermalink }}">{{ .Title }}</a>
22
				<th>Title</th>
22
		{{ end }}
23
				<th></th>
23
		{{ end }}
24
			</tr>
24
	</nav>
25
		</thead>
  
26
		<tbody>
  
27
			{{ range .Pages | filterbytype "note" | random 15 }}
  
28
				{{ if not .Draft }}
  
29
				<tr>
  
30
					<td><time datetime="{{ .Created.Format "2006-01-02" }}">{{ .Created.Format "2006-01-02" }}</time></td>
  
31
					<td><a href="{{ .RelPermalink }}">{{ .Title }}</a></td>
  
32
					<td class="tags">
  
33
						{{ if .Meta.tags }}
  
34
							{{ range .Meta.tags }}<mark>{{ . }}</mark>{{ end }}
  
35
						{{ end }}
  
36
					</td>
  
37
				</tr>
  
38
				{{ end }}
  
39
			{{ end }}
  
40
		</tbody>
  
41
	</table>
  
42
</section>
25
</section>
43
  
26
  
44
{{ if .Page.Meta.mathjax }}
27
{{ if .Page.Meta.mathjax }}
...
diff --git a/templates/post.html b/templates/post.html
...
15
  
15
  
16
<section>
16
<section>
17
	<h2>Other posts</h2>
17
	<h2>Other posts</h2>
18
	<table>
18
	<nav class="multicolumn-list">
19
		<thead>
19
		{{ range .Pages | filterbytype "post" | random 12 }}
20
			<tr>
20
		{{ if not .Draft }}
21
				<th>Date</th>
21
		<a href="{{ .RelPermalink }}">{{ .Title }}</a>
22
				<th>Title</th>
22
		{{ end }}
23
				<th></th>
23
		{{ end }}
24
			</tr>
24
	</nav>
25
		</thead>
  
26
		<tbody>
  
27
			{{ range .Pages | filterbytype "post" | random 15 }}
  
28
				{{ if not .Draft }}
  
29
				<tr>
  
30
					<td><time datetime="{{ .Created.Format "2006-01-02" }}">{{ .Created.Format "2006-01-02" }}</time></td>
  
31
					<td><a href="{{ .RelPermalink }}">{{ .Title }}</a></td>
  
32
					<td class="tags">
  
33
						{{ if .Meta.tags }}
  
34
							{{ range .Meta.tags }}<mark>{{ . }}</mark>{{ end }}
  
35
						{{ end }}
  
36
					</td>
  
37
				</tr>
  
38
				{{ end }}
  
39
			{{ end }}
  
40
		</tbody>
  
41
	</table>
  
42
</section>
25
</section>
43
  
26
  
44
{{ if .Page.Meta.mathjax }}
27
{{ if .Page.Meta.mathjax }}
...
diff --git a/tools/github-projects.py b/tools/github-projects.py
...
58
        file.write("</div>")
58
        file.write("</div>")
59
        file.write(DOUBLE_NL)
59
        file.write(DOUBLE_NL)
60
  
60
  
61
    file.write(DOUBLE_NL)
61
    # file.write(DOUBLE_NL)
62
    file.write("<style>\n")
62
    # file.write("<style>\n")
63
    file.write(".project-release table tr td:last-child { text-align: right; }\n")
63
    # file.write(".project-release table tr td:last-child { text-align: right; }\n")
64
    file.write(".project-release table tr th:last-child { text-align: right; }\n")
64
    # file.write(".project-release table tr th:last-child { text-align: right; }\n")
65
    file.write(".project-list ul { column-count: 3; column-gap: 3em; }\n")
65
    # file.write(".project-list ul { column-count: 3; column-gap: 3em; }\n")
66
    file.write(".github-link p { display: flex; align-items: center; gap: 0.3em; }\n")
66
    # file.write(".github-link p { display: flex; align-items: center; gap: 0.3em; }\n")
67
    file.write(".github-link p img { border: 0; padding: 0; height: 15px; }\n")
67
    # file.write(".github-link p img { border: 0; padding: 0; height: 15px; }\n")
68
    file.write("</style>")
68
    # file.write("</style>")
69
    file.write(DOUBLE_NL)
69
    # file.write(DOUBLE_NL)
70
  
70
  
71
    file.close()
71
    file.close()
72
  
72
  
...