diff options
Diffstat (limited to 'themes/bare/layouts/partials')
| -rwxr-xr-x | themes/bare/layouts/partials/comments.html | 21 | ||||
| -rwxr-xr-x | themes/bare/layouts/partials/footer.html | 54 | ||||
| -rwxr-xr-x | themes/bare/layouts/partials/head.html | 31 | ||||
| -rwxr-xr-x | themes/bare/layouts/partials/navigation.html | 16 | ||||
| -rwxr-xr-x | themes/bare/layouts/partials/openring.html | 64 | ||||
| -rw-r--r-- | themes/bare/layouts/partials/read-more.html | 16 | ||||
| -rw-r--r-- | themes/bare/layouts/partials/side-projects.html | 10 |
7 files changed, 212 insertions, 0 deletions
diff --git a/themes/bare/layouts/partials/comments.html b/themes/bare/layouts/partials/comments.html new file mode 100755 index 0000000..b905967 --- /dev/null +++ b/themes/bare/layouts/partials/comments.html | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | <section class="comments"> | ||
| 2 | <h2 class="text-xl font-bold mb-2">Leave a comment</h2> | ||
| 3 | <p class="mb-4">You can write me an email at <a href="mailto:m@mitjafelicijan.com" class="underline hover:bg-yellow-100">m@mitjafelicijan.com</a> or comment bellow.</p> | ||
| 4 | <div id="comment-section"></div> | ||
| 5 | |||
| 6 | <script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script> | ||
| 7 | |||
| 8 | <script> | ||
| 9 | window.addEventListener('load', () => { | ||
| 10 | initComments({ | ||
| 11 | node: document.getElementById("comment-section"), | ||
| 12 | defaultHomeserverUrl: "https://matrix.cactus.chat:8448", | ||
| 13 | serverName: "cactus.chat", | ||
| 14 | siteName: "mitjafelicijan.com", | ||
| 15 | commentSectionId: "{{ .File }}", | ||
| 16 | pageSize: 50, | ||
| 17 | updateInterval: 10, | ||
| 18 | }); | ||
| 19 | }); | ||
| 20 | </script> | ||
| 21 | </section> | ||
diff --git a/themes/bare/layouts/partials/footer.html b/themes/bare/layouts/partials/footer.html new file mode 100755 index 0000000..ced622d --- /dev/null +++ b/themes/bare/layouts/partials/footer.html | |||
| @@ -0,0 +1,54 @@ | |||
| 1 | <footer style="margin-top:20px"> | ||
| 2 | <small> | ||
| 3 | This website does not track you. | ||
| 4 | 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. | ||
| 5 | Blog feed is available as <a href="/index.xml" target="_blank" class="underline hover:text-gray-800">RSS</a> feed. | ||
| 6 | </small> | ||
| 7 | </footer> | ||
| 8 | |||
| 9 | <!-- Fathom - beautiful, simple website analytics --> | ||
| 10 | <script src="https://cdn.usefathom.com/script.js" data-site="XHQARKXP" defer></script> | ||
| 11 | |||
| 12 | {{ if ne .IsHome true }} | ||
| 13 | <!-- KaTeX math library --> | ||
| 14 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/katex.min.css" integrity="sha384-RZU/ijkSsFbcmivfdRBQDtwuwVqK7GMOw6IMvKyeWL2K5UAlyp6WonmB8m7Jd0Hn" crossorigin="anonymous"> | ||
| 15 | <script defer src="https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/katex.min.js" integrity="sha384-pK1WpvzWVBQiP0/GjnvRxV4mOb0oxFuyRxJlk6vVw146n3egcN5C925NCP7a7BY8" crossorigin="anonymous"></script> | ||
| 16 | <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> | ||
| 17 | {{ end }} | ||
| 18 | |||
| 19 | {{ if ne .IsHome true }} | ||
| 20 | <!-- Lazy loading of iframes --> | ||
| 21 | <script> | ||
| 22 | window.addEventListener('load', () => { | ||
| 23 | const iframes = document.querySelectorAll('.ll-iframe'); | ||
| 24 | |||
| 25 | if (iframes) { | ||
| 26 | iframes.forEach(iframe => { | ||
| 27 | iframe.addEventListener('click', (evt) => { | ||
| 28 | // If there are no elements yet in the target element add iframe. | ||
| 29 | if (!evt.target.dataset.alreadyLoaded) { | ||
| 30 | // Setting this element as already loaded so it doesn't | ||
| 31 | // attempt to load it again. | ||
| 32 | evt.target.dataset.alreadyLoaded = true; | ||
| 33 | |||
| 34 | // Clearing up all existing elements inside of the target one. | ||
| 35 | evt.target.innerHTML = ''; | ||
| 36 | evt.target.classList.add('empty'); | ||
| 37 | evt.target.classList.add('border-0'); | ||
| 38 | |||
| 39 | // Creating iframe DOM element. | ||
| 40 | const iframeElement = document.createElement('iframe'); | ||
| 41 | iframeElement.classList.add('w-full'); | ||
| 42 | iframeElement.classList.add('h-full'); | ||
| 43 | iframeElement.classList.add('rounded'); | ||
| 44 | iframeElement.src = evt.target.dataset.src; | ||
| 45 | |||
| 46 | // Appending iframe as a child of current element. | ||
| 47 | evt.target.appendChild(iframeElement); | ||
| 48 | } | ||
| 49 | }); | ||
| 50 | }); | ||
| 51 | } | ||
| 52 | }); | ||
| 53 | </script> | ||
| 54 | {{ end }} | ||
diff --git a/themes/bare/layouts/partials/head.html b/themes/bare/layouts/partials/head.html new file mode 100755 index 0000000..14ec02e --- /dev/null +++ b/themes/bare/layouts/partials/head.html | |||
| @@ -0,0 +1,31 @@ | |||
| 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 | <link rel="alternate" type="application/rss+xml" href="/index.xml" title="{{ .Site.Author.name }}"> | ||
| 6 | |||
| 7 | <style> | ||
| 8 | body{padding:10px;line-height:1.3em;font-family:serif;} | ||
| 9 | h1,h2,h3,h4,h5,h6{line-height:110%;} | ||
| 10 | h1{font-size:190%} | ||
| 11 | video,img{max-width:700px;} | ||
| 12 | code{background:#ddd;white-space:nowrap;} | ||
| 13 | pre code{background:transparent;white-space:pre;} | ||
| 14 | pre{border:1px solid #000;padding:5px;overflow:auto;} | ||
| 15 | table {border-collapse: collapse;border: 1px solid #000;} | ||
| 16 | td,th {border:1px solid #000;padding:3px 10px;} | ||
| 17 | @media only screen and (max-width: 740px){video,img{max-width:100%;}time{display:block!important}} | ||
| 18 | </style> | ||
| 19 | |||
| 20 | <link | ||
| 21 | 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==" | ||
| 22 | rel="icon" type="image/x-icon" /> | ||
| 23 | |||
| 24 | <title>{{ .Title }}</title> | ||
| 25 | <meta name="description" content="{{ .Site.Params.description }}" /> | ||
| 26 | |||
| 27 | <meta property="og:type" content="article"> | ||
| 28 | <meta property="og:title" content="{{ .Title }}"> | ||
| 29 | <meta property="og:description" content="{{ if .Summary }}{{ .Summary }}{{ else }}{{ .Site.Params.Description }}{{ end }}"> | ||
| 30 | <meta property="og:url" content="https://mitjafelicijan.com/{{ .Params.url }}"> | ||
| 31 | <meta property="og:image" content="https://mitjafelicijan.com/general/og-big.jpg"> | ||
diff --git a/themes/bare/layouts/partials/navigation.html b/themes/bare/layouts/partials/navigation.html new file mode 100755 index 0000000..5797b78 --- /dev/null +++ b/themes/bare/layouts/partials/navigation.html | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | <div style="margin-bottom:20px;"> | ||
| 2 | <header style="display:flex;gap:10px;"> | ||
| 3 | <div> | ||
| 4 | <a href="/" itemprop="url" style="color:firebrick">Mitja Felicijan</a> | ||
| 5 | </div> | ||
| 6 | |||
| 7 | <nav itemscope itemtype="http://schema.org/SiteNavigationElement" role="toolbar" style="display:flex;gap:10px;"> | ||
| 8 | <meta itemprop="name" content="Main Menu"> | ||
| 9 | |||
| 10 | <a href="https://git.mitjafelicijan.com" target="_blank" rel="noopener nofollow" itemprop="url" style="color:darkgoldenrod">Git</a> | ||
| 11 | <a href="https://files.mitjafelicijan.com" target="_blank" rel="noopener nofollow" itemprop="url" style="color:dodgerblue">Files</a> | ||
| 12 | <a href="/curriculum-vitae.html" style="color:tomato">CV</a> | ||
| 13 | <a href="/index.xml" itemprop="url" style="color:teal">RSS</a> | ||
| 14 | </nav> | ||
| 15 | </header> | ||
| 16 | </div> | ||
diff --git a/themes/bare/layouts/partials/openring.html b/themes/bare/layouts/partials/openring.html new file mode 100755 index 0000000..0407b34 --- /dev/null +++ b/themes/bare/layouts/partials/openring.html | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | <section class="mb-10"> | ||
| 2 | <h2 class="text-2xl font-bold mb-6">Articles from blogs I follow around the net</h2> | ||
| 3 | |||
| 4 | <section> | ||
| 5 | |||
| 6 | <article class="mb-6"> | ||
| 7 | <a href="https://serokell.io/blog/haskell-in-production-e-bot7" target="_blank" rel="noopener" class="font-medium mb-1 hover:bg-yellow-100">Haskell in Production: e-bot7</a> | ||
| 8 | <p class="mb-1 text-sm text-gray-600">In this edition of our Haskell in Production series, we feature e-bot7 – a low-code conversational AI platform designed for customer service and support. Read the i…</p> | ||
| 9 | <div class="text-gray-500 font-medium text-xs"> | ||
| 10 | Via <a href="https://serokell.io/blog" class="underline">Serokell Blog</a> on December 12, 2022 | ||
| 11 | </div> | ||
| 12 | </article> | ||
| 13 | |||
| 14 | <article class="mb-6"> | ||
| 15 | <a href="https://danluu.com/elon-dave-chappelle/" target="_blank" rel="noopener" class="font-medium mb-1 hover:bg-yellow-100">Transcript of Elon Musk on stage with Dave Chapelle</a> | ||
| 16 | <p class="mb-1 text-sm text-gray-600">This is a transcription of videos Elon Musk's appearance on stage with Dave Chapelle using OpenAI's Whisper model with some manual error corrections and ann…</p> | ||
| 17 | <div class="text-gray-500 font-medium text-xs"> | ||
| 18 | Via <a href="https://danluu.com/atom/index.xml" class="underline">danluu.com</a> on December 11, 2022 | ||
| 19 | </div> | ||
| 20 | </article> | ||
| 21 | |||
| 22 | <article class="mb-6"> | ||
| 23 | <a href="https://www.jeffgeerling.com/blog/2022/1-million-watts-rf-how-fm-supertower-works" target="_blank" rel="noopener" class="font-medium mb-1 hover:bg-yellow-100">1 Million Watts of RF - how the FM Supertower works</a> | ||
| 24 | <p class="mb-1 text-sm text-gray-600">1 Million Watts of RF - how the FM Supertower works | ||
| 25 | |||
| 26 | As the son of a radio engineer, I've seen my share of radio towers. From small, rural AM and FM t…</p> | ||
| 27 | <div class="text-gray-500 font-medium text-xs"> | ||
| 28 | Via <a href="https://www.jeffgeerling.com/" class="underline">Jeff Geerling's Blog</a> on December 7, 2022 | ||
| 29 | </div> | ||
| 30 | </article> | ||
| 31 | |||
| 32 | <article class="mb-6"> | ||
| 33 | <a href="https://drewdevault.com/2022/12/01/I-shall-toil-quietly.html" target="_blank" rel="noopener" class="font-medium mb-1 hover:bg-yellow-100">I shall toil at a reduced volume</a> | ||
| 34 | <p class="mb-1 text-sm text-gray-600">Over the last nine years I have written 300,000 words for this blog on the | ||
| 35 | topics which are important to me. I am not certain that I have much left to say. | ||
| 36 | I can keep…</p> | ||
| 37 | <div class="text-gray-500 font-medium text-xs"> | ||
| 38 | Via <a href="https://drewdevault.com" class="underline">Drew DeVault's blog</a> on December 1, 2022 | ||
| 39 | </div> | ||
| 40 | </article> | ||
| 41 | |||
| 42 | <article class="mb-6"> | ||
| 43 | <a href="https://mirzapandzo.com/posts/elasticbeanstalk-php-settings-and-the-frustratingly-confusing-guide-to-eb-deploy/" target="_blank" rel="noopener" class="font-medium mb-1 hover:bg-yellow-100">ElasticBeanstalk, PHP settings and the frustratingly confusing guide to eb deploy</a> | ||
| 44 | <p class="mb-1 text-sm text-gray-600">I'll be honest. I love using AWS. eb deploy is my go to command. The ElasticBeanstalk cloud ecosystem is amazing and I would find it hard to do my day job witho…</p> | ||
| 45 | <div class="text-gray-500 font-medium text-xs"> | ||
| 46 | Via <a href="https://mirzapandzo.com/" class="underline">Mirza Pandzo</a> on November 1, 2022 | ||
| 47 | </div> | ||
| 48 | </article> | ||
| 49 | |||
| 50 | <article class="mb-6"> | ||
| 51 | <a href="https://cronokirby.com/posts/2022/10/dkgs-in-groups/" target="_blank" rel="noopener" class="font-medium mb-1 hover:bg-yellow-100">DKGs in Groups</a> | ||
| 52 | <p class="mb-1 text-sm text-gray-600">This is a short post on distributed key generation (DKG) | ||
| 53 | in the context of cryptographic groups, such as elliptic curves.</p> | ||
| 54 | <div class="text-gray-500 font-medium text-xs"> | ||
| 55 | Via <a href="https://cronokirby.com/posts/" class="underline">Posts on Cronokirby's Blog</a> on October 9, 2022 | ||
| 56 | </div> | ||
| 57 | </article> | ||
| 58 | |||
| 59 | </section> | ||
| 60 | |||
| 61 | <p class="text-sm text-gray-500"> | ||
| 62 | <a href="https://git.sr.ht/~sircmpwn/openring" class="no-underline hover:underline">Generated with openring.</a> | ||
| 63 | </p> | ||
| 64 | </section> | ||
diff --git a/themes/bare/layouts/partials/read-more.html b/themes/bare/layouts/partials/read-more.html new file mode 100644 index 0000000..d604bfc --- /dev/null +++ b/themes/bare/layouts/partials/read-more.html | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | <section> | ||
| 2 | <h2 class="text-2xl font-bold mb-6">Read more from this site</h2> | ||
| 3 | <nav itemscope itemtype="https://schema.org/SiteNavigationElement" class="mb-12"> | ||
| 4 | <meta itemprop="name" content="Article list"> | ||
| 5 | <ul> | ||
| 6 | {{ $randomPosts := shuffle (where .Site.RegularPages "Type" "posts") | first 5 }} | ||
| 7 | {{ range $randomPosts }} | ||
| 8 | <li class="mb-6"> | ||
| 9 | <time class="block text-gray-400 font-medium text-xs">{{ .Date.Format "Mon Jan 2, 2006" }}</time> | ||
| 10 | <a href="/{{ .Params.url }}" itemprop="url" class="hover:bg-yellow-100 font-medium">{{ .Title }}</a> | ||
| 11 | <p class="text-gray-600 text-sm">{{ .Summary }}</p> | ||
| 12 | </li> | ||
| 13 | {{ end }} | ||
| 14 | </ul> | ||
| 15 | </nav> | ||
| 16 | </section> | ||
diff --git a/themes/bare/layouts/partials/side-projects.html b/themes/bare/layouts/partials/side-projects.html new file mode 100644 index 0000000..5cca9b6 --- /dev/null +++ b/themes/bare/layouts/partials/side-projects.html | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | <section class="mb-12"> | ||
| 2 | <h2 class="text-2xl font-bold mb-6">Side projects I worked on</h2> | ||
| 3 | <ul class="list-disc ml-6"> | ||
| 4 | <li><a href="https://git.mitjafelicijan.com/journalctl-proxy.git/" target="_blank" rel="noopener nofollow" class="hover:bg-yellow-100">journalctl-proxy - Exposes your systemd logs to web via web interface</a></li> | ||
| 5 | <li><a href="https://git.mitjafelicijan.com/redis-marshal.git/" target="_blank" rel="noopener nofollow" class="hover:bg-yellow-100">redis-marshal - Lightweight Redis data exploration tool</a></li> | ||
| 6 | <li><a href="https://git.mitjafelicijan.com/dna-encoding.git/" target="_blank" rel="noopener nofollow" class="hover:bg-yellow-100">dna-encoding - Tools for encoding files to DNA sequence</a></li> | ||
| 7 | <li><a href="https://git.mitjafelicijan.com/vertex.git/" target="_blank" rel="noopener nofollow" class="hover:bg-yellow-100">vertex - Create mock API's and add basic logic to simplify prototyping</a></li> | ||
| 8 | <li><a href="https://git.mitjafelicijan.com/scarecrow.git/" target="_blank" rel="noopener nofollow" class="hover:bg-yellow-100">scarecrow - Minimal configuration reverse proxy</a></li> | ||
| 9 | </ul> | ||
| 10 | </section> | ||
