diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2021-01-24 01:42:03 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2021-01-24 01:42:03 +0100 |
| commit | e07ab67bf95ea7e65828e373c731b6cdf984a7de (patch) | |
| tree | 4fe471a1a8492149bb0b3e6ec726184e3bcf1647 /template | |
| parent | 36fb49bbef11294a93a53c363d32c2134f6b19b4 (diff) | |
| download | mitjafelicijan.com-e07ab67bf95ea7e65828e373c731b6cdf984a7de.tar.gz | |
Moved to altenator and DO
Diffstat (limited to 'template')
| -rwxr-xr-x | template/_footer.html | 5 | ||||
| -rwxr-xr-x | template/_includes.html | 9 | ||||
| -rwxr-xr-x | template/_meta.html | 9 | ||||
| -rwxr-xr-x | template/_navigation.html | 15 | ||||
| -rw-r--r-- | template/favicon.ico | bin | 0 -> 4286 bytes | |||
| -rwxr-xr-x | template/index.html | 51 | ||||
| -rwxr-xr-x | template/post.html | 31 | ||||
| -rwxr-xr-x | template/script.js | 1 | ||||
| -rwxr-xr-x | template/style.css | 275 | ||||
| -rwxr-xr-x | template/tag.html | 61 |
10 files changed, 457 insertions, 0 deletions
diff --git a/template/_footer.html b/template/_footer.html new file mode 100755 index 0000000..f137b83 --- /dev/null +++ b/template/_footer.html | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | <div class="footer"> | ||
| 2 | <footer class="wrapper"> | ||
| 3 | Generic footer | ||
| 4 | </footer> | ||
| 5 | </div> | ||
diff --git a/template/_includes.html b/template/_includes.html new file mode 100755 index 0000000..1b1d92a --- /dev/null +++ b/template/_includes.html | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | <!-- user code --> | ||
| 2 | |||
| 3 | <script src="/script.js"></script> | ||
| 4 | |||
| 5 | <!-- code highlighting --> | ||
| 6 | |||
| 7 | <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/github.min.css"> | ||
| 8 | <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script> | ||
| 9 | <script>hljs.initHighlightingOnLoad();</script> \ No newline at end of file | ||
diff --git a/template/_meta.html b/template/_meta.html new file mode 100755 index 0000000..69ad5fe --- /dev/null +++ b/template/_meta.html | |||
| @@ -0,0 +1,9 @@ | |||
| 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 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
| 5 | |||
| 6 | <link rel="stylesheet" href="/style.css"> | ||
| 7 | |||
| 8 | <link rel="alternate" type="application/rss+xml" href="/feed.rss"> | ||
| 9 | <link rel="alternate" type="application/feed+json" href="/feed.json"> \ No newline at end of file | ||
diff --git a/template/_navigation.html b/template/_navigation.html new file mode 100755 index 0000000..3b21283 --- /dev/null +++ b/template/_navigation.html | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | <div class="navigation"> | ||
| 2 | <header class="wrapper"> | ||
| 3 | <h3 class="home"> | ||
| 4 | <a href="/" itemprop="url">Mitja Felicijan</a> | ||
| 5 | </h3> | ||
| 6 | |||
| 7 | <nav itemscope itemtype="http://schema.org/SiteNavigationElement" class="main-navigation"> | ||
| 8 | <meta itemprop="name" content="Main Menu"> | ||
| 9 | |||
| 10 | <a href="/curriculum-vitae.html">CV</a> | ||
| 11 | <a href="https://github.com/mitjafelicijan" target="_blank" rel="noopener nofollow" itemprop="url">Github</a> | ||
| 12 | <a href="/feed.rss" itemprop="url">RSS feed</a> | ||
| 13 | </nav> | ||
| 14 | </header> | ||
| 15 | </div> \ No newline at end of file | ||
diff --git a/template/favicon.ico b/template/favicon.ico new file mode 100644 index 0000000..d6be6ec --- /dev/null +++ b/template/favicon.ico | |||
| Binary files differ | |||
diff --git a/template/index.html b/template/index.html new file mode 100755 index 0000000..b9654a1 --- /dev/null +++ b/template/index.html | |||
| @@ -0,0 +1,51 @@ | |||
| 1 | <!doctype html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | {{template "_meta.html"}} | ||
| 6 | |||
| 7 | <title>{{.Title}}</title> | ||
| 8 | <meta name="description" content="{{.Description}}"> | ||
| 9 | </head> | ||
| 10 | |||
| 11 | <body> | ||
| 12 | |||
| 13 | {{template "_navigation.html"}} | ||
| 14 | |||
| 15 | <main class="wrapper"> | ||
| 16 | <h2>Posts</h2> | ||
| 17 | <nav itemscope itemtype="https://schema.org/SiteNavigationElement"> | ||
| 18 | <meta itemprop="name" content="Article list"> | ||
| 19 | |||
| 20 | <ul class="post-list"> | ||
| 21 | {{range $index, $post := .Posts}} | ||
| 22 | <li> | ||
| 23 | <time>{{.Created}}</time> | ||
| 24 | |||
| 25 | <a href="/{{$post.Slug}}" title="{{$post.Title}}" itemprop="url"> | ||
| 26 | <h2>{{$post.Title}}</h2> | ||
| 27 | </a> | ||
| 28 | |||
| 29 | </li> | ||
| 30 | {{end}} | ||
| 31 | </ul> | ||
| 32 | </nav> | ||
| 33 | |||
| 34 | <section class="project-list"> | ||
| 35 | <h2>Side projects</h2> | ||
| 36 | <ul> | ||
| 37 | <li><a href="https://github.com/mitjafelicijan/redis-marshal" target="_blank" rel="noopener nofollow">redis-marshal - Lightweight Redis data exploration tool</a></li> | ||
| 38 | <li><a href="https://github.com/mitjafelicijan/dna-encoding" target="_blank" rel="noopener nofollow">dna-encoding - Tools for encoding files to DNA sequence</a></li> | ||
| 39 | <li><a href="https://github.com/mitjafelicijan/unfold" target="_blank" rel="noopener nofollow">unfold - Elastic Beanstalk like deployments for DigitalOcean</a></li> | ||
| 40 | <li><a href="https://github.com/mitjafelicijan/vertex" target="_blank" rel="noopener nofollow">vertex - Create mock API's and enrich them with some basic logic and simplify prototyping</a></li> | ||
| 41 | <li><a href="https://github.com/mitjafelicijan/spartan" target="_blank" rel="noopener nofollow">spartan - Spartan minimal UI kit for your applications</a></li> | ||
| 42 | <li><a href="https://github.com/mitjafelicijan/scarecrow" target="_blank" rel="noopener nofollow">scarecrow - Minimal configuration reverse proxy</a></li> | ||
| 43 | </ul> | ||
| 44 | </section> | ||
| 45 | </main> | ||
| 46 | |||
| 47 | {{template "_includes.html"}} | ||
| 48 | |||
| 49 | </body> | ||
| 50 | |||
| 51 | </html> \ No newline at end of file | ||
diff --git a/template/post.html b/template/post.html new file mode 100755 index 0000000..88a2c7f --- /dev/null +++ b/template/post.html | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | <!doctype html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | {{template "_meta.html"}} | ||
| 6 | |||
| 7 | <title>{{.Title}}</title> | ||
| 8 | <meta name="description" content="{{.Description}}"> | ||
| 9 | </head> | ||
| 10 | |||
| 11 | <body> | ||
| 12 | |||
| 13 | {{template "_navigation.html"}} | ||
| 14 | |||
| 15 | <main class="wrapper"> | ||
| 16 | <article itemtype="http://schema.org/Article"> | ||
| 17 | <header> | ||
| 18 | <h1 itemtype="headline">{{.Title}}</h1> | ||
| 19 | <time>{{.Created}}</time> | ||
| 20 | </header> | ||
| 21 | <div> | ||
| 22 | {{.Content}} | ||
| 23 | </div> | ||
| 24 | </article> | ||
| 25 | </main> | ||
| 26 | |||
| 27 | {{template "_includes.html"}} | ||
| 28 | |||
| 29 | </body> | ||
| 30 | |||
| 31 | </html> \ No newline at end of file | ||
diff --git a/template/script.js b/template/script.js new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/template/script.js | |||
| @@ -0,0 +1 @@ | |||
diff --git a/template/style.css b/template/style.css new file mode 100755 index 0000000..4ca2932 --- /dev/null +++ b/template/style.css | |||
| @@ -0,0 +1,275 @@ | |||
| 1 | :root { | ||
| 2 | --base-document-width: 740px; | ||
| 3 | --base-font-size: 18px; | ||
| 4 | --base-color: #111111; | ||
| 5 | |||
| 6 | --link-color: #111111; | ||
| 7 | --link-color-hover: #111111; | ||
| 8 | |||
| 9 | --label-color: #828282; | ||
| 10 | |||
| 11 | --border-color: #eeeeee; | ||
| 12 | |||
| 13 | --badge-background-color: #eeeeee; | ||
| 14 | --badge-label-color: #111111; | ||
| 15 | } | ||
| 16 | |||
| 17 | * { | ||
| 18 | box-sizing: border-box; | ||
| 19 | } | ||
| 20 | |||
| 21 | body { | ||
| 22 | background: white; | ||
| 23 | font-family: TimesNewRoman,Times New Roman,Times,Baskerville,Georgia,serif; | ||
| 24 | color: var(--base-color); | ||
| 25 | font-size: var(--base-font-size); | ||
| 26 | line-height: 1.7em; | ||
| 27 | padding: 0; | ||
| 28 | margin: 0; | ||
| 29 | padding-bottom: 100px; | ||
| 30 | } | ||
| 31 | |||
| 32 | |||
| 33 | ::selection { | ||
| 34 | background: #ff0; | ||
| 35 | color: #000; | ||
| 36 | } | ||
| 37 | |||
| 38 | ::-moz-selection { | ||
| 39 | background: #ff0; | ||
| 40 | color: #000; | ||
| 41 | } | ||
| 42 | |||
| 43 | /* width of the page */ | ||
| 44 | |||
| 45 | .wrapper { | ||
| 46 | max-width: var(--base-document-width); | ||
| 47 | margin: 0 auto; | ||
| 48 | } | ||
| 49 | |||
| 50 | |||
| 51 | /* headings */ | ||
| 52 | |||
| 53 | h1 { font-size: 220%; } | ||
| 54 | h2 { font-size: 180%; } | ||
| 55 | h3 { font-size: 160%; } | ||
| 56 | h4 { font-size: 140%; } | ||
| 57 | h5 { font-size: 120%; } | ||
| 58 | h6 { font-size: 100%; } | ||
| 59 | |||
| 60 | h1[itemtype="headline"] { | ||
| 61 | padding-bottom: 0; | ||
| 62 | margin-bottom: 20px; | ||
| 63 | font-size: 260%; | ||
| 64 | line-height: 1.2em; | ||
| 65 | } | ||
| 66 | |||
| 67 | /* tables */ | ||
| 68 | |||
| 69 | table { | ||
| 70 | width: 100%; | ||
| 71 | } | ||
| 72 | |||
| 73 | table, th, td { | ||
| 74 | border: 1px solid black; | ||
| 75 | text-align: left; | ||
| 76 | } | ||
| 77 | |||
| 78 | th, td { | ||
| 79 | padding: 5px 10px; | ||
| 80 | } | ||
| 81 | |||
| 82 | |||
| 83 | /* quotes */ | ||
| 84 | |||
| 85 | blockquote { | ||
| 86 | position: relative; | ||
| 87 | margin-block-start: 30px; | ||
| 88 | margin-block-end: 30px; | ||
| 89 | margin-right: 0; | ||
| 90 | } | ||
| 91 | |||
| 92 | blockquote:before { | ||
| 93 | content: ' '; | ||
| 94 | background-image: url('/assets/general/alert.svg'); | ||
| 95 | background-size: 30px 30px; | ||
| 96 | height: 30px; | ||
| 97 | width: 30px; | ||
| 98 | position: absolute; | ||
| 99 | left: -40px; | ||
| 100 | top: 6px; | ||
| 101 | } | ||
| 102 | |||
| 103 | blockquote p { | ||
| 104 | padding-left: 10px; | ||
| 105 | } | ||
| 106 | |||
| 107 | |||
| 108 | /* header navigation */ | ||
| 109 | |||
| 110 | .navigation { | ||
| 111 | /*border-bottom: 1px dotted var(--border-color);*/ | ||
| 112 | margin-bottom: 50px; | ||
| 113 | } | ||
| 114 | |||
| 115 | .navigation header { | ||
| 116 | display: flex; | ||
| 117 | align-items: center; | ||
| 118 | } | ||
| 119 | |||
| 120 | .navigation header .home { | ||
| 121 | font-size: 130%; | ||
| 122 | } | ||
| 123 | |||
| 124 | .navigation header .home a { | ||
| 125 | text-decoration: none; | ||
| 126 | color: var(--base-color); | ||
| 127 | } | ||
| 128 | |||
| 129 | .navigation header .home a:hover { | ||
| 130 | text-decoration: underline; | ||
| 131 | } | ||
| 132 | |||
| 133 | .navigation header nav { | ||
| 134 | flex-grow: 1; | ||
| 135 | text-align: right; | ||
| 136 | } | ||
| 137 | |||
| 138 | .navigation header nav a { | ||
| 139 | padding: 0 10px; | ||
| 140 | text-decoration: none; | ||
| 141 | color: var(--link-color-hover); | ||
| 142 | } | ||
| 143 | |||
| 144 | .navigation header nav a:hover { | ||
| 145 | text-decoration: underline; | ||
| 146 | color: var(--link-color-hover); | ||
| 147 | } | ||
| 148 | |||
| 149 | |||
| 150 | /* index post list */ | ||
| 151 | |||
| 152 | .post-list { | ||
| 153 | list-style-type: none; | ||
| 154 | padding: 0; | ||
| 155 | margin: 0; | ||
| 156 | } | ||
| 157 | |||
| 158 | .post-list li { | ||
| 159 | margin: 0 0 20px 0; | ||
| 160 | text-decoration: none; | ||
| 161 | } | ||
| 162 | |||
| 163 | .post-list li a { | ||
| 164 | text-decoration: none; | ||
| 165 | color: var(--link-color); | ||
| 166 | } | ||
| 167 | |||
| 168 | .post-list li a:hover { | ||
| 169 | text-decoration: underline; | ||
| 170 | color: var(--link-color-hover); | ||
| 171 | } | ||
| 172 | |||
| 173 | .post-list li a h2 { | ||
| 174 | font-weight: 400; | ||
| 175 | font-size: 130%; | ||
| 176 | margin: 0; | ||
| 177 | } | ||
| 178 | |||
| 179 | |||
| 180 | /* project list */ | ||
| 181 | |||
| 182 | .project-list { | ||
| 183 | margin-top: 60px; | ||
| 184 | } | ||
| 185 | |||
| 186 | .project-list a { | ||
| 187 | text-decoration: none; | ||
| 188 | color: var(--link-color); | ||
| 189 | } | ||
| 190 | |||
| 191 | .project-list li a:hover { | ||
| 192 | text-decoration: underline; | ||
| 193 | color: var(--link-color-hover); | ||
| 194 | } | ||
| 195 | |||
| 196 | |||
| 197 | /* tag badges */ | ||
| 198 | |||
| 199 | .tags { | ||
| 200 | margin-top: 5px; | ||
| 201 | } | ||
| 202 | |||
| 203 | .tags a { | ||
| 204 | font-size: 80%; | ||
| 205 | padding: 2px 10px; | ||
| 206 | border-radius: 20px; | ||
| 207 | |||
| 208 | background: var(--badge-background-color); | ||
| 209 | color: var(--badge-label-color) !important; | ||
| 210 | text-decoration: none !important; | ||
| 211 | } | ||
| 212 | |||
| 213 | .tags a:hover { | ||
| 214 | filter: brightness(90%); | ||
| 215 | text-decoration: none !important; | ||
| 216 | } | ||
| 217 | |||
| 218 | |||
| 219 | /* helpers */ | ||
| 220 | |||
| 221 | .top-margin { | ||
| 222 | margin-top: 60px; | ||
| 223 | } | ||
| 224 | |||
| 225 | code { | ||
| 226 | background: rgb(255, 241, 177); | ||
| 227 | padding: 2px 5px; | ||
| 228 | font-size: 14px; | ||
| 229 | } | ||
| 230 | |||
| 231 | pre > code { | ||
| 232 | background: unset; | ||
| 233 | padding: unset; | ||
| 234 | } | ||
| 235 | |||
| 236 | pre { | ||
| 237 | font-size: 14px; | ||
| 238 | } | ||
| 239 | |||
| 240 | img, video { | ||
| 241 | max-width: 100%; | ||
| 242 | margin: 30px auto; | ||
| 243 | display: block; | ||
| 244 | } | ||
| 245 | |||
| 246 | time { | ||
| 247 | color: var(--label-color); | ||
| 248 | font-size: 90%; | ||
| 249 | } | ||
| 250 | |||
| 251 | /* footer */ | ||
| 252 | |||
| 253 | .footer { | ||
| 254 | border-top: 1px solid var(--border-color); | ||
| 255 | margin-top: 70px; | ||
| 256 | padding-top: 20px; | ||
| 257 | padding-bottom: 50px; | ||
| 258 | } | ||
| 259 | |||
| 260 | |||
| 261 | /* responsive */ | ||
| 262 | |||
| 263 | @media only screen and (max-width: 960px) { | ||
| 264 | main { padding: 0 20px; } | ||
| 265 | footer { padding: 0 20px; } | ||
| 266 | h1[itemtype="headline"] { font-size: 220%; } | ||
| 267 | .navigation header { padding: 0 20px; } | ||
| 268 | } | ||
| 269 | |||
| 270 | |||
| 271 | /* light/dark mode */ | ||
| 272 | |||
| 273 | @media (prefers-color-scheme: light) { } | ||
| 274 | |||
| 275 | @media (prefers-color-scheme: dark) { } | ||
diff --git a/template/tag.html b/template/tag.html new file mode 100755 index 0000000..344ef0b --- /dev/null +++ b/template/tag.html | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | <!doctype html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | {{template "_meta.html"}} | ||
| 6 | |||
| 7 | <title>{{.Title}}</title> | ||
| 8 | <meta name="description" content="{{.Description}}"> | ||
| 9 | </head> | ||
| 10 | |||
| 11 | <body> | ||
| 12 | |||
| 13 | {{template "_navigation.html"}} | ||
| 14 | |||
| 15 | <main class="wrapper"> | ||
| 16 | <h2>Posts for `{{.Tag}}`</h2> | ||
| 17 | <nav itemscope itemtype="https://schema.org/SiteNavigationElement"> | ||
| 18 | <meta itemprop="name" content="Article list"> | ||
| 19 | |||
| 20 | <ul class="post-list"> | ||
| 21 | {{range $index, $post := .Posts}} | ||
| 22 | <li> | ||
| 23 | <time>{{.Created}}</time> | ||
| 24 | |||
| 25 | <a href="/{{$post.Slug}}" title="{{$post.Title}}" itemprop="url"> | ||
| 26 | <h2>{{$post.Title}}</h2> | ||
| 27 | </a> | ||
| 28 | |||
| 29 | <!-- lists all tags available in this posts --> | ||
| 30 | {{if $post.Tags}} | ||
| 31 | <nav class="tags"> | ||
| 32 | {{range $post.Tags}} | ||
| 33 | <a href="/tags/{{.}}.html" rel="tag">{{.}}</a> | ||
| 34 | {{end}} | ||
| 35 | </nav> | ||
| 36 | {{end}} | ||
| 37 | |||
| 38 | </li> | ||
| 39 | {{end}} | ||
| 40 | </ul> | ||
| 41 | </nav> | ||
| 42 | |||
| 43 | <!-- lists all tags available in all posts --> | ||
| 44 | {{if .Tags}} | ||
| 45 | <nav class="tags top-margin"> | ||
| 46 | <strong>All tags on site:</strong> | ||
| 47 | {{range .Tags}} | ||
| 48 | <a href="/tags/{{.}}.html" rel="tag">{{.}}</a> | ||
| 49 | {{end}} | ||
| 50 | </nav> | ||
| 51 | {{end}} | ||
| 52 | |||
| 53 | </main> | ||
| 54 | |||
| 55 | {{template "_footer.html"}} | ||
| 56 | |||
| 57 | {{template "_includes.html"}} | ||
| 58 | |||
| 59 | </body> | ||
| 60 | |||
| 61 | </html> | ||
