aboutsummaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
Diffstat (limited to 'themes')
-rw-r--r--themes/.gitkeep0
-rw-r--r--themes/simple/LICENSE20
-rw-r--r--themes/simple/archetypes/default.md2
-rw-r--r--themes/simple/layouts/404.html0
-rw-r--r--themes/simple/layouts/_default/baseof.html11
-rw-r--r--themes/simple/layouts/_default/list.html32
-rw-r--r--themes/simple/layouts/_default/rss.xml27
-rw-r--r--themes/simple/layouts/_default/single.html46
-rw-r--r--themes/simple/layouts/partials/footer.html14
-rw-r--r--themes/simple/layouts/partials/head.html175
-rw-r--r--themes/simple/layouts/partials/header.html18
-rw-r--r--themes/simple/static/css/.gitkeep0
-rw-r--r--themes/simple/static/js/.gitkeep0
-rw-r--r--themes/simple/theme.toml16
14 files changed, 361 insertions, 0 deletions
diff --git a/themes/.gitkeep b/themes/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/.gitkeep
diff --git a/themes/simple/LICENSE b/themes/simple/LICENSE
new file mode 100644
index 0000000..147d594
--- /dev/null
+++ b/themes/simple/LICENSE
@@ -0,0 +1,20 @@
1The MIT License (MIT)
2
3Copyright (c) 2022 YOUR_NAME_HERE
4
5Permission is hereby granted, free of charge, to any person obtaining a copy of
6this software and associated documentation files (the "Software"), to deal in
7the Software without restriction, including without limitation the rights to
8use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9the Software, and to permit persons to whom the Software is furnished to do so,
10subject to the following conditions:
11
12The above copyright notice and this permission notice shall be included in all
13copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/themes/simple/archetypes/default.md b/themes/simple/archetypes/default.md
new file mode 100644
index 0000000..ac36e06
--- /dev/null
+++ b/themes/simple/archetypes/default.md
@@ -0,0 +1,2 @@
1+++
2+++
diff --git a/themes/simple/layouts/404.html b/themes/simple/layouts/404.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/simple/layouts/404.html
diff --git a/themes/simple/layouts/_default/baseof.html b/themes/simple/layouts/_default/baseof.html
new file mode 100644
index 0000000..5f8e2ec
--- /dev/null
+++ b/themes/simple/layouts/_default/baseof.html
@@ -0,0 +1,11 @@
1<!DOCTYPE html>
2<html>
3 {{- partial "head.html" . -}}
4 <body>
5 {{- partial "header.html" . -}}
6 <div id="content">
7 {{- block "main" . }}{{- end }}
8 </div>
9 {{- partial "footer.html" . -}}
10 </body>
11</html>
diff --git a/themes/simple/layouts/_default/list.html b/themes/simple/layouts/_default/list.html
new file mode 100644
index 0000000..e194063
--- /dev/null
+++ b/themes/simple/layouts/_default/list.html
@@ -0,0 +1,32 @@
1{{ define "main" }}
2<main aria-role="main" class="container-blog">
3
4 <h1 class="text-2xl font-bold mb-6">Blog posts</h1>
5
6 <!-- List of all blog posts -->
7 <nav itemscope itemtype="https://schema.org/SiteNavigationElement" class="mb-12">
8 <meta itemprop="name" content="Article list">
9 <ul>
10 {{ range (where .Site.RegularPages "Section" "posts") }}
11 <li class="mb-5">
12 <time class="block text-gray-400 font-medium text-xs">{{ .Date.Format "Monday Jan 2, 2006" }}</time>
13 <a href="{{.Permalink}}" itemprop="url" class="hover:bg-yellow-200">{{.Title}}</a>
14 </li>
15 {{end}}
16 </ul>
17 </nav>
18
19 <!-- Projects I work on -->
20 <section class="mb-12">
21 <h4 class="text-2xl font-bold mb-6">Side projects I work/worked on</h4>
22 <ul class="list-disc ml-6">
23 <li><a href="https://git.mitjafelicijan.com/journalctl-proxy.git/" target="_blank" rel="noopener nofollow" class="underline hover:bg-yellow-200">journalctl-proxy - Exposes your systemd logs to web via web interface</a></li>
24 <li><a href="https://git.mitjafelicijan.com/redis-marshal.git/" target="_blank" rel="noopener nofollow" class="underline hover:bg-yellow-200">redis-marshal - Lightweight Redis data exploration tool</a></li>
25 <li><a href="https://git.mitjafelicijan.com/dna-encoding.git/" target="_blank" rel="noopener nofollow" class="underline hover:bg-yellow-200">dna-encoding - Tools for encoding files to DNA sequence</a></li>
26 <li><a href="https://git.mitjafelicijan.com/vertex.git/" target="_blank" rel="noopener nofollow" class="underline hover:bg-yellow-200">vertex - Create mock API's and add basic logic to simplify prototyping</a></li>
27 <li><a href="https://git.mitjafelicijan.com/scarecrow.git/" target="_blank" rel="noopener nofollow" class="underline hover:bg-yellow-200">scarecrow - Minimal configuration reverse proxy</a></li>
28 </ul>
29 </section>
30
31</main>
32{{ end }}
diff --git a/themes/simple/layouts/_default/rss.xml b/themes/simple/layouts/_default/rss.xml
new file mode 100644
index 0000000..38c8755
--- /dev/null
+++ b/themes/simple/layouts/_default/rss.xml
@@ -0,0 +1,27 @@
1<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
2
3 <channel>
4
5 <title>{{ .Site.Author.name }}</title>
6 <link>{{ .Permalink }}</link>
7 <description>{{ .Site.Params.description }}</description>
8 <language>en-us</language>
9
10 {{ range (where .Site.RegularPages "Section" "posts") }}
11 <item>
12 <title>{{ .Title }}</title>
13 <link>{{ .Permalink }}</link>
14 <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
15 {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
16 <guid>{{ .Permalink }}</guid>
17
18 <description>{{ "<![CDATA[" | safeHTML }} {{ .Summary }}]]></description>
19 <content:encoded>{{ "<![CDATA[" | safeHTML }} {{ .Content }}]]></content:encoded>
20
21 </item>
22 {{end}}
23
24 </channel>
25
26
27</rss>
diff --git a/themes/simple/layouts/_default/single.html b/themes/simple/layouts/_default/single.html
new file mode 100644
index 0000000..7142f1b
--- /dev/null
+++ b/themes/simple/layouts/_default/single.html
@@ -0,0 +1,46 @@
1{{ define "main" }}
2<main aria-role="main" class="container-blog">
3
4 <!-- Single article -->
5 <article itemtype="http://schema.org/Article" class="mb-12">
6 <header>
7 <h1 itemtype="headline" class="text-4xl font-extrabold mb-6">{{.Title}}</h1>
8 <time class="text-gray-400 font-medium text-sm">Published on {{ .Date.Format "Monday Jan 2, 2006" }}</time>
9 </header>
10
11 <div class="leading-relaxed">
12 {{.Content}}
13 </div>
14 </article>
15
16 <hr class="border-2 border-gray-100 mb-10">
17
18 <!-- Comment, contact -->
19 <section class="mb-10">
20 <p class="mb-4">
21 <strong>Comment, contact:</strong> The easiest way to contact me is by writing me a message on <a href="https://t.me/mitjafelicijan" target="_blank">Telegram (https://t.me/mitjafelicijan)</a>.
22 </p>
23 <p>You can also just write me an email at <a href="mailto:m@mitjafelicijan.com">m@mitjafelicijan.com</a>.</p>
24 </section>
25
26 <hr class="border-2 border-gray-100 mb-10">
27
28 <!-- Read more -->
29 <section>
30 <h1 class="text-2xl font-bold mb-6">Read more from this site</h1>
31 <nav itemscope itemtype="https://schema.org/SiteNavigationElement" class="mb-12">
32 <meta itemprop="name" content="Article list">
33 <ul>
34 {{ $randomPosts := shuffle (where .Site.RegularPages "Type" "posts") | first 5 }}
35 {{ range $randomPosts }}
36 <li class="mb-3">
37 <time class="block text-gray-500 text-sm">{{ .Date.Format "Mon Jan 2, 2006" }}</time>
38 <a href="{{.Permalink}}" itemprop="url" class="hover:bg-yellow-200">{{.Title}}</a>
39 </li>
40 {{end}}
41 </ul>
42 </nav>
43 </section>
44
45</main>
46{{ end }}
diff --git a/themes/simple/layouts/partials/footer.html b/themes/simple/layouts/partials/footer.html
new file mode 100644
index 0000000..6e7ec9c
--- /dev/null
+++ b/themes/simple/layouts/partials/footer.html
@@ -0,0 +1,14 @@
1<footer class="container-blog text-gray-400 text-sm mb-12">
2 This website does not track you.
3 Content is made available under the <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="noreferrer" class="underline hover:text-gray-800">CC BY 4.0 license</a> unless specified otherwise.
4 Blog feed is available as <a href="/index.xml" target="_blank" class="underline hover:text-gray-800">RSS</a> feed.
5</footer>
6
7<!-- katex math library -->
8<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/katex.min.css" integrity="sha384-RZU/ijkSsFbcmivfdRBQDtwuwVqK7GMOw6IMvKyeWL2K5UAlyp6WonmB8m7Jd0Hn" crossorigin="anonymous">
9<script defer src="https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/katex.min.js" integrity="sha384-pK1WpvzWVBQiP0/GjnvRxV4mOb0oxFuyRxJlk6vVw146n3egcN5C925NCP7a7BY8" crossorigin="anonymous"></script>
10<script defer src="https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/contrib/auto-render.min.js" integrity="sha384-vZTG03m+2yp6N6BNi5iM4rW4oIwk5DfcNdFfxkk9ZWpDriOkXX8voJBFrAO7MpVl" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
11
12
13<!-- Fathom - beautiful, simple website analytics -->
14<script src="https://cdn.usefathom.com/script.js" data-site="XHQARKXP" defer></script>
diff --git a/themes/simple/layouts/partials/head.html b/themes/simple/layouts/partials/head.html
new file mode 100644
index 0000000..716b1f0
--- /dev/null
+++ b/themes/simple/layouts/partials/head.html
@@ -0,0 +1,175 @@
1<meta charset="UTF-8">
2<meta name="theme-color" content="#ffffff">
3<meta name="viewport" content="width=device-width, initial-scale=1.0">
4
5<script src="https://cdn.tailwindcss.com"></script>
6
7<link rel="alternate" type="application/rss+xml" href="/index.xml">
8
9<link
10 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=="
11 rel="icon" type="image/x-icon" />
12
13<title>{{.Title}}</title>
14
15
16<style>
17 .container-blog {
18 max-width: 600px;
19 margin: 0 auto;
20 }
21
22 ::selection {
23 background: rgb(255, 241, 177);
24 color: #000;
25 }
26
27 ::-moz-selection {
28 background: rgb(255, 241, 177);
29 color: #000;
30 }
31
32 article img {
33 max-width: 120%;
34 width: 120%;
35 position: relative;
36 left: -10%;
37 margin: 40px auto;
38 display: block;
39 border-radius: 5px;
40 }
41
42 article p {
43 display: block;
44 margin-block-start: 1em;
45 margin-block-end: 1em;
46 margin-inline-start: 0px;
47 margin-inline-end: 0px;
48 }
49
50 article ol {
51 display: block;
52 list-style-type: decimal;
53 margin-block-start: 1em;
54 margin-block-end: 1em;
55 margin-inline-start: 0px;
56 margin-inline-end: 0px;
57 padding-inline-start: 40px;
58 }
59
60 article ol>li>ol {
61 margin-block-start: 0 !important;
62 margin-block-end: 0 !important;
63 padding-inline-start: 20px;
64 }
65
66 article ul {
67 display: block;
68 list-style-type: disc;
69 margin-block-start: 1em;
70 margin-block-end: 1em;
71 margin-inline-start: 0px;
72 margin-inline-end: 0px;
73 padding-inline-start: 40px;
74 }
75
76 article code {
77 font-family: monospace;
78 background: rgb(255, 241, 177);
79 border-radius: 5px;
80 padding: 2px 8px;
81 font-weight: 500;
82 }
83
84 article pre {
85 background: unset;
86 padding: unset;
87
88 overflow-x: auto;
89 background: #f8f8f8 !important;
90 padding: 15px 20px;
91 border-radius: 5px;
92
93 margin-block-start: 40px;
94 margin-block-end: 40px;
95 }
96
97 article pre>code {
98 background: unset;
99 padding: unset;
100 font-weight: 400;
101 }
102
103 article h2 {
104 font-size: 180%;
105 line-height: 1.2em;
106 font-weight: 700;
107 margin-block-start: 40px;
108 margin-block-end: 20px;
109 }
110
111 article h3 {
112 margin-block-start: 30px;
113 margin-block-end: 20px;
114 font-size: 160%;
115 line-height: 1.2em;
116 font-weight: 700;
117 }
118
119 table {
120 width: 100%;
121 }
122
123 table,
124 th,
125 td {
126 border: 1px solid black;
127 text-align: left;
128 }
129
130 th,
131 td {
132 padding: 5px 10px;
133 }
134
135 article blockquote {
136 margin-left: 40px;
137 position: relative;
138 margin-block-start: 30px;
139 margin-block-end: 30px;
140 margin-right: 0;
141 }
142
143 article blockquote:before {
144 content: ' ';
145 background-image: url('/general/alert-light.svg');
146 background-size: 30px 30px;
147 height: 30px;
148 width: 30px;
149 position: absolute;
150 left: -40px;
151 top: 6px;
152 }
153
154 article blockquote p {
155 padding-left: 10px;
156 }
157
158 article video {
159 max-width: 100%;
160 margin: 30px auto;
161 display: block;
162 border-radius: 5px;
163 background: #f8f8f8 !important;
164 }
165
166 article audio {
167 width: 100%;
168 outline: none;
169 }
170
171 article .katex-display {
172 margin-block-start: 40px;
173 margin-block-end: 40px;
174 }
175</style>
diff --git a/themes/simple/layouts/partials/header.html b/themes/simple/layouts/partials/header.html
new file mode 100644
index 0000000..e234615
--- /dev/null
+++ b/themes/simple/layouts/partials/header.html
@@ -0,0 +1,18 @@
1<div class="container-blog">
2 <header class="flex py-4 mt-4 mb-6">
3 <h3 class="flex-grow">
4 <a href="/" itemprop="url" class="text-xl font-bold hover:bg-yellow-200">Mitja Felicijan</a>
5 </h3>
6
7 <nav itemscope itemtype="http://schema.org/SiteNavigationElement" class="flex items-center gap-1">
8 <meta itemprop="name" content="Main Menu">
9
10 <a href="https://git.mitjafelicijan.com" target="_blank" rel="noopener nofollow" itemprop="url" class="font-medium px-2 hover:bg-yellow-200">Git</a>
11 <a href="https://files.mitjafelicijan.com" target="_blank" rel="noopener nofollow" itemprop="url" class="font-medium px-2 hover:bg-yellow-200">Files</a>
12 <a href="/curriculum-vitae.html" class="font-medium px-2 hover:bg-yellow-200">CV</a>
13 <a href="/books.html" class="font-medium px-2 hover:bg-yellow-200">Books</a>
14
15 <a href="/index.xml" itemprop="url" class="font-medium px-2 hover:bg-yellow-200">RSS</a>
16 </nav>
17 </header>
18</div>
diff --git a/themes/simple/static/css/.gitkeep b/themes/simple/static/css/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/simple/static/css/.gitkeep
diff --git a/themes/simple/static/js/.gitkeep b/themes/simple/static/js/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/simple/static/js/.gitkeep
diff --git a/themes/simple/theme.toml b/themes/simple/theme.toml
new file mode 100644
index 0000000..f958c89
--- /dev/null
+++ b/themes/simple/theme.toml
@@ -0,0 +1,16 @@
1# theme.toml template for a Hugo theme
2# See https://github.com/gohugoio/hugoThemes#themetoml for an example
3
4name = "Simple"
5license = "MIT"
6licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
7description = ""
8homepage = "http://example.com/"
9tags = []
10features = []
11min_version = "0.41.0"
12
13[author]
14 name = "Mitja Felicijan"
15 homepage = "https://mitjafelicijan.com"
16